@naganpm/snowflake-mcp-server 1.0.7 โ 1.0.8
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/mcp-server.js +0 -17
- package/dist/mcp-server.js.map +1 -1
- package/dist/services/snowflake.service.d.ts +1 -12
- package/dist/services/snowflake.service.d.ts.map +1 -1
- package/dist/services/snowflake.service.js +11 -87
- package/dist/services/snowflake.service.js.map +1 -1
- package/package.json +1 -1
package/dist/mcp-server.js
CHANGED
|
@@ -74,16 +74,6 @@ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
|
|
|
74
74
|
description: 'Get session info',
|
|
75
75
|
inputSchema: { type: 'object', properties: {} },
|
|
76
76
|
},
|
|
77
|
-
{
|
|
78
|
-
name: 'clear_cache',
|
|
79
|
-
description: 'Clear all cached query results',
|
|
80
|
-
inputSchema: { type: 'object', properties: {} },
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
name: 'get_cache_stats',
|
|
84
|
-
description: 'Get cache statistics (size and keys)',
|
|
85
|
-
inputSchema: { type: 'object', properties: {} },
|
|
86
|
-
},
|
|
87
77
|
],
|
|
88
78
|
};
|
|
89
79
|
});
|
|
@@ -113,13 +103,6 @@ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
|
113
103
|
case 'get_session_info':
|
|
114
104
|
result = await snowflakeService.getCurrentSession();
|
|
115
105
|
break;
|
|
116
|
-
case 'clear_cache':
|
|
117
|
-
snowflakeService.clearCache();
|
|
118
|
-
result = { message: 'Cache cleared successfully' };
|
|
119
|
-
break;
|
|
120
|
-
case 'get_cache_stats':
|
|
121
|
-
result = snowflakeService.getCacheStats();
|
|
122
|
-
break;
|
|
123
106
|
default:
|
|
124
107
|
throw new Error(`Unknown tool: ${name}`);
|
|
125
108
|
}
|
package/dist/mcp-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":";;;;;;AACA,wEAAmE;AACnE,wEAAiF;AACjF,iEAG4C;AAC5C,oEAAgE;AAChE,oDAA4B;AAE5B,gBAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,gBAAgB,GAAG,oCAAgB,CAAC,WAAW,EAAE,CAAC;AAExD,MAAM,MAAM,GAAG,IAAI,iBAAM,CACvB;IACE,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,OAAO;CACjB,EACD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;KACV;CACF,CACF,CAAC;AAEF,MAAM,CAAC,iBAAiB,CAAC,iCAAsB,EAAE,KAAK,IAAI,EAAE;IAC1D,OAAO;QACL,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,2CAA2C;gBACxD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;wBAC9D,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE;qBAClE;oBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;iBACpB;aACF;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,oBAAoB;gBACjC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;aAChD;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,cAAc;gBAC3B,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBAC7C;aACF;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,aAAa;gBAC1B,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBACzE;aACF;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,0BAA0B;gBACvC,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;oBAC7C,QAAQ,EAAE,CAAC,WAAW,CAAC;iBACxB;aACF;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,iBAAiB;gBAC9B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;aAChD;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,kBAAkB;gBAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;aAChD;
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,21 +16,10 @@ export declare class SnowflakeService {
|
|
|
16
16
|
private static instance;
|
|
17
17
|
private connection;
|
|
18
18
|
private config;
|
|
19
|
-
private cache;
|
|
20
|
-
private cacheConfig;
|
|
21
19
|
private constructor();
|
|
22
20
|
static getInstance(): SnowflakeService;
|
|
23
21
|
private connect;
|
|
24
|
-
|
|
25
|
-
private getFromCache;
|
|
26
|
-
private setCache;
|
|
27
|
-
private cleanupExpiredCache;
|
|
28
|
-
clearCache(): void;
|
|
29
|
-
getCacheStats(): {
|
|
30
|
-
size: number;
|
|
31
|
-
keys: string[];
|
|
32
|
-
};
|
|
33
|
-
executeQuery(sqlText: string, binds?: any[], useCache?: boolean, ttl?: number): Promise<QueryResult>;
|
|
22
|
+
executeQuery(sqlText: string, binds?: any[]): Promise<QueryResult>;
|
|
34
23
|
listDatabases(): Promise<QueryResult>;
|
|
35
24
|
listSchemas(database?: string): Promise<QueryResult>;
|
|
36
25
|
listTables(database?: string, schema?: string): Promise<QueryResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snowflake.service.d.ts","sourceRoot":"","sources":["../../src/services/snowflake.service.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"snowflake.service.d.ts","sourceRoot":"","sources":["../../src/services/snowflake.service.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmB;IAC1C,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,MAAM,CAAkB;IAEhC,OAAO;WAWO,WAAW,IAAI,gBAAgB;YAO/B,OAAO;IA8BN,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IA2BpE,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC;IAIrC,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAOpD,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAOpE,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAItD,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;IAItC,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC;IAIzC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBjC,WAAW,IAAI,OAAO;IAKtB,eAAe,IAAI,IAAI;CAG/B"}
|
|
@@ -8,18 +8,6 @@ const snowflake_sdk_1 = __importDefault(require("snowflake-sdk"));
|
|
|
8
8
|
class SnowflakeService {
|
|
9
9
|
constructor() {
|
|
10
10
|
this.connection = null;
|
|
11
|
-
this.cache = new Map();
|
|
12
|
-
this.cacheConfig = {
|
|
13
|
-
defaultTTL: 30000, // 30 seconds default
|
|
14
|
-
queryTypeTTLs: {
|
|
15
|
-
databases: 300000, // 5 minutes - databases don't change often
|
|
16
|
-
schemas: 180000, // 3 minutes
|
|
17
|
-
tables: 60000, // 1 minute
|
|
18
|
-
warehouses: 300000, // 5 minutes
|
|
19
|
-
sessionInfo: 10000, // 10 seconds
|
|
20
|
-
describe: 120000, // 2 minutes
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
11
|
this.config = {
|
|
24
12
|
account: process.env.SNOWFLAKE_ACCOUNT || '',
|
|
25
13
|
username: process.env.SNOWFLAKE_USERNAME || '',
|
|
@@ -28,8 +16,6 @@ class SnowflakeService {
|
|
|
28
16
|
database: process.env.SNOWFLAKE_DATABASE,
|
|
29
17
|
schema: process.env.SNOWFLAKE_SCHEMA,
|
|
30
18
|
};
|
|
31
|
-
// Start cache cleanup interval (every 60 seconds)
|
|
32
|
-
setInterval(() => this.cleanupExpiredCache(), 60000);
|
|
33
19
|
}
|
|
34
20
|
static getInstance() {
|
|
35
21
|
if (!SnowflakeService.instance) {
|
|
@@ -66,63 +52,7 @@ class SnowflakeService {
|
|
|
66
52
|
});
|
|
67
53
|
});
|
|
68
54
|
}
|
|
69
|
-
|
|
70
|
-
return `${query}:${JSON.stringify(params || {})}`;
|
|
71
|
-
}
|
|
72
|
-
getFromCache(cacheKey, ttl) {
|
|
73
|
-
const entry = this.cache.get(cacheKey);
|
|
74
|
-
if (!entry) {
|
|
75
|
-
return null;
|
|
76
|
-
}
|
|
77
|
-
const age = Date.now() - entry.timestamp;
|
|
78
|
-
if (age > ttl) {
|
|
79
|
-
this.cache.delete(cacheKey);
|
|
80
|
-
console.log(`๐๏ธ Cache expired for key: ${cacheKey.substring(0, 50)}...`);
|
|
81
|
-
return null;
|
|
82
|
-
}
|
|
83
|
-
console.log(`โ
Cache hit for key: ${cacheKey.substring(0, 50)}... (age: ${age}ms)`);
|
|
84
|
-
return entry.data;
|
|
85
|
-
}
|
|
86
|
-
setCache(cacheKey, data) {
|
|
87
|
-
this.cache.set(cacheKey, {
|
|
88
|
-
data,
|
|
89
|
-
timestamp: Date.now(),
|
|
90
|
-
});
|
|
91
|
-
console.log(`๐พ Cached result for key: ${cacheKey.substring(0, 50)}... (size: ${this.cache.size})`);
|
|
92
|
-
}
|
|
93
|
-
cleanupExpiredCache() {
|
|
94
|
-
const now = Date.now();
|
|
95
|
-
let cleaned = 0;
|
|
96
|
-
for (const [key, entry] of this.cache.entries()) {
|
|
97
|
-
// Remove entries older than the longest TTL
|
|
98
|
-
if (now - entry.timestamp > Math.max(...Object.values(this.cacheConfig.queryTypeTTLs))) {
|
|
99
|
-
this.cache.delete(key);
|
|
100
|
-
cleaned++;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
if (cleaned > 0) {
|
|
104
|
-
console.log(`๐งน Cleaned up ${cleaned} expired cache entries. Current cache size: ${this.cache.size}`);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
clearCache() {
|
|
108
|
-
this.cache.clear();
|
|
109
|
-
console.log('๐๏ธ All cache cleared');
|
|
110
|
-
}
|
|
111
|
-
getCacheStats() {
|
|
112
|
-
return {
|
|
113
|
-
size: this.cache.size,
|
|
114
|
-
keys: Array.from(this.cache.keys()).map(k => k.substring(0, 50)),
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
async executeQuery(sqlText, binds, useCache = false, ttl) {
|
|
118
|
-
// Check cache if enabled
|
|
119
|
-
if (useCache) {
|
|
120
|
-
const cacheKey = this.getCacheKey(sqlText, binds);
|
|
121
|
-
const cachedResult = this.getFromCache(cacheKey, ttl || this.cacheConfig.defaultTTL);
|
|
122
|
-
if (cachedResult) {
|
|
123
|
-
return cachedResult;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
55
|
+
async executeQuery(sqlText, binds) {
|
|
126
56
|
const startTime = Date.now();
|
|
127
57
|
const conn = await this.connect();
|
|
128
58
|
return new Promise((resolve, reject) => {
|
|
@@ -136,46 +66,40 @@ class SnowflakeService {
|
|
|
136
66
|
}
|
|
137
67
|
else {
|
|
138
68
|
const columns = stmt.getColumns().map(col => col.getName());
|
|
139
|
-
|
|
69
|
+
resolve({
|
|
140
70
|
columns,
|
|
141
71
|
rows: rows || [],
|
|
142
72
|
rowCount: rows?.length || 0,
|
|
143
73
|
executionTime,
|
|
144
|
-
};
|
|
145
|
-
// Cache the result if caching is enabled
|
|
146
|
-
if (useCache) {
|
|
147
|
-
const cacheKey = this.getCacheKey(sqlText, binds);
|
|
148
|
-
this.setCache(cacheKey, result);
|
|
149
|
-
}
|
|
150
|
-
resolve(result);
|
|
74
|
+
});
|
|
151
75
|
}
|
|
152
76
|
},
|
|
153
77
|
});
|
|
154
78
|
});
|
|
155
79
|
}
|
|
156
80
|
async listDatabases() {
|
|
157
|
-
return this.executeQuery('SHOW DATABASES'
|
|
81
|
+
return this.executeQuery('SHOW DATABASES');
|
|
158
82
|
}
|
|
159
83
|
async listSchemas(database) {
|
|
160
84
|
if (database) {
|
|
161
|
-
return this.executeQuery(`SHOW SCHEMAS IN DATABASE ${database}
|
|
85
|
+
return this.executeQuery(`SHOW SCHEMAS IN DATABASE ${database}`);
|
|
162
86
|
}
|
|
163
|
-
return this.executeQuery('SHOW SCHEMAS'
|
|
87
|
+
return this.executeQuery('SHOW SCHEMAS');
|
|
164
88
|
}
|
|
165
89
|
async listTables(database, schema) {
|
|
166
90
|
if (database && schema) {
|
|
167
|
-
return this.executeQuery(`SHOW TABLES IN ${database}.${schema}
|
|
91
|
+
return this.executeQuery(`SHOW TABLES IN ${database}.${schema}`);
|
|
168
92
|
}
|
|
169
|
-
return this.executeQuery('SHOW TABLES'
|
|
93
|
+
return this.executeQuery('SHOW TABLES');
|
|
170
94
|
}
|
|
171
95
|
async describeTable(tableName) {
|
|
172
|
-
return this.executeQuery(`DESCRIBE TABLE ${tableName}
|
|
96
|
+
return this.executeQuery(`DESCRIBE TABLE ${tableName}`);
|
|
173
97
|
}
|
|
174
98
|
async listWarehouses() {
|
|
175
|
-
return this.executeQuery('SHOW WAREHOUSES'
|
|
99
|
+
return this.executeQuery('SHOW WAREHOUSES');
|
|
176
100
|
}
|
|
177
101
|
async getCurrentSession() {
|
|
178
|
-
return this.executeQuery('SELECT CURRENT_USER(), CURRENT_ROLE(), CURRENT_DATABASE(), CURRENT_SCHEMA(), CURRENT_WAREHOUSE()'
|
|
102
|
+
return this.executeQuery('SELECT CURRENT_USER(), CURRENT_ROLE(), CURRENT_DATABASE(), CURRENT_SCHEMA(), CURRENT_WAREHOUSE()');
|
|
179
103
|
}
|
|
180
104
|
async disconnect() {
|
|
181
105
|
if (this.connection) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snowflake.service.js","sourceRoot":"","sources":["../../src/services/snowflake.service.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAsC;
|
|
1
|
+
{"version":3,"file":"snowflake.service.js","sourceRoot":"","sources":["../../src/services/snowflake.service.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAsC;AAkBtC,MAAa,gBAAgB;IAK3B;QAHQ,eAAU,GAAgC,IAAI,CAAC;QAIrD,IAAI,CAAC,MAAM,GAAG;YACZ,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE;YAC5C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE;YAC9C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE;YAC9C,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;YAC1C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;YACxC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;SACrC,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC/B,gBAAgB,CAAC,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACrD,CAAC;QACD,OAAO,gBAAgB,CAAC,QAAQ,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,iBAAiB,GAAQ;gBAC7B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAC5B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC9B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;aAC/B,CAAC;YAEF,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS;gBAAE,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YAC/E,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAAE,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC5E,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAEtE,IAAI,CAAC,UAAU,GAAG,uBAAS,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;YAEhE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACpC,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;oBAChE,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;oBACrD,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEQ,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,KAAa;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAElC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC;gBACX,OAAO;gBACP,KAAK;gBACL,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;oBAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;oBAE7C,IAAI,GAAG,EAAE,CAAC;wBACR,MAAM,CAAC,GAAG,CAAC,CAAC;oBACd,CAAC;yBAAM,CAAC;wBACN,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;wBAC5D,OAAO,CAAC;4BACN,OAAO;4BACP,IAAI,EAAE,IAAI,IAAI,EAAE;4BAChB,QAAQ,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;4BAC3B,aAAa;yBACd,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,aAAa;QACxB,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,QAAiB;QACxC,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,YAAY,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,QAAiB,EAAE,MAAe;QACxD,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,YAAY,CAAC,kBAAkB,QAAQ,IAAI,MAAM,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAC1C,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,SAAiB;QAC1C,OAAO,IAAI,CAAC,YAAY,CAAC,kBAAkB,SAAS,EAAE,CAAC,CAAC;IAC1D,CAAC;IAEM,KAAK,CAAC,cAAc;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAC9C,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC5B,OAAO,IAAI,CAAC,YAAY,CAAC,kGAAkG,CAAC,CAAC;IAC/H,CAAC;IAEM,KAAK,CAAC,UAAU;QACrB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,IAAI,CAAC,UAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC/B,IAAI,GAAG,EAAE,CAAC;wBACR,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;wBACpE,MAAM,CAAC,GAAG,CAAC,CAAC;oBACd,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;wBAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;wBACvB,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAC5D,CAAC;IAED,6CAA6C;IACtC,eAAe;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;CACF;AAvID,4CAuIC"}
|