needware-cli 1.5.13 → 1.5.17
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 +49 -1
- package/dist/commands/agent.d.ts +12 -0
- package/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +133 -7
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/index.d.ts +1 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +1 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/skill.d.ts +34 -0
- package/dist/commands/skill.d.ts.map +1 -0
- package/dist/commands/skill.js +307 -0
- package/dist/commands/skill.js.map +1 -0
- package/dist/commands/system-prompt.d.ts.map +1 -1
- package/dist/commands/system-prompt.js +287 -43
- package/dist/commands/system-prompt.js.map +1 -1
- package/dist/core/cli.d.ts.map +1 -1
- package/dist/core/cli.js +8 -1
- package/dist/core/cli.js.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/sdk/firecrawl-sdk.d.ts +85 -0
- package/dist/sdk/firecrawl-sdk.d.ts.map +1 -0
- package/dist/sdk/firecrawl-sdk.js +207 -0
- package/dist/sdk/firecrawl-sdk.js.map +1 -0
- package/dist/tools/ai-gateway-enable-tool.d.ts +12 -0
- package/dist/tools/ai-gateway-enable-tool.d.ts.map +1 -0
- package/dist/tools/ai-gateway-enable-tool.js +33 -0
- package/dist/tools/ai-gateway-enable-tool.js.map +1 -0
- package/dist/tools/base-tool.d.ts +76 -0
- package/dist/tools/base-tool.d.ts.map +1 -0
- package/dist/tools/base-tool.js +119 -0
- package/dist/tools/base-tool.js.map +1 -0
- package/dist/tools/example-tool.d.ts +16 -0
- package/dist/tools/example-tool.d.ts.map +1 -0
- package/dist/tools/example-tool.js +67 -0
- package/dist/tools/example-tool.js.map +1 -0
- package/dist/tools/index.d.ts +9 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +9 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/supabase-deploy-functions-tool.d.ts +18 -0
- package/dist/tools/supabase-deploy-functions-tool.d.ts.map +1 -0
- package/dist/tools/supabase-deploy-functions-tool.js +127 -0
- package/dist/tools/supabase-deploy-functions-tool.js.map +1 -0
- package/dist/tools/supabase-enable-tool.d.ts +12 -0
- package/dist/tools/supabase-enable-tool.d.ts.map +1 -0
- package/dist/tools/supabase-enable-tool.js +89 -0
- package/dist/tools/supabase-enable-tool.js.map +1 -0
- package/dist/tools/tool-registry.d.ts +51 -0
- package/dist/tools/tool-registry.d.ts.map +1 -0
- package/dist/tools/tool-registry.js +81 -0
- package/dist/tools/tool-registry.js.map +1 -0
- package/dist/tools/user-registration-tool.d.ts +17 -0
- package/dist/tools/user-registration-tool.d.ts.map +1 -0
- package/dist/tools/user-registration-tool.js +63 -0
- package/dist/tools/user-registration-tool.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/tool.d.ts +60 -0
- package/dist/types/tool.d.ts.map +1 -0
- package/dist/types/tool.js +5 -0
- package/dist/types/tool.js.map +1 -0
- package/examples/gateway-config-usage.sh +71 -0
- package/examples/tool-usage-example.sh +44 -0
- package/package.json +2 -2
- package/CHANGELOG_DB_CONFIG.md +0 -142
- package/IMPLEMENTATION_SUMMARY.md +0 -303
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skill 命令 - 管理和添加技能到 .claude/skills
|
|
3
|
+
*/
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import ora from 'ora';
|
|
6
|
+
import * as fs from 'fs';
|
|
7
|
+
import * as path from 'path';
|
|
8
|
+
import { Command } from '../core/command.js';
|
|
9
|
+
import { fileURLToPath } from 'url';
|
|
10
|
+
import { dirname } from 'path';
|
|
11
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
12
|
+
const __dirname = dirname(__filename);
|
|
13
|
+
export class SkillCommand extends Command {
|
|
14
|
+
name = 'skill';
|
|
15
|
+
description = '管理和添加技能到 .claude/skills';
|
|
16
|
+
aliases = ['sk'];
|
|
17
|
+
constructor(logger) {
|
|
18
|
+
super(logger);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 获取 CLI 工具自带的 skills 目录路径
|
|
22
|
+
*/
|
|
23
|
+
getCliSkillsDir() {
|
|
24
|
+
// __dirname 是 dist/commands/ (编译后)
|
|
25
|
+
// 需要回到项目根目录,然后进入 src/skills
|
|
26
|
+
const distDir = __dirname; // dist/commands
|
|
27
|
+
const projectRoot = path.resolve(distDir, '..', '..'); // 回到 needware-cli 根目录
|
|
28
|
+
return path.join(projectRoot, 'src', 'skills');
|
|
29
|
+
}
|
|
30
|
+
async execute(options) {
|
|
31
|
+
try {
|
|
32
|
+
const skillName = options.args?.[0];
|
|
33
|
+
// 如果没有提供技能名称,显示可用技能列表
|
|
34
|
+
if (!skillName) {
|
|
35
|
+
return this.listAvailableSkills();
|
|
36
|
+
}
|
|
37
|
+
// 如果是 "all",添加所有技能
|
|
38
|
+
if (skillName === 'all') {
|
|
39
|
+
return await this.addAllSkills(options);
|
|
40
|
+
}
|
|
41
|
+
// 添加指定的技能
|
|
42
|
+
return await this.addSkill(skillName, options);
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
const message = error instanceof Error ? error.message : 'Skill command failed';
|
|
46
|
+
return this.error(message, error);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* 列出所有可用的技能
|
|
51
|
+
*/
|
|
52
|
+
listAvailableSkills() {
|
|
53
|
+
// 从 CLI 工具自带的 skills 目录读取
|
|
54
|
+
const skillsDir = this.getCliSkillsDir();
|
|
55
|
+
// 检查 skills 目录是否存在
|
|
56
|
+
if (!fs.existsSync(skillsDir)) {
|
|
57
|
+
console.log(chalk.yellow('\n⚠️ 未找到 needware-cli 的 skills 目录\n'));
|
|
58
|
+
console.log(chalk.gray(`路径: ${skillsDir}\n`));
|
|
59
|
+
return this.error('Skills 目录不存在');
|
|
60
|
+
}
|
|
61
|
+
// 读取 skills 目录
|
|
62
|
+
const entries = fs.readdirSync(skillsDir, { withFileTypes: true });
|
|
63
|
+
const skills = entries
|
|
64
|
+
.filter(entry => entry.isDirectory())
|
|
65
|
+
.filter(dir => {
|
|
66
|
+
// 检查目录中是否有 SKILL.md 文件
|
|
67
|
+
const skillFile = path.join(skillsDir, dir.name, 'SKILL.md');
|
|
68
|
+
return fs.existsSync(skillFile);
|
|
69
|
+
})
|
|
70
|
+
.map(dir => dir.name);
|
|
71
|
+
if (skills.length === 0) {
|
|
72
|
+
console.log(chalk.yellow('\n⚠️ 没有找到可用的技能\n'));
|
|
73
|
+
return this.success('No skills found');
|
|
74
|
+
}
|
|
75
|
+
console.log(chalk.blue('\n📚 可用的技能:\n'));
|
|
76
|
+
console.log(chalk.gray('─'.repeat(70)));
|
|
77
|
+
skills.forEach(skill => {
|
|
78
|
+
const skillFile = path.join(skillsDir, skill, 'SKILL.md');
|
|
79
|
+
const content = fs.readFileSync(skillFile, 'utf-8');
|
|
80
|
+
// 尝试从 SKILL.md 中提取描述
|
|
81
|
+
const descMatch = content.match(/^description:\s*(.+)$/m);
|
|
82
|
+
const description = descMatch ? descMatch[1] : '无描述';
|
|
83
|
+
console.log(chalk.cyan(` ${skill}`));
|
|
84
|
+
console.log(chalk.gray(` ${description}`));
|
|
85
|
+
console.log();
|
|
86
|
+
});
|
|
87
|
+
console.log(chalk.gray('─'.repeat(70)));
|
|
88
|
+
console.log(chalk.cyan('\n用法:'));
|
|
89
|
+
console.log(chalk.gray(' needware-cli skill <skill-name> 添加指定技能'));
|
|
90
|
+
console.log(chalk.gray(' needware-cli skill all 添加所有可用技能'));
|
|
91
|
+
console.log(chalk.gray(' needware-cli skill <skill-name> --force 强制覆盖已存在的技能\n'));
|
|
92
|
+
console.log(chalk.cyan('示例:'));
|
|
93
|
+
console.log(chalk.gray(' needware-cli skill ai-integration'));
|
|
94
|
+
console.log(chalk.gray(' needware-cli skill all'));
|
|
95
|
+
console.log(chalk.gray(' needware-cli skill all --force\n'));
|
|
96
|
+
return this.success('Skills listed successfully');
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* 获取所有可用的技能列表
|
|
100
|
+
*/
|
|
101
|
+
getAllSkills() {
|
|
102
|
+
const skillsDir = this.getCliSkillsDir();
|
|
103
|
+
if (!fs.existsSync(skillsDir)) {
|
|
104
|
+
return [];
|
|
105
|
+
}
|
|
106
|
+
const entries = fs.readdirSync(skillsDir, { withFileTypes: true });
|
|
107
|
+
const skills = entries
|
|
108
|
+
.filter(entry => entry.isDirectory())
|
|
109
|
+
.filter(dir => {
|
|
110
|
+
const skillFile = path.join(skillsDir, dir.name, 'SKILL.md');
|
|
111
|
+
return fs.existsSync(skillFile);
|
|
112
|
+
})
|
|
113
|
+
.map(dir => dir.name);
|
|
114
|
+
return skills;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* 添加所有技能到 .claude/skills
|
|
118
|
+
*/
|
|
119
|
+
async addAllSkills(options) {
|
|
120
|
+
const spinner = ora('正在获取所有可用技能...').start();
|
|
121
|
+
try {
|
|
122
|
+
const skills = this.getAllSkills();
|
|
123
|
+
if (skills.length === 0) {
|
|
124
|
+
spinner.warn(chalk.yellow('没有找到可用的技能'));
|
|
125
|
+
return this.error('没有可用的技能');
|
|
126
|
+
}
|
|
127
|
+
spinner.text = `找到 ${skills.length} 个技能,开始添加...`;
|
|
128
|
+
const results = {
|
|
129
|
+
success: [],
|
|
130
|
+
failed: [],
|
|
131
|
+
skipped: []
|
|
132
|
+
};
|
|
133
|
+
for (const skillName of skills) {
|
|
134
|
+
spinner.text = `正在添加 ${skillName}...`;
|
|
135
|
+
try {
|
|
136
|
+
// 从 CLI 工具自带的 skills 目录读取技能
|
|
137
|
+
const cliSkillsDir = this.getCliSkillsDir();
|
|
138
|
+
const skillFilePath = path.join(cliSkillsDir, skillName, 'SKILL.md');
|
|
139
|
+
if (!fs.existsSync(skillFilePath)) {
|
|
140
|
+
results.failed.push(skillName);
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
// 读取技能文件内容
|
|
144
|
+
const skillContent = fs.readFileSync(skillFilePath, 'utf-8');
|
|
145
|
+
// 确定用户项目的 .claude/skills 路径
|
|
146
|
+
const userProjectRoot = process.cwd();
|
|
147
|
+
const claudeDir = path.join(userProjectRoot, '.claude');
|
|
148
|
+
const skillsPath = path.join(claudeDir, 'skills');
|
|
149
|
+
// 确保 .claude 目录存在
|
|
150
|
+
if (!fs.existsSync(claudeDir)) {
|
|
151
|
+
fs.mkdirSync(claudeDir, { recursive: true });
|
|
152
|
+
}
|
|
153
|
+
// 检查 skills 是文件还是目录,如果不存在则默认创建为目录
|
|
154
|
+
let isDirectory = false;
|
|
155
|
+
if (fs.existsSync(skillsPath)) {
|
|
156
|
+
const stats = fs.statSync(skillsPath);
|
|
157
|
+
isDirectory = stats.isDirectory();
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
// 如果 skills 不存在,创建为目录
|
|
161
|
+
fs.mkdirSync(skillsPath, { recursive: true });
|
|
162
|
+
isDirectory = true;
|
|
163
|
+
}
|
|
164
|
+
if (isDirectory) {
|
|
165
|
+
// 如果是目录,创建技能子目录并复制 SKILL.md
|
|
166
|
+
const targetDir = path.join(skillsPath, skillName);
|
|
167
|
+
const targetFile = path.join(targetDir, 'SKILL.md');
|
|
168
|
+
if (fs.existsSync(targetFile) && !options.force) {
|
|
169
|
+
results.skipped.push(skillName);
|
|
170
|
+
continue;
|
|
171
|
+
}
|
|
172
|
+
// 创建技能目录(如果不存在)
|
|
173
|
+
if (!fs.existsSync(targetDir)) {
|
|
174
|
+
fs.mkdirSync(targetDir, { recursive: true });
|
|
175
|
+
}
|
|
176
|
+
// 写入技能文件
|
|
177
|
+
fs.writeFileSync(targetFile, skillContent, 'utf-8');
|
|
178
|
+
results.success.push(skillName);
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
// 如果是文件,追加到 skills 文件
|
|
182
|
+
const separator = '\n\n' + '='.repeat(80) + '\n\n';
|
|
183
|
+
const contentToAppend = fs.existsSync(skillsPath) ? separator + skillContent : skillContent;
|
|
184
|
+
fs.appendFileSync(skillsPath, contentToAppend, 'utf-8');
|
|
185
|
+
results.success.push(skillName);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
catch (error) {
|
|
189
|
+
results.failed.push(skillName);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
spinner.succeed(chalk.green('✅ 批量添加完成'));
|
|
193
|
+
// 显示结果统计
|
|
194
|
+
console.log(chalk.blue('\n📊 添加结果:\n'));
|
|
195
|
+
console.log(chalk.gray('─'.repeat(70)));
|
|
196
|
+
if (results.success.length > 0) {
|
|
197
|
+
console.log(chalk.green(`\n✅ 成功添加 (${results.success.length}):`));
|
|
198
|
+
results.success.forEach(skill => {
|
|
199
|
+
console.log(chalk.gray(` • ${skill}`));
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
if (results.skipped.length > 0) {
|
|
203
|
+
console.log(chalk.yellow(`\n⚠️ 跳过已存在 (${results.skipped.length}):`));
|
|
204
|
+
results.skipped.forEach(skill => {
|
|
205
|
+
console.log(chalk.gray(` • ${skill}`));
|
|
206
|
+
});
|
|
207
|
+
console.log(chalk.gray('\n 💡 使用 --force 选项可以覆盖已存在的技能'));
|
|
208
|
+
}
|
|
209
|
+
if (results.failed.length > 0) {
|
|
210
|
+
console.log(chalk.red(`\n❌ 添加失败 (${results.failed.length}):`));
|
|
211
|
+
results.failed.forEach(skill => {
|
|
212
|
+
console.log(chalk.gray(` • ${skill}`));
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
console.log(chalk.gray('\n' + '─'.repeat(70)));
|
|
216
|
+
console.log(chalk.cyan('\n📄 技能已添加到:'), path.join(process.cwd(), '.claude', 'skills'));
|
|
217
|
+
console.log(chalk.gray('💡 提示: 你可以在 Cursor 或 Claude 中使用这些技能\n'));
|
|
218
|
+
return this.success(`成功添加 ${results.success.length} 个技能`);
|
|
219
|
+
}
|
|
220
|
+
catch (error) {
|
|
221
|
+
spinner.fail(chalk.red('批量添加失败'));
|
|
222
|
+
throw error;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* 添加指定的技能到 .claude/skills
|
|
227
|
+
*/
|
|
228
|
+
async addSkill(skillName, options) {
|
|
229
|
+
const spinner = ora(`正在处理 ${skillName} 技能...`).start();
|
|
230
|
+
try {
|
|
231
|
+
// 从 CLI 工具自带的 skills 目录读取技能
|
|
232
|
+
const cliSkillsDir = this.getCliSkillsDir();
|
|
233
|
+
const skillFilePath = path.join(cliSkillsDir, skillName, 'SKILL.md');
|
|
234
|
+
// 检查技能文件是否存在
|
|
235
|
+
if (!fs.existsSync(skillFilePath)) {
|
|
236
|
+
spinner.fail(chalk.red(`技能不存在: ${skillName}`));
|
|
237
|
+
console.log(chalk.yellow('\n💡 提示: 运行 "needware-cli skill" 查看可用的技能\n'));
|
|
238
|
+
return this.error(`技能文件不存在: ${skillFilePath}`);
|
|
239
|
+
}
|
|
240
|
+
// 读取技能文件内容
|
|
241
|
+
const skillContent = fs.readFileSync(skillFilePath, 'utf-8');
|
|
242
|
+
// 确定用户项目的 .claude/skills 路径
|
|
243
|
+
const userProjectRoot = process.cwd();
|
|
244
|
+
const claudeDir = path.join(userProjectRoot, '.claude');
|
|
245
|
+
const skillsPath = path.join(claudeDir, 'skills');
|
|
246
|
+
// 确保 .claude 目录存在
|
|
247
|
+
if (!fs.existsSync(claudeDir)) {
|
|
248
|
+
fs.mkdirSync(claudeDir, { recursive: true });
|
|
249
|
+
spinner.text = `创建了 .claude 目录`;
|
|
250
|
+
}
|
|
251
|
+
// 检查 skills 是文件还是目录,如果不存在则默认创建为目录
|
|
252
|
+
let isDirectory = false;
|
|
253
|
+
if (fs.existsSync(skillsPath)) {
|
|
254
|
+
const stats = fs.statSync(skillsPath);
|
|
255
|
+
isDirectory = stats.isDirectory();
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
// 如果 skills 不存在,创建为目录
|
|
259
|
+
fs.mkdirSync(skillsPath, { recursive: true });
|
|
260
|
+
isDirectory = true;
|
|
261
|
+
spinner.text = `创建了 .claude/skills 目录`;
|
|
262
|
+
}
|
|
263
|
+
if (isDirectory) {
|
|
264
|
+
// 如果是目录,创建技能子目录并复制 SKILL.md
|
|
265
|
+
const targetDir = path.join(skillsPath, skillName);
|
|
266
|
+
const targetFile = path.join(targetDir, 'SKILL.md');
|
|
267
|
+
if (fs.existsSync(targetFile)) {
|
|
268
|
+
// 如果文件已存在,检查是否使用 force 选项
|
|
269
|
+
spinner.warn(chalk.yellow('目标技能已存在'));
|
|
270
|
+
if (options.force) {
|
|
271
|
+
fs.writeFileSync(targetFile, skillContent, 'utf-8');
|
|
272
|
+
spinner.succeed(chalk.green(`✅ ${skillName} 技能已更新到 .claude/skills/${skillName}/SKILL.md`));
|
|
273
|
+
}
|
|
274
|
+
else {
|
|
275
|
+
spinner.info(chalk.blue('使用 --force 选项可以覆盖现有技能'));
|
|
276
|
+
return this.success(`${skillName} 技能已存在`, { path: targetFile });
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
else {
|
|
280
|
+
// 创建技能目录(如果不存在)
|
|
281
|
+
if (!fs.existsSync(targetDir)) {
|
|
282
|
+
fs.mkdirSync(targetDir, { recursive: true });
|
|
283
|
+
}
|
|
284
|
+
// 写入技能文件
|
|
285
|
+
fs.writeFileSync(targetFile, skillContent, 'utf-8');
|
|
286
|
+
spinner.succeed(chalk.green(`✅ ${skillName} 技能已添加到 .claude/skills/${skillName}/SKILL.md`));
|
|
287
|
+
}
|
|
288
|
+
console.log(chalk.cyan('\n📄 文件路径:'), targetFile);
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
// 如果是文件或不存在,追加到 skills 文件
|
|
292
|
+
const separator = '\n\n' + '='.repeat(80) + '\n\n';
|
|
293
|
+
const contentToAppend = fs.existsSync(skillsPath) ? separator + skillContent : skillContent;
|
|
294
|
+
fs.appendFileSync(skillsPath, contentToAppend, 'utf-8');
|
|
295
|
+
spinner.succeed(chalk.green(`✅ ${skillName} 技能已追加到 .claude/skills`));
|
|
296
|
+
console.log(chalk.cyan('\n📄 文件路径:'), skillsPath);
|
|
297
|
+
}
|
|
298
|
+
console.log(chalk.gray(`\n💡 提示: 你可以在 Cursor 或 Claude 中使用这个技能\n`));
|
|
299
|
+
return this.success(`${skillName} 技能已成功添加`);
|
|
300
|
+
}
|
|
301
|
+
catch (error) {
|
|
302
|
+
spinner.fail(chalk.red('处理失败'));
|
|
303
|
+
throw error;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
//# sourceMappingURL=skill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/commands/system-prompt.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,UAAU,cAAc;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAoKD,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,cAAc,GACxB,MAAM,
|
|
1
|
+
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/commands/system-prompt.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,UAAU,cAAc;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAoKD,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,cAAc,GACxB,MAAM,CA+YR"}
|