@houtini/lm 2.7.0 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,9 +1,9 @@
1
- # @houtini/lm Houtini LM - Offload Tasks from Claude Code to Your Local LLM Server (LM Studio / Ollama) or a Cloud API
1
+ # @houtini/lm Houtini LM - Save Tokens by Offloading Tasks from Claude Code to Your Local LLM Server (LM Studio / Ollama) or a Cloud API
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/@houtini/lm.svg?style=flat-square)](https://www.npmjs.com/package/@houtini/lm)
4
4
  [![MCP Registry](https://img.shields.io/badge/MCP-Registry-blue?style=flat-square)](https://registry.modelcontextprotocol.io)
5
5
  [![Known Vulnerabilities](https://snyk.io/test/github/houtini-ai/lm/badge.svg)](https://snyk.io/test/github/houtini-ai/lm)
6
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
+ [![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
7
7
 
8
8
  <p align="center">
9
9
  <a href="https://glama.ai/mcp/servers/@houtini-ai/lm">
@@ -35,7 +35,7 @@ Claude Code (orchestrator)
35
35
 
36
36
  Claude's the architect. Your local model's the drafter. Claude QAs everything.
37
37
 
38
- Every response comes back with performance stats - TTFT, tokens per second, generation time - so you can actually see what your local hardware is doing. The session footer tracks cumulative offloaded tokens across every call.
38
+ Every response comes back with performance stats - TTFT, tokens per second, generation time - so you can actually see what your local hardware is doing. The session footer tracks cumulative offloaded tokens across every call. Every response also includes quality signals - truncation detection, think-block stripping flags, token estimation accuracy - so Claude can make informed trust decisions about the output.
39
39
 
40
40
  ## Quick start
41
41
 
@@ -267,11 +267,55 @@ Qwen, Llama, Nemotron, GLM - they score brilliantly on coding benchmarks now. Th
267
267
 
268
268
  **Include surrounding context.** For code generation, send imports, types, and function signatures - not just the function body.
269
269
 
270
- **One call at a time.** If your LLM server runs a single model, parallel calls queue up and stack timeouts. Send them sequentially.
270
+ **One call at a time.** As of v2.8.0, houtini-lm enforces this automatically with a request semaphore. Parallel calls queue up and run one at a time, so each gets the full timeout budget instead of stacking.
271
271
 
272
- ## Think-block stripping
272
+ ## Think-block handling
273
273
 
274
- Some models - GLM Flash, Nemotron, and others - always emit `<think>...</think>` reasoning blocks before the actual answer. Houtini-lm strips these automatically so Claude gets clean output without wasting time parsing the model's internal chain-of-thought. You still get the benefit of the reasoning (better answers), just without the noise.
274
+ Some models emit `<think>...</think>` reasoning blocks before the actual answer. Houtini-lm handles this in two ways:
275
+
276
+ 1. **Suppression at source** — at startup, houtini-lm checks each model's HuggingFace chat template for thinking support. Models that support the `enable_thinking` toggle (like Qwen3) get thinking disabled at inference time, reclaiming the generation budget for actual output. This detection is fully automatic — no hardcoded model lists.
277
+
278
+ 2. **Stripping as fallback** — for models that always emit think blocks regardless (GLM Flash, Nemotron), the content is stripped after assembly so Claude gets clean output. Orphaned opening tags from truncated responses are handled too.
279
+
280
+ The quality footer flags `think-blocks-stripped` when stripping occurred, so you know the model was reasoning internally even though the output is clean.
281
+
282
+ ## Quality metadata
283
+
284
+ Every response includes structured quality signals in the footer so Claude (or any orchestrator) can make informed trust decisions:
285
+
286
+ ```
287
+ Model: qwen3-coder-30b-a3b | 413→81 tokens | TTFT: 2355ms, 15.0 tok/s, 5.4s
288
+ Quality: think-blocks-stripped, tokens-estimated
289
+ Session: 494 tokens offloaded across 1 call
290
+ ```
291
+
292
+ Flags include: `TRUNCATED` (partial result), `think-blocks-stripped`, `tokens-estimated` (usage data was missing, estimated from content length), `hit-max-tokens`. When no flags fire, the quality line is omitted — clean output, nothing to report.
293
+
294
+ ## Session metrics resource
295
+
296
+ The `houtini://metrics/session` MCP resource exposes cumulative offload stats as JSON. Claude can read this proactively to make smarter delegation decisions based on actual session performance:
297
+
298
+ ```json
299
+ {
300
+ "session": {
301
+ "totalCalls": 14,
302
+ "promptTokens": 3200,
303
+ "completionTokens": 5250,
304
+ "totalTokensOffloaded": 8450
305
+ },
306
+ "perModel": {
307
+ "qwen3-coder-30b-a3b": {
308
+ "calls": 14,
309
+ "avgTtftMs": 2100,
310
+ "avgTokPerSec": 15.2
311
+ }
312
+ }
313
+ }
314
+ ```
315
+
316
+ ## Request serialisation
317
+
318
+ Parallel MCP tool calls are automatically queued and run one at a time. Most local LLM servers run a single model — without serialisation, parallel requests stack timeouts and waste the generation budget. The semaphore ensures each call gets the full timeout window.
275
319
 
276
320
  ## Configuration
277
321
 
@@ -299,9 +343,9 @@ Works with anything that speaks the OpenAI `/v1/chat/completions` API:
299
343
 
300
344
  ## Streaming and timeouts
301
345
 
302
- All inference uses Server-Sent Events streaming. Tokens arrive incrementally, keeping the connection alive. If generation takes longer than 55 seconds, you get a partial result instead of a timeout error - the footer shows `TRUNCATED` when this happens.
346
+ All inference uses Server-Sent Events streaming. Tokens arrive incrementally. As of v2.8.0, houtini-lm sends MCP progress notifications on every streamed chunk, which resets the SDK's 60-second client timeout. This means generation can run as long as the model needs there's no hard ceiling as long as tokens keep flowing.
303
347
 
304
- The 55-second soft timeout exists because the MCP SDK has a hard ~60s client-side timeout. Without streaming, any response that took longer than 60 seconds just vanished. Not ideal.
348
+ If the connection stalls (no new tokens for an extended period), you get a partial result instead of a timeout error. The footer shows `TRUNCATED` when this happens, and the quality metadata flags it so Claude knows to treat the output with appropriate caution.
305
349
 
306
350
  ## Architecture
307
351
 
@@ -327,4 +371,4 @@ npm run build
327
371
 
328
372
  ## Licence
329
373
 
330
- MIT
374
+ Apache-2.0
package/dist/index.js CHANGED
@@ -7,8 +7,8 @@
7
7
  */
8
8
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
9
9
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
10
- import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
11
- import { profileModelsAtStartup, getCachedProfile, toModelProfile as cachedToProfile, getHFEnrichmentLine, getPromptHints, } from './model-cache.js';
10
+ import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
11
+ import { profileModelsAtStartup, getCachedProfile, toModelProfile as cachedToProfile, getHFEnrichmentLine, getPromptHints, getThinkingSupport, } from './model-cache.js';
12
12
  const LM_BASE_URL = process.env.LM_STUDIO_URL || 'http://localhost:1234';
13
13
  const LM_MODEL = process.env.LM_STUDIO_MODEL || '';
14
14
  const LM_PASSWORD = process.env.LM_STUDIO_PASSWORD || '';
@@ -36,13 +36,17 @@ function recordUsage(resp) {
36
36
  session.promptTokens += resp.usage.prompt_tokens;
37
37
  session.completionTokens += resp.usage.completion_tokens;
38
38
  }
39
+ else if (resp.content.length > 0) {
40
+ // Estimate when usage is missing (truncated responses)
41
+ session.completionTokens += Math.ceil(resp.content.length / 4);
42
+ }
39
43
  // Track per-model perf stats
40
44
  if (resp.model) {
41
45
  const existing = session.modelStats.get(resp.model) || { calls: 0, perfCalls: 0, totalTtftMs: 0, totalTokPerSec: 0 };
42
46
  existing.calls++;
43
47
  if (resp.ttftMs)
44
48
  existing.totalTtftMs += resp.ttftMs;
45
- const tokPerSec = resp.usage && resp.generationMs > 0
49
+ const tokPerSec = resp.usage && resp.generationMs > 50
46
50
  ? (resp.usage.completion_tokens / (resp.generationMs / 1000))
47
51
  : 0;
48
52
  if (tokPerSec > 0) {
@@ -64,6 +68,18 @@ function apiHeaders() {
64
68
  h['Authorization'] = `Bearer ${LM_PASSWORD}`;
65
69
  return h;
66
70
  }
71
+ // ── Request semaphore ────────────────────────────────────────────────
72
+ // Most local LLM servers run a single model and queue parallel requests,
73
+ // which stacks timeouts and wastes the 55s budget. This semaphore ensures
74
+ // only one inference call runs at a time; others wait in line.
75
+ let inferenceLock = Promise.resolve();
76
+ function withInferenceLock(fn) {
77
+ let release;
78
+ const next = new Promise((resolve) => { release = resolve; });
79
+ const wait = inferenceLock;
80
+ inferenceLock = next;
81
+ return wait.then(fn).finally(() => release());
82
+ }
67
83
  const MODEL_PROFILES = [
68
84
  {
69
85
  pattern: /nemotron|nemotron_h_moe/i,
@@ -320,6 +336,9 @@ async function timedRead(reader, timeoutMs) {
320
336
  * This means large code reviews return partial results instead of nothing.
321
337
  */
322
338
  async function chatCompletionStreaming(messages, options = {}) {
339
+ return withInferenceLock(() => chatCompletionStreamingInner(messages, options));
340
+ }
341
+ async function chatCompletionStreamingInner(messages, options = {}) {
323
342
  const body = {
324
343
  messages,
325
344
  temperature: options.temperature ?? DEFAULT_TEMPERATURE,
@@ -333,6 +352,16 @@ async function chatCompletionStreaming(messages, options = {}) {
333
352
  if (options.responseFormat) {
334
353
  body.response_format = options.responseFormat;
335
354
  }
355
+ // Suppress thinking for models that support it — reclaim generation budget
356
+ // for actual output instead of invisible reasoning. Detected from HF metadata.
357
+ const modelId = (options.model || LM_MODEL || '').toString();
358
+ if (modelId) {
359
+ const thinking = await getThinkingSupport(modelId);
360
+ if (thinking?.supportsThinkingToggle) {
361
+ body.enable_thinking = false;
362
+ process.stderr.write(`[houtini-lm] Thinking disabled for ${modelId} (detected from HF chat_template)\n`);
363
+ }
364
+ }
336
365
  const startTime = Date.now();
337
366
  const res = await fetchWithTimeout(`${LM_BASE_URL}/v1/chat/completions`, { method: 'POST', headers: apiHeaders(), body: JSON.stringify(body) }, INFERENCE_CONNECT_TIMEOUT_MS);
338
367
  if (!res.ok) {
@@ -345,6 +374,7 @@ async function chatCompletionStreaming(messages, options = {}) {
345
374
  const reader = res.body.getReader();
346
375
  const decoder = new TextDecoder();
347
376
  let content = '';
377
+ let chunkCount = 0;
348
378
  let model = '';
349
379
  let usage;
350
380
  let finishReason = '';
@@ -390,6 +420,20 @@ async function chatCompletionStreaming(messages, options = {}) {
390
420
  if (ttftMs === undefined)
391
421
  ttftMs = Date.now() - startTime;
392
422
  content += delta.content;
423
+ chunkCount++;
424
+ // Send progress notification to reset MCP client timeout.
425
+ // Each notification resets the 60s clock, giving slow models
426
+ // unlimited time as long as they're actively generating.
427
+ if (options.progressToken !== undefined) {
428
+ server.notification({
429
+ method: 'notifications/progress',
430
+ params: {
431
+ progressToken: options.progressToken,
432
+ progress: chunkCount,
433
+ message: `Streaming... ${content.length} chars`,
434
+ },
435
+ }).catch(() => { });
436
+ }
393
437
  }
394
438
  const reason = json.choices?.[0]?.finish_reason;
395
439
  if (reason)
@@ -403,6 +447,33 @@ async function chatCompletionStreaming(messages, options = {}) {
403
447
  }
404
448
  }
405
449
  }
450
+ // Flush remaining buffer — the usage chunk often arrives in the final SSE
451
+ // message and may not have a trailing newline, leaving it stranded in buffer.
452
+ if (buffer.trim()) {
453
+ const trimmed = buffer.trim();
454
+ if (trimmed.startsWith('data: ') && trimmed !== 'data: [DONE]') {
455
+ try {
456
+ const json = JSON.parse(trimmed.slice(6));
457
+ if (json.model)
458
+ model = json.model;
459
+ const delta = json.choices?.[0]?.delta;
460
+ if (delta?.content) {
461
+ if (ttftMs === undefined)
462
+ ttftMs = Date.now() - startTime;
463
+ content += delta.content;
464
+ }
465
+ const reason = json.choices?.[0]?.finish_reason;
466
+ if (reason)
467
+ finishReason = reason;
468
+ if (json.usage)
469
+ usage = json.usage;
470
+ }
471
+ catch (e) {
472
+ // Incomplete JSON in final buffer — log for diagnostics
473
+ process.stderr.write(`[houtini-lm] Unflushed buffer parse failed (${buffer.length} bytes): ${e}\n`);
474
+ }
475
+ }
476
+ }
406
477
  }
407
478
  finally {
408
479
  // Release the reader — don't await cancel() as it can hang
@@ -416,7 +487,7 @@ async function chatCompletionStreaming(messages, options = {}) {
416
487
  let cleanContent = content.replace(/<think>[\s\S]*?<\/think>\s*/g, ''); // closed blocks
417
488
  cleanContent = cleanContent.replace(/^<think>\s*/, ''); // orphaned opening tag
418
489
  cleanContent = cleanContent.trim();
419
- return { content: cleanContent, model, usage, finishReason, truncated, ttftMs, generationMs };
490
+ return { content: cleanContent, rawContent: content, model, usage, finishReason, truncated, ttftMs, generationMs };
420
491
  }
421
492
  /**
422
493
  * Fetch models from LM Studio's native v0 API first (richer metadata),
@@ -507,6 +578,36 @@ async function routeToModel(taskType) {
507
578
  }
508
579
  return result;
509
580
  }
581
+ function assessQuality(resp, rawContent) {
582
+ const hadThinkBlocks = /<think>/.test(rawContent);
583
+ const estimated = !resp.usage && resp.content.length > 0;
584
+ const tokPerSec = resp.usage && resp.generationMs > 50
585
+ ? resp.usage.completion_tokens / (resp.generationMs / 1000)
586
+ : null;
587
+ return {
588
+ truncated: resp.truncated,
589
+ finishReason: resp.finishReason || 'unknown',
590
+ thinkBlocksStripped: hadThinkBlocks,
591
+ estimatedTokens: estimated,
592
+ contentLength: resp.content.length,
593
+ generationMs: resp.generationMs,
594
+ tokPerSec,
595
+ };
596
+ }
597
+ function formatQualityLine(quality) {
598
+ const flags = [];
599
+ if (quality.truncated)
600
+ flags.push('TRUNCATED');
601
+ if (quality.thinkBlocksStripped)
602
+ flags.push('think-blocks-stripped');
603
+ if (quality.estimatedTokens)
604
+ flags.push('tokens-estimated');
605
+ if (quality.finishReason === 'length')
606
+ flags.push('hit-max-tokens');
607
+ if (flags.length === 0)
608
+ return '';
609
+ return `Quality: ${flags.join(', ')}`;
610
+ }
510
611
  /**
511
612
  * Format a footer line for streaming results showing model, usage, and truncation status.
512
613
  */
@@ -516,13 +617,19 @@ function formatFooter(resp, extra) {
516
617
  const parts = [];
517
618
  if (resp.model)
518
619
  parts.push(`Model: ${resp.model}`);
519
- if (resp.usage)
620
+ if (resp.usage) {
520
621
  parts.push(`${resp.usage.prompt_tokens}→${resp.usage.completion_tokens} tokens`);
622
+ }
623
+ else if (resp.content.length > 0) {
624
+ // Estimate when usage is missing (truncated responses where final SSE chunk was lost)
625
+ const estTokens = Math.ceil(resp.content.length / 4);
626
+ parts.push(`~${estTokens} tokens (estimated)`);
627
+ }
521
628
  // Perf stats — computed from streaming, no proprietary API needed
522
629
  const perfParts = [];
523
630
  if (resp.ttftMs !== undefined)
524
631
  perfParts.push(`TTFT: ${resp.ttftMs}ms`);
525
- if (resp.usage && resp.generationMs > 0) {
632
+ if (resp.usage && resp.generationMs > 50) {
526
633
  const tokPerSec = resp.usage.completion_tokens / (resp.generationMs / 1000);
527
634
  perfParts.push(`${tokPerSec.toFixed(1)} tok/s`);
528
635
  }
@@ -532,6 +639,11 @@ function formatFooter(resp, extra) {
532
639
  parts.push(perfParts.join(', '));
533
640
  if (extra)
534
641
  parts.push(extra);
642
+ // Quality signals — structured metadata for orchestrator trust decisions
643
+ const quality = assessQuality(resp, resp.rawContent);
644
+ const qualityLine = formatQualityLine(quality);
645
+ if (qualityLine)
646
+ parts.push(qualityLine);
535
647
  if (resp.truncated)
536
648
  parts.push('⚠ TRUNCATED (soft timeout — partial result)');
537
649
  const sessionLine = sessionSummary();
@@ -721,10 +833,55 @@ const TOOLS = [
721
833
  },
722
834
  ];
723
835
  // ── MCP Server ───────────────────────────────────────────────────────
724
- const server = new Server({ name: 'houtini-lm', version: '2.7.0' }, { capabilities: { tools: {} } });
836
+ const server = new Server({ name: 'houtini-lm', version: '2.8.0' }, { capabilities: { tools: {}, resources: {} } });
837
+ // ── MCP Resources ─────────────────────────────────────────────────────
838
+ // Exposes session performance metrics as a readable resource so Claude can
839
+ // proactively check offload efficiency and make smarter delegation decisions.
840
+ server.setRequestHandler(ListResourcesRequestSchema, async () => ({
841
+ resources: [
842
+ {
843
+ uri: 'houtini://metrics/session',
844
+ name: 'Session Offload Metrics',
845
+ description: 'Cumulative token offload stats, per-model performance, and quality signals for the current session.',
846
+ mimeType: 'application/json',
847
+ },
848
+ ],
849
+ }));
850
+ server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
851
+ const { uri } = request.params;
852
+ if (uri === 'houtini://metrics/session') {
853
+ const modelStats = {};
854
+ for (const [modelId, stats] of session.modelStats) {
855
+ modelStats[modelId] = {
856
+ calls: stats.calls,
857
+ avgTtftMs: stats.calls > 0 ? Math.round(stats.totalTtftMs / stats.calls) : 0,
858
+ avgTokPerSec: stats.perfCalls > 0 ? parseFloat((stats.totalTokPerSec / stats.perfCalls).toFixed(1)) : null,
859
+ };
860
+ }
861
+ const metrics = {
862
+ session: {
863
+ totalCalls: session.calls,
864
+ promptTokens: session.promptTokens,
865
+ completionTokens: session.completionTokens,
866
+ totalTokensOffloaded: session.promptTokens + session.completionTokens,
867
+ },
868
+ perModel: modelStats,
869
+ endpoint: LM_BASE_URL,
870
+ };
871
+ return {
872
+ contents: [{
873
+ uri,
874
+ mimeType: 'application/json',
875
+ text: JSON.stringify(metrics, null, 2),
876
+ }],
877
+ };
878
+ }
879
+ throw new Error(`Unknown resource: ${uri}`);
880
+ });
725
881
  server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOLS }));
726
882
  server.setRequestHandler(CallToolRequestSchema, async (request) => {
727
883
  const { name, arguments: args } = request.params;
884
+ const progressToken = request.params._meta?.progressToken;
728
885
  try {
729
886
  switch (name) {
730
887
  case 'chat': {
@@ -746,6 +903,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
746
903
  maxTokens: max_tokens,
747
904
  model: route.modelId,
748
905
  responseFormat,
906
+ progressToken,
749
907
  });
750
908
  const footer = formatFooter(resp);
751
909
  return { content: [{ type: 'text', text: resp.content + footer }] };
@@ -759,10 +917,14 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
759
917
  : (route.hints.outputConstraint || undefined);
760
918
  if (systemContent)
761
919
  messages.push({ role: 'system', content: systemContent });
762
- let userContent = instruction;
763
- if (context)
764
- userContent = `Context:\n${context}\n\nInstruction:\n${instruction}`;
765
- messages.push({ role: 'user', content: userContent });
920
+ // Multi-turn format prevents context bleed in smaller models.
921
+ // Context goes in a separate user→assistant exchange so the model
922
+ // "acknowledges" it before receiving the actual instruction.
923
+ if (context) {
924
+ messages.push({ role: 'user', content: `Here is the context for analysis:\n\n${context}` });
925
+ messages.push({ role: 'assistant', content: 'Understood. I have read the full context. What would you like me to do with it?' });
926
+ }
927
+ messages.push({ role: 'user', content: instruction });
766
928
  const responseFormat = json_schema
767
929
  ? { type: 'json_schema', json_schema: { name: json_schema.name, strict: json_schema.strict ?? true, schema: json_schema.schema } }
768
930
  : undefined;
@@ -771,6 +933,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
771
933
  maxTokens: max_tokens,
772
934
  model: route.modelId,
773
935
  responseFormat,
936
+ progressToken,
774
937
  });
775
938
  const footer = formatFooter(resp);
776
939
  return {
@@ -784,20 +947,23 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
784
947
  const outputConstraint = route.hints.outputConstraint
785
948
  ? ` ${route.hints.outputConstraint}`
786
949
  : '';
950
+ // Task goes in system message so smaller models don't lose it once
951
+ // the code block fills the attention window. Code is sole user content.
787
952
  const codeMessages = [
788
953
  {
789
954
  role: 'system',
790
- content: `Expert ${lang} developer. Analyse the provided code and complete the task. Be specific — reference line numbers, function names, and concrete fixes.${outputConstraint}`,
955
+ content: `Expert ${lang} developer. Your task: ${task}\n\nBe specific — reference line numbers, function names, and concrete fixes. Output your analysis as a markdown list.${outputConstraint}`,
791
956
  },
792
957
  {
793
958
  role: 'user',
794
- content: `Task: ${task}\n\n\`\`\`${lang}\n${code}\n\`\`\``,
959
+ content: `\`\`\`${lang}\n${code}\n\`\`\``,
795
960
  },
796
961
  ];
797
962
  const codeResp = await chatCompletionStreaming(codeMessages, {
798
963
  temperature: route.hints.codeTemp,
799
964
  maxTokens: codeMaxTokens ?? DEFAULT_MAX_TOKENS,
800
965
  model: route.modelId,
966
+ progressToken,
801
967
  });
802
968
  const codeFooter = formatFooter(codeResp, lang);
803
969
  const suggestionLine = route.suggestion ? `\n${route.suggestion}` : '';
@@ -896,33 +1062,35 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
896
1062
  }
897
1063
  case 'embed': {
898
1064
  const { input, model: embedModel } = args;
899
- const embedBody = { input };
900
- if (embedModel) {
901
- embedBody.model = embedModel;
902
- }
903
- const res = await fetchWithTimeout(`${LM_BASE_URL}/v1/embeddings`, { method: 'POST', headers: apiHeaders(), body: JSON.stringify(embedBody) }, INFERENCE_CONNECT_TIMEOUT_MS);
904
- if (!res.ok) {
905
- const errText = await res.text().catch(() => '');
906
- throw new Error(`Embeddings API error ${res.status}: ${errText}`);
907
- }
908
- const data = (await res.json());
909
- const embedding = data.data[0]?.embedding;
910
- if (!embedding)
911
- throw new Error('No embedding returned');
912
- const usageInfo = data.usage
913
- ? `${data.usage.prompt_tokens} tokens embedded`
914
- : '';
915
- return {
916
- content: [{
917
- type: 'text',
918
- text: JSON.stringify({
919
- model: data.model,
920
- dimensions: embedding.length,
921
- embedding,
922
- usage: usageInfo,
923
- }),
924
- }],
925
- };
1065
+ return await withInferenceLock(async () => {
1066
+ const embedBody = { input };
1067
+ if (embedModel) {
1068
+ embedBody.model = embedModel;
1069
+ }
1070
+ const res = await fetchWithTimeout(`${LM_BASE_URL}/v1/embeddings`, { method: 'POST', headers: apiHeaders(), body: JSON.stringify(embedBody) }, INFERENCE_CONNECT_TIMEOUT_MS);
1071
+ if (!res.ok) {
1072
+ const errText = await res.text().catch(() => '');
1073
+ throw new Error(`Embeddings API error ${res.status}: ${errText}`);
1074
+ }
1075
+ const data = (await res.json());
1076
+ const embedding = data.data[0]?.embedding;
1077
+ if (!embedding)
1078
+ throw new Error('No embedding returned');
1079
+ const usageInfo = data.usage
1080
+ ? `${data.usage.prompt_tokens} tokens embedded`
1081
+ : '';
1082
+ return {
1083
+ content: [{
1084
+ type: 'text',
1085
+ text: JSON.stringify({
1086
+ model: data.model,
1087
+ dimensions: embedding.length,
1088
+ embedding,
1089
+ usage: usageInfo,
1090
+ }),
1091
+ }],
1092
+ };
1093
+ });
926
1094
  }
927
1095
  default:
928
1096
  throw new Error(`Unknown tool: ${name}`);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,IAAI,eAAe,EACjC,mBAAmB,EACnB,cAAc,GAEf,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,uBAAuB,CAAC;AACzE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;AACnD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC;AACzD,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,4BAA4B,GAAG,MAAM,CAAC,CAAC,yCAAyC;AACtF,MAAM,eAAe,GAAG,MAAM,CAAC,CAAc,qDAAqD;AAClG,MAAM,qBAAqB,GAAG,MAAM,CAAC,CAAQ,kCAAkC;AAC/E,MAAM,uBAAuB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,QAAQ,EAAE,EAAE,CAAC,CAAC;AAExF,wEAAwE;AACxE,uEAAuE;AACvE,uEAAuE;AACvE,4DAA4D;AAE5D,MAAM,OAAO,GAAG;IACd,KAAK,EAAE,CAAC;IACR,YAAY,EAAE,CAAC;IACf,gBAAgB,EAAE,CAAC;IACnB,0DAA0D;IAC1D,UAAU,EAAE,IAAI,GAAG,EAA6F;CACjH,CAAC;AAEF,SAAS,WAAW,CAAC,IAAqB;IACxC,OAAO,CAAC,KAAK,EAAE,CAAC;IAChB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QACjD,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;IAC3D,CAAC;IACD,6BAA6B;IAC7B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;QACrH,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,MAAM;YAAE,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC;YACnD,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC,CAAC;QACN,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,QAAQ,CAAC,SAAS,EAAE,CAAC;YACrB,QAAQ,CAAC,cAAc,IAAI,SAAS,CAAC;QACvC,CAAC;QACD,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,SAAS,cAAc;IACrB,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAC9D,IAAI,OAAO,CAAC,KAAK,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,YAAY,KAAK,CAAC,cAAc,EAAE,4BAA4B,OAAO,CAAC,KAAK,QAAQ,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAC7H,CAAC;AAED,SAAS,UAAU;IACjB,MAAM,CAAC,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;IACzE,IAAI,WAAW;QAAE,CAAC,CAAC,eAAe,CAAC,GAAG,UAAU,WAAW,EAAE,CAAC;IAC9D,OAAO,CAAC,CAAC;AACX,CAAC;AA+DD,MAAM,cAAc,GAAiD;IACnE;QACE,OAAO,EAAE,0BAA0B;QACnC,OAAO,EAAE;YACP,MAAM,EAAE,iBAAiB;YACzB,WAAW,EAAE,yIAAyI;YACtJ,SAAS,EAAE,CAAC,mBAAmB,EAAE,MAAM,EAAE,8BAA8B,EAAE,aAAa,EAAE,mBAAmB,CAAC;YAC5G,UAAU,EAAE,CAAC,kBAAkB,EAAE,wBAAwB,EAAE,mCAAmC,CAAC;YAC/F,OAAO,EAAE,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,qBAAqB,CAAC;SACjG;KACF;IACD;QACE,OAAO,EAAE,wBAAwB;QACjC,OAAO,EAAE;YACP,MAAM,EAAE,aAAa;YACrB,WAAW,EAAE,wIAAwI;YACrJ,SAAS,EAAE,CAAC,iBAAiB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,YAAY,CAAC;YACzF,UAAU,EAAE,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;YACtD,OAAO,EAAE,CAAC,wBAAwB,EAAE,kBAAkB,EAAE,gBAAgB,CAAC;SAC1E;KACF;IACD;QACE,OAAO,EAAE,2BAA2B;QACpC,OAAO,EAAE;YACP,MAAM,EAAE,aAAa;YACrB,WAAW,EAAE,iIAAiI;YAC9I,SAAS,EAAE,CAAC,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,sBAAsB,CAAC;YACjH,UAAU,EAAE,CAAC,yBAAyB,CAAC;YACvC,OAAO,EAAE,CAAC,iBAAiB,EAAE,aAAa,EAAE,YAAY,EAAE,kBAAkB,EAAE,aAAa,CAAC;SAC7F;KACF;IACD;QACE,OAAO,EAAE,oBAAoB;QAC7B,OAAO,EAAE;YACP,MAAM,EAAE,uBAAuB;YAC/B,WAAW,EAAE,yHAAyH;YACtI,SAAS,EAAE,CAAC,qBAAqB,EAAE,YAAY,EAAE,kBAAkB,EAAE,KAAK,CAAC;YAC3E,UAAU,EAAE,CAAC,iDAAiD,CAAC;YAC/D,OAAO,EAAE,CAAC,qBAAqB,EAAE,WAAW,EAAE,wBAAwB,CAAC;SACxE;KACF;IACD;QACE,OAAO,EAAE,2BAA2B;QACpC,OAAO,EAAE;YACP,MAAM,EAAE,OAAO;YACf,WAAW,EAAE,yGAAyG;YACtH,SAAS,EAAE,CAAC,mBAAmB,EAAE,cAAc,EAAE,MAAM,EAAE,uBAAuB,CAAC;YACjF,UAAU,EAAE,CAAC,kDAAkD,CAAC;YAChE,OAAO,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,CAAC;SAC1E;KACF;IACD;QACE,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE;YACP,MAAM,EAAE,cAAc;YACtB,WAAW,EAAE,mHAAmH;YAChI,SAAS,EAAE,CAAC,mBAAmB,EAAE,MAAM,EAAE,uBAAuB,EAAE,iBAAiB,CAAC;YACpF,UAAU,EAAE,CAAC,iDAAiD,CAAC;YAC/D,OAAO,EAAE,CAAC,oBAAoB,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,CAAC;SAClE;KACF;IACD;QACE,OAAO,EAAE,iBAAiB;QAC1B,OAAO,EAAE;YACP,MAAM,EAAE,YAAY;YACpB,WAAW,EAAE,iFAAiF;YAC9F,SAAS,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,CAAC;YAC5E,UAAU,EAAE,CAAC,iCAAiC,CAAC;YAC/C,OAAO,EAAE,CAAC,wBAAwB,EAAE,gBAAgB,EAAE,mBAAmB,CAAC;SAC3E;KACF;IACD;QACE,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE;YACP,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,+EAA+E;YAC5F,SAAS,EAAE,CAAC,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC;YAC7E,UAAU,EAAE,CAAC,iCAAiC,CAAC;YAC/C,OAAO,EAAE,CAAC,0BAA0B,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;SAC7E;KACF;IACD;QACE,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE;YACP,MAAM,EAAE,gBAAgB;YACxB,WAAW,EAAE,yFAAyF;YACtG,SAAS,EAAE,CAAC,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,CAAC;YACjE,UAAU,EAAE,CAAC,+CAA+C,CAAC;YAC7D,OAAO,EAAE,CAAC,oBAAoB,EAAE,YAAY,EAAE,KAAK,CAAC;SACrD;KACF;IACD;QACE,OAAO,EAAE,YAAY;QACrB,OAAO,EAAE;YACP,MAAM,EAAE,OAAO;YACf,WAAW,EAAE,6LAA6L;YAC1M,SAAS,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,uBAAuB,EAAE,kBAAkB,CAAC;YACnI,UAAU,EAAE,CAAC,0DAA0D,EAAE,wDAAwD,CAAC;YAClI,OAAO,EAAE,CAAC,oBAAoB,EAAE,eAAe,EAAE,YAAY,EAAE,mBAAmB,EAAE,KAAK,CAAC;SAC3F;KACF;IACD;QACE,OAAO,EAAE,4BAA4B;QACrC,OAAO,EAAE;YACP,MAAM,EAAE,aAAa;YACrB,WAAW,EAAE,yGAAyG;YACtH,SAAS,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,CAAC;YAC/D,UAAU,EAAE,CAAC,8BAA8B,CAAC;YAC5C,OAAO,EAAE,CAAC,eAAe,EAAE,qBAAqB,EAAE,iBAAiB,CAAC;SACrE;KACF;IACD;QACE,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE;YACP,MAAM,EAAE,0BAA0B;YAClC,WAAW,EAAE,yHAAyH;YACtI,SAAS,EAAE,CAAC,gBAAgB,EAAE,0BAA0B,CAAC;YACzD,UAAU,EAAE,CAAC,sBAAsB,EAAE,qBAAqB,EAAE,aAAa,CAAC;YAC1E,OAAO,EAAE,CAAC,kDAAkD,CAAC;SAC9D;KACF;CACF,CAAC;AAEF;;;GAGG;AACH,SAAS,eAAe,CAAC,KAAgB;IACvC,qDAAqD;IACrD,KAAK,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,cAAc,EAAE,CAAC;QAClD,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,OAAO,OAAO,CAAC;IAC7C,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,cAAc,EAAE,CAAC;YAClD,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,OAAO,OAAO,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,oBAAoB,CAAC,KAAgB;IAClD,gCAAgC;IAChC,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC;IAExC,gDAAgD;IAChD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,OAAO;gBAAE,OAAO,OAAO,CAAC;QAC9B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qCAAqC;IACvC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,iBAAiB,CAAC,KAAgB,EAAE,eAAwB,KAAK;IAC9E,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC1C,0DAA0D;IAC1D,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,cAAc;IACd,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAEpE,gBAAgB;IAChB,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,KAAK,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,IAAI,KAAK,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,IAAI,KAAK,CAAC,YAAY;QAAE,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;IAClE,IAAI,KAAK,CAAC,kBAAkB;QAAE,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC/E,2EAA2E;IAC3E,IAAI,KAAK,CAAC,qBAAqB,IAAI,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,MAAM,EAAE,CAAC;QACpF,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,qBAAqB,CAAC,cAAc,EAAE,SAAS,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACzG,CAAC;SAAM,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,KAAK,CAAC,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IACzD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAE3D,eAAe;IACf,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,4DAA4D;IAC5D,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,gDAAgD;IAChD,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnD,IAAI,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;QAC1D,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAC7B,GAAW,EACX,OAAoB,EACpB,YAAoB,kBAAkB;IAEtC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9D,IAAI,CAAC;QACH,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,SAAS,CACtB,MAA+C,EAC/C,SAAiB;IAEjB,IAAI,KAAoC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,EAAE;QACjD,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAM,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,uBAAuB,CACpC,QAAuB,EACvB,UAAyG,EAAE;IAE3G,MAAM,IAAI,GAA4B;QACpC,QAAQ;QACR,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,mBAAmB;QACvD,UAAU,EAAE,OAAO,CAAC,SAAS,IAAI,kBAAkB;QACnD,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;KACxC,CAAC;IACF,IAAI,OAAO,CAAC,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAChD,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAChC,GAAG,WAAW,sBAAsB,EACpC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EACrE,4BAA4B,CAC7B,CAAC;IAEF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,KAA+B,CAAC;IACpC,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAA0B,CAAC;IAE/B,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,sCAAsC;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACvC,IAAI,OAAO,GAAG,eAAe,EAAE,CAAC;gBAC9B,SAAS,GAAG,IAAI,CAAC;gBACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,OAAO,iBAAiB,OAAO,CAAC,MAAM,6BAA6B,CAAC,CAAC;gBAC1H,MAAM;YACR,CAAC;YAED,2DAA2D;YAC3D,MAAM,SAAS,GAAG,eAAe,GAAG,OAAO,CAAC;YAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAErD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,SAAS,GAAG,IAAI,CAAC;gBACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,OAAO,CAAC,MAAM,6BAA6B,CAAC,CAAC;gBAChH,MAAM;YACR,CAAC;YAED,IAAI,MAAM,CAAC,IAAI;gBAAE,MAAM;YAEvB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAEzD,kBAAkB;YAClB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,iCAAiC;YAE7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,cAAc;oBAAE,SAAS;gBACrD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAAE,SAAS;gBAE5C,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1C,IAAI,IAAI,CAAC,KAAK;wBAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;oBAEnC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;oBACvC,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC;wBACnB,IAAI,MAAM,KAAK,SAAS;4BAAE,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;wBAC1D,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC3B,CAAC;oBAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC;oBAChD,IAAI,MAAM;wBAAE,YAAY,GAAG,MAAM,CAAC;oBAElC,4DAA4D;oBAC5D,IAAI,IAAI,CAAC,KAAK;wBAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACrC,CAAC;gBAAC,MAAM,CAAC;oBACP,yDAAyD;gBAC3D,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,2DAA2D;QAC3D,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAE5C,8EAA8E;IAC9E,kFAAkF;IAClF,kFAAkF;IAClF,wEAAwE;IACxE,IAAI,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC,CAAE,gBAAgB;IACzF,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAmB,uBAAuB;IACjG,YAAY,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;IAEnC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AAChG,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,aAAa;IAC1B,wEAAwE;IACxE,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAC/B,GAAG,WAAW,gBAAgB,EAC9B,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAC1B,CAAC;QACF,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAA0B,CAAC;YACxD,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wCAAwC;IAC1C,CAAC;IAED,+EAA+E;IAC/E,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAChC,GAAG,WAAW,YAAY,EAC1B,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAC1B,CAAC;IACF,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA0B,CAAC;IACzD,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAgB;IACxC,qGAAqG;IACrG,8FAA8F;IAC9F,OAAO,KAAK,CAAC,qBAAqB,IAAI,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,aAAa,IAAI,uBAAuB,CAAC;AAC3I,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAgB;IAC3C,OAAO,KAAK,CAAC,kBAAkB,CAAC;AAClC,CAAC;AAeD,KAAK,UAAU,YAAY,CAAC,QAAkB;IAC5C,IAAI,MAAmB,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,4CAA4C;QAC5C,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC;IAEjE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;IAC5C,CAAC;IAED,sDAAsD;IACtD,IAAI,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;IAEnB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,wDAAwD;QACxD,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,iEAAiE;QACjE,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,QAAQ,KAAK,MAAM,IAAI,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;QACvF,2CAA2C;QAC3C,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,GAAG,IAAI,GAAG,GAAG,MAAM;gBAAE,KAAK,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;YACtB,SAAS,GAAG,KAAK,CAAC;YAClB,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAoB,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;IAEjE,sFAAsF;IACtF,mFAAmF;IACnF,+EAA+E;IAC/E,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAClC,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5C,OAAO,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QACH,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY;gBAC9C,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU;oBACtC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY;wBACzC,CAAC,CAAC,mBAAmB,CAAC;YACxB,MAAM,CAAC,UAAU,GAAG,MAAM,MAAM,CAAC,EAAE,wCAAwC,KAAK,0CAA0C,CAAC;QAC7H,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,IAAqB,EAAE,KAAc;IACzD,sDAAsD;IACtD,WAAW,CAAC,IAAI,CAAC,CAAC;IAElB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACnD,IAAI,IAAI,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,SAAS,CAAC,CAAC;IAEjG,kEAAkE;IAClE,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAAE,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IACxE,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;QAC5E,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,IAAI,CAAC,YAAY;QAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACnF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAE3D,IAAI,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,IAAI,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAE9E,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,IAAI,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAEzC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EACT,8FAA8F;YAC9F,yGAAyG;YACzG,sDAAsD;YACtD,+FAA+F;YAC/F,4FAA4F;YAC5F,mGAAmG;YACnG,yDAAyD;YACzD,kDAAkD;YAClD,mEAAmE;YACnE,gEAAgE;YAChE,sDAAsD;YACtD,qEAAqE;YACrE,oDAAoD;YACpD,iEAAiE;YACjE,uFAAuF;YACvF,8FAA8F;YAC9F,gGAAgG;YAChG,uGAAuG;YACvG,0FAA0F;YAC1F,qGAAqG;YACrG,mGAAmG;YACnG,6GAA6G;YAC7G,oGAAoG;YACpG,mGAAmG;YACnG,yCAAyC;QAC3C,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qGAAqG;iBACnH;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0FAA0F;iBACxG;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8FAA8F;iBAC5G;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6FAA6F;iBAC3G;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mPAAmP;iBACjQ;aACF;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,6FAA6F;YAC7F,4FAA4F;YAC5F,0FAA0F;YAC1F,4FAA4F;YAC5F,gBAAgB;YAChB,gEAAgE;YAChE,yEAAyE;YACzE,qEAAqE;YACrE,kEAAkE;YAClE,2EAA2E;YAC3E,gEAAgE;YAChE,sHAAsH;YACtH,kGAAkG;YAClG,0HAA0H;YAC1H,wGAAwG;QAC1G,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4FAA4F;iBAC1G;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uFAAuF;iBACrG;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iHAAiH;iBAC/H;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uEAAuE;iBACrF;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oCAAoC;iBAClD;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6HAA6H;iBAC3I;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,gHAAgH;YAChH,0FAA0F;YAC1F,yFAAyF;YACzF,gBAAgB;YAChB,wCAAwC;YACxC,uCAAuC;YACvC,+DAA+D;YAC/D,gDAAgD;YAChD,6CAA6C;YAC7C,yBAAyB;YACzB,qEAAqE;YACrE,yEAAyE;YACzE,yGAAyG;YACzG,mFAAmF;YACnF,iGAAiG;QACnG,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iFAAiF;iBAC/F;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4FAA4F;iBAC1G;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4DAA4D;iBAC1E;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oCAAoC;iBAClD;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;SAC3B;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EACT,2GAA2G;YAC3G,4EAA4E;YAC5E,yFAAyF;YACzF,wHAAwH;QAC1H,WAAW,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,UAAU,EAAE,EAAE,EAAE;KACzD;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,2GAA2G;YAC3G,6GAA6G;YAC7G,iEAAiE;YACjE,4HAA4H;QAC9H,WAAW,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,UAAU,EAAE,EAAE,EAAE;KACzD;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EACT,8FAA8F;YAC9F,6FAA6F;YAC7F,8FAA8F;QAChG,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4CAA4C;iBAC1D;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0EAA0E;iBACxF;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;CACF,CAAC;AAEF,wEAAwE;AAExE,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,EACxC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAC;AAEF,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAEjF,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjD,IAAI,CAAC;QACH,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAMjE,CAAC;gBAEF,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM,QAAQ,GAAkB,EAAE,CAAC;gBACnC,oEAAoE;gBACpE,MAAM,aAAa,GAAG,MAAM;oBAC1B,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,OAAO,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC1F,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC;gBAChD,IAAI,aAAa;oBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;gBAC7E,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBAElD,MAAM,cAAc,GAA+B,WAAW;oBAC5D,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,IAAI,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE;oBAClI,CAAC,CAAC,SAAS,CAAC;gBAEd,MAAM,IAAI,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE;oBACnD,WAAW,EAAE,WAAW,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ;oBAChD,SAAS,EAAE,UAAU;oBACrB,KAAK,EAAE,KAAK,CAAC,OAAO;oBACpB,cAAc;iBACf,CAAC,CAAC;gBAEH,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;gBAClC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC;YACtE,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAO9E,CAAC;gBAEF,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;gBAC7C,MAAM,QAAQ,GAAkB,EAAE,CAAC;gBACnC,MAAM,aAAa,GAAG,MAAM;oBAC1B,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,OAAO,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC1F,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC;gBAChD,IAAI,aAAa;oBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;gBAE7E,IAAI,WAAW,GAAG,WAAW,CAAC;gBAC9B,IAAI,OAAO;oBAAE,WAAW,GAAG,aAAa,OAAO,qBAAqB,WAAW,EAAE,CAAC;gBAClF,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;gBAEtD,MAAM,cAAc,GAA+B,WAAW;oBAC5D,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,IAAI,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE;oBAClI,CAAC,CAAC,SAAS,CAAC;gBAEd,MAAM,IAAI,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE;oBACnD,WAAW,EAAE,WAAW,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ;oBAChD,SAAS,EAAE,UAAU;oBACrB,KAAK,EAAE,KAAK,CAAC,OAAO;oBACpB,cAAc;iBACf,CAAC,CAAC;gBAEH,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;gBAClC,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,CAAC;iBACzD,CAAC;YACJ,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,IAK3D,CAAC;gBAEF,MAAM,IAAI,GAAG,QAAQ,IAAI,SAAS,CAAC;gBACnC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB;oBACnD,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE;oBACpC,CAAC,CAAC,EAAE,CAAC;gBAEP,MAAM,YAAY,GAAkB;oBAClC;wBACE,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,UAAU,IAAI,yIAAyI,gBAAgB,EAAE;qBACnL;oBACD;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,SAAS,IAAI,aAAa,IAAI,KAAK,IAAI,UAAU;qBAC3D;iBACF,CAAC;gBAEF,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,YAAY,EAAE;oBAC3D,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;oBACjC,SAAS,EAAE,aAAa,IAAI,kBAAkB;oBAC9C,KAAK,EAAE,KAAK,CAAC,OAAO;iBACrB,CAAC,CAAC;gBAEH,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAChD,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,GAAG,UAAU,GAAG,cAAc,EAAE,CAAC,EAAE,CAAC;YAC/F,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACzB,IAAI,MAAmB,CAAC;gBACxB,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;gBACjC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;oBAC9B,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY;wBAC9D,CAAC,CAAC,qCAAqC,EAAE,KAAK;wBAC9C,CAAC,CAAC,sBAAsB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7E,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,8BAA8B,WAAW,KAAK,MAAM,uFAAuF;6BAClJ,CAAC;qBACH,CAAC;gBACJ,CAAC;gBACD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;gBAE9B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxB,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,+CAA+C,WAAW,cAAc,EAAE,gGAAgG;6BACjL,CAAC;qBACH,CAAC;gBACJ,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACtE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC;gBAEjE,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;gBACvC,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBACtC,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;gBAE3D,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC;oBACpC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,cAAc,EAAE,4BAA4B,OAAO,CAAC,KAAK,QAAQ,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;oBACzK,CAAC,CAAC,uEAAuE,CAAC;gBAE5E,IAAI,IAAI,GACN,kBAAkB;oBAClB,aAAa,WAAW,IAAI;oBAC5B,YAAY,EAAE,MAAM;oBACpB,iBAAiB,OAAO,CAAC,EAAE,IAAI;oBAC/B,mBAAmB,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC;gBAErD,IAAI,cAAc,EAAE,CAAC;oBACnB,IAAI,IAAI,WAAW,cAAc,CAAC,MAAM,IAAI,CAAC;oBAC7C,IAAI,IAAI,gBAAgB,cAAc,CAAC,WAAW,IAAI,CAAC;oBACvD,IAAI,IAAI,aAAa,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC3D,IAAI,IAAI,cAAc,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC9D,IAAI,cAAc,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACzC,IAAI,IAAI,eAAe,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;oBAClE,CAAC;gBACH,CAAC;gBAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,IAAI,IAAI,qCAAqC,CAAC;oBAC9C,IAAI,IAAI,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpF,CAAC;gBAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,IAAI,IAAI,oFAAoF,CAAC;oBAC7F,IAAI,IAAI,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvF,CAAC;gBAED,gDAAgD;gBAChD,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBAChC,IAAI,IAAI,mCAAmC,CAAC;oBAC5C,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;wBAClD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAClF,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;wBAClG,IAAI,IAAI,KAAK,OAAO,KAAK,KAAK,CAAC,KAAK,oBAAoB,OAAO,WAAW,SAAS,UAAU,CAAC;oBAChG,CAAC;gBACH,CAAC;gBAED,IAAI,IAAI,GAAG,YAAY,MAAM,CAAC;gBAC9B,IAAI,IAAI,oGAAoG,CAAC;gBAE7G,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC/C,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACnB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0CAA0C,EAAE,CAAC,EAAE,CAAC;gBAC3F,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACtE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC;gBAEjE,IAAI,IAAI,GAAG,EAAE,CAAC;gBAEd,uEAAuE;gBACvE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,IAAI,IAAI,qCAAqC,CAAC;oBAC9C,IAAI,IAAI,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1F,CAAC;gBAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,IAAI,IAAI;wBAAE,IAAI,IAAI,MAAM,CAAC;oBACzB,IAAI,IAAI,kDAAkD,CAAC;oBAC3D,IAAI,IAAI,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC7F,CAAC;gBAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC/C,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAyC,CAAC;gBAE/E,MAAM,SAAS,GAA4B,EAAE,KAAK,EAAE,CAAC;gBACrD,IAAI,UAAU,EAAE,CAAC;oBACf,SAAS,CAAC,KAAK,GAAG,UAAU,CAAC;gBAC/B,CAAC;gBAED,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAChC,GAAG,WAAW,gBAAgB,EAC9B,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,EAC1E,4BAA4B,CAC7B,CAAC;gBAEF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;oBACZ,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;oBACjD,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC,CAAC;gBACpE,CAAC;gBAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAI7B,CAAC;gBAEF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;gBAC1C,IAAI,CAAC,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAEzD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK;oBAC1B,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,kBAAkB;oBAC/C,CAAC,CAAC,EAAE,CAAC;gBAEP,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gCACjB,UAAU,EAAE,SAAS,CAAC,MAAM;gCAC5B,SAAS;gCACT,KAAK,EAAE,SAAS;6BACjB,CAAC;yBACH,CAAC;iBACH,CAAC;YACJ,CAAC;YAED;gBACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACrG,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,WAAW,KAAK,CAAC,CAAC;IAErE,iEAAiE;IACjE,sDAAsD;IACtD,aAAa,EAAE;SACZ,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;SAChD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,GAAG,IAAI,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,KAAK,IAAI,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ export interface CachedModelProfile {
22
22
  strengths: string | null;
23
23
  weaknesses: string | null;
24
24
  bestFor: string | null;
25
+ emitsThinkBlocks: boolean;
26
+ supportsThinkingToggle: boolean;
25
27
  fetchedAt: number;
26
28
  source: 'huggingface' | 'static' | 'inferred';
27
29
  }
@@ -38,8 +40,6 @@ export interface PromptHints {
38
40
  chatTemp: number;
39
41
  /** Extra system prompt suffix to constrain output format */
40
42
  outputConstraint: string;
41
- /** Whether this model emits <think> blocks that need stripping */
42
- emitsThinkBlocks: boolean;
43
43
  /** Task types this model excels at (for routing) */
44
44
  bestTaskTypes: ('code' | 'chat' | 'analysis' | 'embedding')[];
45
45
  }
@@ -84,4 +84,12 @@ export declare function getHFEnrichmentLine(modelId: string): Promise<string>;
84
84
  * Get all cached profiles (for diagnostics or export).
85
85
  */
86
86
  export declare function getAllCachedProfiles(): Promise<CachedModelProfile[]>;
87
+ /**
88
+ * Query thinking support for a model from the cache.
89
+ * Returns null if model is not cached.
90
+ */
91
+ export declare function getThinkingSupport(modelId: string): Promise<{
92
+ emitsThinkBlocks: boolean;
93
+ supportsThinkingToggle: boolean;
94
+ } | null>;
87
95
  export {};
@@ -17,8 +17,7 @@ const PROMPT_HINTS = [
17
17
  hints: {
18
18
  codeTemp: 0.1,
19
19
  chatTemp: 0.3,
20
- outputConstraint: 'Respond with ONLY the requested output. No step-by-step reasoning. No numbered analysis. No preamble. Go straight to the answer.',
21
- emitsThinkBlocks: true,
20
+ outputConstraint: 'Respond with ONLY the requested output. No step-by-step reasoning. No preamble. Use markdown formatting: bullet points for lists, fenced code blocks for code.',
22
21
  bestTaskTypes: ['chat', 'analysis'],
23
22
  },
24
23
  },
@@ -27,8 +26,7 @@ const PROMPT_HINTS = [
27
26
  hints: {
28
27
  codeTemp: 0.1,
29
28
  chatTemp: 0.3,
30
- outputConstraint: 'Be direct. Output only what was asked for.',
31
- emitsThinkBlocks: true,
29
+ outputConstraint: 'Be direct. Output only what was asked for. Use markdown formatting: bullet points for lists, fenced code blocks for code. No preamble.',
32
30
  bestTaskTypes: ['code'],
33
31
  },
34
32
  },
@@ -37,8 +35,7 @@ const PROMPT_HINTS = [
37
35
  hints: {
38
36
  codeTemp: 0.2,
39
37
  chatTemp: 0.3,
40
- outputConstraint: 'Be direct. Output only what was asked for.',
41
- emitsThinkBlocks: true,
38
+ outputConstraint: 'Be direct. Output only what was asked for. Use markdown formatting: bullet points for lists, fenced code blocks for code. No preamble.',
42
39
  bestTaskTypes: ['chat', 'analysis', 'code'],
43
40
  },
44
41
  },
@@ -48,7 +45,6 @@ const PROMPT_HINTS = [
48
45
  codeTemp: 0.2,
49
46
  chatTemp: 0.4,
50
47
  outputConstraint: '',
51
- emitsThinkBlocks: false,
52
48
  bestTaskTypes: ['chat', 'code', 'analysis'],
53
49
  },
54
50
  },
@@ -58,7 +54,6 @@ const PROMPT_HINTS = [
58
54
  codeTemp: 0.1,
59
55
  chatTemp: 0.3,
60
56
  outputConstraint: '',
61
- emitsThinkBlocks: true,
62
57
  bestTaskTypes: ['analysis', 'code'],
63
58
  },
64
59
  },
@@ -68,7 +63,6 @@ const PROMPT_HINTS = [
68
63
  codeTemp: 0.2,
69
64
  chatTemp: 0.3,
70
65
  outputConstraint: '',
71
- emitsThinkBlocks: false,
72
66
  bestTaskTypes: ['code', 'chat'],
73
67
  },
74
68
  },
@@ -78,7 +72,6 @@ const PROMPT_HINTS = [
78
72
  codeTemp: 0.2,
79
73
  chatTemp: 0.4,
80
74
  outputConstraint: '',
81
- emitsThinkBlocks: false,
82
75
  bestTaskTypes: ['chat', 'code', 'analysis'],
83
76
  },
84
77
  },
@@ -88,7 +81,6 @@ const PROMPT_HINTS = [
88
81
  codeTemp: 0,
89
82
  chatTemp: 0,
90
83
  outputConstraint: '',
91
- emitsThinkBlocks: false,
92
84
  bestTaskTypes: ['embedding'],
93
85
  },
94
86
  },
@@ -108,7 +100,6 @@ export function getPromptHints(modelId, arch) {
108
100
  codeTemp: 0.2,
109
101
  chatTemp: 0.3,
110
102
  outputConstraint: '',
111
- emitsThinkBlocks: false,
112
103
  bestTaskTypes: ['chat', 'code', 'analysis'],
113
104
  };
114
105
  }
@@ -153,10 +144,21 @@ export async function initDb() {
153
144
  strengths TEXT,
154
145
  weaknesses TEXT,
155
146
  best_for TEXT,
147
+ emits_think_blocks INTEGER NOT NULL DEFAULT 0,
148
+ supports_thinking_toggle INTEGER NOT NULL DEFAULT 0,
156
149
  fetched_at INTEGER NOT NULL,
157
150
  source TEXT NOT NULL DEFAULT 'huggingface'
158
151
  )
159
152
  `);
153
+ // Migrate: add thinking columns if upgrading from older schema
154
+ try {
155
+ db.run('ALTER TABLE model_profiles ADD COLUMN emits_think_blocks INTEGER NOT NULL DEFAULT 0');
156
+ }
157
+ catch { /* column already exists */ }
158
+ try {
159
+ db.run('ALTER TABLE model_profiles ADD COLUMN supports_thinking_toggle INTEGER NOT NULL DEFAULT 0');
160
+ }
161
+ catch { /* column already exists */ }
160
162
  return db;
161
163
  }
162
164
  function saveDb() {
@@ -175,30 +177,35 @@ function saveDb() {
175
177
  export async function getCachedProfile(modelId) {
176
178
  const database = await initDb();
177
179
  const stmt = database.prepare('SELECT * FROM model_profiles WHERE model_id = ?');
178
- stmt.bind([modelId]);
179
- if (stmt.step()) {
180
- const row = stmt.getAsObject();
180
+ try {
181
+ stmt.bind([modelId]);
182
+ if (stmt.step()) {
183
+ const row = stmt.getAsObject();
184
+ return {
185
+ modelId: row.model_id,
186
+ hfId: row.hf_id,
187
+ pipelineTag: row.pipeline_tag,
188
+ architectures: row.architectures,
189
+ license: row.license,
190
+ downloads: row.downloads,
191
+ likes: row.likes,
192
+ libraryName: row.library_name,
193
+ family: row.family,
194
+ description: row.description,
195
+ strengths: row.strengths,
196
+ weaknesses: row.weaknesses,
197
+ bestFor: row.best_for,
198
+ emitsThinkBlocks: !!row.emits_think_blocks,
199
+ supportsThinkingToggle: !!row.supports_thinking_toggle,
200
+ fetchedAt: row.fetched_at,
201
+ source: row.source,
202
+ };
203
+ }
204
+ return null;
205
+ }
206
+ finally {
181
207
  stmt.free();
182
- return {
183
- modelId: row.model_id,
184
- hfId: row.hf_id,
185
- pipelineTag: row.pipeline_tag,
186
- architectures: row.architectures,
187
- license: row.license,
188
- downloads: row.downloads,
189
- likes: row.likes,
190
- libraryName: row.library_name,
191
- family: row.family,
192
- description: row.description,
193
- strengths: row.strengths,
194
- weaknesses: row.weaknesses,
195
- bestFor: row.best_for,
196
- fetchedAt: row.fetched_at,
197
- source: row.source,
198
- };
199
208
  }
200
- stmt.free();
201
- return null;
202
209
  }
203
210
  /**
204
211
  * Insert or update a profile in the DB. Saves to disk immediately by default.
@@ -208,8 +215,8 @@ export async function upsertProfile(profile, skipSave = false) {
208
215
  const database = await initDb();
209
216
  database.run(`INSERT OR REPLACE INTO model_profiles
210
217
  (model_id, hf_id, pipeline_tag, architectures, license, downloads, likes, library_name,
211
- family, description, strengths, weaknesses, best_for, fetched_at, source)
212
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
218
+ family, description, strengths, weaknesses, best_for, emits_think_blocks, supports_thinking_toggle, fetched_at, source)
219
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
213
220
  profile.modelId,
214
221
  profile.hfId,
215
222
  profile.pipelineTag,
@@ -223,6 +230,8 @@ export async function upsertProfile(profile, skipSave = false) {
223
230
  profile.strengths,
224
231
  profile.weaknesses,
225
232
  profile.bestFor,
233
+ profile.emitsThinkBlocks ? 1 : 0,
234
+ profile.supportsThinkingToggle ? 1 : 0,
226
235
  profile.fetchedAt,
227
236
  profile.source,
228
237
  ]);
@@ -250,6 +259,19 @@ export function toModelProfile(cached) {
250
259
  bestFor: cached.bestFor ? JSON.parse(cached.bestFor) : [],
251
260
  };
252
261
  }
262
+ /**
263
+ * Detect thinking/reasoning support from HF model metadata.
264
+ * Checks the chat_template for enable_thinking and <think> patterns,
265
+ * rather than hardcoding per-family knowledge.
266
+ */
267
+ function detectThinkingSupport(card) {
268
+ const chatTemplate = card.config?.tokenizer_config?.chat_template || '';
269
+ // Does the template reference <think> blocks at all?
270
+ const emitsThinkBlocks = /<think>/.test(chatTemplate) || /thinking/.test(chatTemplate.toLowerCase());
271
+ // Does the template support enable_thinking toggle? (Qwen3 pattern)
272
+ const supportsThinkingToggle = /enable_thinking/.test(chatTemplate);
273
+ return { emitsThinkBlocks, supportsThinkingToggle };
274
+ }
253
275
  async function fetchHF(url) {
254
276
  const controller = new AbortController();
255
277
  const timer = setTimeout(() => controller.abort(), HF_TIMEOUT_MS);
@@ -336,12 +358,15 @@ function inferProfileFromHF(card, modelId) {
336
358
  strengths.push('general reasoning');
337
359
  if (bestFor.length === 0)
338
360
  bestFor.push('general delegation');
361
+ const thinking = detectThinkingSupport(card);
339
362
  return {
340
363
  family,
341
364
  description,
342
365
  strengths: JSON.stringify(strengths),
343
366
  weaknesses: JSON.stringify(weaknesses),
344
367
  bestFor: JSON.stringify(bestFor),
368
+ emitsThinkBlocks: thinking.emitsThinkBlocks,
369
+ supportsThinkingToggle: thinking.supportsThinkingToggle,
345
370
  };
346
371
  }
347
372
  function inferFamily(modelName, org) {
@@ -419,6 +444,8 @@ export async function profileModelsAtStartup(models) {
419
444
  strengths: inferred.strengths || null,
420
445
  weaknesses: inferred.weaknesses || null,
421
446
  bestFor: inferred.bestFor || null,
447
+ emitsThinkBlocks: inferred.emitsThinkBlocks || false,
448
+ supportsThinkingToggle: inferred.supportsThinkingToggle || false,
422
449
  fetchedAt: Date.now(),
423
450
  source: 'huggingface',
424
451
  }, true);
@@ -440,6 +467,8 @@ export async function profileModelsAtStartup(models) {
440
467
  strengths: null,
441
468
  weaknesses: null,
442
469
  bestFor: null,
470
+ emitsThinkBlocks: false,
471
+ supportsThinkingToggle: false,
443
472
  fetchedAt: Date.now(),
444
473
  source: 'inferred',
445
474
  }, true);
@@ -506,6 +535,8 @@ export async function getAllCachedProfiles() {
506
535
  strengths: row.strengths,
507
536
  weaknesses: row.weaknesses,
508
537
  bestFor: row.best_for,
538
+ emitsThinkBlocks: !!row.emits_think_blocks,
539
+ supportsThinkingToggle: !!row.supports_thinking_toggle,
509
540
  fetchedAt: row.fetched_at,
510
541
  source: row.source,
511
542
  });
@@ -513,4 +544,14 @@ export async function getAllCachedProfiles() {
513
544
  stmt.free();
514
545
  return results;
515
546
  }
547
+ /**
548
+ * Query thinking support for a model from the cache.
549
+ * Returns null if model is not cached.
550
+ */
551
+ export async function getThinkingSupport(modelId) {
552
+ const cached = await getCachedProfile(modelId);
553
+ if (!cached)
554
+ return null;
555
+ return { emitsThinkBlocks: cached.emitsThinkBlocks, supportsThinkingToggle: cached.supportsThinkingToggle };
556
+ }
516
557
  //# sourceMappingURL=model-cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-cache.js","sourceRoot":"","sources":["../src/model-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-cache.js","sourceRoot":"","sources":["../src/model-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,SAA4B,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAiDlC,MAAM,YAAY,GAA8C;IAC9D;QACE,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE;YACL,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,GAAG;YACb,gBAAgB,EAAE,gKAAgK;YAElL,aAAa,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;SACpC;KACF;IACD;QACE,OAAO,EAAE,2BAA2B;QACpC,KAAK,EAAE;YACL,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,GAAG;YACb,gBAAgB,EAAE,wIAAwI;YAE1J,aAAa,EAAE,CAAC,MAAM,CAAC;SACxB;KACF;IACD;QACE,OAAO,EAAE,2BAA2B;QACpC,KAAK,EAAE;YACL,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,GAAG;YACb,gBAAgB,EAAE,wIAAwI;YAE1J,aAAa,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;SAC5C;KACF;IACD;QACE,OAAO,EAAE,cAAc;QACvB,KAAK,EAAE;YACL,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,GAAG;YACb,gBAAgB,EAAE,EAAE;YAEpB,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC;SAC5C;KACF;IACD;QACE,OAAO,EAAE,WAAW;QACpB,KAAK,EAAE;YACL,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,GAAG;YACb,gBAAgB,EAAE,EAAE;YAEpB,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;SACpC;KACF;IACD;QACE,OAAO,EAAE,UAAU;QACnB,KAAK,EAAE;YACL,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,GAAG;YACb,gBAAgB,EAAE,EAAE;YAEpB,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;SAChC;KACF;IACD;QACE,OAAO,EAAE,cAAc;QACvB,KAAK,EAAE;YACL,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,GAAG;YACb,gBAAgB,EAAE,EAAE;YAEpB,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC;SAC5C;KACF;IACD;QACE,OAAO,EAAE,4BAA4B;QACrC,KAAK,EAAE;YACL,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;YACX,gBAAgB,EAAE,EAAE;YAEpB,aAAa,EAAE,CAAC,WAAW,CAAC;SAC7B;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,IAAa;IAC3D,KAAK,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9C,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;IAC/C,CAAC;IACD,uCAAuC;IACvC,OAAO;QACL,QAAQ,EAAE,GAAG;QACb,QAAQ,EAAE,GAAG;QACb,gBAAgB,EAAE,EAAE;QACpB,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,wEAAwE;AAExE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,CAAC;AAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAC/C,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;AACvD,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,wEAAwE;AAExE,IAAI,EAAE,GAAoB,IAAI,CAAC;AAE/B,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAElB,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;IAE9B,0CAA0C;IAC1C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YAClC,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,2BAA2B;YAC3B,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;SAAM,CAAC;QACN,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED,6BAA6B;IAC7B,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;GAoBN,CAAC,CAAC;IAEH,+DAA+D;IAC/D,IAAI,CAAC;QACH,EAAE,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAC;IAChG,CAAC;IAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,EAAE,CAAC,GAAG,CAAC,2FAA2F,CAAC,CAAC;IACtG,CAAC;IAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAEvC,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,MAAM;IACb,IAAI,CAAC,EAAE;QAAE,OAAO;IAChB,IAAI,CAAC;QACH,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;QACzB,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,GAAG,IAAI,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED,wEAAwE;AAExE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAe;IACpD,MAAM,QAAQ,GAAG,MAAM,MAAM,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC;IACjF,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAErB,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAA6B,CAAC;YAC1D,OAAO;gBACL,OAAO,EAAE,GAAG,CAAC,QAAkB;gBAC/B,IAAI,EAAE,GAAG,CAAC,KAAsB;gBAChC,WAAW,EAAE,GAAG,CAAC,YAA6B;gBAC9C,aAAa,EAAE,GAAG,CAAC,aAA8B;gBACjD,OAAO,EAAE,GAAG,CAAC,OAAwB;gBACrC,SAAS,EAAE,GAAG,CAAC,SAA0B;gBACzC,KAAK,EAAE,GAAG,CAAC,KAAsB;gBACjC,WAAW,EAAE,GAAG,CAAC,YAA6B;gBAC9C,MAAM,EAAE,GAAG,CAAC,MAAuB;gBACnC,WAAW,EAAE,GAAG,CAAC,WAA4B;gBAC7C,SAAS,EAAE,GAAG,CAAC,SAA0B;gBACzC,UAAU,EAAE,GAAG,CAAC,UAA2B;gBAC3C,OAAO,EAAE,GAAG,CAAC,QAAyB;gBACtC,gBAAgB,EAAE,CAAC,CAAE,GAAG,CAAC,kBAA6B;gBACtD,sBAAsB,EAAE,CAAC,CAAE,GAAG,CAAC,wBAAmC;gBAClE,SAAS,EAAE,GAAG,CAAC,UAAoB;gBACnC,MAAM,EAAE,GAAG,CAAC,MAA+C;aAC5D,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAA2B,EAAE,QAAQ,GAAG,KAAK;IAC/E,MAAM,QAAQ,GAAG,MAAM,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,GAAG,CACV;;;gEAG4D,EAC5D;QACE,OAAO,CAAC,OAAO;QACf,OAAO,CAAC,IAAI;QACZ,OAAO,CAAC,WAAW;QACnB,OAAO,CAAC,aAAa;QACrB,OAAO,CAAC,OAAO;QACf,OAAO,CAAC,SAAS;QACjB,OAAO,CAAC,KAAK;QACb,OAAO,CAAC,WAAW;QACnB,OAAO,CAAC,MAAM;QACd,OAAO,CAAC,WAAW;QACnB,OAAO,CAAC,SAAS;QACjB,OAAO,CAAC,UAAU;QAClB,OAAO,CAAC,OAAO;QACf,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,SAAS;QACjB,OAAO,CAAC,MAAM;KACf,CACF,CAAC;IACF,IAAI,CAAC,QAAQ;QAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,OAAO;IACrB,MAAM,EAAE,CAAC;AACX,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAA2B;IACtD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAA0B;IACvD,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IACvD,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;QAC/D,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;QAClE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;KAC1D,CAAC;AACJ,CAAC;AA2BD;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,IAAiB;IAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,aAAa,IAAI,EAAE,CAAC;IAExE,qDAAqD;IACrD,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IAErG,oEAAoE;IACpE,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAEpE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,CAAC;AACtD,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,GAAW;IAChC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,aAAa,CAAC,CAAC;IAClE,IAAI,CAAC;QACH,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IAClG,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,QAAQ,CAAC,OAAe,EAAE,SAAkB;IACzD,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,IAAI,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAC;YACvE,IAAI,GAAG,CAAC,EAAE;gBAAE,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAgB,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wEAAwE;AACxE,mEAAmE;AACnE,qDAAqD;AAErD,SAAS,kBAAkB,CAAC,IAAiB,EAAE,OAAe;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEnD,gCAAgC;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEzD,kCAAkC;IAClC,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAE3C,oBAAoB;IACpB,IAAI,WAAW,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,SAAS,CAAC;IAC9D,IAAI,GAAG,KAAK,iBAAiB;QAAE,WAAW,IAAI,gCAAgC,CAAC;SAC1E,IAAI,GAAG,KAAK,oBAAoB;QAAE,WAAW,IAAI,yDAAyD,CAAC;SAC3G,IAAI,GAAG,KAAK,oBAAoB,IAAI,GAAG,KAAK,qBAAqB;QAAE,WAAW,IAAI,uCAAuC,CAAC;IAC/H,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO;QAAE,WAAW,IAAI,aAAa,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC;IAEjF,4BAA4B;IAC5B,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,GAAG,KAAK,iBAAiB,EAAE,CAAC;QAC9B,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,GAAG,KAAK,oBAAoB,EAAE,CAAC;QACjC,SAAS,CAAC,IAAI,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtE,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtE,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACpC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACxC,CAAC;IAED,oCAAoC;IACpC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAE7D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAE7C,OAAO;QACL,MAAM;QACN,WAAW;QACX,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;QACpC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QACtC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QAChC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;QAC3C,sBAAsB,EAAE,QAAQ,CAAC,sBAAsB;KACxD,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,SAAiB,EAAE,GAAW;IACjD,uDAAuD;IACvD,sEAAsE;IACtE,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IAEtC,kBAAkB;IAClB,MAAM,cAAc,GAAuB;QACzC,CAAC,gBAAgB,EAAE,QAAQ,CAAC;QAC5B,CAAC,sBAAsB,EAAE,cAAc,CAAC;QACxC,CAAC,mBAAmB,EAAE,WAAW,CAAC;QAClC,CAAC,YAAY,EAAE,QAAQ,CAAC;QACxB,CAAC,kBAAkB,EAAE,UAAU,CAAC;QAChC,CAAC,YAAY,EAAE,UAAU,CAAC;QAC1B,CAAC,WAAW,EAAE,SAAS,CAAC;QACxB,CAAC,WAAW,EAAE,SAAS,CAAC;QACxB,CAAC,WAAW,EAAE,SAAS,CAAC;QACxB,CAAC,YAAY,EAAE,UAAU,CAAC;QAC1B,CAAC,gBAAgB,EAAE,QAAQ,CAAC;QAC5B,CAAC,kBAAkB,EAAE,UAAU,CAAC;QAChC,CAAC,aAAa,EAAE,WAAW,CAAC;QAC5B,CAAC,aAAa,EAAE,WAAW,CAAC;QAC5B,CAAC,iBAAiB,EAAE,WAAW,CAAC;QAChC,CAAC,YAAY,EAAE,UAAU,CAAC;QAC1B,CAAC,eAAe,EAAE,OAAO,CAAC;QAC1B,CAAC,SAAS,EAAE,OAAO,CAAC;QACpB,CAAC,eAAe,EAAE,SAAS,CAAC;QAC5B,CAAC,WAAW,EAAE,SAAS,CAAC;QACxB,CAAC,QAAQ,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF,KAAK,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,cAAc,EAAE,CAAC;QACpD,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC;AAWD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,MAA2B;IACtE,MAAM,QAAQ,GAAG,MAAM,MAAM,EAAE,CAAC;IAChC,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,cAAc;YACd,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChD,IAAI,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpC,WAAW,EAAE,CAAC;gBACd,SAAS;YACX,CAAC;YAED,yBAAyB;YACzB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAEvD,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;gBACpD,MAAM,aAAa,CAAC;oBAClB,OAAO,EAAE,KAAK,CAAC,EAAE;oBACjB,IAAI,EAAE,IAAI,CAAC,EAAE;oBACb,WAAW,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;oBACtC,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;oBAC5F,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,IAAI;oBACvC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;oBACjC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;oBACzB,WAAW,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;oBACtC,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,IAAI;oBAC/B,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,IAAI;oBACzC,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI;oBACrC,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,IAAI;oBACvC,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI;oBACjC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,IAAI,KAAK;oBACpD,sBAAsB,EAAE,QAAQ,CAAC,sBAAsB,IAAI,KAAK;oBAChE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,MAAM,EAAE,aAAa;iBACtB,EAAE,IAAI,CAAC,CAAC;gBACT,aAAa,EAAE,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,0DAA0D;gBAC1D,MAAM,aAAa,CAAC;oBAClB,OAAO,EAAE,KAAK,CAAC,EAAE;oBACjB,IAAI,EAAE,IAAI;oBACV,WAAW,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;oBAC/B,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;oBAC/D,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,IAAI;oBACX,WAAW,EAAE,IAAI;oBACjB,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;oBACjF,WAAW,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,yCAAyC;oBACvG,SAAS,EAAE,IAAI;oBACf,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,IAAI;oBACb,gBAAgB,EAAE,KAAK;oBACvB,sBAAsB,EAAE,KAAK;oBAC7B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,MAAM,EAAE,UAAU;iBACnB,EAAE,IAAI,CAAC,CAAC;gBACT,aAAa,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,IAAI,aAAa,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,6BAA6B,WAAW,YAAY,aAAa,cAAc,MAAM,CAAC,MAAM,UAAU,CACvG,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAe;IACvD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,EAAE,CAAC;IAEvD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACrE,IAAI,MAAM,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACrE,IAAI,MAAM,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACnF,IAAI,MAAM,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACvE,IAAI,MAAM,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAa,CAAC;YAC3D,IAAI,KAAK,CAAC,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACzE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,EAAE,CAAC;IAChC,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC;IAChF,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAA6B,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC;YACX,OAAO,EAAE,GAAG,CAAC,QAAkB;YAC/B,IAAI,EAAE,GAAG,CAAC,KAAsB;YAChC,WAAW,EAAE,GAAG,CAAC,YAA6B;YAC9C,aAAa,EAAE,GAAG,CAAC,aAA8B;YACjD,OAAO,EAAE,GAAG,CAAC,OAAwB;YACrC,SAAS,EAAE,GAAG,CAAC,SAA0B;YACzC,KAAK,EAAE,GAAG,CAAC,KAAsB;YACjC,WAAW,EAAE,GAAG,CAAC,YAA6B;YAC9C,MAAM,EAAE,GAAG,CAAC,MAAuB;YACnC,WAAW,EAAE,GAAG,CAAC,WAA4B;YAC7C,SAAS,EAAE,GAAG,CAAC,SAA0B;YACzC,UAAU,EAAE,GAAG,CAAC,UAA2B;YAC3C,OAAO,EAAE,GAAG,CAAC,QAAyB;YACtC,gBAAgB,EAAE,CAAC,CAAE,GAAG,CAAC,kBAA6B;YACtD,sBAAsB,EAAE,CAAC,CAAE,GAAG,CAAC,wBAAmC;YAClE,SAAS,EAAE,GAAG,CAAC,UAAoB;YACnC,MAAM,EAAE,GAAG,CAAC,MAA+C;SAC5D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;IACZ,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAe;IACtD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,EAAE,CAAC;AAC9G,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@houtini/lm",
3
- "version": "2.7.0",
3
+ "version": "2.8.0",
4
4
  "type": "module",
5
5
  "description": "MCP server for local LLMs — connects to LM Studio or any OpenAI-compatible endpoint",
6
6
  "mcpName": "io.github.houtini-ai/lm",
@@ -30,7 +30,7 @@
30
30
  "llm"
31
31
  ],
32
32
  "author": "Richard Baxter <richard@richardbaxter.co> (https://richardbaxter.co)",
33
- "license": "MIT",
33
+ "license": "Apache-2.0",
34
34
  "homepage": "https://houtini.ai",
35
35
  "repository": {
36
36
  "type": "git",
package/server.json CHANGED
@@ -7,12 +7,12 @@
7
7
  "url": "https://github.com/houtini-ai/lm",
8
8
  "source": "github"
9
9
  },
10
- "version": "2.7.0",
10
+ "version": "2.8.0",
11
11
  "packages": [
12
12
  {
13
13
  "registryType": "npm",
14
14
  "identifier": "@houtini/lm",
15
- "version": "2.7.0",
15
+ "version": "2.8.0",
16
16
  "transport": [
17
17
  {
18
18
  "type": "stdio"