memento-mcp-server 1.13.1-a4 → 1.14.0-a
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/database/migration/migrations/007-procedural-memory-enhancement.sql +66 -0
- package/dist/database/schema.sql +9 -2
- package/dist/domains/memory/tools/recall-tool.d.ts +13 -0
- package/dist/domains/memory/tools/recall-tool.d.ts.map +1 -1
- package/dist/domains/memory/tools/recall-tool.js +160 -12
- package/dist/domains/memory/tools/recall-tool.js.map +1 -1
- package/dist/domains/memory/tools/remember-tool.d.ts +10 -0
- package/dist/domains/memory/tools/remember-tool.d.ts.map +1 -1
- package/dist/domains/memory/tools/remember-tool.js +264 -35
- package/dist/domains/memory/tools/remember-tool.js.map +1 -1
- package/dist/domains/relation/services/relation-quality-validator.d.ts.map +1 -1
- package/dist/domains/relation/services/relation-quality-validator.js +15 -10
- package/dist/domains/relation/services/relation-quality-validator.js.map +1 -1
- package/dist/domains/relation/services/rule-based-relation-extractor.d.ts.map +1 -1
- package/dist/domains/relation/services/rule-based-relation-extractor.js +18 -0
- package/dist/domains/relation/services/rule-based-relation-extractor.js.map +1 -1
- package/dist/domains/relation/tools/add-relation-tool.d.ts +3 -3
- package/dist/domains/relation/tools/add-relation-tool.js +2 -2
- package/dist/domains/relation/tools/add-relation-tool.js.map +1 -1
- package/dist/domains/relation/tools/get-relations-tool.d.ts +3 -3
- package/dist/domains/relation/tools/get-relations-tool.js +2 -2
- package/dist/domains/relation/tools/get-relations-tool.js.map +1 -1
- package/dist/domains/search/algorithms/hybrid-search-engine.d.ts +20 -0
- package/dist/domains/search/algorithms/hybrid-search-engine.d.ts.map +1 -1
- package/dist/domains/search/algorithms/hybrid-search-engine.js +168 -5
- package/dist/domains/search/algorithms/hybrid-search-engine.js.map +1 -1
- package/dist/domains/search/algorithms/search-engine.d.ts.map +1 -1
- package/dist/domains/search/algorithms/search-engine.js +37 -17
- package/dist/domains/search/algorithms/search-engine.js.map +1 -1
- package/dist/domains/search/algorithms/search-ranking.d.ts +15 -2
- package/dist/domains/search/algorithms/search-ranking.d.ts.map +1 -1
- package/dist/domains/search/algorithms/search-ranking.js +46 -15
- package/dist/domains/search/algorithms/search-ranking.js.map +1 -1
- package/dist/domains/search/repositories/vector-search.repository.d.ts.map +1 -1
- package/dist/domains/search/repositories/vector-search.repository.js +180 -89
- package/dist/domains/search/repositories/vector-search.repository.js.map +1 -1
- package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.d.ts +63 -0
- package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.d.ts.map +1 -0
- package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.js +257 -0
- package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.js.map +1 -0
- package/dist/infrastructure/reflexion-worker.d.ts +18 -0
- package/dist/infrastructure/reflexion-worker.d.ts.map +1 -1
- package/dist/infrastructure/reflexion-worker.js +216 -0
- package/dist/infrastructure/reflexion-worker.js.map +1 -1
- package/dist/infrastructure/scheduler/batch-scheduler.d.ts +51 -8
- package/dist/infrastructure/scheduler/batch-scheduler.d.ts.map +1 -1
- package/dist/infrastructure/scheduler/batch-scheduler.js +299 -205
- package/dist/infrastructure/scheduler/batch-scheduler.js.map +1 -1
- package/dist/infrastructure/scheduler/file-logger.d.ts +82 -0
- package/dist/infrastructure/scheduler/file-logger.d.ts.map +1 -0
- package/dist/infrastructure/scheduler/file-logger.js +133 -0
- package/dist/infrastructure/scheduler/file-logger.js.map +1 -0
- package/dist/infrastructure/scheduler/health-checker.d.ts +54 -0
- package/dist/infrastructure/scheduler/health-checker.d.ts.map +1 -0
- package/dist/infrastructure/scheduler/health-checker.js +96 -0
- package/dist/infrastructure/scheduler/health-checker.js.map +1 -0
- package/dist/infrastructure/scheduler/job-queue.d.ts +85 -0
- package/dist/infrastructure/scheduler/job-queue.d.ts.map +1 -0
- package/dist/infrastructure/scheduler/job-queue.js +125 -0
- package/dist/infrastructure/scheduler/job-queue.js.map +1 -0
- package/dist/infrastructure/scheduler/relation-validator-executor.d.ts +37 -0
- package/dist/infrastructure/scheduler/relation-validator-executor.d.ts.map +1 -0
- package/dist/infrastructure/scheduler/relation-validator-executor.js +120 -0
- package/dist/infrastructure/scheduler/relation-validator-executor.js.map +1 -0
- package/dist/infrastructure/scheduler/retry-manager.d.ts +62 -0
- package/dist/infrastructure/scheduler/retry-manager.d.ts.map +1 -0
- package/dist/infrastructure/scheduler/retry-manager.js +91 -0
- package/dist/infrastructure/scheduler/retry-manager.js.map +1 -0
- package/dist/npm-client/utils.d.ts.map +1 -1
- package/dist/npm-client/utils.js +2 -1
- package/dist/npm-client/utils.js.map +1 -1
- package/dist/server/http-server.d.ts.map +1 -1
- package/dist/server/http-server.js +15 -17
- package/dist/server/http-server.js.map +1 -1
- package/dist/services/anchor-manager.d.ts.map +1 -1
- package/dist/services/anchor-manager.js.map +1 -1
- package/dist/shared/types/index.d.ts +36 -0
- package/dist/shared/types/index.d.ts.map +1 -1
- package/dist/shared/types/index.js.map +1 -1
- package/dist/shared/types/relation.d.ts +1 -1
- package/dist/shared/types/relation.d.ts.map +1 -1
- package/dist/shared/types/relation.js +7 -4
- package/dist/shared/types/relation.js.map +1 -1
- package/dist/shared/utils/database.d.ts.map +1 -1
- package/dist/shared/utils/database.js +9 -2
- package/dist/shared/utils/database.js.map +1 -1
- package/dist/shared/utils/procedural-memory-extractor.d.ts +108 -0
- package/dist/shared/utils/procedural-memory-extractor.d.ts.map +1 -0
- package/dist/shared/utils/procedural-memory-extractor.js +581 -0
- package/dist/shared/utils/procedural-memory-extractor.js.map +1 -0
- package/dist/shared/utils/relation-type-converter.d.ts +52 -0
- package/dist/shared/utils/relation-type-converter.d.ts.map +1 -0
- package/dist/shared/utils/relation-type-converter.js +106 -0
- package/dist/shared/utils/relation-type-converter.js.map +1 -0
- package/dist/shared/utils/type-param-validator.d.ts +31 -0
- package/dist/shared/utils/type-param-validator.d.ts.map +1 -1
- package/dist/shared/utils/type-param-validator.js +90 -2
- package/dist/shared/utils/type-param-validator.js.map +1 -1
- package/dist/tools/base-tool.d.ts.map +1 -1
- package/dist/tools/types.d.ts +4 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js +5 -0
- package/dist/tools/types.js.map +1 -1
- package/dist/workers/consolidation-score-worker.d.ts.map +1 -1
- package/dist/workers/consolidation-score-worker.js +0 -2
- package/dist/workers/consolidation-score-worker.js.map +1 -1
- package/package.json +3 -3
- package/scripts/auto-setup.js +1 -1
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration: 007 - Procedural Memory Enhancement
|
|
3
|
+
* Description: Add workflow_name, skill_name, trigger_conditions fields to memory_item table and extend memory_link relation_type enum
|
|
4
|
+
* Version: 7.0
|
|
5
|
+
* Date: 2025-01-XX
|
|
6
|
+
*/
|
|
7
|
+
import { readFileSync } from 'fs';
|
|
8
|
+
import { join, dirname } from 'path';
|
|
9
|
+
import { fileURLToPath } from 'url';
|
|
10
|
+
import { DependencyValidator } from '../dependency-validator.js';
|
|
11
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
12
|
+
const __dirname = dirname(__filename);
|
|
13
|
+
/**
|
|
14
|
+
* Procedural Memory Enhancement Migration
|
|
15
|
+
*
|
|
16
|
+
* This migration:
|
|
17
|
+
* 1. Adds workflow_name, skill_name, trigger_conditions fields to memory_item table
|
|
18
|
+
* 2. Creates indexes for new fields (workflow_name, skill_name)
|
|
19
|
+
* 3. Extends memory_link relation_type enum to include 'version_of' for version management
|
|
20
|
+
*/
|
|
21
|
+
export class ProceduralMemoryEnhancementMigration {
|
|
22
|
+
version = '7.0';
|
|
23
|
+
name = 'procedural-memory-enhancement';
|
|
24
|
+
description = 'Add workflow_name, skill_name, trigger_conditions fields to memory_item table and extend memory_link relation_type enum';
|
|
25
|
+
/**
|
|
26
|
+
* Load SQL file content
|
|
27
|
+
*/
|
|
28
|
+
loadSQLFile(filename) {
|
|
29
|
+
const filePath = join(__dirname, filename);
|
|
30
|
+
return readFileSync(filePath, 'utf-8');
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Execute SQL script
|
|
34
|
+
* Removes transaction commands (BEGIN TRANSACTION, COMMIT) as MigrationRunner manages transactions
|
|
35
|
+
*/
|
|
36
|
+
executeSQL(db, sql) {
|
|
37
|
+
// MigrationRunner가 트랜잭션을 관리하므로 SQL에서 트랜잭션 명령 제거
|
|
38
|
+
let cleanedSQL = sql
|
|
39
|
+
// BEGIN TRANSACTION 제거
|
|
40
|
+
.replace(/BEGIN\s+TRANSACTION\s*;/gi, '')
|
|
41
|
+
// COMMIT 제거
|
|
42
|
+
.replace(/COMMIT\s*;/gi, '')
|
|
43
|
+
// PRAGMA foreign_keys 명령은 유지 (트랜잭션 외부에서도 작동)
|
|
44
|
+
.trim();
|
|
45
|
+
// 빈 줄 제거 및 정리
|
|
46
|
+
cleanedSQL = cleanedSQL
|
|
47
|
+
.split('\n')
|
|
48
|
+
.map(line => line.trim())
|
|
49
|
+
.filter(line => line.length > 0)
|
|
50
|
+
.join('\n');
|
|
51
|
+
if (cleanedSQL.length > 0) {
|
|
52
|
+
db.exec(cleanedSQL);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Check if table exists
|
|
57
|
+
*/
|
|
58
|
+
tableExists(db, tableName) {
|
|
59
|
+
const result = db.prepare(`
|
|
60
|
+
SELECT name FROM sqlite_master
|
|
61
|
+
WHERE type='table' AND name=?
|
|
62
|
+
`).get(tableName);
|
|
63
|
+
return !!result;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Check if column exists in table
|
|
67
|
+
*/
|
|
68
|
+
columnExists(db, tableName, columnName) {
|
|
69
|
+
const columns = db.prepare(`PRAGMA table_info(${tableName})`).all();
|
|
70
|
+
return columns.some(col => col.name === columnName);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Check if index exists
|
|
74
|
+
*/
|
|
75
|
+
indexExists(db, indexName) {
|
|
76
|
+
const result = db.prepare(`
|
|
77
|
+
SELECT name FROM sqlite_master
|
|
78
|
+
WHERE type='index' AND name=?
|
|
79
|
+
`).get(indexName);
|
|
80
|
+
return !!result;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Validate before migration
|
|
84
|
+
*/
|
|
85
|
+
async validateBefore(db) {
|
|
86
|
+
// Check if memory_item table exists (required for ALTER TABLE)
|
|
87
|
+
if (!this.tableExists(db, 'memory_item')) {
|
|
88
|
+
throw new Error('memory_item table does not exist. Cannot proceed with migration.');
|
|
89
|
+
}
|
|
90
|
+
// Check if memory_link table exists (required for table recreation)
|
|
91
|
+
if (!this.tableExists(db, 'memory_link')) {
|
|
92
|
+
throw new Error('memory_link table does not exist. Cannot proceed with migration.');
|
|
93
|
+
}
|
|
94
|
+
// Check if migration has already been applied
|
|
95
|
+
if (this.tableExists(db, 'memento_schema_version')) {
|
|
96
|
+
const version = db.prepare(`
|
|
97
|
+
SELECT version FROM memento_schema_version WHERE version = ?
|
|
98
|
+
`).get('7.0');
|
|
99
|
+
if (version) {
|
|
100
|
+
throw new Error('Migration 007 has already been applied. Current schema version: 7.0');
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
// Check if new fields already exist (should not exist)
|
|
104
|
+
if (this.columnExists(db, 'memory_item', 'workflow_name')) {
|
|
105
|
+
throw new Error('workflow_name column already exists in memory_item table. Migration may have been partially applied.');
|
|
106
|
+
}
|
|
107
|
+
if (this.columnExists(db, 'memory_item', 'skill_name')) {
|
|
108
|
+
throw new Error('skill_name column already exists in memory_item table. Migration may have been partially applied.');
|
|
109
|
+
}
|
|
110
|
+
if (this.columnExists(db, 'memory_item', 'trigger_conditions')) {
|
|
111
|
+
throw new Error('trigger_conditions column already exists in memory_item table. Migration may have been partially applied.');
|
|
112
|
+
}
|
|
113
|
+
// Check if new indexes already exist (should not exist)
|
|
114
|
+
if (this.indexExists(db, 'idx_memory_item_workflow_name')) {
|
|
115
|
+
throw new Error('idx_memory_item_workflow_name index already exists. Migration may have been partially applied.');
|
|
116
|
+
}
|
|
117
|
+
if (this.indexExists(db, 'idx_memory_item_skill_name')) {
|
|
118
|
+
throw new Error('idx_memory_item_skill_name index already exists. Migration may have been partially applied.');
|
|
119
|
+
}
|
|
120
|
+
// Check if memory_link table has 'version_of' in relation_type enum (should not exist)
|
|
121
|
+
const tableInfo = db.prepare(`
|
|
122
|
+
SELECT sql FROM sqlite_master
|
|
123
|
+
WHERE type='table' AND name='memory_link'
|
|
124
|
+
`).get();
|
|
125
|
+
if (tableInfo && tableInfo.sql.includes("'version_of'")) {
|
|
126
|
+
throw new Error("memory_link table already has 'version_of' in relation_type enum. Migration may have been partially applied.");
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Execute migration (Up)
|
|
131
|
+
*/
|
|
132
|
+
async up(db) {
|
|
133
|
+
// Load and execute SQL script
|
|
134
|
+
const sqlScript = this.loadSQLFile('007-procedural-memory-enhancement.sql');
|
|
135
|
+
this.executeSQL(db, sqlScript);
|
|
136
|
+
// Note: Schema version is recorded by MigrationRunner, not here
|
|
137
|
+
// MigrationRunner.recordVersion() will be called after successful migration
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Rollback migration (Down)
|
|
141
|
+
*
|
|
142
|
+
* Note: SQLite does not support ALTER TABLE DROP COLUMN directly (requires SQLite 3.35.0+).
|
|
143
|
+
* For full rollback, table recreation would be required, which is complex.
|
|
144
|
+
* This implementation provides a basic rollback that removes indexes and attempts to remove columns.
|
|
145
|
+
*/
|
|
146
|
+
async down(db) {
|
|
147
|
+
// Drop indexes first
|
|
148
|
+
const indexes = [
|
|
149
|
+
'idx_memory_item_workflow_name',
|
|
150
|
+
'idx_memory_item_skill_name'
|
|
151
|
+
];
|
|
152
|
+
for (const indexName of indexes) {
|
|
153
|
+
db.exec(`DROP INDEX IF EXISTS ${indexName}`);
|
|
154
|
+
}
|
|
155
|
+
// Rollback memory_link table to original enum values
|
|
156
|
+
// This requires table recreation, similar to the up migration
|
|
157
|
+
if (this.tableExists(db, 'memory_link')) {
|
|
158
|
+
// Step 1: Create temporary table with original enum values
|
|
159
|
+
db.exec(`
|
|
160
|
+
CREATE TABLE memory_link_rollback (
|
|
161
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
162
|
+
source_id TEXT NOT NULL,
|
|
163
|
+
target_id TEXT NOT NULL,
|
|
164
|
+
relation_type TEXT CHECK (relation_type IN ('cause_of', 'derived_from', 'duplicates', 'contradicts')) NOT NULL,
|
|
165
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
166
|
+
FOREIGN KEY (source_id) REFERENCES memory_item(id) ON DELETE CASCADE,
|
|
167
|
+
FOREIGN KEY (target_id) REFERENCES memory_item(id) ON DELETE CASCADE,
|
|
168
|
+
UNIQUE(source_id, target_id, relation_type)
|
|
169
|
+
)
|
|
170
|
+
`);
|
|
171
|
+
// Step 2: Copy data (excluding 'version_of' relations)
|
|
172
|
+
db.exec(`
|
|
173
|
+
INSERT INTO memory_link_rollback (id, source_id, target_id, relation_type, created_at)
|
|
174
|
+
SELECT id, source_id, target_id, relation_type, created_at
|
|
175
|
+
FROM memory_link
|
|
176
|
+
WHERE relation_type != 'version_of'
|
|
177
|
+
`);
|
|
178
|
+
// Step 3: Drop old table
|
|
179
|
+
db.exec('DROP TABLE memory_link');
|
|
180
|
+
// Step 4: Rename rollback table
|
|
181
|
+
db.exec('ALTER TABLE memory_link_rollback RENAME TO memory_link');
|
|
182
|
+
// Step 5: Recreate indexes
|
|
183
|
+
db.exec('CREATE INDEX IF NOT EXISTS idx_memory_link_source ON memory_link(source_id)');
|
|
184
|
+
db.exec('CREATE INDEX IF NOT EXISTS idx_memory_link_target ON memory_link(target_id)');
|
|
185
|
+
}
|
|
186
|
+
// Note: Removing columns from memory_item requires table recreation, which is complex.
|
|
187
|
+
// For production use, consider using a new migration to remove columns if needed.
|
|
188
|
+
// SQLite 3.35.0+ supports ALTER TABLE DROP COLUMN, but for compatibility, we skip it here.
|
|
189
|
+
// Remove schema version record
|
|
190
|
+
db.prepare('DELETE FROM memento_schema_version WHERE version = ?').run('7.0');
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Validate after migration
|
|
194
|
+
*/
|
|
195
|
+
async validateAfter(db) {
|
|
196
|
+
// Verify memory_item table has new columns
|
|
197
|
+
if (!this.columnExists(db, 'memory_item', 'workflow_name')) {
|
|
198
|
+
throw new Error('workflow_name column was not added to memory_item table');
|
|
199
|
+
}
|
|
200
|
+
if (!this.columnExists(db, 'memory_item', 'skill_name')) {
|
|
201
|
+
throw new Error('skill_name column was not added to memory_item table');
|
|
202
|
+
}
|
|
203
|
+
if (!this.columnExists(db, 'memory_item', 'trigger_conditions')) {
|
|
204
|
+
throw new Error('trigger_conditions column was not added to memory_item table');
|
|
205
|
+
}
|
|
206
|
+
// Verify indexes were created
|
|
207
|
+
if (!this.indexExists(db, 'idx_memory_item_workflow_name')) {
|
|
208
|
+
throw new Error('idx_memory_item_workflow_name index was not created');
|
|
209
|
+
}
|
|
210
|
+
if (!this.indexExists(db, 'idx_memory_item_skill_name')) {
|
|
211
|
+
throw new Error('idx_memory_item_skill_name index was not created');
|
|
212
|
+
}
|
|
213
|
+
// Verify memory_link table has 'version_of' in relation_type enum
|
|
214
|
+
const tableInfo = db.prepare(`
|
|
215
|
+
SELECT sql FROM sqlite_master
|
|
216
|
+
WHERE type='table' AND name='memory_link'
|
|
217
|
+
`).get();
|
|
218
|
+
if (!tableInfo) {
|
|
219
|
+
throw new Error('memory_link table does not exist after migration');
|
|
220
|
+
}
|
|
221
|
+
if (!tableInfo.sql.includes("'version_of'")) {
|
|
222
|
+
throw new Error("memory_link table does not have 'version_of' in relation_type enum");
|
|
223
|
+
}
|
|
224
|
+
// Verify memory_link table structure (check columns)
|
|
225
|
+
const linkColumns = db.prepare(`PRAGMA table_info(memory_link)`).all();
|
|
226
|
+
const linkColumnNames = linkColumns.map(col => col.name);
|
|
227
|
+
const requiredLinkColumns = [
|
|
228
|
+
'id',
|
|
229
|
+
'source_id',
|
|
230
|
+
'target_id',
|
|
231
|
+
'relation_type',
|
|
232
|
+
'created_at'
|
|
233
|
+
];
|
|
234
|
+
for (const column of requiredLinkColumns) {
|
|
235
|
+
if (!linkColumnNames.includes(column)) {
|
|
236
|
+
throw new Error(`Column ${column} is missing in memory_link table`);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
// Verify memory_link indexes were recreated
|
|
240
|
+
if (!this.indexExists(db, 'idx_memory_link_source')) {
|
|
241
|
+
throw new Error('idx_memory_link_source index was not recreated');
|
|
242
|
+
}
|
|
243
|
+
if (!this.indexExists(db, 'idx_memory_link_target')) {
|
|
244
|
+
throw new Error('idx_memory_link_target index was not recreated');
|
|
245
|
+
}
|
|
246
|
+
// Verify existing dependencies are intact using DependencyValidator
|
|
247
|
+
const dependencyReport = await DependencyValidator.validateAll(db);
|
|
248
|
+
if (!dependencyReport.success) {
|
|
249
|
+
const errors = dependencyReport.results
|
|
250
|
+
.filter(r => !r.success)
|
|
251
|
+
.map(r => `${r.name}: ${r.error}`)
|
|
252
|
+
.join('; ');
|
|
253
|
+
throw new Error(`Dependency validation failed: ${errors}`);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
//# sourceMappingURL=007-procedural-memory-enhancement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"007-procedural-memory-enhancement.js","sourceRoot":"","sources":["../../../../../../src/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.ts"],"names":[],"mappings":"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"}
|
|
@@ -94,6 +94,24 @@ export declare class ReflexionWorker {
|
|
|
94
94
|
* 작업 목표 추출
|
|
95
95
|
*/
|
|
96
96
|
private extractTaskGoal;
|
|
97
|
+
/**
|
|
98
|
+
* reflection_notes를 procedural memory로 자동 변환
|
|
99
|
+
*
|
|
100
|
+
* 변환 전략:
|
|
101
|
+
* 1. reflection_notes에서 workflow_name, skill_name, steps, trigger_conditions 추출
|
|
102
|
+
* 2. 기존 procedural memory와 유사도 계산
|
|
103
|
+
* 3. 유사도 기반 병합 전략 결정 (replace, incremental, versioned)
|
|
104
|
+
* 4. 결정된 전략에 따라 메모리 업데이트 또는 생성
|
|
105
|
+
*/
|
|
106
|
+
private convertToProceduralMemory;
|
|
107
|
+
/**
|
|
108
|
+
* 기존 procedural memory 업데이트
|
|
109
|
+
*/
|
|
110
|
+
private updateProceduralMemory;
|
|
111
|
+
/**
|
|
112
|
+
* 새 procedural memory 생성
|
|
113
|
+
*/
|
|
114
|
+
private createProceduralMemory;
|
|
97
115
|
/**
|
|
98
116
|
* reflection_notes 파싱
|
|
99
117
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reflexion-worker.d.ts","sourceRoot":"","sources":["../../src/infrastructure/reflexion-worker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,oDAAoD,CAAC;AACxG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,QAAQ,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"reflexion-worker.d.ts","sourceRoot":"","sources":["../../src/infrastructure/reflexion-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@ import { mergeReflectionNotes, serializeReflectionNotes } from '../shared/utils/
|
|
|
9
9
|
import { DatabaseUtils } from '../shared/utils/database.js';
|
|
10
10
|
import Database from 'better-sqlite3';
|
|
11
11
|
import { createHash } from 'crypto';
|
|
12
|
+
import { extractProceduralMemory, determineMergeStrategy } from '../shared/utils/procedural-memory-extractor.js';
|
|
13
|
+
import { toDbRelationType } from '../shared/utils/relation-type-converter.js';
|
|
12
14
|
/**
|
|
13
15
|
* ReflexionWorker 서비스 클래스
|
|
14
16
|
*/
|
|
@@ -268,6 +270,8 @@ export class ReflexionWorker {
|
|
|
268
270
|
removed_count: mergeResult.removedCount
|
|
269
271
|
});
|
|
270
272
|
}
|
|
273
|
+
// Procedural Memory 자동 변환 (reflection_notes 생성 후)
|
|
274
|
+
await this.convertToProceduralMemory(reflectionNote, event);
|
|
271
275
|
}
|
|
272
276
|
else {
|
|
273
277
|
// task_goal이 없는 경우 새 메모리 생성 (task_goal 없이)
|
|
@@ -285,6 +289,8 @@ export class ReflexionWorker {
|
|
|
285
289
|
logger.info('새 reflection_notes 생성됨 (task_goal 없음)', {
|
|
286
290
|
memory_id: memoryId
|
|
287
291
|
});
|
|
292
|
+
// Procedural Memory 자동 변환 (task_goal 없이도 시도)
|
|
293
|
+
await this.convertToProceduralMemory(reflectionNote, event);
|
|
288
294
|
}
|
|
289
295
|
this.status.processedCount++;
|
|
290
296
|
}
|
|
@@ -446,6 +452,216 @@ export class ReflexionWorker {
|
|
|
446
452
|
}
|
|
447
453
|
return undefined;
|
|
448
454
|
}
|
|
455
|
+
/**
|
|
456
|
+
* reflection_notes를 procedural memory로 자동 변환
|
|
457
|
+
*
|
|
458
|
+
* 변환 전략:
|
|
459
|
+
* 1. reflection_notes에서 workflow_name, skill_name, steps, trigger_conditions 추출
|
|
460
|
+
* 2. 기존 procedural memory와 유사도 계산
|
|
461
|
+
* 3. 유사도 기반 병합 전략 결정 (replace, incremental, versioned)
|
|
462
|
+
* 4. 결정된 전략에 따라 메모리 업데이트 또는 생성
|
|
463
|
+
*/
|
|
464
|
+
async convertToProceduralMemory(reflectionNote, event) {
|
|
465
|
+
try {
|
|
466
|
+
// 1. reflection_notes에서 procedural memory 필드 추출
|
|
467
|
+
const extracted = extractProceduralMemory(reflectionNote, event);
|
|
468
|
+
// 추출된 필드가 없으면 변환하지 않음
|
|
469
|
+
if (!extracted.workflow_name && !extracted.skill_name) {
|
|
470
|
+
logger.debug('Procedural Memory 변환 스킵: workflow_name과 skill_name이 모두 없음', {
|
|
471
|
+
event_id: event.id
|
|
472
|
+
});
|
|
473
|
+
return;
|
|
474
|
+
}
|
|
475
|
+
// 2. 유사도 기반 병합 전략 결정
|
|
476
|
+
const mergeStrategy = await determineMergeStrategy(this.db, extracted);
|
|
477
|
+
// 3. 결정된 전략에 따라 메모리 업데이트 또는 생성
|
|
478
|
+
if (mergeStrategy.shouldMerge && mergeStrategy.existingMemoryId) {
|
|
479
|
+
// 기존 메모리 업데이트
|
|
480
|
+
await this.updateProceduralMemory(mergeStrategy.existingMemoryId, extracted, mergeStrategy.updateMode, reflectionNote, event);
|
|
481
|
+
}
|
|
482
|
+
else {
|
|
483
|
+
// 새 메모리 생성
|
|
484
|
+
await this.createProceduralMemory(extracted, reflectionNote, event);
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
catch (error) {
|
|
488
|
+
logger.error('Procedural Memory 변환 실패', {
|
|
489
|
+
error: error instanceof Error ? error.message : String(error),
|
|
490
|
+
event_id: event.id
|
|
491
|
+
});
|
|
492
|
+
// 변환 실패는 전체 프로세스를 중단하지 않음 (기존 reflection_notes는 이미 저장됨)
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
/**
|
|
496
|
+
* 기존 procedural memory 업데이트
|
|
497
|
+
*/
|
|
498
|
+
async updateProceduralMemory(memoryId, extracted, updateMode, reflectionNote, event) {
|
|
499
|
+
try {
|
|
500
|
+
if (updateMode === 'replace') {
|
|
501
|
+
// replace 모드: 기존 메모리를 완전히 교체
|
|
502
|
+
// 단, extracted에서 undefined/null인 필드는 기존 값을 보존 (데이터 손실 방지)
|
|
503
|
+
// COALESCE를 사용하여 새 값이 있으면 사용하고, 없으면 기존 값 유지
|
|
504
|
+
DatabaseUtils.run(this.db, `UPDATE memory_item
|
|
505
|
+
SET workflow_name = COALESCE(?, workflow_name),
|
|
506
|
+
skill_name = COALESCE(?, skill_name),
|
|
507
|
+
trigger_conditions = COALESCE(?, trigger_conditions),
|
|
508
|
+
steps = COALESCE(?, steps),
|
|
509
|
+
task_goal = COALESCE(?, task_goal)
|
|
510
|
+
WHERE id = ?`, [
|
|
511
|
+
extracted.workflow_name || null,
|
|
512
|
+
extracted.skill_name || null,
|
|
513
|
+
extracted.trigger_conditions || null,
|
|
514
|
+
extracted.steps || null,
|
|
515
|
+
extracted.task_goal || null,
|
|
516
|
+
memoryId
|
|
517
|
+
]);
|
|
518
|
+
logger.info('Procedural Memory 업데이트됨 (replace 모드)', {
|
|
519
|
+
memory_id: memoryId,
|
|
520
|
+
workflow_name: extracted.workflow_name,
|
|
521
|
+
skill_name: extracted.skill_name,
|
|
522
|
+
note: 'undefined/null 필드는 기존 값 보존'
|
|
523
|
+
});
|
|
524
|
+
}
|
|
525
|
+
else if (updateMode === 'incremental') {
|
|
526
|
+
// incremental 모드: steps를 병합
|
|
527
|
+
const existingRecord = DatabaseUtils.get(this.db, `SELECT steps FROM memory_item WHERE id = ?`, [memoryId]);
|
|
528
|
+
// extracted.steps가 있을 때만 병합/업데이트, 없으면 기존 값 보존
|
|
529
|
+
let mergedSteps = null;
|
|
530
|
+
let shouldUpdateSteps = false;
|
|
531
|
+
if (extracted.steps) {
|
|
532
|
+
// extracted.steps가 있으면 병합 또는 새 값 사용
|
|
533
|
+
shouldUpdateSteps = true;
|
|
534
|
+
if (existingRecord?.steps) {
|
|
535
|
+
try {
|
|
536
|
+
const existingSteps = JSON.parse(existingRecord.steps);
|
|
537
|
+
const newSteps = JSON.parse(extracted.steps);
|
|
538
|
+
// 중복 제거 후 병합
|
|
539
|
+
const merged = [...existingSteps];
|
|
540
|
+
for (const step of newSteps) {
|
|
541
|
+
if (!merged.some(s => s.toLowerCase() === step.toLowerCase())) {
|
|
542
|
+
merged.push(step);
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
mergedSteps = JSON.stringify(merged);
|
|
546
|
+
}
|
|
547
|
+
catch (error) {
|
|
548
|
+
// JSON 파싱 실패 시 새 steps 사용
|
|
549
|
+
logger.warn('steps 병합 실패, 새 steps 사용', {
|
|
550
|
+
error: error instanceof Error ? error.message : String(error)
|
|
551
|
+
});
|
|
552
|
+
mergedSteps = extracted.steps;
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
else {
|
|
556
|
+
// 기존 steps가 없으면 새 steps 사용
|
|
557
|
+
mergedSteps = extracted.steps;
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
// extracted.steps가 없으면 shouldUpdateSteps = false로 유지하여 steps 업데이트 안 함
|
|
561
|
+
// steps는 extracted.steps가 있을 때만 업데이트 (데이터 손실 방지)
|
|
562
|
+
DatabaseUtils.run(this.db, `UPDATE memory_item
|
|
563
|
+
SET workflow_name = COALESCE(?, workflow_name),
|
|
564
|
+
skill_name = COALESCE(?, skill_name),
|
|
565
|
+
trigger_conditions = COALESCE(?, trigger_conditions),
|
|
566
|
+
${shouldUpdateSteps ? 'steps = ?,' : ''}
|
|
567
|
+
task_goal = COALESCE(?, task_goal)
|
|
568
|
+
WHERE id = ?`, shouldUpdateSteps
|
|
569
|
+
? [
|
|
570
|
+
extracted.workflow_name || null,
|
|
571
|
+
extracted.skill_name || null,
|
|
572
|
+
extracted.trigger_conditions || null,
|
|
573
|
+
mergedSteps,
|
|
574
|
+
extracted.task_goal || null,
|
|
575
|
+
memoryId
|
|
576
|
+
]
|
|
577
|
+
: [
|
|
578
|
+
extracted.workflow_name || null,
|
|
579
|
+
extracted.skill_name || null,
|
|
580
|
+
extracted.trigger_conditions || null,
|
|
581
|
+
extracted.task_goal || null,
|
|
582
|
+
memoryId
|
|
583
|
+
]);
|
|
584
|
+
logger.info('Procedural Memory 업데이트됨 (incremental 모드)', {
|
|
585
|
+
memory_id: memoryId,
|
|
586
|
+
workflow_name: extracted.workflow_name,
|
|
587
|
+
skill_name: extracted.skill_name
|
|
588
|
+
});
|
|
589
|
+
}
|
|
590
|
+
else {
|
|
591
|
+
// versioned 모드: 새 메모리 생성하고 version_of 관계 생성
|
|
592
|
+
const newMemoryId = await this.createProceduralMemory(extracted, reflectionNote, event);
|
|
593
|
+
if (newMemoryId) {
|
|
594
|
+
// version_of 관계 생성
|
|
595
|
+
const versionOfType = toDbRelationType('VERSION_OF');
|
|
596
|
+
if (versionOfType) {
|
|
597
|
+
DatabaseUtils.run(this.db, `INSERT INTO memory_link (source_id, target_id, relation_type, created_at)
|
|
598
|
+
VALUES (?, ?, ?, ?)`, [
|
|
599
|
+
newMemoryId,
|
|
600
|
+
memoryId,
|
|
601
|
+
versionOfType,
|
|
602
|
+
new Date().toISOString()
|
|
603
|
+
]);
|
|
604
|
+
logger.info('Procedural Memory 버전 생성됨 (versioned 모드)', {
|
|
605
|
+
new_memory_id: newMemoryId,
|
|
606
|
+
existing_memory_id: memoryId,
|
|
607
|
+
workflow_name: extracted.workflow_name,
|
|
608
|
+
skill_name: extracted.skill_name
|
|
609
|
+
});
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
}
|
|
614
|
+
catch (error) {
|
|
615
|
+
logger.error('Procedural Memory 업데이트 실패', {
|
|
616
|
+
error: error instanceof Error ? error.message : String(error),
|
|
617
|
+
memory_id: memoryId,
|
|
618
|
+
update_mode: updateMode
|
|
619
|
+
});
|
|
620
|
+
throw error;
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
/**
|
|
624
|
+
* 새 procedural memory 생성
|
|
625
|
+
*/
|
|
626
|
+
async createProceduralMemory(extracted, reflectionNote, event) {
|
|
627
|
+
try {
|
|
628
|
+
const memoryId = `mem_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
629
|
+
const content = extracted.task_goal || `Reflexion: ${event.tool_name} 실패 기록`;
|
|
630
|
+
const reflectionNotesStr = JSON.stringify(reflectionNote);
|
|
631
|
+
DatabaseUtils.run(this.db, `INSERT INTO memory_item (
|
|
632
|
+
id, type, content, workflow_name, skill_name, trigger_conditions,
|
|
633
|
+
steps, task_goal, reflection_notes, importance, privacy_scope, created_at
|
|
634
|
+
)
|
|
635
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
|
|
636
|
+
memoryId,
|
|
637
|
+
'procedural',
|
|
638
|
+
content,
|
|
639
|
+
extracted.workflow_name || null,
|
|
640
|
+
extracted.skill_name || null,
|
|
641
|
+
extracted.trigger_conditions || null,
|
|
642
|
+
extracted.steps || null,
|
|
643
|
+
extracted.task_goal || null,
|
|
644
|
+
reflectionNotesStr,
|
|
645
|
+
0.7,
|
|
646
|
+
'private',
|
|
647
|
+
new Date().toISOString()
|
|
648
|
+
]);
|
|
649
|
+
logger.info('새 Procedural Memory 생성됨', {
|
|
650
|
+
memory_id: memoryId,
|
|
651
|
+
workflow_name: extracted.workflow_name,
|
|
652
|
+
skill_name: extracted.skill_name
|
|
653
|
+
});
|
|
654
|
+
return memoryId;
|
|
655
|
+
}
|
|
656
|
+
catch (error) {
|
|
657
|
+
logger.error('Procedural Memory 생성 실패', {
|
|
658
|
+
error: error instanceof Error ? error.message : String(error),
|
|
659
|
+
workflow_name: extracted.workflow_name,
|
|
660
|
+
skill_name: extracted.skill_name
|
|
661
|
+
});
|
|
662
|
+
return null;
|
|
663
|
+
}
|
|
664
|
+
}
|
|
449
665
|
/**
|
|
450
666
|
* reflection_notes 파싱
|
|
451
667
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reflexion-worker.js","sourceRoot":"","sources":["../../src/infrastructure/reflexion-worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reflexion-worker.js","sourceRoot":"","sources":["../../src/infrastructure/reflexion-worker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,eAAe,EAAqB,MAAM,oDAAoD,CAAC;AACxG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAgC,MAAM,2CAA2C,CAAC;AACzI,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EAEvB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAc9E;;GAEG;AACH,MAAM,OAAO,eAAe;IAClB,eAAe,CAAkB;IACjC,EAAE,CAAoB;IACtB,UAAU,CAAiB;IAC3B,eAAe,GAAwB,IAAI,GAAG,EAAE,CAAC,CAAC,iBAAiB;IAC1D,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,KAAK;IACrC,cAAc,GAAG,CAAC,CAAC,CAAC,aAAa;IACjC,cAAc,GAAG,GAAG,CAAC,CAAC,UAAU;IAChC,WAAW,GAAG,CAAC,CAAC,CAAC,YAAY;IAC7B,YAAY,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,qBAAqB;IACxD,uBAAuB,GAAG,EAAE,CAAC,CAAC,cAAc;IAC5C,oBAAoB,GAAG,CAAC,CAAC,CAAC,YAAY;IAC/C,MAAM,GAAiB;QAC7B,SAAS,EAAE,KAAK;QAChB,aAAa,EAAE,CAAC;QAChB,SAAS,EAAE,CAAC;QACZ,cAAc,EAAE,CAAC;QACjB,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;KAChB,CAAC;IACM,eAAe,GAA0C,IAAI,CAAC;IAC9D,mBAAmB,GAA0C,IAAI,CAAC;IAClE,eAAe,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7C,YACE,eAAgC,EAChC,EAAqB,EACrB,UAA2B;QAE3B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,kBAAkB;QAClB,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAE7F,mBAAmB;QACnB,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;YACtC,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,6BAA6B;YAC7B,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;YAExC,WAAW;YACX,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAE9B,UAAU;YACV,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAExB,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAEnC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE;gBACpC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,oBAAoB;YACpB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;YAEvC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACpC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC9B,CAAC;YAED,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBACxC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAClC,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAEnC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE;gBACpC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,aAAa;QACb,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;YAC1C,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEvB,UAAU;YACV,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,eAAe;YACf,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC1D,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;oBAC5C,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;oBAC1C,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;iBACtC,CAAC,CAAC;gBACH,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;YAED,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE;gBACtB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,mBAAmB;YACnB,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc;QAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1D,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;gBAC3C,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACvC,YAAY,EAAE,IAAI,CAAC,oBAAoB;aACxC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;YACpC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YACjC,YAAY,EAAE,IAAI,CAAC,oBAAoB;SACxC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,WAAW;YACX,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAE7B,MAAM;YACN,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAE9B,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;gBACpC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;aACxC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;gBACrC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;aACxC,CAAC,CAAC;YAEH,uBAAuB;YACvB,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW;QACvB,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,WAAW,CAAC,KAAmB;QAC3C,IAAI,CAAC;YACH,QAAQ;YACR,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;oBACzC,QAAQ,EAAE,KAAK,CAAC,EAAE;oBAClB,IAAI,EAAE,KAAK,CAAC,SAAS;iBACtB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,aAAa;YACb,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAE/C,mBAAmB;YACnB,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAE1D,uBAAuB;YACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAEpE,IAAI,QAAQ,EAAE,CAAC;gBACb,gDAAgD;gBAChD,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CACtC,IAAI,CAAC,EAAE,EACP;;4CAEkC,EAClC,CAAC,QAAQ,CAAC,CACoD,CAAC;gBAEjE,IAAI,QAAiC,CAAC;gBACtC,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;oBACxD,QAAQ,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACN,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;oBAC1E,QAAQ,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;wBACxD,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;4BACpE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;gBACpD,CAAC;gBAED,cAAc;gBACd,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAEpE,WAAW;gBACX,IAAI,eAAe,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;oBACpC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;wBAC5B,SAAS,EAAE,QAAQ;wBACnB,YAAY,EAAE,eAAe,CAAC,WAAW;wBACzC,aAAa,EAAE,eAAe,CAAC,YAAY;wBAC3C,KAAK,EAAE,eAAe,CAAC,KAAK;wBAC5B,OAAO,EAAE,UAAU,eAAe,CAAC,WAAW,4BAA4B;qBAC3E,CAAC,CAAC;gBACL,CAAC;gBAED,KAAK;gBACL,MAAM,WAAW,GAAG,oBAAoB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBACnE,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAE1E,uBAAuB;gBACvB,IAAI,cAAc,IAAI,cAAc,CAAC,EAAE,EAAE,CAAC;oBACxC,cAAc;oBACd,aAAa,CAAC,GAAG,CACf,IAAI,CAAC,EAAE,EACP,0DAA0D,EAC1D,CAAC,oBAAoB,EAAE,cAAc,CAAC,EAAE,CAAC,CAC1C,CAAC;oBACF,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;wBACvC,SAAS,EAAE,cAAc,CAAC,EAAE;wBAC5B,SAAS,EAAE,QAAQ;qBACpB,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,8BAA8B;oBAC9B,wDAAwD;oBACxD,4BAA4B;oBAC5B,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBAChF,aAAa,CAAC,GAAG,CACf,IAAI,CAAC,EAAE,EACP;gDACoC,EACpC;wBACE,QAAQ;wBACR,YAAY;wBACZ,cAAc,KAAK,CAAC,SAAS,QAAQ;wBACrC,QAAQ;wBACR,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;wBAClB,oBAAoB;wBACpB,GAAG;wBACH,SAAS;wBACT,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACzB,CACF,CAAC;oBACF,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;wBACpC,SAAS,EAAE,QAAQ;wBACnB,SAAS,EAAE,QAAQ;qBACpB,CAAC,CAAC;gBACL,CAAC;gBAED,YAAY;gBACZ,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;wBACrC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;oBACrD,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,WAAW,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;oBACjC,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;wBAChD,aAAa,EAAE,WAAW,CAAC,YAAY;qBACxC,CAAC,CAAC;gBACL,CAAC;gBAED,kDAAkD;gBAClD,MAAM,IAAI,CAAC,yBAAyB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,2CAA2C;gBAC3C,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAChF,aAAa,CAAC,GAAG,CACf,IAAI,CAAC,EAAE,EACP;wCAC8B,EAC9B;oBACE,QAAQ;oBACR,YAAY;oBACZ,cAAc,KAAK,CAAC,SAAS,QAAQ;oBACrC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;oBAC9B,GAAG;oBACH,SAAS;oBACT,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACzB,CACF,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE;oBACnD,SAAS,EAAE,QAAQ;iBACpB,CAAC,CAAC;gBAEH,6CAA6C;gBAC7C,MAAM,IAAI,CAAC,yBAAyB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YAC9D,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE;gBACjC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,QAAQ,EAAE,KAAK,CAAC,EAAE;aACnB,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,KAAmB;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAErD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;QAED,qBAAqB;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,gBAAgB;QAChB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,KAAmB;QAC1C,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;QACvF,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9D,IAAI,GAAG,GAAG,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC3C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,KAAmB;QAChD,OAAO;YACL,YAAY,EAAE,KAAK,CAAC,UAAU;YAC9B,mBAAmB,EAAE,KAAK,CAAC,aAAa;YACxC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;YACnD,sBAAsB,EAAE,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC;YACjE,KAAK,EAAE,MAAM,CAAC,QAAQ;SACvB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,KAAmB;QAChD,MAAM,SAAS,GAA2B;YACxC,YAAY,EAAE,GAAG,KAAK,CAAC,SAAS,sDAAsD;YACtF,eAAe,EAAE,eAAe,KAAK,CAAC,SAAS,8CAA8C;YAC7F,gBAAgB,EAAE,GAAG,KAAK,CAAC,SAAS,yCAAyC;SAC9E,CAAC;QAEF,OAAO,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,sBAAsB,CAAC;IACjF,CAAC;IAED;;OAEG;IACK,6BAA6B,CAAC,KAAmB;QACvD,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;QAEvD,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,IAAI,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvE,WAAW,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5G,WAAW,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACtE,WAAW,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,EAAE,iBAAiB,IAAI,KAAK,CAAC,OAAO,CAAC,iBAAiB,GAAG,IAAI,EAAE,CAAC;YAC/E,WAAW,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,WAAW,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAC3B,QAAiC,EACjC,YAA0B;QAO1B,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,WAAW;QAChC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QACxD,MAAM,aAAa,GAAa,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAE7D,yBAAyB;QACzB,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;YACrC,WAAW,IAAI,aAAa,CAAC,MAAM,CAAC;YAEpC,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;gBACjC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtB,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACtC,CAAC;gBACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC5B,CAAC;gBACD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC7B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtC,WAAW,IAAI,CAAC,CAAC;YACjB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC5B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5B,CAAC;YACD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,OAAO;YACL,WAAW;YACX,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;YACtC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;YACxB,aAAa;SACd,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,KAAmB;QACzC,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC,aAAa,CAAC;QAC7B,CAAC;QAED,kBAAkB;QAClB,IAAI,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QACxC,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;YAC7C,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;gBACzB,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;YAC3C,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,yBAAyB,CACrC,cAAmB,EACnB,KAAmB;QAEnB,IAAI,CAAC;YACH,gDAAgD;YAChD,MAAM,SAAS,GAAG,uBAAuB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YAEjE,sBAAsB;YACtB,IAAI,CAAC,SAAS,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;gBACtD,MAAM,CAAC,KAAK,CAAC,2DAA2D,EAAE;oBACxE,QAAQ,EAAE,KAAK,CAAC,EAAE;iBACnB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,qBAAqB;YACrB,MAAM,aAAa,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAEvE,+BAA+B;YAC/B,IAAI,aAAa,CAAC,WAAW,IAAI,aAAa,CAAC,gBAAgB,EAAE,CAAC;gBAChE,cAAc;gBACd,MAAM,IAAI,CAAC,sBAAsB,CAC/B,aAAa,CAAC,gBAAgB,EAC9B,SAAS,EACT,aAAa,CAAC,UAAU,EACxB,cAAc,EACd,KAAK,CACN,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,WAAW;gBACX,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE;gBACtC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,QAAQ,EAAE,KAAK,CAAC,EAAE;aACnB,CAAC,CAAC;YACH,wDAAwD;QAC1D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAClC,QAAgB,EAChB,SAAoC,EACpC,UAAmD,EACnD,cAAmB,EACnB,KAAmB;QAEnB,IAAI,CAAC;YACH,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,6BAA6B;gBAC7B,0DAA0D;gBAC1D,4CAA4C;gBAC5C,aAAa,CAAC,GAAG,CACf,IAAI,CAAC,EAAE,EACP;;;;;;wBAMc,EACd;oBACE,SAAS,CAAC,aAAa,IAAI,IAAI;oBAC/B,SAAS,CAAC,UAAU,IAAI,IAAI;oBAC5B,SAAS,CAAC,kBAAkB,IAAI,IAAI;oBACpC,SAAS,CAAC,KAAK,IAAI,IAAI;oBACvB,SAAS,CAAC,SAAS,IAAI,IAAI;oBAC3B,QAAQ;iBACT,CACF,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE;oBAClD,SAAS,EAAE,QAAQ;oBACnB,aAAa,EAAE,SAAS,CAAC,aAAa;oBACtC,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,IAAI,EAAE,4BAA4B;iBACnC,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;gBACxC,4BAA4B;gBAC5B,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CACtC,IAAI,CAAC,EAAE,EACP,4CAA4C,EAC5C,CAAC,QAAQ,CAAC,CAC6B,CAAC;gBAE1C,8CAA8C;gBAC9C,IAAI,WAAW,GAAkB,IAAI,CAAC;gBACtC,IAAI,iBAAiB,GAAG,KAAK,CAAC;gBAE9B,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;oBACpB,oCAAoC;oBACpC,iBAAiB,GAAG,IAAI,CAAC;oBACzB,IAAI,cAAc,EAAE,KAAK,EAAE,CAAC;wBAC1B,IAAI,CAAC;4BACH,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAa,CAAC;4BACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAa,CAAC;4BACzD,aAAa;4BACb,MAAM,MAAM,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;4BAClC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gCAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oCAC9D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gCACpB,CAAC;4BACH,CAAC;4BACD,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;wBACvC,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,0BAA0B;4BAC1B,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;gCACrC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;6BAC9D,CAAC,CAAC;4BACH,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC;wBAChC,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,2BAA2B;wBAC3B,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC;oBAChC,CAAC;gBACH,CAAC;gBACD,sEAAsE;gBAEtE,iDAAiD;gBACjD,aAAa,CAAC,GAAG,CACf,IAAI,CAAC,EAAE,EACP;;;;iBAIO,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;;wBAE9B,EACd,iBAAiB;oBACf,CAAC,CAAC;wBACE,SAAS,CAAC,aAAa,IAAI,IAAI;wBAC/B,SAAS,CAAC,UAAU,IAAI,IAAI;wBAC5B,SAAS,CAAC,kBAAkB,IAAI,IAAI;wBACpC,WAAW;wBACX,SAAS,CAAC,SAAS,IAAI,IAAI;wBAC3B,QAAQ;qBACT;oBACH,CAAC,CAAC;wBACE,SAAS,CAAC,aAAa,IAAI,IAAI;wBAC/B,SAAS,CAAC,UAAU,IAAI,IAAI;wBAC5B,SAAS,CAAC,kBAAkB,IAAI,IAAI;wBACpC,SAAS,CAAC,SAAS,IAAI,IAAI;wBAC3B,QAAQ;qBACT,CACN,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE;oBACtD,SAAS,EAAE,QAAQ;oBACnB,aAAa,EAAE,SAAS,CAAC,aAAa;oBACtC,UAAU,EAAE,SAAS,CAAC,UAAU;iBACjC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,4CAA4C;gBAC5C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;gBAExF,IAAI,WAAW,EAAE,CAAC;oBAChB,mBAAmB;oBACnB,MAAM,aAAa,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;oBACrD,IAAI,aAAa,EAAE,CAAC;wBAClB,aAAa,CAAC,GAAG,CACf,IAAI,CAAC,EAAE,EACP;mCACqB,EACrB;4BACE,WAAW;4BACX,QAAQ;4BACR,aAAa;4BACb,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;yBACzB,CACF,CAAC;wBACF,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE;4BACrD,aAAa,EAAE,WAAW;4BAC1B,kBAAkB,EAAE,QAAQ;4BAC5B,aAAa,EAAE,SAAS,CAAC,aAAa;4BACtC,UAAU,EAAE,SAAS,CAAC,UAAU;yBACjC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;gBACxC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,SAAS,EAAE,QAAQ;gBACnB,WAAW,EAAE,UAAU;aACxB,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAClC,SAAoC,EACpC,cAAmB,EACnB,KAAmB;QAEnB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAChF,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,IAAI,cAAc,KAAK,CAAC,SAAS,QAAQ,CAAC;YAC7E,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAE1D,aAAa,CAAC,GAAG,CACf,IAAI,CAAC,EAAE,EACP;;;;oDAI4C,EAC5C;gBACE,QAAQ;gBACR,YAAY;gBACZ,OAAO;gBACP,SAAS,CAAC,aAAa,IAAI,IAAI;gBAC/B,SAAS,CAAC,UAAU,IAAI,IAAI;gBAC5B,SAAS,CAAC,kBAAkB,IAAI,IAAI;gBACpC,SAAS,CAAC,KAAK,IAAI,IAAI;gBACvB,SAAS,CAAC,SAAS,IAAI,IAAI;gBAC3B,kBAAkB;gBAClB,GAAG;gBACH,SAAS;gBACT,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACzB,CACF,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;gBACrC,SAAS,EAAE,QAAQ;gBACnB,aAAa,EAAE,SAAS,CAAC,aAAa;gBACtC,UAAU,EAAE,SAAS,CAAC,UAAU;aACjC,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE;gBACtC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,aAAa,EAAE,SAAS,CAAC,aAAa;gBACtC,UAAU,EAAE,SAAS,CAAC,UAAU;aACjC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,eAAuB;QAClD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACvC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAE3C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAC1C,CAAC;iBAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACzD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACvC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;gBACpC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,2CAA2C;QAC3C,0CAA0C;QAC1C,oCAAoC;QACpC,+CAA+C;QAC/C,yCAAyC;IAC3C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,KAAmB;QACzC,IAAI,CAAC;YACH,uCAAuC;YACvC,4CAA4C;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBACrC,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE;oBACJ,KAAK;oBACL,OAAO,EAAE,CAAC,GAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC;iBAC9D;gBACD,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,UAAU,EAAE,IAAI,CAAC,WAAW;gBAC5B,OAAO,EAAE,KAAK,CAAC,WAAW;aAC3B,CAAC,CAAC;YAEH,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;oBAC1C,QAAQ,EAAE,KAAK,CAAC,EAAE;oBAClB,IAAI,EAAE,KAAK,CAAC,SAAS;iBACtB,CAAC,CAAC;gBACH,OAAO,KAAK,CAAC;YACf,CAAC;YAED,aAAa;YACb,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE;gBAC5B,QAAQ,EAAE,KAAK,CAAC,EAAE;gBAClB,IAAI,EAAE,KAAK,CAAC,SAAS;gBACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO;aAC/C,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE;gBAClC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,QAAQ,EAAE,KAAK,CAAC,EAAE;aACnB,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,uBAAuB;QAC7B,gDAAgD;QAChD,kBAAkB;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,KAAmB;QAC3C,IAAI,SAAS,GAAiB,IAAI,CAAC;QAEnC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YAC5D,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC9B,OAAO,CAAC,KAAK;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAEtE,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;oBACnC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC5F,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;wBACrC,OAAO,EAAE,OAAO,GAAG,CAAC;wBACpB,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,QAAQ,EAAE,KAAK;wBACf,QAAQ,EAAE,KAAK,CAAC,EAAE;qBACnB,CAAC,CAAC;oBACH,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;QACH,CAAC;QAED,YAAY;QACZ,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE;YACjC,QAAQ,EAAE,KAAK,CAAC,EAAE;YAClB,KAAK,EAAE,SAAS,EAAE,OAAO;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;QACH,MAAM,SAAS,IAAI,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,SAAS;QACP,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC9C,OAAO;YACL,GAAG,IAAI,CAAC,MAAM;YACd,SAAS,EAAE,UAAU,CAAC,OAAO;YAC7B,aAAa,EAAE,UAAU,CAAC,UAAU;SACrC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC9C,IAAI,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;gBACrC,UAAU,EAAE,UAAU,CAAC,OAAO;gBAC9B,SAAS,EAAE,IAAI,CAAC,uBAAuB;aACxC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACH,mBAAmB;QASjB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC;QACzD,MAAM,WAAW,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QAEpE,OAAO;YACL,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,WAAW;YACX,qBAAqB,EAAE,UAAU,CAAC,qBAAqB;YACvD,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,oBAAoB;QAuBlB,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAAC;QACpE,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEpD,YAAY;QACZ,MAAM,MAAM,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC,oBAAoB;QACnE,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,oCAAoC;QAC3D,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,WAAW,CAAC;QAE1D,OAAO;YACL,SAAS,EAAE,gBAAgB;YAC3B,SAAS,EAAE,gBAAgB;YAC3B,OAAO,EAAE;gBACP,MAAM;gBACN,SAAS;gBACT,oBAAoB;aACrB;SACF,CAAC;IACJ,CAAC;CACF"}
|