@vibes.diy/prompts 0.18.16-dev → 0.18.18-dev
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/catalog.d.ts +1 -0
- package/catalog.js +4 -0
- package/catalog.js.map +1 -0
- package/chat.d.ts +1 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/package.json +11 -5
- package/prompts.d.ts +16 -5
- package/prompts.js +29 -15
- package/prompts.js.map +1 -1
- package/settings.d.ts +1 -0
- package/txt-docs.d.ts +9 -0
- package/txt-docs.js +4 -0
- package/txt-docs.js.map +1 -1
package/catalog.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getDefaultDependencies(): Promise<string[]>;
|
package/catalog.js
ADDED
package/catalog.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../jsr/catalog.ts"],"names":[],"mappings":"AAiCA,MAAM,CAAC,KAAK,UAAU,sBAAsB,GAAsB;IAChE,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAAA,CAChC"}
|
package/chat.d.ts
CHANGED
package/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export * from "./settings.js";
|
|
|
3
3
|
export * from "./chat.js";
|
|
4
4
|
export * from "./json-docs.js";
|
|
5
5
|
export * from "./txt-docs.js";
|
|
6
|
+
export * from "./catalog.js";
|
|
6
7
|
export * from "./view-state.js";
|
|
7
8
|
export * from "./style-prompts.js";
|
|
8
9
|
export { parseContent } from "./segment-parser.js";
|
package/index.js
CHANGED
|
@@ -3,6 +3,7 @@ export * from "./settings.js";
|
|
|
3
3
|
export * from "./chat.js";
|
|
4
4
|
export * from "./json-docs.js";
|
|
5
5
|
export * from "./txt-docs.js";
|
|
6
|
+
export * from "./catalog.js";
|
|
6
7
|
export * from "./view-state.js";
|
|
7
8
|
export * from "./style-prompts.js";
|
|
8
9
|
export { parseContent } from "./segment-parser.js";
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAE9B,cAAc,cAAc,CAAC;AAE7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAGrD,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,aAAa,GACd,MAAM,2BAA2B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibes.diy/prompts",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.18-dev",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "",
|
|
6
6
|
"keywords": [
|
|
@@ -18,14 +18,20 @@
|
|
|
18
18
|
],
|
|
19
19
|
"license": "Apache-2.0",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@adviser/cement": "0.
|
|
22
|
-
"@fireproof/core-types-base": "0.
|
|
23
|
-
"@vibes.diy/use-vibes-types": "^0.18.
|
|
24
|
-
"call-ai": "^0.18.
|
|
21
|
+
"@adviser/cement": "^0.4.66",
|
|
22
|
+
"@fireproof/core-types-base": "^0.23.15",
|
|
23
|
+
"@vibes.diy/use-vibes-types": "^0.18.18-dev",
|
|
24
|
+
"call-ai": "^0.18.18-dev"
|
|
25
25
|
},
|
|
26
26
|
"peerDependencies": {
|
|
27
27
|
"react": ">=19.1.0"
|
|
28
28
|
},
|
|
29
|
+
"devDependencies": {
|
|
30
|
+
"@fireproof/core-cli": "^0.23.15",
|
|
31
|
+
"@vitest/browser-playwright": "^4.0.10",
|
|
32
|
+
"typescript": "^5.9.3",
|
|
33
|
+
"typescript-eslint": "^8.46.1"
|
|
34
|
+
},
|
|
29
35
|
"scripts": {
|
|
30
36
|
"build": "core-cli tsc",
|
|
31
37
|
"test": "vitest run"
|
package/prompts.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Mocks } from "call-ai";
|
|
2
|
-
import type { UserSettings } from "./settings.js";
|
|
2
|
+
import type { HistoryMessage, UserSettings } from "./settings.js";
|
|
3
3
|
import { CoerceURI } from "@adviser/cement";
|
|
4
4
|
import { LlmCatalogEntry } from "./json-docs.js";
|
|
5
|
-
export declare const DEFAULT_CODING_MODEL: "anthropic/claude-
|
|
5
|
+
export declare const DEFAULT_CODING_MODEL: "anthropic/claude-sonnet-4.5";
|
|
6
|
+
export declare const RAG_DECISION_MODEL: "openai/gpt-4o";
|
|
7
|
+
export declare function defaultCodingModel(): Promise<"anthropic/claude-sonnet-4.5">;
|
|
6
8
|
export declare function normalizeModelId(id: unknown): string | undefined;
|
|
7
9
|
export declare function isPermittedModelId(id: unknown): id is string;
|
|
8
10
|
export declare function resolveEffectiveModel(settingsDoc?: {
|
|
@@ -10,23 +12,32 @@ export declare function resolveEffectiveModel(settingsDoc?: {
|
|
|
10
12
|
}, vibeDoc?: {
|
|
11
13
|
selectedModel?: string;
|
|
12
14
|
}): Promise<string>;
|
|
13
|
-
export declare function getDefaultDependencies(): Promise<string[]>;
|
|
14
15
|
export interface SystemPromptResult {
|
|
15
16
|
systemPrompt: string;
|
|
16
17
|
dependencies: string[];
|
|
18
|
+
instructionalText: boolean;
|
|
17
19
|
demoData: boolean;
|
|
18
20
|
model: string;
|
|
19
21
|
}
|
|
20
|
-
interface
|
|
22
|
+
export interface LlmSelectionDecisions {
|
|
23
|
+
selected: string[];
|
|
24
|
+
instructionalText: boolean;
|
|
25
|
+
demoData: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface LlmSelectionOptions {
|
|
21
28
|
readonly appMode?: "test" | "production";
|
|
22
29
|
readonly callAiEndpoint?: CoerceURI;
|
|
23
30
|
readonly fallBackUrl?: CoerceURI;
|
|
24
31
|
readonly getAuthToken?: () => Promise<string>;
|
|
25
32
|
readonly mock?: Mocks;
|
|
26
33
|
}
|
|
34
|
+
export type LlmSelectionWithFallbackUrl = Omit<Omit<LlmSelectionOptions, "fallBackUrl">, "callAiEndpoint"> & {
|
|
35
|
+
readonly fallBackUrl: CoerceURI;
|
|
36
|
+
readonly callAiEndpoint?: CoerceURI;
|
|
37
|
+
};
|
|
38
|
+
export declare function selectLlmsAndOptions(model: string, userPrompt: string, history: HistoryMessage[], iopts: LlmSelectionOptions): Promise<LlmSelectionDecisions>;
|
|
27
39
|
export declare function generateImportStatements(llms: LlmCatalogEntry[]): string;
|
|
28
40
|
export declare function makeBaseSystemPrompt(model: string, sessionDoc: Partial<UserSettings> & LlmSelectionOptions): Promise<SystemPromptResult>;
|
|
29
41
|
export declare const RESPONSE_FORMAT: {
|
|
30
42
|
structure: string[];
|
|
31
43
|
};
|
|
32
|
-
export {};
|
package/prompts.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { callAI } from "call-ai";
|
|
2
2
|
import { Lazy, URI } from "@adviser/cement";
|
|
3
3
|
import { getJsonDocs, getLlmCatalog, getLlmCatalogNames, } from "./json-docs.js";
|
|
4
|
+
import { getDefaultDependencies } from "./catalog.js";
|
|
4
5
|
import { getTexts } from "./txt-docs.js";
|
|
5
6
|
import { defaultStylePrompt } from "./style-prompts.js";
|
|
6
|
-
export const DEFAULT_CODING_MODEL = "anthropic/claude-
|
|
7
|
-
const RAG_DECISION_MODEL = "openai/gpt-4o";
|
|
8
|
-
async function defaultCodingModel() {
|
|
7
|
+
export const DEFAULT_CODING_MODEL = "anthropic/claude-sonnet-4.5";
|
|
8
|
+
export const RAG_DECISION_MODEL = "openai/gpt-4o";
|
|
9
|
+
export async function defaultCodingModel() {
|
|
9
10
|
return DEFAULT_CODING_MODEL;
|
|
10
11
|
}
|
|
11
12
|
function normalizeModelIdInternal(id) {
|
|
@@ -29,9 +30,6 @@ export async function resolveEffectiveModel(settingsDoc, vibeDoc) {
|
|
|
29
30
|
return globalChoice;
|
|
30
31
|
return defaultCodingModel();
|
|
31
32
|
}
|
|
32
|
-
export async function getDefaultDependencies() {
|
|
33
|
-
return ["fireproof", "callai"];
|
|
34
|
-
}
|
|
35
33
|
function escapeRegExp(str) {
|
|
36
34
|
return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
37
35
|
}
|
|
@@ -71,13 +69,13 @@ async function detectModulesInHistory(history, opts) {
|
|
|
71
69
|
async function sleepReject(ms) {
|
|
72
70
|
return new Promise((_, rj) => setTimeout(rj, ms));
|
|
73
71
|
}
|
|
74
|
-
async function selectLlmsAndOptions(model, userPrompt, history, iopts) {
|
|
72
|
+
export async function selectLlmsAndOptions(model, userPrompt, history, iopts) {
|
|
75
73
|
const opts = {
|
|
76
74
|
appMode: "production",
|
|
77
75
|
...iopts,
|
|
78
76
|
callAiEndpoint: iopts.callAiEndpoint ? iopts.callAiEndpoint : undefined,
|
|
79
77
|
fallBackUrl: URI.from(iopts.fallBackUrl ??
|
|
80
|
-
"https://esm.sh/use-vibes@0.18.
|
|
78
|
+
"https://esm.sh/use-vibes@0.18.8/prompt-catalog/llms").toString(),
|
|
81
79
|
getAuthToken: iopts.getAuthToken,
|
|
82
80
|
};
|
|
83
81
|
const llmsCatalog = await getLlmCatalog(opts.fallBackUrl);
|
|
@@ -93,7 +91,7 @@ async function selectLlmsAndOptions(model, userPrompt, history, iopts) {
|
|
|
93
91
|
const messages = [
|
|
94
92
|
{
|
|
95
93
|
role: "system",
|
|
96
|
-
content: 'You select which library modules from a catalog should be included AND whether to include a demo-data button. First analyze if the user prompt describes specific look & feel requirements. For demo data: include
|
|
94
|
+
content: 'You select which library modules from a catalog should be included AND whether to include instructional UI text and a demo-data button. First analyze if the user prompt describes specific look & feel requirements. For instructional text and demo data: include them only when asked for. Read the JSON payload and return JSON with properties: "selected" (array of catalog "name" strings), "instructionalText" (boolean), and "demoData" (boolean). Only choose modules from the catalog. Include any libraries already used in history. Respond with JSON only.',
|
|
97
95
|
},
|
|
98
96
|
{ role: "user", content: JSON.stringify(payload) },
|
|
99
97
|
];
|
|
@@ -107,6 +105,7 @@ async function selectLlmsAndOptions(model, userPrompt, history, iopts) {
|
|
|
107
105
|
name: "module_and_options_selection",
|
|
108
106
|
properties: {
|
|
109
107
|
selected: { type: "array", items: { type: "string" } },
|
|
108
|
+
instructionalText: { type: "boolean" },
|
|
110
109
|
demoData: { type: "boolean" },
|
|
111
110
|
},
|
|
112
111
|
},
|
|
@@ -132,24 +131,30 @@ async function selectLlmsAndOptions(model, userPrompt, history, iopts) {
|
|
|
132
131
|
throw err;
|
|
133
132
|
}),
|
|
134
133
|
]);
|
|
135
|
-
const raw = (await withTimeout((options
|
|
134
|
+
const raw = (await withTimeout(callCallAI(options)(messages, options)));
|
|
136
135
|
if (raw === undefined || raw === null) {
|
|
137
136
|
console.warn("Module/options selection: call-ai returned undefined with schema present");
|
|
138
137
|
console.warn("This is a known issue in the prompts package environment");
|
|
139
|
-
return { selected: [], demoData: true };
|
|
138
|
+
return { selected: [], instructionalText: true, demoData: true };
|
|
140
139
|
}
|
|
141
140
|
const parsed = JSON.parse(raw) ?? {};
|
|
142
141
|
const selected = Array.isArray(parsed?.selected)
|
|
143
142
|
? parsed.selected.filter((v) => typeof v === "string")
|
|
144
143
|
: [];
|
|
144
|
+
const instructionalText = typeof parsed?.instructionalText === "boolean"
|
|
145
|
+
? parsed.instructionalText
|
|
146
|
+
: true;
|
|
145
147
|
const demoData = typeof parsed?.demoData === "boolean" ? parsed.demoData : true;
|
|
146
|
-
return { selected, demoData };
|
|
148
|
+
return { selected, instructionalText, demoData };
|
|
147
149
|
}
|
|
148
150
|
catch (err) {
|
|
149
151
|
console.warn("Module/options selection call failed:", err);
|
|
150
|
-
return { selected: [], demoData: true };
|
|
152
|
+
return { selected: [], instructionalText: true, demoData: true };
|
|
151
153
|
}
|
|
152
154
|
}
|
|
155
|
+
function callCallAI(option) {
|
|
156
|
+
return option.mock?.callAI || callAI;
|
|
157
|
+
}
|
|
153
158
|
export function generateImportStatements(llms) {
|
|
154
159
|
const seen = new Set();
|
|
155
160
|
return llms
|
|
@@ -184,6 +189,7 @@ export async function makeBaseSystemPrompt(model, sessionDoc) {
|
|
|
184
189
|
: [];
|
|
185
190
|
const useOverride = !!sessionDoc?.dependenciesUserOverride;
|
|
186
191
|
let selectedNames = [];
|
|
192
|
+
let includeInstructional = true;
|
|
187
193
|
let includeDemoData = true;
|
|
188
194
|
const llmsCatalog = await getLlmCatalog(sessionDoc.fallBackUrl);
|
|
189
195
|
const llmsCatalogNames = await getLlmCatalogNames(sessionDoc.fallBackUrl);
|
|
@@ -194,6 +200,7 @@ export async function makeBaseSystemPrompt(model, sessionDoc) {
|
|
|
194
200
|
}
|
|
195
201
|
else {
|
|
196
202
|
const decisions = await selectLlmsAndOptions(RAG_DECISION_MODEL, userPrompt, history, sessionDoc);
|
|
203
|
+
includeInstructional = decisions.instructionalText;
|
|
197
204
|
includeDemoData = decisions.demoData;
|
|
198
205
|
const detected = await detectModulesInHistory(history, sessionDoc);
|
|
199
206
|
const finalNames = new Set([...decisions.selected, ...detected]);
|
|
@@ -201,6 +208,9 @@ export async function makeBaseSystemPrompt(model, sessionDoc) {
|
|
|
201
208
|
if (selectedNames.length === 0)
|
|
202
209
|
selectedNames = [...(await getDefaultDependencies())];
|
|
203
210
|
}
|
|
211
|
+
if (typeof sessionDoc?.instructionalTextOverride === "boolean") {
|
|
212
|
+
includeInstructional = sessionDoc.instructionalTextOverride;
|
|
213
|
+
}
|
|
204
214
|
if (typeof sessionDoc?.demoDataOverride === "boolean") {
|
|
205
215
|
includeDemoData = sessionDoc.demoDataOverride;
|
|
206
216
|
}
|
|
@@ -219,6 +229,9 @@ ${text || ""}
|
|
|
219
229
|
`;
|
|
220
230
|
}
|
|
221
231
|
const stylePrompt = sessionDoc?.stylePrompt || defaultStylePrompt;
|
|
232
|
+
const instructionalLine = includeInstructional
|
|
233
|
+
? "- In the UI, include a vivid description of the app's purpose and detailed instructions how to use it, in italic text.\n"
|
|
234
|
+
: "";
|
|
222
235
|
const demoDataLines = includeDemoData
|
|
223
236
|
? `- If your app has a function that uses callAI with a schema to save data, include a Demo Data button that calls that function with an example prompt. Don't write an extra function, use real app code so the data illustrates what it looks like to use the app.\n- Never have have an instance of callAI that is only used to generate demo data, always use the same calls that are triggered by user actions in the app.\n`
|
|
224
237
|
: "";
|
|
@@ -243,7 +256,7 @@ You are an AI assistant tasked with creating React components. You should create
|
|
|
243
256
|
- The system can send you crash reports, fix them by simplifying the affected code
|
|
244
257
|
- List data items on the main page of your app so users don't have to hunt for them
|
|
245
258
|
- If you save data, make sure it is browseable in the app, eg lists should be clickable for more details
|
|
246
|
-
${demoDataLines}
|
|
259
|
+
${instructionalLine}${demoDataLines}
|
|
247
260
|
|
|
248
261
|
${concatenatedLlmsTxt}
|
|
249
262
|
|
|
@@ -257,7 +270,7 @@ ${userPrompt
|
|
|
257
270
|
`
|
|
258
271
|
: ""}IMPORTANT: You are working in one JavaScript file, use tailwind classes for styling. Remember to use brackets like bg-[#242424] for custom colors.
|
|
259
272
|
|
|
260
|
-
Provide a title and brief explanation followed by the component code. The component should demonstrate proper Fireproof integration with real-time updates and proper data persistence.
|
|
273
|
+
Provide a title and brief explanation followed by the component code. The component should demonstrate proper Fireproof integration with real-time updates and proper data persistence. Follow it with a brief description of the app's purpose and instructions how to use it (with occasional bold or italic for emphasis). Then suggest some additional features that could be added to the app.
|
|
261
274
|
|
|
262
275
|
Begin the component with the import statements. Use react and the following libraries:
|
|
263
276
|
|
|
@@ -271,6 +284,7 @@ import React, { ... } from "react"${generateImportStatements(chosenLlms)}
|
|
|
271
284
|
return {
|
|
272
285
|
systemPrompt,
|
|
273
286
|
dependencies: selectedNames,
|
|
287
|
+
instructionalText: includeInstructional,
|
|
274
288
|
demoData: includeDemoData,
|
|
275
289
|
model,
|
|
276
290
|
};
|
package/prompts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../jsr/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA2C,MAAM,SAAS,CAAC;AAG1E,OAAO,EAAa,IAAI,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EACL,WAAW,EACX,aAAa,EACb,kBAAkB,GAEnB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../jsr/prompts.ts"],"names":[],"mappings":"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"}
|
package/settings.d.ts
CHANGED
package/txt-docs.d.ts
CHANGED
|
@@ -3,4 +3,13 @@ export interface TxtDoc {
|
|
|
3
3
|
readonly name: string;
|
|
4
4
|
readonly txt: string;
|
|
5
5
|
}
|
|
6
|
+
export interface TxtDocs {
|
|
7
|
+
"fireproof.txt": TxtDoc;
|
|
8
|
+
"image-gen.txt": TxtDoc;
|
|
9
|
+
"web-audio.txt": TxtDoc;
|
|
10
|
+
"d3.md": TxtDoc;
|
|
11
|
+
"three-js.md": TxtDoc;
|
|
12
|
+
[key: string]: TxtDoc;
|
|
13
|
+
}
|
|
14
|
+
export declare function getTxtDocs(_fallBackUrl: CoerceURI): Promise<TxtDocs>;
|
|
6
15
|
export declare function getTexts(name: string, fallBackUrl: CoerceURI): Promise<string | undefined>;
|
package/txt-docs.js
CHANGED
|
@@ -31,6 +31,10 @@ async function loadTxtDoc(file, fallBackUrl) {
|
|
|
31
31
|
return { name: file, txt: rAsset.Ok() };
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
|
+
export async function getTxtDocs(_fallBackUrl) {
|
|
35
|
+
const m = {};
|
|
36
|
+
return m;
|
|
37
|
+
}
|
|
34
38
|
export async function getTexts(name, fallBackUrl) {
|
|
35
39
|
name = name.toLocaleLowerCase().trim();
|
|
36
40
|
for (const file of files) {
|
package/txt-docs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"txt-docs.js","sourceRoot":"","sources":["../jsr/txt-docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"txt-docs.js","sourceRoot":"","sources":["../jsr/txt-docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAO1C,MAAM,KAAK,GAAG;IACZ,YAAY;IACZ,eAAe;IACf,eAAe;IACf,eAAe;IACf,OAAO;IACP,aAAa;CACd,CAAC;AAaF,MAAM,WAAW,GAAG,IAAI,GAAG,EAA2C,CAAC;AAEvE,SAAS,aAAa,CACpB,IAAY,EACZ,WAAsB,EACW;IACjC,MAAM,GAAG,GAAG,GAAG,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;IACvD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,WAAW,EAAsB,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,MAAM,CAAC;AAAA,CACf;AAED,KAAK,UAAU,UAAU,CACvB,IAAY,EACZ,WAAsB,EACO;IAC7B,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAChD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,wBAAwB,IAAI,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC/D,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;IAAA,CACzC,CAAC,CAAC;AAAA,CACJ;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,YAAuB,EAAoB;IAE1E,MAAM,CAAC,GAAY,EAAa,CAAC;IAEjC,OAAO,CAAC,CAAC;AAAA,CACV;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAY,EACZ,WAAsB,EACO;IAC7B,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,CAAC;IAGvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GACZ,IAAI;aACD,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,EAAE;YACN,EAAE,WAAW,EAAE;aACd,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAChD,OAAO,GAAG,EAAE,GAAG,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AAAA,CAClB"}
|