@dewtech/dare-cli 0.3.8 → 2.0.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.
Files changed (68) hide show
  1. package/README.md +33 -6
  2. package/dist/__tests__/core/core.test.d.ts +2 -0
  3. package/dist/__tests__/core/core.test.d.ts.map +1 -0
  4. package/dist/__tests__/core/core.test.js +3 -0
  5. package/dist/__tests__/core/core.test.js.map +1 -0
  6. package/dist/__tests__/graphrag/graph-rag.test.d.ts +2 -0
  7. package/dist/__tests__/graphrag/graph-rag.test.d.ts.map +1 -0
  8. package/dist/__tests__/graphrag/graph-rag.test.js +52 -0
  9. package/dist/__tests__/graphrag/graph-rag.test.js.map +1 -0
  10. package/dist/__tests__/mcp-server/server.test.d.ts +2 -0
  11. package/dist/__tests__/mcp-server/server.test.d.ts.map +1 -0
  12. package/dist/__tests__/mcp-server/server.test.js +32 -0
  13. package/dist/__tests__/mcp-server/server.test.js.map +1 -0
  14. package/dist/core/index.d.ts +3 -0
  15. package/dist/core/index.d.ts.map +1 -0
  16. package/dist/core/index.js +3 -0
  17. package/dist/core/index.js.map +1 -0
  18. package/dist/core/types/graph.d.ts +59 -0
  19. package/dist/core/types/graph.d.ts.map +1 -0
  20. package/dist/core/types/graph.js +2 -0
  21. package/dist/core/types/graph.js.map +1 -0
  22. package/dist/core/types/project.d.ts +14 -0
  23. package/dist/core/types/project.d.ts.map +1 -0
  24. package/dist/core/types/project.js +2 -0
  25. package/dist/core/types/project.js.map +1 -0
  26. package/dist/graphrag/graph-rag.d.ts +33 -0
  27. package/dist/graphrag/graph-rag.d.ts.map +1 -0
  28. package/dist/graphrag/graph-rag.js +200 -0
  29. package/dist/graphrag/graph-rag.js.map +1 -0
  30. package/dist/graphrag/index.d.ts +3 -0
  31. package/dist/graphrag/index.d.ts.map +1 -0
  32. package/dist/graphrag/index.js +2 -0
  33. package/dist/graphrag/index.js.map +1 -0
  34. package/dist/graphrag/types.d.ts +59 -0
  35. package/dist/graphrag/types.d.ts.map +1 -0
  36. package/dist/graphrag/types.js +2 -0
  37. package/dist/graphrag/types.js.map +1 -0
  38. package/dist/index.d.ts +3 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +7 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/mcp-server/bin/server.d.ts +3 -0
  43. package/dist/mcp-server/bin/server.d.ts.map +1 -0
  44. package/dist/mcp-server/bin/server.js +26 -0
  45. package/dist/mcp-server/bin/server.js.map +1 -0
  46. package/dist/mcp-server/index.d.ts +3 -0
  47. package/dist/mcp-server/index.d.ts.map +1 -0
  48. package/dist/mcp-server/index.js +2 -0
  49. package/dist/mcp-server/index.js.map +1 -0
  50. package/dist/mcp-server/server.d.ts +21 -0
  51. package/dist/mcp-server/server.d.ts.map +1 -0
  52. package/dist/mcp-server/server.js +198 -0
  53. package/dist/mcp-server/server.js.map +1 -0
  54. package/dist/utils/project-generator.d.ts.map +1 -1
  55. package/dist/utils/project-generator.js +125 -10
  56. package/dist/utils/project-generator.js.map +1 -1
  57. package/package.json +38 -8
  58. package/templates/ide/claude/.claude/commands/dare-blueprint.md +65 -0
  59. package/templates/ide/claude/.claude/commands/dare-design.md +55 -0
  60. package/templates/ide/claude/.claude/commands/dare-execute.md +73 -0
  61. package/templates/ide/claude/.claude/commands/dare-tasks.md +70 -0
  62. package/templates/ide/claude/.claude/settings.example.json +35 -0
  63. package/templates/ide/claude/CLAUDE.md +108 -0
  64. package/templates/ide/claude/templates/BLUEPRINT-template.md +53 -0
  65. package/templates/ide/claude/templates/DESIGN-template.md +34 -0
  66. package/templates/ide/claude/templates/TASK-SPEC-template.md +43 -0
  67. package/templates/ide/claude/templates/TASKS-template.md +26 -0
  68. package/templates/ide/claude/templates/TELEMETRY-template.md +125 -0
package/dist/index.d.ts CHANGED
@@ -7,4 +7,7 @@ export type { Dag, DagTask, RunDagOptions } from './dag-runner/run_dag.js';
7
7
  export { convertYamlToDag, convertDagToYaml } from './utils/dag-converter.js';
