@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 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
- * Transforms Zod schemas into JSON Schema format required by OpenAI.
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
- * @param request @aeye request object
285
- * @returns Array of OpenAI-formatted tools or undefined
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 convertTools(request: Request): OpenAI.Chat.ChatCompletionTool[] | undefined;
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
- * Supports text, JSON object mode, and structured output with Zod schemas.
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
  *
@@ -1 +1 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../src/openai.ts"],"names":[],"mappings":"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"}
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
- * Transforms Zod schemas into JSON Schema format required by OpenAI.
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
- * @param request @aeye request object
504
- * @returns Array of OpenAI-formatted tools or undefined
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
- return request.tools.map((tool) => ({
510
- type: 'function',
511
- function: {
512
- name: tool.name,
513
- description: tool.description,
514
- parameters: toJSONSchema(tool.parameters, tool.strict ?? true),
515
- strict: tool.strict ?? true,
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
- * Supports text, JSON object mode, and structured output with Zod schemas.
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 strict = request.responseFormat.strict ?? true;
565
- // Zod schema
566
- return {
567
- type: 'json_schema',
568
- json_schema: {
569
- name: 'response',
570
- schema: toJSONSchema(request.responseFormat.type, strict),
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
- const messages = await this.convertMessages(request);
663
- const tools = this.convertTools(request);
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 messages = await this.convertMessages(request);
761
- const tools = this.convertTools(request);
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
- let accumulatedContent = '';
830
- let finalUsage = undefined;
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: choice?.finish_reason,
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 = existing;
1037
+ yieldChunk.toolCallNamed = toolCall;
882
1038
  toolCall.named = true;
883
1039
  }
884
1040
  else {
885
- yieldChunk.toolCallArguments = existing;
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.updated && !toolCall.finished) {
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 { toolCall };
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
- content: accumulatedContent,
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,
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../src/openai.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoBH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,MAAM,EAA6D,QAAQ,EAA4G,QAAQ,EAAE,YAAY,EAA2B,MAAM,EAAE,KAAK,EAAc,MAAM,YAAY,CAAC;AAE/R,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;AA4K5D,+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;;;;;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;QAEZ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,CAAC,CAAC;QACX,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,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACtD,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACjC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,IAAI,2BAA2B,EAAE,CAAC;YAClF,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAChC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,IAAI,2BAA2B,EAAE,CAAC;YACjF,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACjC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,IAAI,2BAA2B,EAAE,CAAC;YAClF,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iCAAiC,IAAI,GAAG,EAAE,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,cAAc,CAC5B,CAA4B,EAC5B,IAAY;QAEZ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,CAAC,CAAC;QACX,CAAC;QACD,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;wBACL,IAAI,EAAE,MAAM;wBACZ,IAAI;qBACL,CAAC;gBACJ,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;4BACL,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,yBAAyB,IAAI,mCAAmC;yBACvE,CAAC;oBACJ,CAAC;oBAED,OAAO;wBACL,IAAI,EAAE,WAAW;wBACjB,SAAS,EAAE,EAAE,GAAG,EAAE;qBACnB,CAAC;gBACJ,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;4BACL,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,yBAAyB,IAAI,oCAAoC;yBACxE,CAAC;oBACJ,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;wBACL,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;qBAC9B,CAAC;gBACJ,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;4BACL,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,wBAAwB,IAAI,oCAAoC;yBACvE,CAAC;oBACJ,CAAC;oBAED,OAAO;wBACL,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE;4BACJ,SAAS,EAAE,QAAQ;yBACpB;qBACF,CAAC;gBACJ,CAAC;gBAED;oBACE,OAAO;wBACL,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,iCAAiC,IAAI,GAAG;qBAC/C,CAAC;YACN,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;QAC9C,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;wBACL,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,CAAC;qBACpE,CAAC;gBACJ,KAAK,MAAM;oBACT,OAAO;wBACL,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,CAAC;qBAClE,CAAC;gBACJ,KAAK,WAAW;oBACd,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC;oBAChF,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;4BACL,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,CAAC;oBACJ,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;oCACL,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,CAAC;4BACJ,CAAC;iCAAM,CAAC;gCACN,OAAO;oCACL,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;oCAChC,OAAO,EAAE,CAAC,WAAW,CAAC;iCACvB,CAAC;4BACJ,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,KAAK,MAAM;oBACT,OAAO;wBACL,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,CAAC;qBACpE,CAAC;YACN,CAAC;QACH,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACO,YAAY,CAAC,OAAgB;QACrC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEnE,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClC,IAAI,EAAE,UAAmB;YACzB,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;gBAC9D,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;aAC5B;SACF,CAAC,CAAC,CAAC;IACN,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;;;;;;;OAOG;IACO,qBAAqB,CAC7B,OAAgB;QAEhB,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,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,IAAI,IAAI,CAAC;QAErD,aAAa;QACb,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE;gBACX,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC;gBACzD,MAAM;aACP;SACF,CAAC;IACJ,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,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACrD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACzC,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,CAAC,CAAC;YAC5D,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,CAAC,CAAC,CAAC,CAAC;oBAC/B,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,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACrD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACzC,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,CAAC,CAAC;YAE5D,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,IAAI,kBAAkB,GAAG,EAAE,CAAC;YAC5B,IAAI,UAAU,GAAQ,SAAS,CAAC;YAChC,IAAI,YAAY,GAA6B,SAAS,CAAC;YAEvD,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,MAAM,UAAU,GAAU;wBACxB,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,SAAS;wBACpC,YAAY,EAAE,MAAM,EAAE,aAAyC;wBAC/D,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,2CAA2C;oBAC3C,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC;wBACnB,kBAAkB,IAAI,KAAK,CAAC,OAAO,CAAC;oBACtC,CAAC;oBACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;wBAChB,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC/C,CAAC;oBACD,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC;wBAC1B,YAAY,GAAG,MAAM,CAAC,aAA6B,CAAC;oBACtD,CAAC;oBAED,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,CAAC;4BAE/G,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;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,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;wBACjC,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;4BAC5C,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;4BACzB,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;wBACjC,CAAC;oBACH,CAAC;oBAED,4CAA4C;oBAC5C,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;oBAE1D,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;wBAC3I,MAAM,UAAU,GAAU,EAAE,QAAQ,EAAE,CAAC;wBAEvC,8CAA8C;wBAC9C,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;wBAE1D,WAAW;wBACX,MAAM,EAAE,QAAQ,EAAE,CAAC;oBACrB,CAAC;gBACH,CAAC;gBAED,mDAAmD;gBACnD,IAAI,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;oBAC9C,MAAM,aAAa,GAAa;wBAC9B,OAAO,EAAE,kBAAkB;wBAC3B,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;wBACvF,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,IAAI,MAAsB;wBACtF,KAAK;wBACL,KAAK,EAAE,UAAU;qBAClB,CAAC;oBAEF,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,CAAC,CAAC;QACzD,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,CAAC,CAAC;QACzD,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"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../src/openai.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aeye/openai",
3
- "version": "0.3.7",
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.7",
50
- "@aeye/core": "^0.3.7",
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
  },