@aeye/openai 0.3.7 → 0.3.9
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/aeye-openai.md +178 -0
- package/dist/openai.d.ts +91 -12
- package/dist/openai.d.ts.map +1 -1
- package/dist/openai.js +282 -104
- package/dist/openai.js.map +1 -1
- package/package.json +5 -4
package/aeye-openai.md
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
# @aeye/openai
|
|
2
|
+
|
|
3
|
+
One-line purpose: OpenAI provider for the `@aeye/ai` framework — chat, vision, reasoning, tools, structured output, image generation/edit, transcription, speech, and embeddings via the official `openai` SDK. Also the base class for any OpenAI-compatible provider.
|
|
4
|
+
|
|
5
|
+
## When to use
|
|
6
|
+
|
|
7
|
+
- You want to call OpenAI (GPT-4o, GPT-4, o-series, DALL-E, gpt-image, Whisper, TTS, text-embedding-3-*) through `@aeye/ai`.
|
|
8
|
+
- You need a base class to build an OpenAI-compatible provider (Azure OpenAI, OpenRouter, local OpenAI-shaped endpoints). `@aeye/openrouter` is built this way.
|
|
9
|
+
|
|
10
|
+
## Install / import
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npm install @aeye/openai openai
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
```typescript
|
|
17
|
+
import {
|
|
18
|
+
OpenAIProvider,
|
|
19
|
+
type OpenAIConfig,
|
|
20
|
+
type OpenAIHooks,
|
|
21
|
+
// error classes (from @aeye/openai)
|
|
22
|
+
ProviderError,
|
|
23
|
+
ProviderAuthError,
|
|
24
|
+
RateLimitError,
|
|
25
|
+
ProviderRateLimitError,
|
|
26
|
+
ProviderQuotaError,
|
|
27
|
+
ContextWindowError,
|
|
28
|
+
} from '@aeye/openai';
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
`@aeye/ai` and `@aeye/core` are peer/runtime dependencies (they ship as `dependencies`). The `openai` SDK and `zod` are also dependencies.
|
|
32
|
+
|
|
33
|
+
## Register with an `@aeye/ai` instance
|
|
34
|
+
|
|
35
|
+
A provider is registered by passing it into `AI.with().providers({...})`. The key you give it is the provider's local name in the registry.
|
|
36
|
+
|
|
37
|
+
```typescript
|
|
38
|
+
import { AI } from '@aeye/ai';
|
|
39
|
+
import { OpenAIProvider } from '@aeye/openai';
|
|
40
|
+
|
|
41
|
+
const openai = new OpenAIProvider({
|
|
42
|
+
apiKey: process.env.OPENAI_API_KEY!,
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
const ai = AI.with()
|
|
46
|
+
.providers({ openai })
|
|
47
|
+
.create({ /* AI config: modelSources, hooks, defaultContext, ... */ });
|
|
48
|
+
|
|
49
|
+
// Chat
|
|
50
|
+
const response = await ai.chat.get({
|
|
51
|
+
messages: [{ role: 'user', content: 'Hello!' }],
|
|
52
|
+
});
|
|
53
|
+
console.log(response.content);
|
|
54
|
+
|
|
55
|
+
// Explicit model selection is done via metadata, not the provider
|
|
56
|
+
const r2 = await ai.chat.get(
|
|
57
|
+
{ messages: [{ role: 'user', content: 'Hi' }] },
|
|
58
|
+
{ metadata: { model: 'openai/gpt-4o' } }
|
|
59
|
+
);
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
You can also use the provider directly without the `AI` facade:
|
|
63
|
+
|
|
64
|
+
```typescript
|
|
65
|
+
const executor = openai.createExecutor();
|
|
66
|
+
const res = await executor(
|
|
67
|
+
{ messages: [{ role: 'user', content: 'Hello!' }] },
|
|
68
|
+
{}, // AIContext
|
|
69
|
+
{ model: 'gpt-4o' } // AIMetadata
|
|
70
|
+
);
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Authentication / credentials
|
|
74
|
+
|
|
75
|
+
- `apiKey` is **required** on `OpenAIConfig` (typed `string`). Conventionally supply `process.env.OPENAI_API_KEY`.
|
|
76
|
+
- `organization` and `project` map to the OpenAI SDK's `organization` / `project` options.
|
|
77
|
+
- `baseURL` lets you point at an OpenAI-compatible endpoint (e.g. Azure). There is no special env var handling in this package — credentials come from the config object you pass.
|
|
78
|
+
|
|
79
|
+
## Configuration (`OpenAIConfig`)
|
|
80
|
+
|
|
81
|
+
| Field | Type | Notes |
|
|
82
|
+
|-------|------|-------|
|
|
83
|
+
| `apiKey` | `string` (required) | OpenAI API key |
|
|
84
|
+
| `baseURL` | `string` | Custom/compatible endpoint |
|
|
85
|
+
| `organization` | `string` | Org ID |
|
|
86
|
+
| `project` | `string` | Project ID |
|
|
87
|
+
| `store` | `boolean` | Allow OpenAI to store call contents. Defaults to `false` |
|
|
88
|
+
| `retry` | `RetryConfig` | Per-provider retry (maxRetries, initialDelay, retryableStatuses, etc.) |
|
|
89
|
+
| `retryEvents` | `RetryEvents` | Retry lifecycle callbacks (e.g. `onRetry`) |
|
|
90
|
+
| `hooks` | `OpenAIHooks` | Per-operation `beforeRequest` / `afterRequest` / `onError` |
|
|
91
|
+
| `defaultModels` | object | Fallback model per capability: `chat`, `imageGenerate`, `imageEdit`, `imageAnalyze`, `transcription`, `speech`, `embedding` |
|
|
92
|
+
|
|
93
|
+
Retry config can also be overridden per request via `request.extra.retry` / `request.extra.retryEvents`.
|
|
94
|
+
|
|
95
|
+
### Hooks
|
|
96
|
+
|
|
97
|
+
`OpenAIHooks` has a block per operation: `chat`, `imageGenerate`, `imageEdit`, `imageAnalyze`, `transcribe`, `speech`, `embed`. Each block may define `beforeRequest(request, params, ctx, metadata)`, `afterRequest(request, params, response, ctx, metadata)`, and `onError(request, params, error, ctx, metadata)`. The `params` argument is the raw OpenAI SDK params, so you can inspect/mutate the exact wire payload.
|
|
98
|
+
|
|
99
|
+
## Supported capabilities
|
|
100
|
+
|
|
101
|
+
| Capability | API surface | Models |
|
|
102
|
+
|-----------|-------------|--------|
|
|
103
|
+
| Chat (+ streaming) | `ai.chat.get` / `ai.chat.stream` | GPT-4o, GPT-4, GPT-3.5, o-series |
|
|
104
|
+
| Vision | `ai.chat` with `image` content | GPT-4o / GPT-4V |
|
|
105
|
+
| Reasoning | `ai.chat` with `request.reason.effort` → `reasoning_effort` | o1, o3-mini, etc. |
|
|
106
|
+
| Tools / function calling | `ai.chat` with `tools` | GPT-4o, GPT-4 |
|
|
107
|
+
| Structured output | `ai.chat` with a schema `responseFormat` | GPT-4o (strict json_schema) |
|
|
108
|
+
| Image generation | `ai.image.generate` | `dall-e-2`, `dall-e-3`, `gpt-image-*` |
|
|
109
|
+
| Image edit | `ai.image.edit` | `dall-e-2`, `gpt-image-*` |
|
|
110
|
+
| Transcription (+ stream) | `ai.transcribe` | `whisper-1`, gpt-4o transcribe |
|
|
111
|
+
| Speech / TTS | `ai.speech` | `tts-1`, `tts-1-hd`, gpt-4o-mini-tts |
|
|
112
|
+
| Embeddings | `ai.embed` | `text-embedding-3-small` / `-large` |
|
|
113
|
+
|
|
114
|
+
### Strict / structured output
|
|
115
|
+
|
|
116
|
+
The provider only emits OpenAI-shaped strict schemas (`supportedStrictFamilies = {'openai'}`). Strict mode for a tool or structured output engages only when the resolved model's strict format is `openai` **and** the model declares the `toolsStrict` / `structured` capability; otherwise it silently falls back to a lenient (non-strict) schema. A shared `SchemaBudget` is used so tools and the response format cooperate on per-request limits.
|
|
117
|
+
|
|
118
|
+
## Usage examples
|
|
119
|
+
|
|
120
|
+
```typescript
|
|
121
|
+
// Vision
|
|
122
|
+
await ai.chat.get({
|
|
123
|
+
messages: [{
|
|
124
|
+
role: 'user',
|
|
125
|
+
content: [
|
|
126
|
+
{ type: 'text', content: 'Describe this image' },
|
|
127
|
+
{ type: 'image', content: 'https://example.com/cat.png' },
|
|
128
|
+
],
|
|
129
|
+
}],
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
// Tools
|
|
133
|
+
import { z } from 'zod';
|
|
134
|
+
await ai.chat.get({
|
|
135
|
+
messages: [{ role: 'user', content: 'Weather in SF?' }],
|
|
136
|
+
tools: [{
|
|
137
|
+
name: 'get_weather',
|
|
138
|
+
description: 'Get current weather',
|
|
139
|
+
parameters: z.object({ location: z.string() }),
|
|
140
|
+
}],
|
|
141
|
+
toolChoice: 'auto',
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
// Image generation
|
|
145
|
+
await ai.image.generate.get({ prompt: 'A sunset over mountains', size: '1024x1024' });
|
|
146
|
+
|
|
147
|
+
// Embeddings
|
|
148
|
+
await ai.embed.get({ texts: ['Hello world'] });
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Extending for OpenAI-compatible providers
|
|
152
|
+
|
|
153
|
+
`OpenAIProvider<TConfig>` is designed for subclassing. Override:
|
|
154
|
+
|
|
155
|
+
- `createClient(config)` — point at a different `baseURL` / set custom headers.
|
|
156
|
+
- `convertModel(model)` — enrich `ModelInfo`.
|
|
157
|
+
- `listModels(config)` — custom model discovery.
|
|
158
|
+
- `augmentChatRequest` / `augmentChatMessage` / `augmentChatContent` / `augmentChatChunk` / `augmentChatResponse` — inject provider-specific params and parse extra response fields.
|
|
159
|
+
- `augmentImageGenerateRequest`, `augmentImageEditRequest`, `augmentTranscriptionRequest`, `augmentSpeechRequest`, `augmentEmbeddingRequest`.
|
|
160
|
+
- `supportedStrictFamilies` — widen accepted strict descriptor families.
|
|
161
|
+
|
|
162
|
+
```typescript
|
|
163
|
+
class AzureProvider extends OpenAIProvider {
|
|
164
|
+
readonly name = 'azure';
|
|
165
|
+
protected createClient(config: OpenAIConfig) {
|
|
166
|
+
return new OpenAI({ apiKey: config.apiKey, baseURL: 'https://my.openai.azure.com/v1' });
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## Gotchas
|
|
172
|
+
|
|
173
|
+
- `apiKey` is required by the type; this package does not auto-read `OPENAI_API_KEY` for you (you pass it in).
|
|
174
|
+
- Model is required at request time — supply it via `request.model`, `ctx.metadata.model`, request metadata, or `defaultModels`. Missing model throws `ProviderError`.
|
|
175
|
+
- `store` defaults to `false`; set it explicitly if you rely on OpenAI storing calls.
|
|
176
|
+
- Context-window overflow is not thrown on the chat path — the executor/streamer returns a `Response` with `finishReason: 'length'` instead.
|
|
177
|
+
- Streaming chat always sends `stream_options.include_usage: true` so usage arrives in trailing chunks.
|
|
178
|
+
- Retry types (`RetryConfig`, `RetryEvents`) are accepted structurally via `OpenAIConfig` but are not re-exported from the package entry point.
|
package/dist/openai.d.ts
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Provider for OpenAI's GPT models, DALL-E, Whisper, and TTS.
|
|
5
5
|
* Also serves as base class for OpenAI-compatible providers.
|
|
6
6
|
*/
|
|
7
|
-
import type { AIContextAny, AIMetadataAny, EmbeddingRequest, EmbeddingResponse, ImageAnalyzeRequest, ImageEditRequest, ImageGenerationRequest, ImageGenerationResponse, ModelInfo, Provider, SpeechRequest, SpeechResponse, TranscriptionRequest, TranscriptionResponse } from '@aeye/ai';
|
|
8
|
-
import { BaseRequest, type Chunk, type Executor, type MessageContent, ModelInput, type Request, type Response, type Streamer, type ToolCall } from '@aeye/core';
|
|
7
|
+
import type { AIContextAny, AIMetadataAny, EmbeddingRequest, EmbeddingResponse, ImageAnalyzeRequest, ImageEditRequest, ImageGenerationRequest, ImageGenerationResponse, Message, ModelInfo, Provider, SpeechRequest, SpeechResponse, TranscriptionRequest, TranscriptionResponse } from '@aeye/ai';
|
|
8
|
+
import { BaseRequest, type Chunk, type DescriptorFamily, type Executor, type MessageContent, ModelInput, type Request, type Response, SchemaBudget, type Streamer, type ToolCall } from '@aeye/core';
|
|
9
9
|
import OpenAI from 'openai';
|
|
10
10
|
import { type RetryConfig, type RetryEvents } from './retry';
|
|
11
11
|
/**
|
|
@@ -223,6 +223,40 @@ export declare class OpenAIProvider<TConfig extends OpenAIConfig = OpenAIConfig>
|
|
|
223
223
|
* @returns Modified parameters
|
|
224
224
|
*/
|
|
225
225
|
protected augmentChatRequest<TParams extends OpenAI.Chat.ChatCompletionCreateParams>(params: TParams, request: Request, config: TConfig): void;
|
|
226
|
+
/**
|
|
227
|
+
* Augment chat message with provider-specific data.
|
|
228
|
+
*
|
|
229
|
+
* @param chatMessage - OpenAI chat message
|
|
230
|
+
* @param message - Original @aeye message
|
|
231
|
+
* @param config - Provider configuration
|
|
232
|
+
*/
|
|
233
|
+
protected augmentChatMessage<TMessage extends OpenAI.Chat.ChatCompletionMessageParam>(chatMessage: TMessage, message: Message, config: TConfig): void;
|
|
234
|
+
/**
|
|
235
|
+
* Get augmented chat message with provider-specific data.
|
|
236
|
+
*
|
|
237
|
+
* @param chatMessage - OpenAI chat message
|
|
238
|
+
* @param message - Original @aeye message
|
|
239
|
+
* @param config - Provider configuration
|
|
240
|
+
* @returns
|
|
241
|
+
*/
|
|
242
|
+
private getChatMessage;
|
|
243
|
+
/**
|
|
244
|
+
* Augment chat content part with provider-specific data.
|
|
245
|
+
*
|
|
246
|
+
* @param chatContent - OpenAI chat content part
|
|
247
|
+
* @param content - Original @aeye message content
|
|
248
|
+
* @param config - Provider configuration
|
|
249
|
+
*/
|
|
250
|
+
protected augmentChatContent<TContent extends OpenAI.Chat.Completions.ChatCompletionContentPart>(chatContent: TContent, content: MessageContent, config: TConfig): void;
|
|
251
|
+
/**
|
|
252
|
+
* Get augmented chat content part with provider-specific data.
|
|
253
|
+
*
|
|
254
|
+
* @param chatContent - OpenAI chat content part
|
|
255
|
+
* @param content - Original @aeye message content
|
|
256
|
+
* @param config - Provider configuration
|
|
257
|
+
* @returns
|
|
258
|
+
*/
|
|
259
|
+
private getChatContent;
|
|
226
260
|
/**
|
|
227
261
|
* Augment chat chunk with provider-specific data.
|
|
228
262
|
*
|
|
@@ -244,14 +278,14 @@ export declare class OpenAIProvider<TConfig extends OpenAIConfig = OpenAIConfig>
|
|
|
244
278
|
* @param name
|
|
245
279
|
* @returns
|
|
246
280
|
*/
|
|
247
|
-
protected convertContentText(x: string | MessageContent[], name: string): string | OpenAI.Chat.Completions.ChatCompletionContentPartText[];
|
|
281
|
+
protected convertContentText(x: string | MessageContent[], name: string, config: TConfig): string | OpenAI.Chat.Completions.ChatCompletionContentPartText[];
|
|
248
282
|
/**
|
|
249
283
|
* Convert @aeye MessageContent to OpenAI format.
|
|
250
284
|
* @param x
|
|
251
285
|
* @param name
|
|
252
286
|
* @returns
|
|
253
287
|
*/
|
|
254
|
-
protected convertContent(x: string | MessageContent[], name: string): Promise<string | OpenAI.Chat.Completions.ChatCompletionContentPart[]>;
|
|
288
|
+
protected convertContent(x: string | MessageContent[], name: string, config: TConfig): Promise<string | OpenAI.Chat.Completions.ChatCompletionContentPart[]>;
|
|
255
289
|
/**
|
|
256
290
|
* Convert @aeye ToolCall to OpenAI format.
|
|
257
291
|
* @param x ToolCall object
|
|
@@ -275,16 +309,54 @@ export declare class OpenAIProvider<TConfig extends OpenAIConfig = OpenAIConfig>
|
|
|
275
309
|
* @param request @aeye request object
|
|
276
310
|
* @returns Array of OpenAI-formatted messages
|
|
277
311
|
*/
|
|
278
|
-
protected convertMessages(request: Request): Promise<OpenAI.Chat.ChatCompletionMessageParam[]>;
|
|
312
|
+
protected convertMessages(request: Request, config: TConfig): Promise<OpenAI.Chat.ChatCompletionMessageParam[]>;
|
|
279
313
|
/**
|
|
280
314
|
* Convert @aeye tool definitions to OpenAI format.
|
|
281
315
|
*
|
|
282
|
-
*
|
|
316
|
+
* Strict-mode is a best-effort wish: a tool's `strict: true` only takes
|
|
317
|
+
* effect when `resolveStrictFormat(model) === 'openai'` (resolved from
|
|
318
|
+
* the model's `strictFormat` override, or its `provider` / `id` prefix).
|
|
319
|
+
* Numeric
|
|
320
|
+
* priority (`strict: <n>`) competes for slot allocation under the shared
|
|
321
|
+
* `SchemaBudget`; tools that don't fit fall back to LENIENT silently.
|
|
283
322
|
*
|
|
284
|
-
*
|
|
285
|
-
*
|
|
323
|
+
* Tools are emitted in their original declaration order, but slot
|
|
324
|
+
* allocation walks them in *descending priority* order so the most-wanted
|
|
325
|
+
* strict items consume the budget first.
|
|
326
|
+
*
|
|
327
|
+
* @param request @aeye request (mutated: each tool's `descriptor` field is
|
|
328
|
+
* pinned for the validation roundtrip)
|
|
329
|
+
* @param model the resolved model the request is targeting
|
|
330
|
+
* @param budget shared allocator (also fed by `convertResponseFormat`)
|
|
331
|
+
*/
|
|
332
|
+
protected convertTools(request: Request, model?: ModelInfo, budget?: SchemaBudget): OpenAI.Chat.ChatCompletionTool[] | undefined;
|
|
333
|
+
/**
|
|
334
|
+
* The set of strict descriptor families this provider can speak on the
|
|
335
|
+
* wire. Defaults to `['openai']` — the OpenAI Chat Completions API only
|
|
336
|
+
* accepts OpenAI-shaped strict schemas. Subclasses or custom providers
|
|
337
|
+
* extending OpenAIProvider can extend this set to accept additional
|
|
338
|
+
* registered families (e.g. a custom `'openai-tight'` variant).
|
|
286
339
|
*/
|
|
287
|
-
protected
|
|
340
|
+
protected supportedStrictFamilies: ReadonlySet<DescriptorFamily>;
|
|
341
|
+
/**
|
|
342
|
+
* Build a SchemaBudget tuned to the strictest of the model's tool /
|
|
343
|
+
* structured-output families. Anthropic-style per-request limits apply
|
|
344
|
+
* across BOTH tool schemas and the response_format schema, so the budget
|
|
345
|
+
* is shared between `convertTools` and `convertResponseFormat`.
|
|
346
|
+
*
|
|
347
|
+
* Strict mode engages only when the model's resolved family is in
|
|
348
|
+
* `supportedStrictFamilies` AND the model has the corresponding
|
|
349
|
+
* capability (`'toolsStrict'` for tools, `'structured'` for output).
|
|
350
|
+
* Mismatched families fall back to LENIENT silently — protects the
|
|
351
|
+
* wire from receiving a dialect the API doesn't understand.
|
|
352
|
+
*/
|
|
353
|
+
protected buildSchemaBudget(model?: ModelInfo): SchemaBudget;
|
|
354
|
+
/**
|
|
355
|
+
* Allocate per-tool descriptors in descending-priority order, then return
|
|
356
|
+
* them in original declaration order. Mutates `request.tools[i].descriptor`
|
|
357
|
+
* to record the chosen id for the Prompt's validation roundtrip.
|
|
358
|
+
*/
|
|
359
|
+
private allocateToolDescriptors;
|
|
288
360
|
/**
|
|
289
361
|
* Convert @aeye tool choice to OpenAI format.
|
|
290
362
|
*
|
|
@@ -297,12 +369,19 @@ export declare class OpenAIProvider<TConfig extends OpenAIConfig = OpenAIConfig>
|
|
|
297
369
|
/**
|
|
298
370
|
* Convert @aeye response format to OpenAI format.
|
|
299
371
|
*
|
|
300
|
-
*
|
|
372
|
+
* Strict structured output is best-effort: honored only when the chosen
|
|
373
|
+
* `resolveStrictFormat(model) === 'openai'` AND the model has the
|
|
374
|
+
* `'structured'` capability. For unsupported models
|
|
375
|
+
* the LENIENT descriptor is used and the API-level `strict: true` flag is
|
|
376
|
+
* omitted — silent fallback. The chosen descriptor is pinned on the
|
|
377
|
+
* `responseFormat.descriptor` so the Prompt validator can apply the
|
|
378
|
+
* matching strictify before parsing model output.
|
|
301
379
|
*
|
|
302
|
-
* @param request @aeye request object
|
|
380
|
+
* @param request @aeye request object (mutated to record descriptor)
|
|
381
|
+
* @param model the resolved model the request is targeting
|
|
303
382
|
* @returns OpenAI-formatted response format or undefined
|
|
304
383
|
*/
|
|
305
|
-
protected convertResponseFormat(request: Request): OpenAI.Chat.ChatCompletionCreateParams['response_format'] | undefined;
|
|
384
|
+
protected convertResponseFormat(request: Request, model?: ModelInfo, budget?: SchemaBudget): OpenAI.Chat.ChatCompletionCreateParams['response_format'] | undefined;
|
|
306
385
|
/**
|
|
307
386
|
* List available models from OpenAI.
|
|
308
387
|
*
|
package/dist/openai.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../src/openai.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAEhB,sBAAsB,EACtB,uBAAuB,EACvB,SAAS,EACT,QAAQ,EACR,aAAa,EACb,cAAc,EAEd,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAU,WAAW,EAAE,KAAK,KAAK,EAAE,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../src/openai.ts"],"names":[],"mappings":"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"}
|
package/dist/openai.js
CHANGED
|
@@ -4,12 +4,33 @@
|
|
|
4
4
|
* Provider for OpenAI's GPT models, DALL-E, Whisper, and TTS.
|
|
5
5
|
* Also serves as base class for OpenAI-compatible providers.
|
|
6
6
|
*/
|
|
7
|
-
import { detectTier } from '@aeye/ai';
|
|
8
|
-
import { toFile, getModel, toBase64, toJSONSchema, toText, toURL } from '@aeye/core';
|
|
7
|
+
import { detectTier, isModelInfo, resolveStrictFormat } from '@aeye/ai';
|
|
8
|
+
import { toFile, getDescriptor, getModel, LENIENT, SchemaBudget, strictestOf, strictify, strictPriority, toBase64, toJSONSchema, toText, toURL, getResponseFromChunks } from '@aeye/core';
|
|
9
9
|
import OpenAI from 'openai';
|
|
10
10
|
import { isContextWindowError, parseContextWindowError, withRetry } from './retry';
|
|
11
11
|
import { ContextWindowError, ProviderError } from './types';
|
|
12
12
|
// ============================================================================
|
|
13
|
+
// OpenAI Provider Configuration
|
|
14
|
+
// ============================================================================
|
|
15
|
+
/**
|
|
16
|
+
* Resolve the full `ModelInfo` for the request when available.
|
|
17
|
+
*
|
|
18
|
+
* `BaseAPI` injects `selected.model` into `ctx.metadata.model` after model
|
|
19
|
+
* selection, so on the standard execution path we get the strict-format
|
|
20
|
+
* declarations directly from there. External callers that bypass `BaseAPI`
|
|
21
|
+
* (e.g. invoking the executor directly) may pass only a model id — we
|
|
22
|
+
* return undefined in that case and the caller falls back to LENIENT.
|
|
23
|
+
*/
|
|
24
|
+
function pickModelInfo(metadata, ctx, modelId) {
|
|
25
|
+
const candidates = [metadata?.model, ctx?.metadata?.model];
|
|
26
|
+
for (const c of candidates) {
|
|
27
|
+
if (c && typeof c === 'object' && isModelInfo(c) && c.id === modelId) {
|
|
28
|
+
return c;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
// ============================================================================
|
|
13
34
|
// OpenAI Provider Class
|
|
14
35
|
// ============================================================================
|
|
15
36
|
/**
|
|
@@ -276,6 +297,50 @@ export class OpenAIProvider {
|
|
|
276
297
|
augmentChatRequest(params, request, config) {
|
|
277
298
|
// No-op by default
|
|
278
299
|
}
|
|
300
|
+
/**
|
|
301
|
+
* Augment chat message with provider-specific data.
|
|
302
|
+
*
|
|
303
|
+
* @param chatMessage - OpenAI chat message
|
|
304
|
+
* @param message - Original @aeye message
|
|
305
|
+
* @param config - Provider configuration
|
|
306
|
+
*/
|
|
307
|
+
augmentChatMessage(chatMessage, message, config) {
|
|
308
|
+
// No-op by default
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Get augmented chat message with provider-specific data.
|
|
312
|
+
*
|
|
313
|
+
* @param chatMessage - OpenAI chat message
|
|
314
|
+
* @param message - Original @aeye message
|
|
315
|
+
* @param config - Provider configuration
|
|
316
|
+
* @returns
|
|
317
|
+
*/
|
|
318
|
+
getChatMessage(chatMessage, message, config) {
|
|
319
|
+
this.augmentChatMessage(chatMessage, message, config);
|
|
320
|
+
return chatMessage;
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Augment chat content part with provider-specific data.
|
|
324
|
+
*
|
|
325
|
+
* @param chatContent - OpenAI chat content part
|
|
326
|
+
* @param content - Original @aeye message content
|
|
327
|
+
* @param config - Provider configuration
|
|
328
|
+
*/
|
|
329
|
+
augmentChatContent(chatContent, content, config) {
|
|
330
|
+
// No-op by default
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Get augmented chat content part with provider-specific data.
|
|
334
|
+
*
|
|
335
|
+
* @param chatContent - OpenAI chat content part
|
|
336
|
+
* @param content - Original @aeye message content
|
|
337
|
+
* @param config - Provider configuration
|
|
338
|
+
* @returns
|
|
339
|
+
*/
|
|
340
|
+
getChatContent(chatContent, content, config) {
|
|
341
|
+
this.augmentChatContent(chatContent, content, config);
|
|
342
|
+
return chatContent;
|
|
343
|
+
}
|
|
279
344
|
/**
|
|
280
345
|
* Augment chat chunk with provider-specific data.
|
|
281
346
|
*
|
|
@@ -304,9 +369,9 @@ export class OpenAIProvider {
|
|
|
304
369
|
* @param name
|
|
305
370
|
* @returns
|
|
306
371
|
*/
|
|
307
|
-
convertContentText(x, name) {
|
|
372
|
+
convertContentText(x, name, config) {
|
|
308
373
|
if (typeof x === 'string') {
|
|
309
|
-
return x;
|
|
374
|
+
return [{ type: 'text', text: x }];
|
|
310
375
|
}
|
|
311
376
|
if (!Array.isArray(x)) {
|
|
312
377
|
console.warn(`[OpenAIProvider] convertContentText: Unsupported content type from ${name}.`);
|
|
@@ -314,18 +379,18 @@ export class OpenAIProvider {
|
|
|
314
379
|
}
|
|
315
380
|
return x.map((part) => {
|
|
316
381
|
if (part.type === 'text') {
|
|
317
|
-
return { type: 'text', text: String(part.content) };
|
|
382
|
+
return this.getChatContent({ type: 'text', text: String(part.content) }, part, config);
|
|
318
383
|
}
|
|
319
384
|
else if (part.type === 'image') {
|
|
320
|
-
return { type: 'text', text: `Image sent by ${name} not included in content.` };
|
|
385
|
+
return this.getChatContent({ type: 'text', text: `Image sent by ${name} not included in content.` }, part, config);
|
|
321
386
|
}
|
|
322
387
|
else if (part.type === 'file') {
|
|
323
|
-
return { type: 'text', text: `File sent by ${name} not included in content.` };
|
|
388
|
+
return this.getChatContent({ type: 'text', text: `File sent by ${name} not included in content.` }, part, config);
|
|
324
389
|
}
|
|
325
390
|
else if (part.type === 'audio') {
|
|
326
|
-
return { type: 'text', text: `Audio sent by ${name} not included in content.` };
|
|
391
|
+
return this.getChatContent({ type: 'text', text: `Audio sent by ${name} not included in content.` }, part, config);
|
|
327
392
|
}
|
|
328
|
-
return { type: 'text', text: `Unsupported content type from ${name}.` };
|
|
393
|
+
return this.getChatContent({ type: 'text', text: `Unsupported content type from ${name}.` }, part, config);
|
|
329
394
|
});
|
|
330
395
|
}
|
|
331
396
|
/**
|
|
@@ -334,69 +399,71 @@ export class OpenAIProvider {
|
|
|
334
399
|
* @param name
|
|
335
400
|
* @returns
|
|
336
401
|
*/
|
|
337
|
-
async convertContent(x, name) {
|
|
402
|
+
async convertContent(x, name, config) {
|
|
338
403
|
if (typeof x === 'string') {
|
|
339
|
-
return x;
|
|
404
|
+
return [{ type: 'text', text: x }];
|
|
340
405
|
}
|
|
341
406
|
return Promise.all(x.map(async (part) => {
|
|
342
407
|
switch (part.type) {
|
|
343
408
|
case 'text': {
|
|
344
409
|
const text = await toText(part.content).catch(() => `Text content sent by ${name} could not be converted to text.`);
|
|
345
|
-
return {
|
|
410
|
+
return this.getChatContent({
|
|
346
411
|
type: 'text',
|
|
347
412
|
text,
|
|
348
|
-
};
|
|
413
|
+
}, part, config);
|
|
349
414
|
}
|
|
350
415
|
case 'image': {
|
|
351
416
|
const url = await toURL(part.content, part.format, 'INVALID').catch(() => 'INVALID');
|
|
352
417
|
if (url === 'INVALID') {
|
|
353
|
-
return {
|
|
418
|
+
return this.getChatContent({
|
|
354
419
|
type: 'text',
|
|
355
420
|
text: `Image content sent by ${name} could not be converted to a URL.`,
|
|
356
|
-
};
|
|
421
|
+
}, part, config);
|
|
357
422
|
}
|
|
358
|
-
return {
|
|
423
|
+
return this.getChatContent({
|
|
359
424
|
type: 'image_url',
|
|
360
425
|
image_url: { url },
|
|
361
|
-
};
|
|
426
|
+
}, part, config);
|
|
362
427
|
}
|
|
363
428
|
case 'audio': {
|
|
364
429
|
// Convert audio content to base64 data
|
|
365
430
|
const base64 = await toBase64(part.content, undefined, 'INVALID').catch(() => 'INVALID');
|
|
366
431
|
if (base64 === 'INVALID') {
|
|
367
|
-
return {
|
|
432
|
+
return this.getChatContent({
|
|
368
433
|
type: 'text',
|
|
369
434
|
text: `Audio content sent by ${name} could not be converted to base64.`,
|
|
370
|
-
};
|
|
435
|
+
}, part, config);
|
|
371
436
|
}
|
|
372
437
|
const [, mimeType, data] = /^data:([^;]+);base64,(.+)$/.exec(base64) || [null, '', ''];
|
|
373
438
|
const format = part.format || mimeType && mimeType.includes('wav') ? 'wav' : 'mp3';
|
|
374
|
-
return {
|
|
439
|
+
return this.getChatContent({
|
|
375
440
|
type: 'input_audio',
|
|
376
441
|
input_audio: { data, format },
|
|
377
|
-
};
|
|
442
|
+
}, part, config);
|
|
378
443
|
}
|
|
379
444
|
case 'file': {
|
|
380
445
|
// Convert file content to base64 data (file IDs not supported)
|
|
381
446
|
const fileData = await toBase64(part.content, part.format, 'INVALID').catch(() => 'INVALID');
|
|
382
447
|
if (fileData === 'INVALID') {
|
|
383
|
-
return {
|
|
448
|
+
return this.getChatContent({
|
|
384
449
|
type: 'text',
|
|
385
450
|
text: `File content sent by ${name} could not be converted to base64.`,
|
|
386
|
-
};
|
|
451
|
+
}, part, config);
|
|
387
452
|
}
|
|
388
|
-
return {
|
|
453
|
+
return this.getChatContent({
|
|
389
454
|
type: 'file',
|
|
390
455
|
file: {
|
|
391
456
|
file_data: fileData,
|
|
457
|
+
// TODO add filename
|
|
458
|
+
filename: 'file' + (part.format ? `.${part.format}` : ''),
|
|
392
459
|
},
|
|
393
|
-
};
|
|
460
|
+
}, part, config);
|
|
394
461
|
}
|
|
395
462
|
default:
|
|
396
|
-
return {
|
|
463
|
+
return this.getChatContent({
|
|
397
464
|
type: 'text',
|
|
398
465
|
text: `Unsupported content type from ${name}.`,
|
|
399
|
-
};
|
|
466
|
+
}, part, config);
|
|
400
467
|
}
|
|
401
468
|
}));
|
|
402
469
|
}
|
|
@@ -439,30 +506,30 @@ export class OpenAIProvider {
|
|
|
439
506
|
* @param request @aeye request object
|
|
440
507
|
* @returns Array of OpenAI-formatted messages
|
|
441
508
|
*/
|
|
442
|
-
async convertMessages(request) {
|
|
509
|
+
async convertMessages(request, config) {
|
|
443
510
|
return (await Promise.all(request.messages.map(async (msg) => {
|
|
444
511
|
switch (msg.role) {
|
|
445
512
|
case 'system':
|
|
446
|
-
return {
|
|
513
|
+
return this.getChatMessage({
|
|
447
514
|
role: 'developer',
|
|
448
515
|
name: this.convertName(msg.name),
|
|
449
|
-
content: this.convertContentText(msg.content, msg.name || 'system'),
|
|
450
|
-
};
|
|
516
|
+
content: this.convertContentText(msg.content, msg.name || 'system', config),
|
|
517
|
+
}, msg, config);
|
|
451
518
|
case 'tool':
|
|
452
|
-
return {
|
|
519
|
+
return this.getChatMessage({
|
|
453
520
|
role: 'tool',
|
|
454
521
|
tool_call_id: msg.toolCallId,
|
|
455
|
-
content: this.convertContentText(msg.content, msg.name || 'tool'),
|
|
456
|
-
};
|
|
522
|
+
content: this.convertContentText(msg.content, msg.name || 'tool', config),
|
|
523
|
+
}, msg, config);
|
|
457
524
|
case 'assistant':
|
|
458
|
-
const content = await this.convertContent(msg.content, msg.name || 'assistant');
|
|
525
|
+
const content = await this.convertContent(msg.content, msg.name || 'assistant', config);
|
|
459
526
|
if (!content || typeof content === 'string' || content.every(c => c.type === 'text')) {
|
|
460
|
-
return {
|
|
527
|
+
return this.getChatMessage({
|
|
461
528
|
role: msg.role,
|
|
462
529
|
name: this.convertName(msg.name),
|
|
463
530
|
tool_calls: msg.toolCalls?.map((tc) => this.convertToolCall(tc)),
|
|
464
531
|
content,
|
|
465
|
-
};
|
|
532
|
+
}, msg, config);
|
|
466
533
|
}
|
|
467
534
|
else {
|
|
468
535
|
// Mixed content - need to split into multiple messages where non-text parts are separate messages
|
|
@@ -470,51 +537,122 @@ export class OpenAIProvider {
|
|
|
470
537
|
const firstText = content.findIndex(c => c.type === 'text');
|
|
471
538
|
return content.map((contentPart, index) => {
|
|
472
539
|
if (contentPart.type === 'text') {
|
|
473
|
-
return {
|
|
540
|
+
return this.getChatMessage({
|
|
474
541
|
role: 'assistant',
|
|
475
542
|
name: this.convertName(msg.name),
|
|
476
543
|
tool_calls: index === firstText ? msg.toolCalls?.map((tc) => this.convertToolCall(tc)) : undefined,
|
|
477
544
|
content: [contentPart],
|
|
478
|
-
};
|
|
545
|
+
}, msg, config);
|
|
479
546
|
}
|
|
480
547
|
else {
|
|
481
|
-
return {
|
|
548
|
+
return this.getChatMessage({
|
|
482
549
|
role: 'user',
|
|
483
550
|
name: this.convertName(msg.name),
|
|
484
551
|
content: [contentPart],
|
|
485
|
-
};
|
|
552
|
+
}, msg, config);
|
|
486
553
|
}
|
|
487
554
|
});
|
|
488
555
|
}
|
|
489
556
|
case 'user':
|
|
490
|
-
return {
|
|
557
|
+
return this.getChatMessage({
|
|
491
558
|
role: msg.role,
|
|
492
559
|
name: this.convertName(msg.name),
|
|
493
|
-
content: await this.convertContent(msg.content, msg.name || 'user'),
|
|
494
|
-
};
|
|
560
|
+
content: await this.convertContent(msg.content, msg.name || 'user', config),
|
|
561
|
+
}, msg, config);
|
|
495
562
|
}
|
|
496
563
|
}))).flat();
|
|
497
564
|
}
|
|
498
565
|
/**
|
|
499
566
|
* Convert @aeye tool definitions to OpenAI format.
|
|
500
567
|
*
|
|
501
|
-
*
|
|
568
|
+
* Strict-mode is a best-effort wish: a tool's `strict: true` only takes
|
|
569
|
+
* effect when `resolveStrictFormat(model) === 'openai'` (resolved from
|
|
570
|
+
* the model's `strictFormat` override, or its `provider` / `id` prefix).
|
|
571
|
+
* Numeric
|
|
572
|
+
* priority (`strict: <n>`) competes for slot allocation under the shared
|
|
573
|
+
* `SchemaBudget`; tools that don't fit fall back to LENIENT silently.
|
|
502
574
|
*
|
|
503
|
-
*
|
|
504
|
-
*
|
|
575
|
+
* Tools are emitted in their original declaration order, but slot
|
|
576
|
+
* allocation walks them in *descending priority* order so the most-wanted
|
|
577
|
+
* strict items consume the budget first.
|
|
578
|
+
*
|
|
579
|
+
* @param request @aeye request (mutated: each tool's `descriptor` field is
|
|
580
|
+
* pinned for the validation roundtrip)
|
|
581
|
+
* @param model the resolved model the request is targeting
|
|
582
|
+
* @param budget shared allocator (also fed by `convertResponseFormat`)
|
|
505
583
|
*/
|
|
506
|
-
convertTools(request) {
|
|
584
|
+
convertTools(request, model, budget) {
|
|
507
585
|
if (!request.tools || request.tools.length === 0)
|
|
508
586
|
return undefined;
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
587
|
+
const localBudget = budget ?? this.buildSchemaBudget(model);
|
|
588
|
+
const descriptors = this.allocateToolDescriptors(request, localBudget);
|
|
589
|
+
return request.tools.map((tool, i) => {
|
|
590
|
+
const descriptor = descriptors[i];
|
|
591
|
+
const strictifiedSchema = strictify(tool.parameters, descriptor);
|
|
592
|
+
// Only set the API-level strict flag when we're actually emitting a
|
|
593
|
+
// strict-mode-compatible schema. Setting strict:true with a schema
|
|
594
|
+
// that violates OpenAI's strict-mode rules is the failure mode we
|
|
595
|
+
// are trying to avoid.
|
|
596
|
+
const result = {
|
|
597
|
+
type: 'function',
|
|
598
|
+
function: {
|
|
599
|
+
name: tool.name,
|
|
600
|
+
description: tool.description,
|
|
601
|
+
parameters: toJSONSchema(strictifiedSchema, descriptor),
|
|
602
|
+
...(descriptor.strict ? { strict: true } : {}),
|
|
603
|
+
},
|
|
604
|
+
};
|
|
605
|
+
return result;
|
|
606
|
+
});
|
|
607
|
+
}
|
|
608
|
+
/**
|
|
609
|
+
* The set of strict descriptor families this provider can speak on the
|
|
610
|
+
* wire. Defaults to `['openai']` — the OpenAI Chat Completions API only
|
|
611
|
+
* accepts OpenAI-shaped strict schemas. Subclasses or custom providers
|
|
612
|
+
* extending OpenAIProvider can extend this set to accept additional
|
|
613
|
+
* registered families (e.g. a custom `'openai-tight'` variant).
|
|
614
|
+
*/
|
|
615
|
+
supportedStrictFamilies = new Set(['openai']);
|
|
616
|
+
/**
|
|
617
|
+
* Build a SchemaBudget tuned to the strictest of the model's tool /
|
|
618
|
+
* structured-output families. Anthropic-style per-request limits apply
|
|
619
|
+
* across BOTH tool schemas and the response_format schema, so the budget
|
|
620
|
+
* is shared between `convertTools` and `convertResponseFormat`.
|
|
621
|
+
*
|
|
622
|
+
* Strict mode engages only when the model's resolved family is in
|
|
623
|
+
* `supportedStrictFamilies` AND the model has the corresponding
|
|
624
|
+
* capability (`'toolsStrict'` for tools, `'structured'` for output).
|
|
625
|
+
* Mismatched families fall back to LENIENT silently — protects the
|
|
626
|
+
* wire from receiving a dialect the API doesn't understand.
|
|
627
|
+
*/
|
|
628
|
+
buildSchemaBudget(model) {
|
|
629
|
+
const family = model ? resolveStrictFormat(model) : undefined;
|
|
630
|
+
const familySupported = family !== undefined && this.supportedStrictFamilies.has(family);
|
|
631
|
+
const tools = familySupported && model.capabilities.has('toolsStrict')
|
|
632
|
+
? getDescriptor(family, true)
|
|
633
|
+
: LENIENT;
|
|
634
|
+
const out = familySupported && model.capabilities.has('structured')
|
|
635
|
+
? getDescriptor(family, true)
|
|
636
|
+
: LENIENT;
|
|
637
|
+
return new SchemaBudget(strictestOf(tools, out));
|
|
638
|
+
}
|
|
639
|
+
/**
|
|
640
|
+
* Allocate per-tool descriptors in descending-priority order, then return
|
|
641
|
+
* them in original declaration order. Mutates `request.tools[i].descriptor`
|
|
642
|
+
* to record the chosen id for the Prompt's validation roundtrip.
|
|
643
|
+
*/
|
|
644
|
+
allocateToolDescriptors(request, budget) {
|
|
645
|
+
const tools = request.tools;
|
|
646
|
+
const order = tools
|
|
647
|
+
.map((t, i) => ({ i, p: strictPriority(t.strict) }))
|
|
648
|
+
.sort((a, b) => b.p - a.p);
|
|
649
|
+
const descriptors = new Array(tools.length);
|
|
650
|
+
for (const { i } of order) {
|
|
651
|
+
const tool = tools[i];
|
|
652
|
+
descriptors[i] = budget.allocateTool(tool.parameters, tool.strict);
|
|
653
|
+
tool.descriptor = descriptors[i].id;
|
|
654
|
+
}
|
|
655
|
+
return descriptors;
|
|
518
656
|
}
|
|
519
657
|
/**
|
|
520
658
|
* Convert @aeye tool choice to OpenAI format.
|
|
@@ -544,12 +682,19 @@ export class OpenAIProvider {
|
|
|
544
682
|
/**
|
|
545
683
|
* Convert @aeye response format to OpenAI format.
|
|
546
684
|
*
|
|
547
|
-
*
|
|
685
|
+
* Strict structured output is best-effort: honored only when the chosen
|
|
686
|
+
* `resolveStrictFormat(model) === 'openai'` AND the model has the
|
|
687
|
+
* `'structured'` capability. For unsupported models
|
|
688
|
+
* the LENIENT descriptor is used and the API-level `strict: true` flag is
|
|
689
|
+
* omitted — silent fallback. The chosen descriptor is pinned on the
|
|
690
|
+
* `responseFormat.descriptor` so the Prompt validator can apply the
|
|
691
|
+
* matching strictify before parsing model output.
|
|
548
692
|
*
|
|
549
|
-
* @param request @aeye request object
|
|
693
|
+
* @param request @aeye request object (mutated to record descriptor)
|
|
694
|
+
* @param model the resolved model the request is targeting
|
|
550
695
|
* @returns OpenAI-formatted response format or undefined
|
|
551
696
|
*/
|
|
552
|
-
convertResponseFormat(request) {
|
|
697
|
+
convertResponseFormat(request, model, budget) {
|
|
553
698
|
if (!request.responseFormat)
|
|
554
699
|
return undefined;
|
|
555
700
|
if (typeof request.responseFormat === 'string') {
|
|
@@ -561,16 +706,18 @@ export class OpenAIProvider {
|
|
|
561
706
|
}
|
|
562
707
|
return undefined;
|
|
563
708
|
}
|
|
564
|
-
const
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
strict,
|
|
572
|
-
},
|
|
709
|
+
const localBudget = budget ?? this.buildSchemaBudget(model);
|
|
710
|
+
const descriptor = localBudget.allocateOutput(request.responseFormat.type, request.responseFormat.strict ?? 1);
|
|
711
|
+
request.responseFormat.descriptor = descriptor.id;
|
|
712
|
+
const strictifiedSchema = strictify(request.responseFormat.type, descriptor);
|
|
713
|
+
const json_schema = {
|
|
714
|
+
name: 'response',
|
|
715
|
+
schema: toJSONSchema(strictifiedSchema, descriptor),
|
|
573
716
|
};
|
|
717
|
+
if (descriptor.strict) {
|
|
718
|
+
json_schema.strict = true;
|
|
719
|
+
}
|
|
720
|
+
return { type: 'json_schema', json_schema };
|
|
574
721
|
}
|
|
575
722
|
// ============================================================================
|
|
576
723
|
// Provider Interface Implementation
|
|
@@ -659,11 +806,20 @@ export class OpenAIProvider {
|
|
|
659
806
|
const client = this.createClient(effectiveConfig);
|
|
660
807
|
return async (request, ctx, metadata, requestSignal) => {
|
|
661
808
|
const { model, retry } = this.getRequestData(request, requestSignal, ctx, effectiveConfig, 'chat', metadata?.model || effectiveConfig.defaultModels?.chat);
|
|
662
|
-
|
|
663
|
-
|
|
809
|
+
// Resolve full ModelInfo for strict-format decisions. BaseAPI injects
|
|
810
|
+
// the selected ModelInfo into ctx.metadata.model after model selection;
|
|
811
|
+
// fall back to the lightweight model from getRequestData when no
|
|
812
|
+
// ModelInfo is available (e.g. external callers bypassing BaseAPI).
|
|
813
|
+
const modelInfo = pickModelInfo(metadata, ctx, model.id);
|
|
814
|
+
// One budget shared across tools + structured output. Anthropic-style
|
|
815
|
+
// per-request limits apply across the whole request, so allocations
|
|
816
|
+
// need to cooperate rather than each hold their own counter.
|
|
817
|
+
const budget = this.buildSchemaBudget(modelInfo);
|
|
818
|
+
const messages = await this.convertMessages(request, effectiveConfig);
|
|
819
|
+
const tools = this.convertTools(request, modelInfo, budget);
|
|
664
820
|
const tool_choice = tools?.length ? this.convertToolChoice(request) : undefined;
|
|
665
821
|
const parallel_tool_calls = tools?.length ? !request.toolsOneAtATime : undefined;
|
|
666
|
-
const response_format = this.convertResponseFormat(request);
|
|
822
|
+
const response_format = this.convertResponseFormat(request, modelInfo, budget);
|
|
667
823
|
const params = {
|
|
668
824
|
model: model.id,
|
|
669
825
|
messages,
|
|
@@ -693,7 +849,7 @@ export class OpenAIProvider {
|
|
|
693
849
|
try {
|
|
694
850
|
completion = await retry(async (signal) => {
|
|
695
851
|
const data = await client.chat.completions.create(params, { signal });
|
|
696
|
-
const choice = data.choices[0];
|
|
852
|
+
const choice = data.choices?.[0];
|
|
697
853
|
if (!choice) {
|
|
698
854
|
throw new ProviderError(this.name, 'No choices in response');
|
|
699
855
|
}
|
|
@@ -757,11 +913,13 @@ export class OpenAIProvider {
|
|
|
757
913
|
const client = this.createClient(effectiveConfig);
|
|
758
914
|
return async function* (request, ctx, metadata, requestSignal) {
|
|
759
915
|
const { model, retry, signal } = this.getRequestData(request, requestSignal, ctx, effectiveConfig, 'streaming chat', metadata?.model || effectiveConfig.defaultModels?.chat);
|
|
760
|
-
const
|
|
761
|
-
const
|
|
916
|
+
const modelInfo = pickModelInfo(metadata, ctx, model.id);
|
|
917
|
+
const budget = this.buildSchemaBudget(modelInfo);
|
|
918
|
+
const messages = await this.convertMessages(request, effectiveConfig);
|
|
919
|
+
const tools = this.convertTools(request, modelInfo, budget);
|
|
762
920
|
const tool_choice = tools?.length ? this.convertToolChoice(request) : undefined;
|
|
763
921
|
const parallel_tool_calls = tools?.length ? !request.toolsOneAtATime : undefined;
|
|
764
|
-
const response_format = this.convertResponseFormat(request);
|
|
922
|
+
const response_format = this.convertResponseFormat(request, modelInfo, budget);
|
|
765
923
|
const params = {
|
|
766
924
|
model: model.id,
|
|
767
925
|
messages,
|
|
@@ -826,9 +984,8 @@ export class OpenAIProvider {
|
|
|
826
984
|
}
|
|
827
985
|
const toolCallsMap = new Map();
|
|
828
986
|
const toolCalls = [];
|
|
829
|
-
|
|
830
|
-
let
|
|
831
|
-
let finishReason = undefined;
|
|
987
|
+
const chunks = [];
|
|
988
|
+
let maxIndexSeen = -1;
|
|
832
989
|
try {
|
|
833
990
|
for await (const chunk of stream) {
|
|
834
991
|
if (signal?.aborted) {
|
|
@@ -836,22 +993,18 @@ export class OpenAIProvider {
|
|
|
836
993
|
}
|
|
837
994
|
const choice = chunk?.choices[0];
|
|
838
995
|
const delta = choice?.delta;
|
|
996
|
+
// OpenAI streams `finish_reason: null` on every intermediate chunk
|
|
997
|
+
// and only sets a real value on the last chunk for the choice.
|
|
998
|
+
// Normalize null → undefined so downstream `!== undefined` checks
|
|
999
|
+
// (used by the tool-call finalization logic below) don't treat
|
|
1000
|
+
// every intermediate chunk as "the model is done".
|
|
1001
|
+
const finishReasonRaw = choice?.finish_reason ?? undefined;
|
|
839
1002
|
const yieldChunk = {
|
|
840
1003
|
content: delta?.content || undefined,
|
|
841
|
-
finishReason:
|
|
1004
|
+
finishReason: finishReasonRaw,
|
|
842
1005
|
refusal: delta?.refusal ?? undefined,
|
|
843
1006
|
usage: chunk.usage ? convertOpenAIUsage(chunk.usage) : undefined,
|
|
844
1007
|
};
|
|
845
|
-
// Track accumulated content and final data
|
|
846
|
-
if (delta?.content) {
|
|
847
|
-
accumulatedContent += delta.content;
|
|
848
|
-
}
|
|
849
|
-
if (chunk.usage) {
|
|
850
|
-
finalUsage = convertOpenAIUsage(chunk.usage);
|
|
851
|
-
}
|
|
852
|
-
if (choice?.finish_reason) {
|
|
853
|
-
finishReason = choice.finish_reason;
|
|
854
|
-
}
|
|
855
1008
|
// Handle tool calls
|
|
856
1009
|
for (const toolCall of toolCalls) {
|
|
857
1010
|
toolCall.updated = false;
|
|
@@ -859,7 +1012,7 @@ export class OpenAIProvider {
|
|
|
859
1012
|
if (delta?.tool_calls) {
|
|
860
1013
|
for (const tc of delta.tool_calls) {
|
|
861
1014
|
const existing = toolCallsMap.get(tc.index);
|
|
862
|
-
const toolCall = existing || { id: '', name: '', arguments: '', named: false, finished: false, updated: true };
|
|
1015
|
+
const toolCall = existing || { id: '', name: '', arguments: '', named: false, finished: false, updated: true, index: tc.index };
|
|
863
1016
|
if (tc.id) {
|
|
864
1017
|
toolCall.id = tc.id;
|
|
865
1018
|
toolCall.updated = true;
|
|
@@ -876,25 +1029,48 @@ export class OpenAIProvider {
|
|
|
876
1029
|
toolCallsMap.set(tc.index, toolCall);
|
|
877
1030
|
toolCalls.push(toolCall);
|
|
878
1031
|
}
|
|
1032
|
+
if (typeof tc.index === 'number' && tc.index > maxIndexSeen) {
|
|
1033
|
+
maxIndexSeen = tc.index;
|
|
1034
|
+
}
|
|
879
1035
|
if (toolCall.arguments) {
|
|
880
1036
|
if (!toolCall.named) {
|
|
881
|
-
yieldChunk.toolCallNamed =
|
|
1037
|
+
yieldChunk.toolCallNamed = toolCall;
|
|
882
1038
|
toolCall.named = true;
|
|
883
1039
|
}
|
|
884
1040
|
else {
|
|
885
|
-
yieldChunk.toolCallArguments =
|
|
1041
|
+
yieldChunk.toolCallArguments = toolCall;
|
|
886
1042
|
}
|
|
887
1043
|
}
|
|
888
1044
|
}
|
|
889
1045
|
}
|
|
1046
|
+
// Finalize tool calls only when we have positive evidence they're done.
|
|
1047
|
+
// The previous "updated == false this chunk" check was wrong: providers
|
|
1048
|
+
// (OpenRouter especially, with stream_options.include_usage) interleave
|
|
1049
|
+
// usage-only / keep-alive chunks that have no `choices`/`delta`, which
|
|
1050
|
+
// would prematurely flip a still-streaming tool_call to finished and
|
|
1051
|
+
// emit it with partial arguments — downstream parse() then rejected
|
|
1052
|
+
// it as "called with NO arguments". Only finalize when:
|
|
1053
|
+
// 1. finish_reason is set on this chunk (the whole response is done), or
|
|
1054
|
+
// 2. a higher tc.index appeared (per OpenAI streaming convention,
|
|
1055
|
+
// tool_calls arrive in index order, so a newer index implies the
|
|
1056
|
+
// older ones are complete).
|
|
1057
|
+
// Anything still unfinished by stream end is handled by the finally block.
|
|
1058
|
+
const hasFinishReason = yieldChunk.finishReason !== undefined;
|
|
890
1059
|
for (const toolCall of toolCalls) {
|
|
891
|
-
if (!toolCall.
|
|
1060
|
+
if (!toolCall.finished && (hasFinishReason || toolCall.index < maxIndexSeen)) {
|
|
892
1061
|
toolCall.finished = true;
|
|
893
1062
|
yieldChunk.toolCall = toolCall;
|
|
1063
|
+
if (!toolCall.named) {
|
|
1064
|
+
yieldChunk.toolCallNamed = toolCall;
|
|
1065
|
+
yieldChunk.toolCallArguments = toolCall;
|
|
1066
|
+
toolCall.named = true;
|
|
1067
|
+
}
|
|
894
1068
|
}
|
|
895
1069
|
}
|
|
896
1070
|
// Augment chunk with provider-specific data
|
|
897
1071
|
this.augmentChatChunk(chunk, yieldChunk, effectiveConfig);
|
|
1072
|
+
// Keep track of all chunks for post-processing if needed
|
|
1073
|
+
chunks.push(yieldChunk);
|
|
898
1074
|
// Send it!
|
|
899
1075
|
yield yieldChunk;
|
|
900
1076
|
}
|
|
@@ -906,21 +1082,23 @@ export class OpenAIProvider {
|
|
|
906
1082
|
toolCall.finished = true;
|
|
907
1083
|
const chunk = { choices: [], created: 0, id: '', model: '', object: 'chat.completion.chunk' };
|
|
908
1084
|
const yieldChunk = { toolCall };
|
|
1085
|
+
if (!toolCall.named) {
|
|
1086
|
+
yieldChunk.toolCallNamed = toolCall;
|
|
1087
|
+
yieldChunk.toolCallArguments = toolCall;
|
|
1088
|
+
toolCall.named = true;
|
|
1089
|
+
}
|
|
909
1090
|
// Augment chunk with provider-specific data
|
|
910
1091
|
this.augmentChatChunk(chunk, yieldChunk, effectiveConfig);
|
|
1092
|
+
// Keep track of all chunks for post-processing if needed
|
|
1093
|
+
chunks.push(yieldChunk);
|
|
911
1094
|
// Send it!
|
|
912
|
-
yield
|
|
1095
|
+
yield yieldChunk;
|
|
913
1096
|
}
|
|
914
1097
|
}
|
|
915
1098
|
// Call post-request hook with accumulated response
|
|
916
1099
|
if (effectiveConfig.hooks?.chat?.afterRequest) {
|
|
917
|
-
const finalResponse =
|
|
918
|
-
|
|
919
|
-
toolCalls: toolCalls.map(tc => ({ id: tc.id, name: tc.name, arguments: tc.arguments })),
|
|
920
|
-
finishReason: toolCalls.length ? 'tool_calls' : finishReason || 'stop',
|
|
921
|
-
model,
|
|
922
|
-
usage: finalUsage,
|
|
923
|
-
};
|
|
1100
|
+
const finalResponse = getResponseFromChunks(chunks);
|
|
1101
|
+
finalResponse.model = model;
|
|
924
1102
|
await effectiveConfig.hooks.chat.afterRequest(request, params, finalResponse, ctx, metadata);
|
|
925
1103
|
}
|
|
926
1104
|
}
|
|
@@ -1687,7 +1865,7 @@ export class OpenAIProvider {
|
|
|
1687
1865
|
};
|
|
1688
1866
|
// Construct the params that would be sent to OpenAI
|
|
1689
1867
|
const { model } = this.getRequestData(chatRequest, undefined, ctx, effectiveConfig, 'analyze image', effectiveConfig.defaultModels?.imageAnalyze || 'gpt-4-vision-preview');
|
|
1690
|
-
const messages = await this.convertMessages(chatRequest);
|
|
1868
|
+
const messages = await this.convertMessages(chatRequest, effectiveConfig);
|
|
1691
1869
|
const params = {
|
|
1692
1870
|
model: model.id,
|
|
1693
1871
|
messages,
|
|
@@ -1744,7 +1922,7 @@ export class OpenAIProvider {
|
|
|
1744
1922
|
};
|
|
1745
1923
|
// Construct the params that would be sent to OpenAI
|
|
1746
1924
|
const { model } = this.getRequestData(chatRequest, undefined, ctx, effectiveConfig, 'analyze image stream', effectiveConfig.defaultModels?.imageAnalyze || 'gpt-4-vision-preview');
|
|
1747
|
-
const messages = await this.convertMessages(chatRequest);
|
|
1925
|
+
const messages = await this.convertMessages(chatRequest, effectiveConfig);
|
|
1748
1926
|
const params = {
|
|
1749
1927
|
model: model.id,
|
|
1750
1928
|
messages,
|
package/dist/openai.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../src/openai.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../src/openai.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqBH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,MAAM,EAA2G,aAAa,EAAE,QAAQ,EAAqB,OAAO,EAA0E,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAiB,QAAQ,EAAE,YAAY,EAA2B,MAAM,EAAE,KAAK,EAAc,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAElb,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAoD,SAAS,EAAE,MAAM,SAAS,CAAC;AACrI,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE5D,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E;;;;;;;;GAQG;AACH,SAAS,aAAa,CACpB,QAAmC,EACnC,GAA6B,EAC7B,OAAe;IAEf,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC;YACrE,OAAO,CAAc,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAwKD,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuFG;AAEH;;GAEG;AACH,SAAS,kBAAkB,CAAC,WAM3B;IACC,MAAM,KAAK,GAAU,EAAE,CAAC;IAExB,iCAAiC;IACjC,gFAAgF;IAChF,uEAAuE;IACvE,MAAM,SAAS,GAAG,CAAC,WAAW,CAAC,aAAa,IAAI,CAAC,CAAC;QACjC,CAAC,WAAW,CAAC,qBAAqB,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC;IACxE,MAAM,UAAU,GAAG,CAAC,WAAW,CAAC,iBAAiB,IAAI,CAAC,CAAC;QACrC,CAAC,WAAW,CAAC,yBAAyB,EAAE,gBAAgB,IAAI,CAAC,CAAC;QAC9D,CAAC,WAAW,CAAC,yBAAyB,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC;IAE7E,IAAI,SAAS,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,WAAW,CAAC,qBAAqB,EAAE,aAAa,EAAE,CAAC;QACxF,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;QAChB,uCAAuC;QACvC,MAAM,cAAc,GAAG,SAAS,GAAG,CAAC,WAAW,CAAC,qBAAqB,EAAE,aAAa,IAAI,CAAC,CAAC,CAAC;QAC3F,IAAI,cAAc,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC;QAC1D,IAAI,UAAU,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;QACnD,IAAI,WAAW,CAAC,qBAAqB,EAAE,aAAa,EAAE,CAAC;YACrD,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,qBAAqB,CAAC,aAAa,CAAC;QACtE,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,IAAI,WAAW,CAAC,yBAAyB,EAAE,gBAAgB,EAAE,CAAC;QAC5D,KAAK,CAAC,SAAS,GAAG;YAChB,MAAM,EAAE,WAAW,CAAC,yBAAyB,CAAC,gBAAgB;SAC/D,CAAC;IACJ,CAAC;IAED,eAAe;IACf,MAAM,UAAU,GAAG,WAAW,CAAC,qBAAqB,EAAE,YAAY,CAAC;IACnE,MAAM,WAAW,GAAG,WAAW,CAAC,yBAAyB,EAAE,YAAY,CAAC;IACxE,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;QAC9B,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACjB,IAAI,UAAU;YAAE,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC;QAC/C,IAAI,WAAW;YAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;IACpD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,OAAO,cAAc;IACzB,sDAAsD;IAC7C,IAAI,GAAW,QAAQ,CAAC;IAEjC,4DAA4D;IACnD,MAAM,CAAU;IAEzB,4CAA4C;IAC5C,eAAe,CAA+B;IAE9C,YAAY,MAAe;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,+EAA+E;IAC/E,iCAAiC;IACjC,+EAA+E;IAE/E;;;;;;;;;;;;;;;;;;OAkBG;IACO,YAAY,CAAC,MAAe;QACpC,OAAO,IAAI,MAAM,CAAC;YAChB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACO,YAAY,CAAC,KAAmB;QACxC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAElC,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,EAAE;YACd,YAAY,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE,6CAA6C;YAC3F,IAAI;YACJ,OAAO,EAAE,EAAE;YACX,aAAa,EAAE,CAAC,EAAE,oCAAoC;YACtD,eAAe,EAAE,SAAS;YAC1B,QAAQ,EAAE;gBACR,OAAO,EAAE,KAAK,CAAC,QAAQ;gBACvB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB;SACF,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,sDAAsD;IACtD,+EAA+E;IAE/E;;;;;;OAMG;IACO,2BAA2B,CACnC,MAAe,EACf,OAA+B,EAC/B,MAAe;QAEf,mBAAmB;IACrB,CAAC;IAED;;;;;;OAMG;IACO,uBAAuB,CAC/B,MAAe,EACf,OAAyB,EACzB,MAAe;QAEf,mBAAmB;IACrB,CAAC;IAED;;;;;;OAMG;IACO,2BAA2B,CACnC,MAAe,EACf,OAA6B,EAC7B,MAAe;QAEf,mBAAmB;IACrB,CAAC;IAED;;;;;;OAMG;IACO,oBAAoB,CAC5B,MAAe,EACf,OAAsB,EACtB,MAAe;QAEf,mBAAmB;IACrB,CAAC;IAED;;;;;;OAMG;IACO,uBAAuB,CAC/B,MAAe,EACf,OAAyB,EACzB,MAAe;QAEf,mBAAmB;IACrB,CAAC;IAED;;;;;;;;;;OAUG;IACO,kBAAkB,CAC1B,MAAe,EACf,OAAgB,EAChB,MAAe;QAEf,mBAAmB;IACrB,CAAC;IAED;;;;;;OAMG;IACO,kBAAkB,CAC1B,WAAqB,EACrB,OAAgB,EAChB,MAAe;QAEf,mBAAmB;IACrB,CAAC;IAED;;;;;;;OAOG;IACK,cAAc,CACpB,WAAqB,EACrB,OAAgB,EAChB,MAAe;QAEf,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACtD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;;OAMG;IACO,kBAAkB,CAC1B,WAAqB,EACrB,OAAuB,EACvB,MAAe;QAEf,mBAAmB;IACrB,CAAC;IAED;;;;;;;OAOG;IACK,cAAc,CACpB,WAAqB,EACrB,OAAuB,EACvB,MAAe;QAEf,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACtD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACO,gBAAgB,CACxB,QAAiB,EACjB,KAAY,EACZ,MAAe;QAEf,mBAAmB;IACrB,CAAC;IAED;;;;;;OAMG;IACO,mBAAmB,CAC3B,QAAiB,EACjB,QAAkB,EAClB,MAAe;QAEf,mBAAmB;IACrB,CAAC;IAED,+EAA+E;IAC/E,sDAAsD;IACtD,+EAA+E;IAE/E;;;;;OAKG;IACO,kBAAkB,CAC1B,CAA4B,EAC5B,IAAY,EACZ,MAAe;QAEf,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,sEAAsE,IAAI,GAAG,CAAC,CAAC;YAC5F,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAyD,EAAE;YAC3E,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACzF,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,IAAI,2BAA2B,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACrH,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAChC,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,IAAI,2BAA2B,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACpH,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,IAAI,2BAA2B,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACrH,CAAC;YACD,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iCAAiC,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7G,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,cAAc,CAC5B,CAA4B,EAC5B,IAAY,EACZ,MAAe;QAEf,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAA8D,EAAE;YAClG,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,wBAAwB,IAAI,kCAAkC,CAAC,CAAC;oBACpH,OAAO,IAAI,CAAC,cAAc,CAAC;wBACzB,IAAI,EAAE,MAAM;wBACZ,IAAI;qBACL,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gBACnB,CAAC;gBAED,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;oBACrF,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;wBACtB,OAAO,IAAI,CAAC,cAAc,CAAC;4BACzB,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,yBAAyB,IAAI,mCAAmC;yBACvE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;oBACnB,CAAC;oBAED,OAAO,IAAI,CAAC,cAAc,CAAC;wBACzB,IAAI,EAAE,WAAW;wBACjB,SAAS,EAAE,EAAE,GAAG,EAAE;qBACnB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gBACnB,CAAC;gBAED,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,uCAAuC;oBACvC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;oBACzF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBACzB,OAAO,IAAI,CAAC,cAAc,CAAC;4BACzB,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,yBAAyB,IAAI,oCAAoC;yBACxE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;oBACnB,CAAC;oBAED,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oBACvF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;oBACnF,OAAO,IAAI,CAAC,cAAc,CAAC;wBACzB,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;qBAC9B,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gBACnB,CAAC;gBAED,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,+DAA+D;oBAC/D,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;oBAC7F,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC3B,OAAO,IAAI,CAAC,cAAc,CAAC;4BACzB,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,wBAAwB,IAAI,oCAAoC;yBACvE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;oBACnB,CAAC;oBAED,OAAO,IAAI,CAAC,cAAc,CAAC;wBACzB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE;4BACJ,SAAS,EAAE,QAAQ;4BACnB,oBAAoB;4BACpB,QAAQ,EAAE,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBAC1D;qBACF,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gBACnB,CAAC;gBAED;oBACE,OAAO,IAAI,CAAC,cAAc,CAAC;wBACzB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,iCAAiC,IAAI,GAAG;qBAC/C,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;OAIG;IACO,eAAe,CAAC,CAAW;QACnC,OAAO;YACL,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB;SACF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACO,WAAW,CAAC,IAAwB;QAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;aAC7B,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;aAC9B,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtB,CAAC;IAED;;;;;;;;OAQG;IACO,KAAK,CAAC,eAAe,CAAC,OAAgB,EAAE,MAAe;QAC/D,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAA8F,EAAE;YACvJ,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;gBACjB,KAAK,QAAQ;oBACX,OAAO,IAAI,CAAC,cAAc,CAAC;wBACzB,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;wBAChC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,IAAI,QAAQ,EAAE,MAAM,CAAC;qBAC5E,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBAClB,KAAK,MAAM;oBACT,OAAO,IAAI,CAAC,cAAc,CAAC;wBACzB,IAAI,EAAE,MAAM;wBACZ,YAAY,EAAE,GAAG,CAAC,UAAW;wBAC7B,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,IAAI,MAAM,EAAE,MAAM,CAAC;qBAC1E,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBAClB,KAAK,WAAW;oBACd,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,IAAI,WAAW,EAAE,MAAM,CAAC,CAAC;oBACxF,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC;wBACrF,OAAO,IAAI,CAAC,cAAc,CAAC;4BACzB,IAAI,EAAE,GAAG,CAAC,IAAI;4BACd,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;4BAChC,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;4BAChE,OAAO;yBACR,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;oBAClB,CAAC;yBAAM,CAAC;wBACN,kGAAkG;wBAClG,4EAA4E;wBAC5E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;wBAC5D,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,EAA0C,EAAE;4BAChF,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gCAChC,OAAO,IAAI,CAAC,cAAc,CAAC;oCACzB,IAAI,EAAE,WAAW;oCACjB,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;oCAChC,UAAU,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;oCAClG,OAAO,EAAE,CAAC,WAAW,CAAC;iCACvB,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;4BAClB,CAAC;iCAAM,CAAC;gCACN,OAAO,IAAI,CAAC,cAAc,CAAC;oCACzB,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;oCAChC,OAAO,EAAE,CAAC,WAAW,CAAC;iCACvB,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;4BAClB,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,KAAK,MAAM;oBACT,OAAO,IAAI,CAAC,cAAc,CAAC;wBACzB,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;wBAChC,OAAO,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,IAAI,MAAM,EAAE,MAAM,CAAC;qBAC5E,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YACpB,CAAC;QACH,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACO,YAAY,CACpB,OAAgB,EAChB,KAAiB,EACjB,MAAqB;QAErB,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEnE,MAAM,WAAW,GAAG,MAAM,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEvE,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACnC,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,iBAAiB,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAEjE,oEAAoE;YACpE,mEAAmE;YACnE,kEAAkE;YAClE,uBAAuB;YACvB,MAAM,MAAM,GAA2C;gBACrD,IAAI,EAAE,UAAmB;gBACzB,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,UAAU,EAAE,YAAY,CAAC,iBAAiB,EAAE,UAAU,CAAC;oBACvD,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/C;aACF,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACO,uBAAuB,GAAkC,IAAI,GAAG,CAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEzG;;;;;;;;;;;OAWG;IACO,iBAAiB,CAAC,KAAiB;QAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,MAAM,eAAe,GAAG,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzF,MAAM,KAAK,GAAG,eAAe,IAAI,KAAM,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC;YACrE,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;YAC7B,CAAC,CAAC,OAAO,CAAC;QACZ,MAAM,GAAG,GAAG,eAAe,IAAI,KAAM,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC;YAClE,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;YAC7B,CAAC,CAAC,OAAO,CAAC;QACZ,OAAO,IAAI,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACK,uBAAuB,CAAC,OAAgB,EAAE,MAAoB;QACpE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAM,CAAC;QAC7B,MAAM,KAAK,GAAG,KAAK;aAChB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;aACnD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7B,MAAM,WAAW,GAAuB,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChE,KAAK,MAAM,EAAE,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACnE,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtC,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;;;OAOG;IACO,iBAAiB,CACzB,OAAgB;QAEhB,IAAI,CAAC,OAAO,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QAE1C,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QACjD,IAAI,OAAO,CAAC,UAAU,KAAK,UAAU;YAAE,OAAO,UAAU,CAAC;QACzD,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QACjD,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC3C,OAAO;gBACL,IAAI,EAAE,UAAmB;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE;aAC5C,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACO,qBAAqB,CAC7B,OAAgB,EAChB,KAAiB,EACjB,MAAqB;QAErB,IAAI,CAAC,OAAO,CAAC,cAAc;YAAE,OAAO,SAAS,CAAC;QAE9C,IAAI,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;YAC/C,IAAI,OAAO,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;gBACtC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC1B,CAAC;YACD,IAAI,OAAO,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;gBACtC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;YACjC,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,WAAW,CAAC,cAAc,CAC3C,OAAO,CAAC,cAAc,CAAC,IAAI,EAC3B,OAAO,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,CACnC,CAAC;QAEF,OAAO,CAAC,cAAc,CAAC,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC;QAElD,MAAM,iBAAiB,GAAG,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC7E,MAAM,WAAW,GAEE;YACjB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,YAAY,CAAC,iBAAiB,EAAE,UAAU,CAAC;SACpD,CAAC;QACF,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC;QAC5B,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;IAC9C,CAAC;IAED,+EAA+E;IAC/E,oCAAoC;IACpC,+EAA+E;IAE/E;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,MAAgB;QAC/B,MAAM,eAAe,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAElD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC7B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,uBAAuB,EAAE,KAAc,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,MAAgB;QAChC,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;YAClD,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,cAAc,CACZ,OAAoB,EACpB,aAAsC,EACtC,GAAiB,EACjB,eAAwB,EACxB,SAAiB,EACjB,YAAyB;QAEzB,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,QAAQ,EAAE,KAAK,IAAI,YAAY,CAAC,CAAC;QAC7E,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,yBAAyB,IAAI,CAAC,IAAI,WAAW,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,WAAW,GAAgB,EAAE,GAAG,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QACzF,MAAM,WAAW,GAAgB,OAAO,CAAC,KAAK,EAAE,WAAW,IAAI,eAAe,CAAC,WAAW,IAAI,EAAE,CAAC;QACjG,MAAM,YAAY,GAAiB;YACjC,SAAS;YACT,KAAK,EAAE,KAAK,CAAC,EAAE;YACf,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QAEF,MAAM,MAAM,GAAG,aAAa,IAAI,GAAG,CAAC,MAAM,CAAC;QAE3C,MAAM,KAAK,GAAG,CAAC,EAAwC,EAAc,EAAE;YACrE,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACrF,CAAC,CAAC;QAEF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,MAAgB;QAC7B,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAElD,OAAO,KAAK,EAAE,OAAgB,EAAE,GAAiB,EAAE,QAAwB,EAAE,aAA2B,EAAqB,EAAE;YAC7H,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,cAAc,CAAyC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAEnM,sEAAsE;YACtE,wEAAwE;YACxE,iEAAiE;YACjE,oEAAoE;YACpE,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAEzD,sEAAsE;YACtE,oEAAoE;YACpE,6DAA6D;YAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAEjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YACtE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAChF,MAAM,mBAAmB,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;YACjF,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YAC/E,MAAM,MAAM,GAAuD;gBACjE,KAAK,EAAE,KAAK,CAAC,EAAE;gBACf,QAAQ;gBACR,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,KAAK,EAAE,OAAO,CAAC,IAAI;gBACnB,qBAAqB,EAAE,OAAO,CAAC,SAAS;gBACxC,iBAAiB,EAAE,OAAO,CAAC,gBAAgB;gBAC3C,gBAAgB,EAAE,OAAO,CAAC,eAAe;gBACzC,UAAU,EAAE,OAAO,CAAC,SAAS;gBAC7B,QAAQ,EAAE,OAAO,CAAC,gBAAgB;gBAClC,gBAAgB,EAAE,OAAO,CAAC,QAAQ;gBAClC,iBAAiB,EAAE,OAAO,CAAC,OAAO;gBAClC,KAAK,EAAE,eAAe,CAAC,KAAK,IAAI,KAAK;gBACrC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK;gBACL,WAAW;gBACX,mBAAmB;gBACnB,eAAe;gBACf,gBAAgB,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM;gBACxC,GAAG,OAAO,CAAC,KAAK;gBAChB,MAAM,EAAE,KAAK;aACd,CAAC;YAEF,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;YAE1D,oCAAoC;YACpC,MAAM,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YAEnF,IAAI,UAAkD,CAAC;YACvD,IAAI,CAAC;gBACH,UAAU,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;oBACxC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;oBACtE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;oBACjC,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;oBAC/D,CAAC;oBAED,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,IAAI,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5B,MAAM,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;oBAC3C,MAAM,aAAa,GAAa;wBAC9B,OAAO,EAAE,EAAE;wBACX,SAAS,EAAE,EAAE;wBACb,YAAY,EAAE,QAAwB;wBACtC,KAAK;wBACL,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE;qBACnD,CAAC;oBAEF,uCAAuC;oBACvC,MAAM,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;oBAEjG,OAAO,aAAa,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,MAAM,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAClF,CAAC;gBAED,MAAM,CAAC,CAAC;YACV,CAAC;YAED,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAErC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU;gBACzC,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC;iBACvC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACZ,EAAE,EAAE,EAAE,CAAC,EAAE;gBACT,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI;gBACtB,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS;aACjC,CAAC,CAAC,CAAC;YAEN,MAAM,QAAQ,GAAa;gBACzB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE;gBACrC,SAAS;gBACT,YAAY,EAAE,MAAM,CAAC,aAAa,KAAK,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa;gBAC1I,OAAO,EAAE,MAAM,CAAC,aAAa,KAAK,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS;gBACpG,KAAK;gBACL,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;aAC3E,CAAC;YAEF,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;YAEhE,qCAAqC;YACrC,MAAM,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YAE5F,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,cAAc,CAAC,MAAgB;QAC7B,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAElD,OAAO,KAAK,SAAS,CAAC,EAEpB,OAAgB,EAChB,GAAiB,EACjB,QAAwB,EACxB,aAA2B;YAE3B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAsD,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,IAAI,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAElO,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAEjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YACtE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAChF,MAAM,mBAAmB,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;YACjF,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YAE/E,MAAM,MAAM,GAAoD;gBAC9D,KAAK,EAAE,KAAK,CAAC,EAAE;gBACf,QAAQ;gBACR,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,KAAK,EAAE,OAAO,CAAC,IAAI;gBACnB,qBAAqB,EAAE,OAAO,CAAC,SAAS;gBACxC,iBAAiB,EAAE,OAAO,CAAC,gBAAgB;gBAC3C,gBAAgB,EAAE,OAAO,CAAC,eAAe;gBACzC,UAAU,EAAE,OAAO,CAAC,SAAS;gBAC7B,QAAQ,EAAE,OAAO,CAAC,gBAAgB;gBAClC,gBAAgB,EAAE,OAAO,CAAC,QAAQ;gBAClC,iBAAiB,EAAE,OAAO,CAAC,OAAO;gBAClC,KAAK,EAAE,eAAe,CAAC,KAAK,IAAI,KAAK;gBACrC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK;gBACL,WAAW;gBACX,mBAAmB;gBACnB,eAAe;gBACf,GAAG,OAAO,CAAC,KAAK;gBAChB,MAAM,EAAE,IAAI;gBACZ,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;aACxC,CAAC;YAEF,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;YAE1D,oCAAoC;YACpC,MAAM,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YAEnF,IAAI,MAA2D,CAAC;YAChE,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;oBACpC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC;oBAEnG,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;wBACjB,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBACrD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;wBACnD,MAAM,OAAO,GAAG;4BACd,MAAM,EAAE,QAAQ,CAAC,MAAM;4BACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;4BAC/B,OAAO;4BACP,IAAI;yBACL,CAAC;wBAEF,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,mCAAmC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACnG,CAAC;oBAED,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YAEL,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,IAAI,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5B,MAAM,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;oBAC3C,MAAM,aAAa,GAAa;wBAC9B,OAAO,EAAE,EAAE;wBACX,SAAS,EAAE,EAAE;wBACb,YAAY,EAAE,QAAwB;wBACtC,KAAK;wBACL,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE;qBACnD,CAAC;oBAEF,uCAAuC;oBACvC,MAAM,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;oBAEjG,OAAO,aAAa,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,MAAM,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAClF,CAAC;gBAED,MAAM,CAAC,CAAC;YACV,CAAC;YAID,MAAM,YAAY,GAAG,IAAI,GAAG,EAAwB,CAAC;YACrD,MAAM,SAAS,GAAmB,EAAE,CAAC;YACrC,MAAM,MAAM,GAAY,EAAE,CAAC;YAC3B,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;YAEtB,IAAI,CAAC;gBACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBACjC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;wBACpB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;oBACrC,CAAC;oBAED,MAAM,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;oBACjC,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,CAAC;oBAE5B,mEAAmE;oBACnE,+DAA+D;oBAC/D,kEAAkE;oBAClE,+DAA+D;oBAC/D,mDAAmD;oBACnD,MAAM,eAAe,GAAG,MAAM,EAAE,aAAa,IAAI,SAAS,CAAC;oBAC3D,MAAM,UAAU,GAAU;wBACxB,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,SAAS;wBACpC,YAAY,EAAE,eAA2C;wBACzD,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,SAAS;wBACpC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;qBACjE,CAAC;oBAEF,oBAAoB;oBACpB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;wBACjC,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC3B,CAAC;oBAED,IAAI,KAAK,EAAE,UAAU,EAAE,CAAC;wBACtB,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;4BAClC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;4BAC5C,MAAM,QAAQ,GAAG,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;4BAEhI,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gCACV,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;gCACpB,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;4BAC1B,CAAC;4BACD,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;gCACtB,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;gCACjC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;4BAC1B,CAAC;4BACD,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;gCAC3B,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;gCAC5C,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;4BAC1B,CAAC;4BACD,IAAI,CAAC,QAAQ,EAAE,CAAC;gCACd,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gCACrC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BAC3B,CAAC;4BACD,IAAI,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ,IAAI,EAAE,CAAC,KAAK,GAAG,YAAY,EAAE,CAAC;gCAC5D,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC;4BAC1B,CAAC;4BAED,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gCACvB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;oCACpB,UAAU,CAAC,aAAa,GAAG,QAAQ,CAAC;oCACpC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;gCACxB,CAAC;qCAAM,CAAC;oCACN,UAAU,CAAC,iBAAiB,GAAG,QAAQ,CAAC;gCAC1C,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,wEAAwE;oBACxE,wEAAwE;oBACxE,wEAAwE;oBACxE,uEAAuE;oBACvE,qEAAqE;oBACrE,oEAAoE;oBACpE,wDAAwD;oBACxD,2EAA2E;oBAC3E,oEAAoE;oBACpE,sEAAsE;oBACtE,iCAAiC;oBACjC,2EAA2E;oBAC3E,MAAM,eAAe,GAAG,UAAU,CAAC,YAAY,KAAK,SAAS,CAAC;oBAC9D,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;wBACjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,eAAe,IAAI,QAAQ,CAAC,KAAK,GAAG,YAAY,CAAC,EAAE,CAAC;4BAC7E,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;4BACzB,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;4BAC/B,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gCACpB,UAAU,CAAC,aAAa,GAAG,QAAQ,CAAC;gCACpC,UAAU,CAAC,iBAAiB,GAAG,QAAQ,CAAC;gCACxC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;4BACxB,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,4CAA4C;oBAC5C,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;oBAE1D,yDAAyD;oBACzD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAExB,WAAW;oBACX,MAAM,UAAU,CAAC;gBACnB,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,0DAA0D;gBAC1D,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;wBACvB,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;wBAEzB,MAAM,KAAK,GAAgD,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;wBAE3I,MAAM,UAAU,GAAU,EAAE,QAAQ,EAAE,CAAC;wBACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;4BACpB,UAAU,CAAC,aAAa,GAAG,QAAQ,CAAC;4BACpC,UAAU,CAAC,iBAAiB,GAAG,QAAQ,CAAC;4BACxC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;wBACxB,CAAC;wBAED,8CAA8C;wBAC9C,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;wBAE1D,yDAAyD;wBACzD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBAExB,WAAW;wBACX,MAAM,UAAU,CAAC;oBACnB,CAAC;gBACH,CAAC;gBAED,mDAAmD;gBACnD,IAAI,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;oBAC9C,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;oBACpD,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;oBAE5B,MAAM,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAC/F,CAAC;YACH,CAAC;QACH,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACH,qBAAqB,CAAC,OAA+B,EAAE,KAAa;QAClE,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC1C,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC1B,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAC1B,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,SAAS,CAAC;QAElB,MAAM,eAAe,GAAG;YACtB,WAAW,EAAE;gBACX,KAAK,EAAE;oBACL,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,SAAS;iBACrB;gBACD,UAAU,EAAE;oBACV,aAAa,EAAE,aAAa;oBAC5B,QAAQ,EAAE,QAAQ;oBAClB,MAAM,EAAE,MAAM;iBACf;gBACD,OAAO,EAAE;oBACP,KAAK,EAAE,KAAK;oBACZ,QAAQ,EAAE,QAAQ;oBAClB,MAAM,EAAE,MAAM;iBACf;gBACD,cAAc,EAAE;oBACd,KAAK,EAAE,SAAS;oBAChB,UAAU,EAAE,SAAS;iBACtB;gBACD,KAAK,EAAE;oBACL,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;oBAC7B,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;oBAC7B,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;iBACS;gBACxC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;aACvB;YACD,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,SAAS;iBACrB;gBACD,UAAU,EAAE;oBACV,aAAa,EAAE,SAAS;oBACxB,QAAQ,EAAE,SAAS;oBACnB,MAAM,EAAE,SAAS;iBAClB;gBACD,OAAO,EAAE;oBACP,KAAK,EAAE,UAAU;oBACjB,QAAQ,EAAE,UAAU;oBACpB,MAAM,EAAE,UAAU;iBACnB;gBACD,cAAc,EAAE;oBACd,KAAK,EAAE,KAAK;oBACZ,UAAU,EAAE,UAAU;iBACvB;gBACD,KAAK,EAAE;oBACL,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;oBAC3B,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;oBAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;iBACS;gBACxC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;aACvB;YACD,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,OAAO,EAAE,OAAO;oBAChB,SAAS,EAAE,SAAS;iBACrB;gBACD,UAAU,EAAE;oBACV,aAAa,EAAE,SAAS;oBACxB,QAAQ,EAAE,SAAS;oBACnB,MAAM,EAAE,SAAS;iBAClB;gBACD,OAAO,EAAE;oBACP,KAAK,EAAE,UAAU;oBACjB,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,IAAI;iBACb;gBACD,cAAc,EAAE;oBACd,KAAK,EAAE,KAAK;oBACZ,UAAU,EAAE,UAAU;iBACvB;gBACD,KAAK,EAAE;oBACL,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;oBAC7B,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;oBAC7B,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;iBACS;gBACxC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;aACtB;YACD,SAAS,EAAE;gBACT,KAAK,EAAE;oBACL,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,SAAS;iBACrB;gBACD,UAAU,EAAE;oBACV,aAAa,EAAE,SAAS;oBACxB,QAAQ,EAAE,SAAS;oBACnB,MAAM,EAAE,SAAS;iBAClB;gBACD,OAAO,EAAE;oBACP,KAAK,EAAE,SAAS;oBAChB,QAAQ,EAAE,SAAS;oBACnB,MAAM,EAAE,SAAS;iBAClB;gBACD,cAAc,EAAE;oBACd,KAAK,EAAE,SAAS;oBAChB,UAAU,EAAE,SAAS;iBACtB;gBACD,KAAK,EAAE,EAAyC;gBAChD,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;aACtB;SACO,CAAC;QAEX,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;QACtD,IAAI,IAAI,GAA8C,SAAS,CAAC;QAChE,IAAI,OAAO,CAAC,IAAI,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,cAAc;iBAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACT,GAAG,CAAC;gBACJ,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;gBACxD,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;aACpD,CAAC,CAAC;iBACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAErE,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,EAA+C,CAAC;QAC3F,CAAC;QAED,MAAM,MAAM,GAAsC;YAChD,KAAK;YACL,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YACxH,IAAI;YACJ,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YACxF,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YAChF,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;YACpG,eAAe,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;SACtH,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;OASG;IACH,aAAa,GAA8B,KAAK,EAC9C,OAA+B,EAC/B,GAAiB,EACjB,MAAgB,EACkB,EAAE;QACpC,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QAEtD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,cAAc,CAA+B,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,CAAC,aAAa,EAAE,aAAa,IAAI,aAAa,CAAC,CAAC;QAEtM,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACjE,MAAM,MAAM,GAAkD;YAC5D,GAAG,UAAU;YACb,IAAI,EAAE,OAAO,CAAC,cAAc;YAC5B,GAAG,OAAO,CAAC,KAAK;YAChB,MAAM,EAAE,KAAK;SACd,CAAC;QAEF,yCAAyC;QACzC,IAAI,CAAC,2BAA2B,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QAErE,oCAAoC;QACpC,MAAM,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAElF,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAElD,IAAI,QAAsC,CAAC;QAC3C,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACtC,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,iDAAiD,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;YACxH,CAAC;iBAAM,CAAC;gBACN,MAAM,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;YACjF,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;QAED,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC1C,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,SAAS;gBACzB,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,SAAS;gBACnC,aAAa,EAAE,GAAG,CAAC,cAAc,IAAI,SAAS;aAC/C,CAAC,CAAC;YACH,KAAK;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;SACvE,CAAC;QAEF,qCAAqC;QACrC,MAAM,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAEzF,OAAO,MAAM,CAAC;IAChB,CAAC,CAAA;IAED;;;;;;;;;;;;OAYG;IACH,mBAAmB,GAAoC,KAAK,SAAS,CAAC,EAEpE,OAA+B,EAC/B,GAAiB,EACjB,MAAgB;QAEhB,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QAEtD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAA4C,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,EAAE,uBAAuB,EAAE,eAAe,CAAC,aAAa,EAAE,aAAa,IAAI,aAAa,CAAC,CAAC;QAClO,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAEjE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC;QAExE,MAAM,MAAM,GAA+C;YACzD,GAAG,UAAU;YACb,IAAI,EAAE,OAAO,CAAC,cAAc;YAC5B,cAAc,EAAE,YAAY;YAC5B,GAAG,OAAO,CAAC,KAAK;YAChB,MAAM,EAAE,IAAI;SACb,CAAC;QAEF,IAAI,CAAC,2BAA2B,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QAErE,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAElD,IAAI,QAAmD,CAAC;QACxD,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACtC,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,iDAAiD,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;YACxH,CAAC;iBAAM,CAAC;gBACN,MAAM,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;YACjF,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;QAED,gCAAgC;QAChC,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YACjC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACrC,CAAC;YAED,MAAM,QAAQ,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YACvD,MAAM;gBACJ,QAAQ;gBACR,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,4BAA4B;gBAC/C,KAAK,EAAE;oBACL,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,SAAS;iBACpC;aACF,CAAC;YAEF,UAAU,EAAE,CAAC;QACf,CAAC;IACH,CAAC,CAAA;IAGD;;;;;;OAMG;IACH,iBAAiB,CAAC,OAAyB,EAAE,KAAa;QACxD,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC1C,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC1B,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAC1B,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,SAAS,CAAC;QAElB,MAAM,eAAe,GAAG;YACtB,WAAW,EAAE;gBACX,cAAc,EAAE;oBACd,KAAK,EAAE,SAAS;oBAChB,UAAU,EAAE,SAAS;iBACtB;gBACD,KAAK,EAAE;oBACL,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;oBAC7B,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;oBAC7B,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;iBACS;gBACxC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;aACvB;YACD,UAAU,EAAE;gBACV,cAAc,EAAE;oBACd,KAAK,EAAE,KAAK;oBACZ,UAAU,EAAE,UAAU;iBACvB;gBACD,KAAK,EAAE;oBACL,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;oBAC3B,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;oBAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;iBACS;gBACxC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;aACvB;YACD,UAAU,EAAE;gBACV,cAAc,EAAE;oBACd,KAAK,EAAE,KAAK;oBACZ,UAAU,EAAE,UAAU;iBACvB;gBACD,KAAK,EAAE;oBACL,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;oBAC7B,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;oBAC7B,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;iBACS;gBACxC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;aACtB;YACD,SAAS,EAAE;gBACT,cAAc,EAAE;oBACd,KAAK,EAAE,SAAS;oBAChB,UAAU,EAAE,SAAS;iBACtB;gBACD,KAAK,EAAE,EAAyC;gBAChD,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;aACtB;SACO,CAAC;QAEX,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;QACtD,IAAI,IAAI,GAA0C,SAAS,CAAC;QAC5D,IAAI,OAAO,CAAC,IAAI,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,cAAc;iBAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACT,GAAG,CAAC;gBACJ,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;gBACxD,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;aACpD,CAAC,CAAC;iBACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAErE,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,EAA2C,CAAC;QACvF,CAAC;QAED,MAAM,MAAM,GAAiD;YAC3D,KAAK;YACL,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YACxH,IAAI;YACJ,eAAe,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;SACtH,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,SAAS,GAA0B,KAAK,EACtC,OAAyB,EACzB,GAAiB,EACjB,MAAgB,EACkB,EAAE;QACpC,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QAEtD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,cAAc,CAA+B,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,CAAC,aAAa,EAAE,SAAS,IAAI,aAAa,CAAC,CAAC;QAE9L,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAE7D,MAAM,MAAM,GAA8C;YACxD,GAAG,UAAU;YACb,KAAK;YACL,IAAI;YACJ,IAAI,EAAE,OAAO,CAAC,cAAc;YAC5B,GAAG,OAAO,CAAC,KAAK;YAChB,MAAM,EAAE,KAAK;SACd,CAAC;QAEF,yCAAyC;QACzC,IAAI,CAAC,2BAA2B,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QAErE,oCAAoC;QACpC,MAAM,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAE9E,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAElD,IAAI,QAAsC,CAAC;QAC3C,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACtC,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,8CAA8C,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;YACrH,CAAC;iBAAM,CAAC;gBACN,MAAM,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;YAC7E,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;QAED,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC1C,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,SAAS;gBACzB,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,SAAS;gBACnC,aAAa,EAAE,GAAG,CAAC,cAAc,IAAI,SAAS;aAC/C,CAAC,CAAC;YACH,KAAK;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;SACvE,CAAC;QAEF,qCAAqC;QACrC,MAAM,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAErF,OAAO,MAAM,CAAC;IAChB,CAAC,CAAA;IAED;;;;;;;;;;;;OAYG;IACH,eAAe,GAAgC,KAAK,SAAS,CAAC,EAE5D,OAAyB,EACzB,GAAiB,EACjB,MAAgB;QAEhB,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QAEtD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAsC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,EAAE,mBAAmB,EAAE,eAAe,CAAC,aAAa,EAAE,SAAS,IAAI,aAAa,CAAC,CAAC;QAEpN,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAE7D,MAAM,MAAM,GAA2C;YACrD,GAAG,UAAU;YACb,KAAK;YACL,IAAI;YACJ,IAAI,EAAE,OAAO,CAAC,cAAc;YAC5B,cAAc,EAAE,YAAY;YAC5B,GAAG,OAAO,CAAC,KAAK;YAChB,MAAM,EAAE,IAAI;SACb,CAAC;QAEF,IAAI,CAAC,uBAAuB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QAEjE,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAElD,IAAI,QAAoD,CAAC;QACzD,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACtC,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,8CAA8C,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;YACrH,CAAC;iBAAM,CAAC;gBACN,MAAM,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;YAC7E,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;QAED,gCAAgC;QAChC,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YACjC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACrC,CAAC;YAED,MAAM,QAAQ,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YAEvD,MAAM;gBACJ,QAAQ;gBACR,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,sBAAsB;gBACzC,KAAK,EAAE;oBACL,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,SAAS;iBACpC;gBACD,KAAK;aACN,CAAC;YACF,UAAU,EAAE,CAAC;QACf,CAAC;IACH,CAAC,CAAA;IAED;;;;;;;;;;;OAWG;IACH,UAAU,GAA2B,KAAK,EACxC,OAA6B,EAC7B,GAAiB,EACjB,MAAgB,EACgB,EAAE;QAClC,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QAEtD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAA4C,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,CAAC,aAAa,EAAE,aAAa,IAAI,WAAW,CAAC,CAAC;QAErN,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,MAAM,GAAsE;YAChF,KAAK,EAAE,KAAK,CAAC,EAAE;YACf,IAAI;YACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,eAAe,EAAE,OAAO,CAAC,cAA8E;YACvG,uBAAuB,EAAE,OAAO,CAAC,sBAA4D;YAC7F,GAAG,OAAO,CAAC,KAAK;YAChB,MAAM,EAAE,KAAK;SACd,CAAC;QAEF,yCAAyC;QACzC,IAAI,CAAC,2BAA2B,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QAErE,oCAAoC;QACpC,MAAM,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAE/E,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAElD,IAAI,QAAmD,CAAC;QACxD,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACtC,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,8CAA8C,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;YACrH,CAAC;iBAAM,CAAC;gBACN,MAAM,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;YAC9E,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;QAED,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBACxE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS;SAC5F,CAAC;QAEF,qCAAqC;QACrC,MAAM,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAEtF,OAAO,MAAM,CAAC;IAChB,CAAC,CAAA;IAED;;;;;;;;;;;;OAYG;IACH,gBAAgB,GAAiC,KAAK,SAAS,CAAC,EAE9D,OAA6B,EAC7B,GAAiB,EACjB,MAAgB;QAEhB,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QAEtD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAA+D,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,EAAE,mBAAmB,EAAE,eAAe,CAAC,aAAa,EAAE,aAAa,IAAI,WAAW,CAAC,CAAC;QAE/O,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,MAAM,GAAmE;YAC7E,KAAK,EAAE,KAAK,CAAC,EAAE;YACf,IAAI;YACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,eAAe,EAAE,OAAO,CAAC,cAA8E;YACvG,uBAAuB,EAAE,OAAO,CAAC,sBAA4D;YAC7F,GAAG,OAAO,CAAC,KAAK;YAChB,MAAM,EAAE,IAAI;SACb,CAAC;QAEF,IAAI,CAAC,2BAA2B,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QAErE,MAAM,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAE/E,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAElD,IAAI,QAAsE,CAAC;QAC3E,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACtC,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,8CAA8C,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;YACrH,CAAC;iBAAM,CAAC;gBACN,MAAM,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;YAC9E,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;QAED,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YACnC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACrC,CAAC;YAED,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,uBAAuB;oBAC1B,MAAM;wBACJ,KAAK,EAAE,KAAK,CAAC,KAAK;qBACnB,CAAC;oBACF,MAAK;gBACP,KAAK,yBAAyB;oBAC5B,MAAM;wBACJ,OAAO,EAAE;4BACP,KAAK,EAAE,KAAK,CAAC,KAAK;4BAClB,GAAG,EAAE,KAAK,CAAC,GAAG;4BACd,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,EAAE,EAAE,KAAK,CAAC,EAAE;yBACb;qBACF,CAAC;oBACF,MAAM;gBACR,KAAK,sBAAsB;oBACzB,MAAM;wBACJ,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;wBAChE,KAAK;qBACN,CAAC;oBACF,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED;;;;;;;;;;;OAWG;IACH,MAAM,GAAuB,KAAK,EAChC,OAAsB,EACtB,GAAiB,EACjB,MAAgB,EACS,EAAE;QAC3B,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QAEtD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAsB,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,CAAC,aAAa,EAAE,MAAM,IAAI,OAAO,CAAC,CAAC;QAEhL,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QACrD,MAAM,YAAY,GAAG,OAAgB,CAAC;QACtC,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;QACtH,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,CAAC;QACnD,MAAM,KAAK,GAAI,UAAgC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;QACrG,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC;QAExD,MAAM,MAAM,GAA2C;YACrD,KAAK,EAAE,KAAK,CAAC,EAAE;YACf,KAAK;YACL,YAAY;YACZ,KAAK;YACL,KAAK;YACL,eAAe,EAAE,cAAc;YAC/B,GAAG,OAAO,CAAC,KAAK;SACjB,CAAC;QAEF,yCAAyC;QACzC,IAAI,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QAE9D,oCAAoC;QACpC,MAAM,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAE3E,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAElD,IAAI,QAA6B,CAAC;QAClC,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACtC,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,kDAAkD,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;YACzH,CAAC;iBAAM,CAAC;gBACN,MAAM,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1E,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;QAED,MAAM,MAAM,GAAG;YACb,KAAK;YACL,KAAK,EAAE,QAAQ,CAAC,IAA2B;YAC3C,cAAc;SACf,CAAC;QAEF,qCAAqC;QACrC,MAAM,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAElF,OAAO,MAAM,CAAC;IAChB,CAAC,CAAA;IAED;;;;;;;;;;;OAWG;IACH,KAAK,GAAsB,KAAK,EAC9B,OAAyB,EACzB,GAAiB,EACjB,MAAgB,EACY,EAAE;QAC9B,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QAEtD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,cAAc,CAAiC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,CAAC,aAAa,EAAE,SAAS,IAAI,wBAAwB,CAAC,CAAC;QAEtM,MAAM,MAAM,GAAiC;YAC3C,KAAK,EAAE,KAAK,CAAC,EAAE;YACf,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,eAAe,EAAE,OAAO,CAAC,cAAc;YACvC,IAAI,EAAE,OAAO,CAAC,cAAc;YAC5B,GAAG,OAAO,CAAC,KAAK;SACjB,CAAC;QAEF,yCAAyC;QACzC,IAAI,CAAC,uBAAuB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QAEjE,oCAAoC;QACpC,MAAM,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAE1E,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAElD,IAAI,QAAwC,CAAC;QAC7C,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACtC,OAAO,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,qDAAqD,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;YAC5H,CAAC;iBAAM,CAAC;gBACN,MAAM,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;YACzE,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;QAED,MAAM,MAAM,GAAG;YACb,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;YACH,KAAK;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACnB,CAAC,CAAC;oBACE,UAAU,EAAE;wBACV,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;wBAC3B,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;qBACrC;iBACF;gBACH,CAAC,CAAC,SAAS;SACd,CAAC;QAEF,qCAAqC;QACrC,MAAM,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAEjF,OAAO,MAAM,CAAC;IAChB,CAAC,CAAA;IAED;;;;;;;;;;;;OAYG;IACH,YAAY,GAA6B,KAAK,EAC5C,OAA4B,EAC5B,GAAiB,EACjB,MAAgB,EACG,EAAE;QACrB,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QAEtD,8CAA8C;QAC9C,MAAM,WAAW,GAAY;YAC3B,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE;wBACzC,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAkB,EAAE,CAAC,CAAC;4BAChD,IAAI,EAAE,OAAO;4BACb,OAAO,EAAE,KAAK;yBACf,CAAC,CAAC;qBACJ;iBACF;aACF;YACD,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC;QAEF,oDAAoD;QACpD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,cAAc,CAAyC,WAAW,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,CAAC,aAAa,EAAE,YAAY,IAAI,sBAAsB,CAAC,CAAC;QACpN,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAC1E,MAAM,MAAM,GAA2C;YACrD,KAAK,EAAE,KAAK,CAAC,EAAE;YACf,QAAQ;YACR,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,qBAAqB,EAAE,WAAW,CAAC,SAAS;SAC7C,CAAC;QAEF,oCAAoC;QACpC,MAAM,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAEjF,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QACtD,IAAI,QAAkB,CAAC;QAEvB,IAAI,CAAC;YACH,+EAA+E;YAC/E,QAAQ,GAAG,MAAM,QAAQ,CACvB,WAAW,EACX,GAAG,EACH,EAAE,EACF,SAAS,CACV,CAAC;YAEF,qCAAqC;YACrC,MAAM,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC5F,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;YAE9E,MAAM,CAAC,CAAC;QACV,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAA;IAED;;;;;;;;;;;;OAYG;IACH,kBAAkB,GAAmC,KAAK,SAAS,CAAC,EAElE,OAA4B,EAC5B,GAAiB,EACjB,MAAgB;QAEhB,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QAEtD,8CAA8C;QAC9C,MAAM,WAAW,GAAY;YAC3B,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE;wBACzC,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAkB,EAAE,CAAC,CAAC;4BAChD,IAAI,EAAE,OAAO;4BACb,OAAO,EAAE,KAAK;yBACf,CAAC,CAAC;qBACJ;iBACF;aACF;YACD,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC;QAEF,oDAAoD;QACpD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,cAAc,CAAyC,WAAW,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,EAAE,sBAAsB,EAAE,eAAe,CAAC,aAAa,EAAE,YAAY,IAAI,sBAAsB,CAAC,CAAC;QAC3N,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAC1E,MAAM,MAAM,GAA2C;YACrD,KAAK,EAAE,KAAK,CAAC,EAAE;YACf,QAAQ;YACR,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,qBAAqB,EAAE,WAAW,CAAC,SAAS;YAC5C,MAAM,EAAE,IAAI;SACb,CAAC;QAEF,oCAAoC;QACpC,MAAM,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAEjF,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAEtD,IAAI,CAAC;YACH,+EAA+E;YAC/E,MAAM,MAAM,GAAG,QAAQ,CACrB,WAAW,EACX,GAAG,EACH,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAS,EAC/B,SAAS,CACV,CAAC;YACF,2CAA2C;YAC3C,IAAI,kBAAkB,GAAG,EAAE,CAAC;YAC5B,IAAI,UAAU,GAAQ,SAAS,CAAC;YAChC,IAAI,YAAY,GAAQ,SAAS,CAAC;YAClC,MAAM,SAAS,GAAU,EAAE,CAAC;YAE5B,IAAI,CAAC;gBACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBACjC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;wBAClB,kBAAkB,IAAI,KAAK,CAAC,OAAO,CAAC;oBACtC,CAAC;oBACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;wBAChB,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;oBAC3B,CAAC;oBACD,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;wBACvB,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;oBACpC,CAAC;oBACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACnB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACjC,CAAC;oBACD,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,qCAAqC;gBACrC,MAAM,aAAa,GAAa;oBAC9B,OAAO,EAAE,kBAAkB;oBAC3B,SAAS;oBACT,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,IAAI,MAAsB;oBACtF,KAAK;oBACL,KAAK,EAAE,UAAU;iBAClB,CAAC;gBAEF,MAAM,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;YACjG,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;YAE9E,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC,CAAA;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aeye/openai",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.9",
|
|
4
4
|
"description": "@aeye OpenAI - OpenAI integration for @aeye",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -43,11 +43,12 @@
|
|
|
43
43
|
"files": [
|
|
44
44
|
"dist",
|
|
45
45
|
"README.md",
|
|
46
|
-
"LICENSE"
|
|
46
|
+
"LICENSE",
|
|
47
|
+
"aeye-*.md"
|
|
47
48
|
],
|
|
48
49
|
"dependencies": {
|
|
49
|
-
"@aeye/ai": "^0.3.
|
|
50
|
-
"@aeye/core": "^0.3.
|
|
50
|
+
"@aeye/ai": "^0.3.9",
|
|
51
|
+
"@aeye/core": "^0.3.9",
|
|
51
52
|
"openai": "^6.6.0",
|
|
52
53
|
"zod": "^4.1.12"
|
|
53
54
|
},
|