locdotech-ai 1.0.62 → 1.0.63
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/dist/api/client.d.ts +2 -4
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +16 -14
- package/dist/api/client.js.map +1 -1
- package/dist/ui/App.js +1 -1
- package/package.json +1 -1
- package/dist/commands/model.d.ts +0 -3
- package/dist/commands/model.d.ts.map +0 -1
- package/dist/commands/model.js +0 -65
- package/dist/commands/model.js.map +0 -1
- package/dist/ui/components/ModelSelector.d.ts +0 -7
- package/dist/ui/components/ModelSelector.d.ts.map +0 -1
- package/dist/ui/components/ModelSelector.js +0 -31
- package/dist/ui/components/ModelSelector.js.map +0 -1
package/dist/api/client.d.ts
CHANGED
|
@@ -63,10 +63,8 @@ export interface StreamChunk {
|
|
|
63
63
|
}[];
|
|
64
64
|
}
|
|
65
65
|
export declare class AIRouterClient {
|
|
66
|
-
private
|
|
67
|
-
private
|
|
68
|
-
constructor();
|
|
69
|
-
setApiKey(key: string): void;
|
|
66
|
+
private getBaseUrl;
|
|
67
|
+
private getAuthKey;
|
|
70
68
|
chat(request: ChatRequest): Promise<ChatResponse>;
|
|
71
69
|
chatStream(request: ChatRequest): AsyncGenerator<StreamChunk>;
|
|
72
70
|
testConnection(): Promise<boolean>;
|
package/dist/api/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACrC,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;KACvB,EAAE,CAAC;IACJ,KAAK,CAAC,EAAE;QACN,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,EAAE,CAAC;CACL;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACrC,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;KACvB,EAAE,CAAC;IACJ,KAAK,CAAC,EAAE;QACN,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,EAAE,CAAC;CACL;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAIZ,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAqBhD,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC;IAoD9D,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;CAgBzC;AAED,eAAO,MAAM,MAAM,gBAAuB,CAAC"}
|
package/dist/api/client.js
CHANGED
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
import { loadSettings, getApiKey } from '../config/index.js';
|
|
2
2
|
export class AIRouterClient {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
constructor() {
|
|
6
|
-
const settings = loadSettings();
|
|
7
|
-
this.baseUrl = settings.apiUrl;
|
|
8
|
-
this.apiKey = getApiKey();
|
|
3
|
+
getBaseUrl() {
|
|
4
|
+
return loadSettings().apiUrl;
|
|
9
5
|
}
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
getAuthKey() {
|
|
7
|
+
return getApiKey();
|
|
12
8
|
}
|
|
13
9
|
async chat(request) {
|
|
14
|
-
const
|
|
10
|
+
const apiKey = this.getAuthKey();
|
|
11
|
+
const baseUrl = this.getBaseUrl();
|
|
12
|
+
const response = await fetch(`${baseUrl}/v2/chat/completions`, {
|
|
15
13
|
method: 'POST',
|
|
16
14
|
headers: {
|
|
17
15
|
'Content-Type': 'application/json',
|
|
18
|
-
'Authorization': `Bearer ${
|
|
16
|
+
'Authorization': `Bearer ${apiKey}`,
|
|
19
17
|
},
|
|
20
18
|
body: JSON.stringify(request),
|
|
21
19
|
});
|
|
@@ -26,11 +24,13 @@ export class AIRouterClient {
|
|
|
26
24
|
return response.json();
|
|
27
25
|
}
|
|
28
26
|
async *chatStream(request) {
|
|
29
|
-
const
|
|
27
|
+
const apiKey = this.getAuthKey();
|
|
28
|
+
const baseUrl = this.getBaseUrl();
|
|
29
|
+
const response = await fetch(`${baseUrl}/v2/chat/completions`, {
|
|
30
30
|
method: 'POST',
|
|
31
31
|
headers: {
|
|
32
32
|
'Content-Type': 'application/json',
|
|
33
|
-
'Authorization': `Bearer ${
|
|
33
|
+
'Authorization': `Bearer ${apiKey}`,
|
|
34
34
|
},
|
|
35
35
|
body: JSON.stringify({ ...request, stream: true }),
|
|
36
36
|
});
|
|
@@ -69,10 +69,12 @@ export class AIRouterClient {
|
|
|
69
69
|
}
|
|
70
70
|
async testConnection() {
|
|
71
71
|
try {
|
|
72
|
-
const
|
|
72
|
+
const apiKey = this.getAuthKey();
|
|
73
|
+
const baseUrl = this.getBaseUrl();
|
|
74
|
+
const response = await fetch(`${baseUrl}/health`, {
|
|
73
75
|
method: 'GET',
|
|
74
76
|
headers: {
|
|
75
|
-
'Authorization': `Bearer ${
|
|
77
|
+
'Authorization': `Bearer ${apiKey}`,
|
|
76
78
|
},
|
|
77
79
|
});
|
|
78
80
|
return response.ok;
|
package/dist/api/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAmE7D,MAAM,OAAO,cAAc;IACjB,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/App.js
CHANGED
|
@@ -14,7 +14,7 @@ import { useHistory } from './hooks/useHistory.js';
|
|
|
14
14
|
import { useServicesEffect, useToolCallsEffect, useKeyboardShortcuts } from './hooks/useAppEffects.js';
|
|
15
15
|
import { loadSettings, saveSettings } from '../config/index.js';
|
|
16
16
|
import { commandRegistry } from '../commands/index.js';
|
|
17
|
-
const VERSION = '1.0.
|
|
17
|
+
const VERSION = '1.0.63';
|
|
18
18
|
export function App({ initialPrompt }) {
|
|
19
19
|
const { exit } = useApp();
|
|
20
20
|
const settings = loadSettings();
|
package/package.json
CHANGED
package/dist/commands/model.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/commands/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,YAAY,CAAC;AAqBrD,eAAO,MAAM,YAAY,EAAE,OAsD1B,CAAC"}
|
package/dist/commands/model.js
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { loadSettings, saveSettings } from '../config/index.js';
|
|
2
|
-
const AVAILABLE_MODELS = [
|
|
3
|
-
{ id: 'auto', name: 'Auto', description: 'Auto select best model' },
|
|
4
|
-
{ id: 'claude-sonnet-4', name: 'Claude Sonnet 4', description: 'Latest Claude Sonnet' },
|
|
5
|
-
{ id: 'claude-opus-4.5', name: 'Claude Opus 4.5', description: 'Most capable Claude' },
|
|
6
|
-
{ id: 'claude-sonnet-4.5', name: 'Claude Sonnet 4.5', description: 'Claude Sonnet 4.5' },
|
|
7
|
-
{ id: 'claude-haiku-4.5', name: 'Claude Haiku 4.5', description: 'Fast Claude' },
|
|
8
|
-
{ id: 'claude-3-5-sonnet', name: 'Claude 3.5 Sonnet', description: 'Claude 3.5 Sonnet' },
|
|
9
|
-
{ id: 'claude-3-5-haiku', name: 'Claude 3.5 Haiku', description: 'Claude 3.5 Haiku' },
|
|
10
|
-
{ id: 'gpt-5', name: 'GPT-5', description: 'OpenAI GPT-5' },
|
|
11
|
-
{ id: 'gpt-5.1', name: 'GPT-5.1', description: 'OpenAI GPT-5.1' },
|
|
12
|
-
{ id: 'gpt-5.2', name: 'GPT-5.2', description: 'OpenAI GPT-5.2' },
|
|
13
|
-
{ id: 'gpt-4o', name: 'GPT-4o', description: 'OpenAI GPT-4o' },
|
|
14
|
-
{ id: 'gpt-4o-mini', name: 'GPT-4o Mini', description: 'OpenAI GPT-4o Mini' },
|
|
15
|
-
{ id: 'gemini-2.5-pro', name: 'Gemini 2.5 Pro', description: 'Google Gemini 2.5 Pro' },
|
|
16
|
-
{ id: 'gemini-2.5-flash', name: 'Gemini 2.5 Flash', description: 'Google Gemini 2.5 Flash' },
|
|
17
|
-
{ id: 'gemini-3-pro', name: 'Gemini 3 Pro', description: 'Google Gemini 3 Pro' },
|
|
18
|
-
];
|
|
19
|
-
export const modelCommand = {
|
|
20
|
-
name: 'model',
|
|
21
|
-
description: 'Show or change current model',
|
|
22
|
-
aliases: ['m'],
|
|
23
|
-
async execute(context) {
|
|
24
|
-
const args = context.args?.trim();
|
|
25
|
-
const settings = loadSettings();
|
|
26
|
-
// No args - show current model and available models
|
|
27
|
-
if (!args) {
|
|
28
|
-
const modelList = AVAILABLE_MODELS.map((m, index) => {
|
|
29
|
-
const isCurrent = m.id === settings.model;
|
|
30
|
-
const marker = isCurrent ? '→' : ' ';
|
|
31
|
-
return ` ${marker} [${index + 1}] ${m.id.padEnd(18)} - ${m.description}`;
|
|
32
|
-
}).join('\n');
|
|
33
|
-
const output = `
|
|
34
|
-
Current Model: ${settings.model}
|
|
35
|
-
|
|
36
|
-
Available Models:
|
|
37
|
-
${modelList}
|
|
38
|
-
|
|
39
|
-
Usage: /model <number> or /model <model-id>
|
|
40
|
-
Example: /model 1 or /model gpt-4
|
|
41
|
-
`.trim();
|
|
42
|
-
console.log(output);
|
|
43
|
-
return output;
|
|
44
|
-
}
|
|
45
|
-
// Set new model
|
|
46
|
-
let newModel = args.trim();
|
|
47
|
-
// Check if input is a number (select by index)
|
|
48
|
-
const num = parseInt(newModel, 10);
|
|
49
|
-
if (!isNaN(num) && num >= 1 && num <= AVAILABLE_MODELS.length) {
|
|
50
|
-
newModel = AVAILABLE_MODELS[num - 1].id;
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
newModel = newModel.toLowerCase();
|
|
54
|
-
}
|
|
55
|
-
// Check if model exists (or allow custom)
|
|
56
|
-
const knownModel = AVAILABLE_MODELS.find((m) => m.id === newModel);
|
|
57
|
-
saveSettings({ model: newModel });
|
|
58
|
-
const output = knownModel
|
|
59
|
-
? `✓ Model changed to: ${knownModel.name} (${knownModel.id})`
|
|
60
|
-
: `✓ Model changed to: ${newModel} (custom model)`;
|
|
61
|
-
console.log(output);
|
|
62
|
-
return output;
|
|
63
|
-
},
|
|
64
|
-
};
|
|
65
|
-
//# sourceMappingURL=model.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/commands/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export interface ModelSelectorProps {
|
|
3
|
-
onSelect: (model: string) => void;
|
|
4
|
-
onCancel: () => void;
|
|
5
|
-
}
|
|
6
|
-
export declare function ModelSelector({ onSelect, onCancel: _onCancel }: ModelSelectorProps): React.ReactElement;
|
|
7
|
-
//# sourceMappingURL=ModelSelector.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ModelSelector.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ModelSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAuB1B,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAsBvG"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Box, Text } from 'ink';
|
|
3
|
-
import SelectInput from 'ink-select-input';
|
|
4
|
-
import { loadSettings, saveSettings } from '../../config/index.js';
|
|
5
|
-
const AVAILABLE_MODELS = [
|
|
6
|
-
{ label: 'Auto (Best model)', value: 'auto' },
|
|
7
|
-
{ label: 'Claude Sonnet 4', value: 'claude-sonnet-4' },
|
|
8
|
-
{ label: 'Claude Opus 4.5', value: 'claude-opus-4.5' },
|
|
9
|
-
{ label: 'Claude Sonnet 4.5', value: 'claude-sonnet-4.5' },
|
|
10
|
-
{ label: 'Claude Haiku 4.5', value: 'claude-haiku-4.5' },
|
|
11
|
-
{ label: 'Claude 3.5 Sonnet', value: 'claude-3-5-sonnet' },
|
|
12
|
-
{ label: 'Claude 3.5 Haiku', value: 'claude-3-5-haiku' },
|
|
13
|
-
{ label: 'GPT-5', value: 'gpt-5' },
|
|
14
|
-
{ label: 'GPT-5.1', value: 'gpt-5.1' },
|
|
15
|
-
{ label: 'GPT-5.2', value: 'gpt-5.2' },
|
|
16
|
-
{ label: 'GPT-4o', value: 'gpt-4o' },
|
|
17
|
-
{ label: 'GPT-4o Mini', value: 'gpt-4o-mini' },
|
|
18
|
-
{ label: 'Gemini 2.5 Pro', value: 'gemini-2.5-pro' },
|
|
19
|
-
{ label: 'Gemini 2.5 Flash', value: 'gemini-2.5-flash' },
|
|
20
|
-
{ label: 'Gemini 3 Pro', value: 'gemini-3-pro' },
|
|
21
|
-
];
|
|
22
|
-
export function ModelSelector({ onSelect, onCancel: _onCancel }) {
|
|
23
|
-
const settings = loadSettings();
|
|
24
|
-
const currentIndex = AVAILABLE_MODELS.findIndex(m => m.value === settings.model);
|
|
25
|
-
const handleSelect = (item) => {
|
|
26
|
-
saveSettings({ model: item.value });
|
|
27
|
-
onSelect(item.value);
|
|
28
|
-
};
|
|
29
|
-
return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 2, paddingY: 1, children: [_jsx(Text, { bold: true, color: "cyan", children: "Select Model (\u2191\u2193 to navigate, Enter to select, Esc to cancel)" }), _jsxs(Text, { color: "gray", children: ["Current: ", settings.model] }), _jsx(Box, { marginTop: 1, children: _jsx(SelectInput, { items: AVAILABLE_MODELS, initialIndex: currentIndex >= 0 ? currentIndex : 0, onSelect: handleSelect }) })] }));
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=ModelSelector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ModelSelector.js","sourceRoot":"","sources":["../../../src/ui/components/ModelSelector.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,gBAAgB,GAAG;IACvB,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,EAAE;IAC7C,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE;IACtD,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE;IACtD,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE;IAC1D,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IACxD,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE;IAC1D,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IACxD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAClC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IACtC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IACtC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;IAC9C,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACpD,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IACxD,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE;CACjD,CAAC;AAOF,MAAM,UAAU,aAAa,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAsB;IACjF,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEjF,MAAM,YAAY,GAAG,CAAC,IAAsC,EAAE,EAAE;QAC9D,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,aACzF,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,wFAAqE,EAC5F,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,0BAAW,QAAQ,CAAC,KAAK,IAAQ,EACnD,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,WAAW,IACV,KAAK,EAAE,gBAAgB,EACvB,YAAY,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAClD,QAAQ,EAAE,YAAY,GACtB,GACE,IACF,CACP,CAAC;AACJ,CAAC"}
|