8
8
  export { generateProjectStructure } from './utils/project-generator.js';
9
9
  export type { ProjectConfig } from './utils/project-generator.js';
10
+ export * as core from './core/index.js';
11
+ export * as graphrag from './graphrag/index.js';
12
+ export * as mcpServer from './mcp-server/index.js';
10
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAGlE,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,15 @@
1
+ // Commands
1
2
  export { initCommand } from './commands/init.js';
2
3
  export { designCommand } from './commands/design.js';
3
4
  export { blueprintCommand } from './commands/blueprint.js';
4
5
  export { executeCommand } from './commands/execute.js';
6
+ // DAG Runner
5
7
  export { runDag } from './dag-runner/run_dag.js';
6
8
  export { convertYamlToDag, convertDagToYaml } from './utils/dag-converter.js';
9
+ // Project generation
7
10
  export { generateProjectStructure } from './utils/project-generator.js';
11
+ // Sub-modules (re-exports for convenience; canonical paths are sub-path exports)
12
+ export * as core from './core/index.js';
13
+ export * as graphrag from './graphrag/index.js';
14
+ export * as mcpServer from './mcp-server/index.js';
8
15
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,aAAa;AACb,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE9E,qBAAqB;AACrB,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAGxE,iFAAiF;AACjF,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/bin/server.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/env node
2
+ import { createMcpServer } from '../server.js';
3
+ import chalk from 'chalk';
4
+ const PORT = parseInt(process.env.DARE_MCP_PORT || '3000', 10);
5
+ const PROJECT_PATH = process.env.DARE_PROJECT_PATH || process.cwd();
6
+ const app = createMcpServer(PROJECT_PATH);
7
+ const server = app.listen(PORT, () => {
8
+ console.log(chalk.blue.bold('\n🔌 DARE MCP Server\n'));
9
+ console.log(` ${chalk.gray('Status:')} ${chalk.green('Running')}`);
10
+ console.log(` ${chalk.gray('Port:')} ${chalk.cyan(PORT)}`);
11
+ console.log(` ${chalk.gray('Project:')} ${chalk.cyan(PROJECT_PATH)}`);
12
+ console.log(`\n ${chalk.gray('Endpoints:')}`);
13
+ console.log(` ${chalk.cyan('GET')} /health`);
14
+ console.log(` ${chalk.cyan('GET')} /tools`);
15
+ console.log(` ${chalk.cyan('POST')} /context/query`);
16
+ console.log(` ${chalk.cyan('GET')} /blueprint`);
17
+ console.log(` ${chalk.cyan('GET')} /dag`);
18
+ console.log(` ${chalk.cyan('GET')} /tasks/:taskId`);
19
+ console.log(` ${chalk.cyan('PUT')} /tasks/:taskId`);
20
+ console.log(` ${chalk.cyan('GET')} /project\n`);
21
+ });
22
+ process.on('SIGTERM', () => {
23
+ console.log(chalk.yellow('\n⚠️ Shutting down MCP Server...'));
24
+ server.close(() => process.exit(0));
25
+ });
26
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp-server/bin/server.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;AAC/D,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AAEpE,MAAM,GAAG,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;AAE1C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;IACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;IACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAC/D,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { createMcpServer } from './server.js';
2
+ export type { ContextQuery, ContextResult, TaskStatus } from './server.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp-server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { createMcpServer } from './server.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp-server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { Express } from 'express';
2
+ export interface ContextQuery {
3
+ type: 'file' | 'task' | 'dependency' | 'architecture' | 'schema' | 'endpoint';
4
+ query: string;
5
+ limit?: number;
6
+ projectPath?: string;
7
+ }
8
+ export interface ContextResult {
9
+ id: string;
10
+ type: string;
11
+ content: string;
12
+ relevance: number;
13
+ source: string;
14
+ }
15
+ export interface TaskStatus {
16
+ id: string;
17
+ status: 'PENDING' | 'IN_PROGRESS' | 'DONE' | 'FAILED' | 'SKIPPED';
18
+ updatedAt: string;
19
+ }
20
+ export declare function createMcpServer(projectPath?: string): Express;
21
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp-server/server.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAqB,OAAO,EAAE,MAAM,SAAS,CAAC;AAQ9D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,cAAc,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC9E,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAClE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,eAAe,CAAC,WAAW,GAAE,MAAsB,GAAG,OAAO,CAmN5E"}
@@ -0,0 +1,198 @@
1
+ import express from 'express';
2
+ import cors from 'cors';
3
+ import fs from 'fs-extra';
4
+ import path from 'path';
5
+ import pino from 'pino';
6
+ const logger = pino({ transport: { target: 'pino-pretty' } });
7
+ export function createMcpServer(projectPath = process.cwd()) {
8
+ const app = express();
9
+ app.use(cors());
10
+ app.use(express.json());
11
+ // Health check
12
+ app.get('/health', (_req, res) => {
13
+ res.json({ status: 'ok', version: '0.1.0', projectPath });
14
+ });
15
+ // List available MCP tools
16
+ app.get('/tools', (_req, res) => {
17
+ res.json({
18
+ tools: [
19
+ { name: 'query_context', description: 'Query project context by type and keyword' },
20
+ { name: 'get_blueprint', description: 'Get BLUEPRINT.md content' },
21
+ { name: 'get_dag', description: 'Get dare-dag.yaml content' },
22
+ { name: 'get_task_status', description: 'Get status of a specific task' },
23
+ { name: 'update_task_status', description: 'Update task status in TASKS.md' },
24
+ { name: 'get_project_context', description: 'Get dare.config.json' },
25
+ ],
26
+ });
27
+ });
28
+ // Main context query endpoint - saves tokens by returning only relevant context
29
+ app.post('/context/query', async (req, res) => {
30
+ const { type, query, limit = 5, projectPath: reqPath } = req.body;
31
+ const basePath = reqPath || projectPath;
32
+ try {
33
+ const results = [];
34
+ if (type === 'architecture' || type === 'file') {
35
+ const blueprintPath = path.join(basePath, 'DARE', 'BLUEPRINT.md');
36
+ if (await fs.pathExists(blueprintPath)) {
37
+ const content = await fs.readFile(blueprintPath, 'utf-8');
38
+ const lines = content.split('\n');
39
+ const queryLower = query.toLowerCase();
40
+ let currentSection = '';
41
+ let sectionContent = '';
42
+ const relevantSections = [];
43
+ for (const line of lines) {
44
+ if (line.startsWith('#')) {
45
+ if (sectionContent && currentSection.toLowerCase().includes(queryLower)) {
46
+ relevantSections.push({ section: currentSection, content: sectionContent, relevance: 0.8 });
47
+ }
48
+ currentSection = line.replace(/^#+\s*/, '');
49
+ sectionContent = line + '\n';
50
+ }
51
+ else {
52
+ sectionContent += line + '\n';
53
+ if (line.toLowerCase().includes(queryLower)) {
54
+ relevantSections.push({ section: currentSection, content: sectionContent, relevance: 1.0 });
55
+ }
56
+ }
57
+ }
58
+ relevantSections
59
+ .sort((a, b) => b.relevance - a.relevance)
60
+ .slice(0, limit)
61
+ .forEach((s, i) => {
62
+ results.push({
63
+ id: `blueprint-${i}`,
64
+ type: 'architecture',
65
+ content: s.content.trim(),
66
+ relevance: s.relevance,
67
+ source: 'DARE/BLUEPRINT.md',
68
+ });
69
+ });
70
+ }
71
+ }
72
+ if (type === 'task') {
73
+ const tasksPath = path.join(basePath, 'DARE', 'TASKS.md');
74
+ if (await fs.pathExists(tasksPath)) {
75
+ const content = await fs.readFile(tasksPath, 'utf-8');
76
+ const queryLower = query.toLowerCase();
77
+ const lines = content.split('\n').filter((l) => l.toLowerCase().includes(queryLower));
78
+ lines.slice(0, limit).forEach((line, i) => {
79
+ results.push({
80
+ id: `task-${i}`,
81
+ type: 'task',
82
+ content: line,
83
+ relevance: 1.0,
84
+ source: 'DARE/TASKS.md',
85
+ });
86
+ });
87
+ }
88
+ }
89
+ if (type === 'dependency') {
90
+ const dagPath = path.join(basePath, 'DARE', 'dare-dag.yaml');
91
+ if (await fs.pathExists(dagPath)) {
92
+ const content = await fs.readFile(dagPath, 'utf-8');
93
+ const queryLower = query.toLowerCase();
94
+ const lines = content.split('\n').filter((l) => l.toLowerCase().includes(queryLower));
95
+ lines.slice(0, limit).forEach((line, i) => {
96
+ results.push({
97
+ id: `dag-${i}`,
98
+ type: 'dependency',
99
+ content: line,
100
+ relevance: 1.0,
101
+ source: 'DARE/dare-dag.yaml',
102
+ });
103
+ });
104
+ }
105
+ }
106
+ res.json({ success: true, results, total: results.length, query, type });
107
+ }
108
+ catch (err) {
109
+ logger.error(err);
110
+ res.status(500).json({ success: false, error: String(err) });
111
+ }
112
+ });
113
+ // Get BLUEPRINT.md
114
+ app.get('/blueprint', async (_req, res) => {
115
+ const blueprintPath = path.join(projectPath, 'DARE', 'BLUEPRINT.md');
116
+ if (!await fs.pathExists(blueprintPath)) {
117
+ res.status(404).json({ error: 'BLUEPRINT.md not found. Run: dare blueprint' });
118
+ return;
119
+ }
120
+ const content = await fs.readFile(blueprintPath, 'utf-8');
121
+ res.json({ content, source: 'DARE/BLUEPRINT.md' });
122
+ });
123
+ // Get dare-dag.yaml
124
+ app.get('/dag', async (_req, res) => {
125
+ const dagPath = path.join(projectPath, 'DARE', 'dare-dag.yaml');
126
+ if (!await fs.pathExists(dagPath)) {
127
+ res.status(404).json({ error: 'dare-dag.yaml not found. Run: dare blueprint' });
128
+ return;
129
+ }
130
+ const content = await fs.readFile(dagPath, 'utf-8');
131
+ res.json({ content, source: 'DARE/dare-dag.yaml' });
132
+ });
133
+ // Get task status
134
+ app.get('/tasks/:taskId', async (req, res) => {
135
+ const { taskId } = req.params;
136
+ const tasksPath = path.join(projectPath, 'DARE', 'TASKS.md');
137
+ if (!await fs.pathExists(tasksPath)) {
138
+ res.status(404).json({ error: 'TASKS.md not found' });
139
+ return;
140
+ }
141
+ const content = await fs.readFile(tasksPath, 'utf-8');
142
+ const line = content.split('\n').find((l) => l.includes(taskId));
143
+ if (!line) {
144
+ res.status(404).json({ error: `Task ${taskId} not found` });
145
+ return;
146
+ }
147
+ let status = 'PENDING';
148
+ if (line.includes('✅'))
149
+ status = 'DONE';
150
+ else if (line.includes('🔄'))
151
+ status = 'IN_PROGRESS';
152
+ else if (line.includes('❌'))
153
+ status = 'FAILED';
154
+ else if (line.includes('⏭️'))
155
+ status = 'SKIPPED';
156
+ res.json({ id: taskId, status, line });
157
+ });
158
+ // Update task status
159
+ app.put('/tasks/:taskId', async (req, res) => {
160
+ const { taskId } = req.params;
161
+ const { status } = req.body;
162
+ const tasksPath = path.join(projectPath, 'DARE', 'TASKS.md');
163
+ if (!await fs.pathExists(tasksPath)) {
164
+ res.status(404).json({ error: 'TASKS.md not found' });
165
+ return;
166
+ }
167
+ const icons = {
168
+ PENDING: '⏳ PENDING',
169
+ IN_PROGRESS: '🔄 IN_PROGRESS',
170
+ DONE: '✅ DONE',
171
+ FAILED: '❌ FAILED',
172
+ SKIPPED: '⏭️ SKIPPED',
173
+ };
174
+ const content = await fs.readFile(tasksPath, 'utf-8');
175
+ const lines = content.split('\n');
176
+ const lineIdx = lines.findIndex((l) => l.includes(taskId));
177
+ if (lineIdx === -1) {
178
+ res.status(404).json({ error: `Task ${taskId} not found` });
179
+ return;
180
+ }
181
+ lines[lineIdx] = lines[lineIdx]
182
+ .replace(/⏳ PENDING|🔄 IN_PROGRESS|✅ DONE|❌ FAILED|⏭️ SKIPPED/, icons[status] || status);
183
+ await fs.writeFile(tasksPath, lines.join('\n'));
184
+ res.json({ success: true, id: taskId, status });
185
+ });
186
+ // Get project config
187
+ app.get('/project', async (_req, res) => {
188
+ const configPath = path.join(projectPath, 'dare.config.json');
189
+ if (!await fs.pathExists(configPath)) {
190
+ res.status(404).json({ error: 'dare.config.json not found. Run: dare init' });
191
+ return;
192
+ }
193
+ const config = await fs.readJSON(configPath);
194
+ res.json(config);
195
+ });
196
+ return app;
197
+ }
198
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp-server/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"project-generator.d.ts","sourceRoot":"","sources":["../../src/utils/project-generator.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,CAAC;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,aAAa,CAAC;IAC/C,WAAW,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACnC,WAAW,CAAC,EAAE,CAAC,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC;IACpD,GAAG,EAAE,QAAQ,GAAG,aAAa,GAAG,QAAQ,GAAG,aAAa,GAAG,eAAe,CAAC;IAC3E,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACtC,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAqEnF;AAED,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,GACvC,OAAO,CAAC,IAAI,CAAC,CAuCf"}
1
+ {"version":3,"file":"project-generator.d.ts","sourceRoot":"","sources":["../../src/utils/project-generator.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,CAAC;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,aAAa,CAAC;IAC/C,WAAW,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACnC,WAAW,CAAC,EAAE,CAAC,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC;IACpD,GAAG,EAAE,QAAQ,GAAG,aAAa,GAAG,QAAQ,GAAG,aAAa,GAAG,eAAe,CAAC;IAC3E,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACtC,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAwEnF;AAED,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,GACvC,OAAO,CAAC,IAAI,CAAC,CAwCf"}
@@ -43,6 +43,8 @@ export async function generateProjectStructure(config) {
43
43
  // Write shared DARE README and templates
44
44
  await fs.writeFile(path.join(outputDir, 'DARE', 'README.md'), generateSharedConfig(name));
45
45
  await writeDareTemplates(outputDir);
46
+ // Write graphrag config
47
+ await writeGraphragConfig(outputDir, config);
46
48
  // Generate project templates
47
49
  if (structure === 'mcp-server') {
48
50
  await generateMcpTemplate(outputDir, config);
@@ -72,6 +74,7 @@ export async function installDareToExistingProject(projectDir, config) {
72
74
  await fs.writeJSON(path.join(outputDir, 'dare.config.json'), configData, { spaces: 2 });
73
75
  await fs.writeFile(path.join(outputDir, 'DARE', 'README.md'), generateSharedConfig(name));
74
76
  await writeDareTemplates(outputDir);
77
+ await writeGraphragConfig(outputDir, { ...config, outputDir });
75
78
  if (ide === 'cursor' || ide === 'hybrid') {
76
79
  const cursorRulesContent = structure === 'mcp-server'
77
80
  ? generateMcpCursorRules({ mcpTransport: config.mcpTransport, mcpLanguage: config.mcpLanguage, mcpFeatures: config.mcpFeatures, graphrag, mcp })
@@ -344,6 +347,105 @@ async function writeAntigravityFiles(dir, _config) {
344
347
  await fs.ensureDir(path.join(dir, '.agents', 'workflows'));
345
348
  }
346
349
  // ─────────────────────────────────────────────────────────────────────────────
350
+ // Helper: write dare-graph.yml — graphrag configuration
351
+ // ─────────────────────────────────────────────────────────────────────────────
352
+ async function writeGraphragConfig(dir, config) {
353
+ const { graphrag } = config;
354
+ let content;
355
+ if (graphrag === 'sqlite') {
356
+ content = `# DARE Knowledge Graph — SQLite
357
+ backend: sqlite
358
+
359
+ sqlite:
360
+ path: .dare/graph.db
361
+
362
+ # Node types tracked in the graph
363
+ nodes:
364
+ - task
365
+ - file
366
+ - schema
367
+ - endpoint
368
+ - component
369
+ - entity
370
+ - concept
371
+
372
+ # Relationship types
373
+ edges:
374
+ - depends_on
375
+ - implements
376
+ - uses
377
+ - references
378
+ - related_to
379
+ - contains
380
+ - extends
381
+ `;
382
+ }
383
+ else if (graphrag === 'neo4j') {
384
+ content = `# DARE Knowledge Graph — Neo4j
385
+ backend: neo4j
386
+
387
+ neo4j:
388
+ url: bolt://localhost:7687
389
+ username: neo4j
390
+ password: password
391
+ database: dare
392
+
393
+ # Node types tracked in the graph
394
+ nodes:
395
+ - task
396
+ - file
397
+ - schema
398
+ - endpoint
399
+ - component
400
+ - entity
401
+ - concept
402
+
403
+ # Relationship types
404
+ edges:
405
+ - depends_on
406
+ - implements
407
+ - uses
408
+ - references
409
+ - related_to
410
+ - contains
411
+ - extends
412
+ `;
413
+ }
414
+ else {
415
+ // json
416
+ content = `# DARE Knowledge Graph — JSON
417
+ backend: json
418
+
419
+ json:
420
+ path: .dare/graph.json
421
+
422
+ # Node types tracked in the graph
423
+ nodes:
424
+ - task
425
+ - file
426
+ - schema
427
+ - endpoint
428
+ - component
429
+ - entity
430
+ - concept
431
+
432
+ # Relationship types
433
+ edges:
434
+ - depends_on
435
+ - implements
436
+ - uses
437
+ - references
438
+ - related_to
439
+ - contains
440
+ - extends
441
+ `;
442
+ }
443
+ const destPath = path.join(dir, 'dare-graph.yml');
444
+ if (!await fs.pathExists(destPath)) {
445
+ await fs.writeFile(destPath, content);
446
+ }
447
+ }
448
+ // ─────────────────────────────────────────────────────────────────────────────
347
449
  // Helper: write all DARE template files into templates/
348
450
  // Source of truth: implementations/cursor/templates/ (or antigravity/templates/)
349
451
  // ─────────────────────────────────────────────────────────────────────────────
@@ -358,18 +460,31 @@ async function writeDareTemplates(dir) {
358
460
  }
359
461
  async function generateClaudeFiles(dir, config) {
360
462
  const { structure, backend, frontend, graphrag, mcp } = config;
361
- // CLAUDE.md principal arquivo de contexto do Claude Code
362
- const claudeMdContent = structure === 'mcp-server'
363
- ? generateMcpClaudeCodeRules({ mcpTransport: config.mcpTransport, mcpLanguage: config.mcpLanguage, mcpFeatures: config.mcpFeatures, graphrag, mcp })
364
- : generateClaudeCodeRules({ backend, frontend, graphrag, mcp });
365
- await fs.writeFile(path.join(dir, 'CLAUDE.md'), claudeMdContent);
366
- // .claude/commands/ — slash commands
463
+ const ideTemplatesDir = path.join(getTemplatesDir(), 'ide', 'claude');
464
+ // CLAUDE.md copiar de implementations/claude/ (com fallback para gerar dinâmico)
465
+ const claudeMdSrc = path.join(ideTemplatesDir, 'CLAUDE.md');
466
+ if (await fs.pathExists(claudeMdSrc)) {
467
+ await fs.copy(claudeMdSrc, path.join(dir, 'CLAUDE.md'), { overwrite: true });
468
+ }
469
+ else {
470
+ const claudeMdContent = structure === 'mcp-server'
471
+ ? generateMcpClaudeCodeRules({ mcpTransport: config.mcpTransport, mcpLanguage: config.mcpLanguage, mcpFeatures: config.mcpFeatures, graphrag, mcp })
472
+ : generateClaudeCodeRules({ backend, frontend, graphrag, mcp });
473
+ await fs.writeFile(path.join(dir, 'CLAUDE.md'), claudeMdContent);
474
+ }
475
+ // .claude/commands/ — copiar de implementations/claude/.claude/commands/
476
+ const commandsSrc = path.join(ideTemplatesDir, '.claude', 'commands');
367
477
  await fs.ensureDir(path.join(dir, '.claude', 'commands'));
368
- const commands = generateClaudeCommands(structure);
369
- for (const [filename, content] of Object.entries(commands)) {
370
- await fs.writeFile(path.join(dir, '.claude', 'commands', filename), content);
478
+ if (await fs.pathExists(commandsSrc)) {
479
+ await fs.copy(commandsSrc, path.join(dir, '.claude', 'commands'), { overwrite: true });
480
+ }
481
+ else {
482
+ const commands = generateClaudeCommands(structure);
483
+ for (const [filename, content] of Object.entries(commands)) {
484
+ await fs.writeFile(path.join(dir, '.claude', 'commands', filename), content);
485
+ }
371
486
  }
372
- // .claude/settings.json — permissões e hooks
487
+ // .claude/settings.json — sempre dinâmico (depende do stack)
373
488
  await fs.writeFile(path.join(dir, '.claude', 'settings.json'), generateClaudeSettings({ backend, frontend, structure }));
374
489
  }
375
490
  // Resolve templates directory (works both locally and after npm install)
@@ -1 +1 @@
1
- {"version":3,"file":"project-generator.js","sourceRoot":"","sources":["../../src/utils/project-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-generator.js","sourceRoot":"","sources":["../../src/utils/project-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,EAC3B,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAgBxB,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,MAAqB;IAClE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAErF,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAE9B,wBAAwB;IACxB,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IAE9D,yBAAyB;IACzB,MAAM,UAAU,GAA4B,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACzH,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QAC/B,UAAU,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QAC9C,UAAU,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QAC5C,UAAU,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAC9C,CAAC;IACD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAExF,mBAAmB;IACnB,MAAM,eAAe,GAAG,SAAS,KAAK,YAAY,IAAI,MAAM,CAAC,WAAW,KAAK,QAAQ;QACnF,CAAC,CAAC,qCAAqC;QACvC,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAClC,mGAAmG,eAAe,EAAE,CACrH,CAAC;IAEF,eAAe;IACf,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,kBAAkB,GAAG,SAAS,KAAK,YAAY;YACnD,CAAC,CAAC,sBAAsB,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;YAChJ,CAAC,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QAE9D,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAC7E,MAAM,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,oBAAoB;IACpB,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;QACrD,MAAM,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,oBAAoB;IACpB,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC9C,MAAM,kBAAkB,GAAG,SAAS,KAAK,YAAY;YACnD,CAAC,CAAC,2BAA2B,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;YACrJ,CAAC,CAAC,wBAAwB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QAEnE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAClF,MAAM,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,yCAAyC;IACzC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1F,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAEpC,wBAAwB;IACxB,MAAM,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAE7C,6BAA6B;IAC7B,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QAC/B,MAAM,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,IAAI,SAAS,KAAK,UAAU,IAAI,OAAO,EAAE,CAAC;YACxC,MAAM,UAAU,GAAG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1F,MAAM,uBAAuB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,SAAS,KAAK,SAAS,IAAI,QAAQ,EAAE,CAAC;YACxC,MAAM,WAAW,GAAG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5F,MAAM,wBAAwB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,UAAkB,EAClB,MAAwC;IAExC,MAAM,SAAS,GAAG,UAAU,CAAC;IAC7B,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAE1E,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IAE9D,MAAM,UAAU,GAA4B,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;IAChK,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QAC/B,UAAU,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QAC9C,UAAU,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QAC5C,UAAU,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAC9C,CAAC;IACD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAExF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1F,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,mBAAmB,CAAC,SAAS,EAAE,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAE/D,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,kBAAkB,GAAG,SAAS,KAAK,YAAY;YACnD,CAAC,CAAC,sBAAsB,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;YAChJ,CAAC,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QAE9D,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAC7E,MAAM,gBAAgB,CAAC,SAAS,EAAE,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC9C,MAAM,kBAAkB,GAAG,SAAS,KAAK,YAAY;YACnD,CAAC,CAAC,2BAA2B,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;YACrJ,CAAC,CAAC,wBAAwB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QAEnE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAClF,MAAM,qBAAqB,CAAC,SAAS,EAAE,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;QACrD,MAAM,mBAAmB,CAAC,SAAS,EAAE,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,GAAW,EAAE,MAAqB;IACnE,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,YAAY,GAAG,OAAO,EAAE,WAAW,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC;IAC5F,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAE1C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEnD,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClE,IAAI,YAAY;YAAE,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACrD,IAAI,UAAU;YAAE,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEjD,MAAM,eAAe,GAAG,YAAY,KAAK,OAAO;YAC9C,CAAC,CAAC,mFAAmF;YACrF,CAAC,CAAC,+GAA+G,CAAC;QAEpH,MAAM,cAAc,GAAG,YAAY,KAAK,OAAO;YAC7C,CAAC,CAAC,iFAAiF;YACnF,CAAC,CAAC,mUAAmU,CAAC;QAExU,MAAM,eAAe,GAAG,YAAY,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;CAuB1C,CAAC,CAAC,CAAC,EAAE,CAAC;QAEH,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BtC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEH,MAAM,YAAY,GAAG;EACvB,eAAe;;;;;;;aAOJ,MAAM,CAAC,IAAI;sBACF,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;EA0B3C,eAAe,GAAG,aAAa;EAC/B,cAAc;CACf,CAAC;QAEE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;QAEpE,MAAM,SAAS,GAA2B,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjG,MAAM,YAAY,GAA2B,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7G,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAC9B;YACE,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,oBAAoB;gBAC3B,GAAG,EAAE,kBAAkB;gBACvB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,wDAAwD;aAClE;YACD,YAAY,EAAE;gBACZ,2BAA2B,EAAE,QAAQ;gBACrC,GAAG,SAAS;aACb;YACD,eAAe,EAAE;gBACf,UAAU,EAAE,QAAQ;gBACpB,GAAG,EAAE,QAAQ;gBACb,MAAM,EAAE,QAAQ;gBAChB,aAAa,EAAE,SAAS;gBACxB,GAAG,YAAY;aAChB;SACF,EACD,EAAE,MAAM,EAAE,CAAC,EAAE,CACd,CAAC;QAEF,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,EAC/B;YACE,eAAe,EAAE;gBACf,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,QAAQ;gBAChB,gBAAgB,EAAE,QAAQ;gBAC1B,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,IAAI;gBACZ,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;aACnB;YACD,OAAO,EAAE,CAAC,KAAK,CAAC;SACjB,EACD,EAAE,MAAM,EAAE,CAAC,EAAE,CACd,CAAC;IAEJ,CAAC;SAAM,CAAC;QACN,aAAa;QACb,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEnD,MAAM,eAAe,GAAG,YAAY,CAAC,CAAC,CAAC;;;;;;CAM1C,CAAC,CAAC,CAAC,EAAE,CAAC;QAEH,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC;;;;;;CAMtC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEH,MAAM,aAAa,GAAG,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iFAAiF,CAAC;QAExI,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,EACzB;;iBAEW,MAAM,CAAC,IAAI;;;;;;;EAO1B,eAAe,GAAG,aAAa;;;eAGlB,aAAa;CAC3B,CACI,CAAC;QAEF,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,EAClC,cAAc,CACf,CAAC;QAEF,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,EAChC;UACI,MAAM,CAAC,IAAI;;;;;;;;CAQpB,CACI,CAAC;IACJ,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,uDAAuD;AACvD,6EAA6E;AAC7E,gFAAgF;AAChF,KAAK,UAAU,gBAAgB,CAAC,GAAW,EAAE,MAAqB;IAChE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAChD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAEtE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IACvD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAE1D,8EAA8E;IAC9E,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACtE,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAChE,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBAAE,SAAS;YAC9B,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS,CAAC,+BAA+B;YAC5E,MAAM,EAAE,CAAC,IAAI,CACX,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,EAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,EAC9C,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QAC/B,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,sBAAsB,CAAC,EAC1D,qBAAqB,CAAC,MAAM,CAAC,WAAW,IAAI,SAAS,CAAC,CACvD,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;YACjE,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrC,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,uBAAuB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/G,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACnB,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,OAAO,MAAM,CAAC,EAC1D,kBAAkB,CAAC,OAAO,CAAC,CAC5B,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,QAAQ,MAAM,CAAC,EAC3D,kBAAkB,CAAC,QAAQ,CAAC,CAC7B,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,oDAAoD;AACpD,uFAAuF;AACvF,gFAAgF;AAChF,KAAK,UAAU,qBAAqB,CAAC,GAAW,EAAE,OAAsB;IACtE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAElE,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QACxD,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,gFAAgF;AAChF,wDAAwD;AACxD,gFAAgF;AAChF,KAAK,UAAU,mBAAmB,CAAC,GAAW,EAAE,MAAqB;IACnE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAE5B,IAAI,OAAe,CAAC;IAEpB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyBb,CAAC;IACA,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Bb,CAAC;IACA,CAAC;SAAM,CAAC;QACN,OAAO;QACP,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyBb,CAAC;IACA,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,wDAAwD;AACxD,iFAAiF;AACjF,gFAAgF;AAChF,KAAK,UAAU,kBAAkB,CAAC,GAAW;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC5C,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAE5B,sEAAsE;IACtE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAChF,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,GAAW,EAAE,MAAqB;IACnE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAC/D,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAEtE,mFAAmF;IACnF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IAC5D,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/E,CAAC;SAAM,CAAC;QACN,MAAM,eAAe,GAAG,SAAS,KAAK,YAAY;YAChD,CAAC,CAAC,0BAA0B,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;YACpJ,CAAC,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QAClE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,eAAe,CAAC,CAAC;IACnE,CAAC;IAED,yEAAyE;IACzE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACtE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAC1D,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzF,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACnD,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,eAAe,CAAC,EAC1C,sBAAsB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CACzD,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,SAAS,eAAe;IACtB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;AACrH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,YAAoB,EAAE,OAAe,EAAE,WAAmB;IACpF,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO;IAE/C,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE;QACnC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI;KACnB,CAAC,CAAC;IAEH,yDAAyD;IACzD,MAAM,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,GAAW,EAAE,WAAmB;IAChE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAE9J,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpD,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACrD,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;wBACzC,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;oBACpF,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,oBAAoB;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,GAAW,EAAE,KAAa,EAAE,WAAW,GAAG,KAAK;IACpF,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,QAAQ,GAA2B;QACvC,aAAa,EAAE,aAAa;QAC5B,gBAAgB,EAAE,gBAAgB;QAClC,WAAW,EAAE,WAAW;QACxB,aAAa,EAAE,aAAa;KAC7B,CAAC;IACF,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;IACzF,CAAC;IACD,6BAA6B;IAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IAC9E,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACvC,MAAM,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACzF,MAAM,kBAAkB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,GAAW,EAAE,KAAa,EAAE,WAAW,GAAG,UAAU;IAC1F,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,QAAQ,GAA2B;QACvC,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,KAAK;KACX,CAAC;IACF,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB;IAC7C,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO;;;;;;;;;CASV,CAAC;IACA,CAAC;IACD,OAAO;;;;;;;;;;CAUR,CAAC;AACF,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,MAAM,GAA2B;QACrC,WAAW,EAAE,+LAA+L;QAC5M,aAAa,EAAE,6JAA6J;QAC5K,gBAAgB,EAAE,wJAAwJ;QAC1K,aAAa,EAAE,yIAAyI;QACxJ,KAAK,EAAE,yJAAyJ;QAChK,GAAG,EAAE,yHAAyH;KAC/H,CAAC;IACF,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,qBAAqB,KAAK,kBAAkB,KAAK,UAAU,CAAC;AACtF,CAAC"}