@panguard-ai/panguard-guard 0.2.2 → 0.2.3
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/agent/atr-action-handlers.d.ts.map +1 -1
- package/dist/agent/atr-action-handlers.js +1 -5
- package/dist/agent/atr-action-handlers.js.map +1 -1
- package/dist/agent/respond-agent.d.ts.map +1 -1
- package/dist/agent/respond-agent.js +4 -4
- package/dist/agent/respond-agent.js.map +1 -1
- package/dist/agent-client/index.d.ts.map +1 -1
- package/dist/agent-client/index.js.map +1 -1
- package/dist/cli/dashboard-renderer.d.ts.map +1 -1
- package/dist/cli/dashboard-renderer.js +6 -2
- package/dist/cli/dashboard-renderer.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +17 -7
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/interactive-handler.d.ts.map +1 -1
- package/dist/cli/interactive-handler.js +1 -1
- package/dist/cli/interactive-handler.js.map +1 -1
- package/dist/collectors/index.d.ts +1 -1
- package/dist/collectors/index.d.ts.map +1 -1
- package/dist/collectors/index.js +1 -1
- package/dist/collectors/index.js.map +1 -1
- package/dist/collectors/log-collector.d.ts.map +1 -1
- package/dist/collectors/log-collector.js +15 -2
- package/dist/collectors/log-collector.js.map +1 -1
- package/dist/collectors/log-parsers.d.ts.map +1 -1
- package/dist/collectors/log-parsers.js +12 -2
- package/dist/collectors/log-parsers.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -11
- package/dist/config.js.map +1 -1
- package/dist/correlation/event-correlator.d.ts.map +1 -1
- package/dist/correlation/event-correlator.js +5 -3
- package/dist/correlation/event-correlator.js.map +1 -1
- package/dist/daemon/index.js +7 -4
- package/dist/daemon/index.js.map +1 -1
- package/dist/dashboard/index.d.ts.map +1 -1
- package/dist/dashboard/index.js +47 -25
- package/dist/dashboard/index.js.map +1 -1
- package/dist/dashboard/relay-client.d.ts.map +1 -1
- package/dist/dashboard/relay-client.js +5 -8
- package/dist/dashboard/relay-client.js.map +1 -1
- package/dist/engines/atr-drafter.d.ts.map +1 -1
- package/dist/engines/atr-drafter.js +7 -4
- package/dist/engines/atr-drafter.js.map +1 -1
- package/dist/engines/atr-engine.d.ts.map +1 -1
- package/dist/engines/atr-engine.js +2 -1
- package/dist/engines/atr-engine.js.map +1 -1
- package/dist/engines/skill-watcher.d.ts.map +1 -1
- package/dist/engines/skill-watcher.js +10 -6
- package/dist/engines/skill-watcher.js.map +1 -1
- package/dist/engines/skill-whitelist.d.ts +6 -0
- package/dist/engines/skill-whitelist.d.ts.map +1 -1
- package/dist/engines/skill-whitelist.js +39 -1
- package/dist/engines/skill-whitelist.js.map +1 -1
- package/dist/guard-engine.d.ts.map +1 -1
- package/dist/guard-engine.js +53 -14
- package/dist/guard-engine.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/investigation/llm-planner.d.ts.map +1 -1
- package/dist/investigation/llm-planner.js +1 -3
- package/dist/investigation/llm-planner.js.map +1 -1
- package/dist/investigation/tool-descriptions.d.ts.map +1 -1
- package/dist/investigation/tool-descriptions.js.map +1 -1
- package/dist/license/index.d.ts +3 -3
- package/dist/license/index.js +6 -6
- package/dist/license/index.js.map +1 -1
- package/dist/memory/anomaly-scorer.d.ts.map +1 -1
- package/dist/memory/anomaly-scorer.js.map +1 -1
- package/dist/memory/baseline-stats.d.ts.map +1 -1
- package/dist/memory/baseline-stats.js +16 -22
- package/dist/memory/baseline-stats.js.map +1 -1
- package/dist/memory/baseline.d.ts.map +1 -1
- package/dist/memory/baseline.js +11 -10
- package/dist/memory/baseline.js.map +1 -1
- package/dist/memory/index.d.ts +1 -1
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +1 -1
- package/dist/memory/index.js.map +1 -1
- package/dist/metrics.d.ts.map +1 -1
- package/dist/metrics.js +15 -3
- package/dist/metrics.js.map +1 -1
- package/dist/monitors/dpi-monitor.d.ts.map +1 -1
- package/dist/monitors/dpi-monitor.js +4 -10
- package/dist/monitors/dpi-monitor.js.map +1 -1
- package/dist/monitors/memory-scanner.d.ts.map +1 -1
- package/dist/monitors/memory-scanner.js.map +1 -1
- package/dist/monitors/rootkit-detector.d.ts.map +1 -1
- package/dist/monitors/rootkit-detector.js.map +1 -1
- package/dist/monitors/syscall-monitor.d.ts.map +1 -1
- package/dist/monitors/syscall-monitor.js +38 -20
- package/dist/monitors/syscall-monitor.js.map +1 -1
- package/dist/playbook/engine.d.ts.map +1 -1
- package/dist/playbook/engine.js.map +1 -1
- package/dist/playbook/index.d.ts +1 -1
- package/dist/playbook/index.d.ts.map +1 -1
- package/dist/playbook/index.js +1 -1
- package/dist/playbook/index.js.map +1 -1
- package/dist/playbook/parser.d.ts.map +1 -1
- package/dist/playbook/parser.js +5 -5
- package/dist/playbook/parser.js.map +1 -1
- package/dist/summary/daily-summary.d.ts.map +1 -1
- package/dist/summary/daily-summary.js +7 -2
- package/dist/summary/daily-summary.js.map +1 -1
- package/dist/threat-cloud/index.d.ts +13 -0
- package/dist/threat-cloud/index.d.ts.map +1 -1
- package/dist/threat-cloud/index.js +38 -0
- package/dist/threat-cloud/index.js.map +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +8 -3
|
@@ -16,11 +16,11 @@ import { createLogger, FileMonitor } from '@panguard-ai/core';
|
|
|
16
16
|
const logger = createLogger('panguard-guard:skill-watcher');
|
|
17
17
|
async function loadMcpConfig() {
|
|
18
18
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
19
|
-
return await import('@panguard-ai/panguard-mcp/config');
|
|
19
|
+
return (await import('@panguard-ai/panguard-mcp/config'));
|
|
20
20
|
}
|
|
21
21
|
async function loadAuditor() {
|
|
22
22
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
23
|
-
return await import('@panguard-ai/panguard-skill-auditor');
|
|
23
|
+
return (await import('@panguard-ai/panguard-skill-auditor'));
|
|
24
24
|
}
|
|
25
25
|
// ---------------------------------------------------------------------------
|
|
26
26
|
// Skill Watcher
|
|
@@ -215,15 +215,18 @@ export class SkillWatcher extends EventEmitter {
|
|
|
215
215
|
platformId: change.platformId,
|
|
216
216
|
riskLevel: audit.riskLevel,
|
|
217
217
|
riskScore: audit.riskScore,
|
|
218
|
-
autoWhitelisted: this.config.autoWhitelist &&
|
|
218
|
+
autoWhitelisted: this.config.autoWhitelist && audit.riskLevel === 'LOW',
|
|
219
219
|
};
|
|
220
220
|
this.emit('skill-audit-complete', result);
|
|
221
221
|
logger.info(`Skill audit complete: ${change.name} = ${audit.riskLevel} (score: ${audit.riskScore})`);
|
|
222
222
|
// Submit audit result to Threat Cloud (anonymized)
|
|
223
223
|
if (this.config.submitThreat && audit.riskScore > 0) {
|
|
224
224
|
const { createHash } = await import('node:crypto');
|
|
225
|
-
const skillHash = createHash('sha256')
|
|
226
|
-
|
|
225
|
+
const skillHash = createHash('sha256')
|
|
226
|
+
.update(`${change.name}:${change.command}`)
|
|
227
|
+
.digest('hex');
|
|
228
|
+
this.config
|
|
229
|
+
.submitThreat({
|
|
227
230
|
skillHash,
|
|
228
231
|
skillName: change.name,
|
|
229
232
|
riskScore: audit.riskScore,
|
|
@@ -234,7 +237,8 @@ export class SkillWatcher extends EventEmitter {
|
|
|
234
237
|
severity: f.severity,
|
|
235
238
|
title: f.title,
|
|
236
239
|
})),
|
|
237
|
-
})
|
|
240
|
+
})
|
|
241
|
+
.catch((submitErr) => {
|
|
238
242
|
logger.warn(`Skill threat submission failed for ${change.name}: ${submitErr instanceof Error ? submitErr.message : String(submitErr)}`);
|
|
239
243
|
});
|
|
240
244
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-watcher.js","sourceRoot":"","sources":["../../src/engines/skill-watcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE9D,MAAM,MAAM,GAAG,YAAY,CAAC,8BAA8B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"skill-watcher.js","sourceRoot":"","sources":["../../src/engines/skill-watcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,6 +45,8 @@ export declare class SkillWhitelistManager {
|
|
|
45
45
|
private readonly config;
|
|
46
46
|
private readonly whitelist;
|
|
47
47
|
private readonly revokedSkills;
|
|
48
|
+
private fileWatcher;
|
|
49
|
+
private writingToDisk;
|
|
48
50
|
constructor(config?: SkillWhitelistConfig);
|
|
49
51
|
/**
|
|
50
52
|
* Check if a skill is whitelisted.
|
|
@@ -112,6 +114,10 @@ export declare class SkillWhitelistManager {
|
|
|
112
114
|
*/
|
|
113
115
|
importJSON(json: string): number;
|
|
114
116
|
private persistToDisk;
|
|
117
|
+
/** Watch the whitelist file for external changes (e.g., from `panguard setup`) */
|
|
118
|
+
private watchFile;
|
|
119
|
+
/** Stop watching the whitelist file */
|
|
120
|
+
stopWatching(): void;
|
|
115
121
|
private loadFromDisk;
|
|
116
122
|
private normalize;
|
|
117
123
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-whitelist.d.ts","sourceRoot":"","sources":["../../src/engines/skill-whitelist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAaH,kCAAkC;AAClC,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEhF,gCAAgC;AAChC,MAAM,WAAW,gBAAgB;IAC/B,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,cAAc,EAAE,MAAM,CAAC;IACvB,qCAAqC;IACrC,MAAM,EAAE,eAAe,CAAC;IACxB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,8BAA8B;AAC9B,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gEAAgE;IAChE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAcD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;IACjE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;
|
|
1
|
+
{"version":3,"file":"skill-whitelist.d.ts","sourceRoot":"","sources":["../../src/engines/skill-whitelist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAaH,kCAAkC;AAClC,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEhF,gCAAgC;AAChC,MAAM,WAAW,gBAAgB;IAC/B,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,cAAc,EAAE,MAAM,CAAC;IACvB,qCAAqC;IACrC,MAAM,EAAE,eAAe,CAAC;IACxB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,8BAA8B;AAC9B,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gEAAgE;IAChE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAcD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;IACjE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,aAAa,CAAS;gBAElB,MAAM,CAAC,EAAE,oBAAoB;IAmBzC;;;OAGG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAKzC;;;OAGG;IACH,GAAG,CACD,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,eAAe,EACvB,MAAM,CAAC,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO;IA4BV;;;OAGG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO;IAWnD;;;OAGG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAQlC;;;;OAIG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO;IAsBhE;;;;OAIG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAc3C;;;OAGG;IACH,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,MAAM;IAUhF;;;OAGG;IACH,MAAM,IAAI,gBAAgB,EAAE;IAI5B;;;OAGG;IACH,QAAQ,IAAI;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;KAC3C;IAwBD;;;OAGG;IACH,UAAU,IAAI,MAAM;IAkBpB;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IA4BhC,OAAO,CAAC,aAAa;IAwBrB,kFAAkF;IAClF,OAAO,CAAC,SAAS;IAsBjB,uCAAuC;IACvC,YAAY,IAAI,IAAI;IAOpB,OAAO,CAAC,YAAY;IAkCpB,OAAO,CAAC,SAAS;IAIjB;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM;CAOnE"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* @module @panguard-ai/panguard-guard/engines/skill-whitelist
|
|
13
13
|
*/
|
|
14
14
|
import { createHash } from 'node:crypto';
|
|
15
|
-
import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
|
|
15
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync, watch } from 'node:fs';
|
|
16
16
|
import { dirname } from 'node:path';
|
|
17
17
|
import { createLogger } from '@panguard-ai/core';
|
|
18
18
|
const logger = createLogger('panguard-guard:skill-whitelist');
|
|
@@ -30,11 +30,14 @@ export class SkillWhitelistManager {
|
|
|
30
30
|
config;
|
|
31
31
|
whitelist = new Map();
|
|
32
32
|
revokedSkills = new Set();
|
|
33
|
+
fileWatcher = null;
|
|
34
|
+
writingToDisk = false;
|
|
33
35
|
constructor(config) {
|
|
34
36
|
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
35
37
|
// Load persisted whitelist
|
|
36
38
|
if (this.config.persistPath) {
|
|
37
39
|
this.loadFromDisk();
|
|
40
|
+
this.watchFile();
|
|
38
41
|
}
|
|
39
42
|
// Add static skills
|
|
40
43
|
for (const name of this.config.staticSkills) {
|
|
@@ -242,12 +245,47 @@ export class SkillWhitelistManager {
|
|
|
242
245
|
whitelist: [...this.whitelist.values()],
|
|
243
246
|
revoked: [...this.revokedSkills],
|
|
244
247
|
};
|
|
248
|
+
this.writingToDisk = true;
|
|
245
249
|
writeFileSync(this.config.persistPath, JSON.stringify(data, null, 2), 'utf-8');
|
|
250
|
+
this.writingToDisk = false;
|
|
246
251
|
}
|
|
247
252
|
catch (err) {
|
|
253
|
+
this.writingToDisk = false;
|
|
248
254
|
logger.warn(`Failed to persist whitelist: ${err instanceof Error ? err.message : String(err)}`);
|
|
249
255
|
}
|
|
250
256
|
}
|
|
257
|
+
/** Watch the whitelist file for external changes (e.g., from `panguard setup`) */
|
|
258
|
+
watchFile() {
|
|
259
|
+
if (!this.config.persistPath || !existsSync(this.config.persistPath))
|
|
260
|
+
return;
|
|
261
|
+
let debounceTimer = null;
|
|
262
|
+
try {
|
|
263
|
+
this.fileWatcher = watch(this.config.persistPath, () => {
|
|
264
|
+
// Ignore changes we wrote ourselves
|
|
265
|
+
if (this.writingToDisk)
|
|
266
|
+
return;
|
|
267
|
+
// Debounce rapid changes (e.g., editor save)
|
|
268
|
+
if (debounceTimer)
|
|
269
|
+
clearTimeout(debounceTimer);
|
|
270
|
+
debounceTimer = setTimeout(() => {
|
|
271
|
+
logger.info('Whitelist file changed externally, reloading...');
|
|
272
|
+
this.loadFromDisk();
|
|
273
|
+
}, 500);
|
|
274
|
+
});
|
|
275
|
+
if (this.fileWatcher.unref)
|
|
276
|
+
this.fileWatcher.unref();
|
|
277
|
+
}
|
|
278
|
+
catch {
|
|
279
|
+
// File watching not supported or permission denied — non-fatal
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
/** Stop watching the whitelist file */
|
|
283
|
+
stopWatching() {
|
|
284
|
+
if (this.fileWatcher) {
|
|
285
|
+
this.fileWatcher.close();
|
|
286
|
+
this.fileWatcher = null;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
251
289
|
loadFromDisk() {
|
|
252
290
|
if (!this.config.persistPath || !existsSync(this.config.persistPath))
|
|
253
291
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-whitelist.js","sourceRoot":"","sources":["../../src/engines/skill-whitelist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"skill-whitelist.js","sourceRoot":"","sources":["../../src/engines/skill-whitelist.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guard-engine.d.ts","sourceRoot":"","sources":["../src/guard-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAiBH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EAGX,mBAAmB,EAGnB,UAAU,EAGX,MAAM,YAAY,CAAC;AAkKpB;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAGtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAG1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IACrD,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,YAAY,CAA6B;IAGjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAG1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAG3C,OAAO,CAAC,UAAU,CAA2B;IAG7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IACxD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAmC;IAGtE,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,WAAW,CAA+C;IAClE,OAAO,CAAC,kBAAkB,CAA+C;IACzE,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,aAAa,CAAC,CAAwD;gBAElE,MAAM,EAAE,WAAW,EAAE,GAAG,GAAE,UAAU,GAAG,IAAW;
|
|
1
|
+
{"version":3,"file":"guard-engine.d.ts","sourceRoot":"","sources":["../src/guard-engine.ts"],"names":[],"mappings":"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"}
|
package/dist/guard-engine.js
CHANGED
|
@@ -316,8 +316,11 @@ export class GuardEngine {
|
|
|
316
316
|
// 初始化 ATR 草稿器(如有 LLM 則啟用分散式共識)
|
|
317
317
|
if (analyzeLLM) {
|
|
318
318
|
this.atrDrafter = new ATRDrafter(analyzeLLM, this.threatCloud, {
|
|
319
|
-
llmProvider: process.env['ANTHROPIC_API_KEY']
|
|
320
|
-
|
|
319
|
+
llmProvider: process.env['ANTHROPIC_API_KEY']
|
|
320
|
+
? 'claude'
|
|
321
|
+
: process.env['OPENAI_API_KEY']
|
|
322
|
+
? 'openai'
|
|
323
|
+
: 'ollama',
|
|
321
324
|
llmModel: process.env['PANGUARD_LLM_MODEL'] ?? 'unknown',
|
|
322
325
|
});
|
|
323
326
|
}
|
|
@@ -521,11 +524,25 @@ export class GuardEngine {
|
|
|
521
524
|
}
|
|
522
525
|
}
|
|
523
526
|
// Start dashboard if enabled / 啟動儀表板(如已啟用)
|
|
524
|
-
|
|
525
|
-
if (this.config.dashboardEnabled && hasFeature(license, 'dashboard')) {
|
|
527
|
+
if (this.config.dashboardEnabled) {
|
|
526
528
|
this.dashboard = new DashboardServer(this.config.dashboardPort);
|
|
527
529
|
this.dashboard.setConfigGetter(() => this.config);
|
|
528
530
|
await this.dashboard.start();
|
|
531
|
+
// Auto-open browser / 自動開啟瀏覽器
|
|
532
|
+
const dashPort = Number(this.config.dashboardPort);
|
|
533
|
+
const token = this.dashboard.getAuthToken();
|
|
534
|
+
const dashUrl = `http://127.0.0.1:${dashPort}#token=${token}`;
|
|
535
|
+
logger.info(`Dashboard: http://127.0.0.1:${dashPort}`);
|
|
536
|
+
try {
|
|
537
|
+
const { execFile } = await import('node:child_process');
|
|
538
|
+
const openCmd = process.platform === 'darwin' ? 'open' :
|
|
539
|
+
process.platform === 'win32' ? 'start' : 'xdg-open';
|
|
540
|
+
execFile(openCmd, [dashUrl]);
|
|
541
|
+
}
|
|
542
|
+
catch {
|
|
543
|
+
// Non-fatal: browser open is best-effort
|
|
544
|
+
logger.debug('Could not auto-open browser');
|
|
545
|
+
}
|
|
529
546
|
}
|
|
530
547
|
// Start watchdog if enabled / 啟動看門狗(如已啟用)
|
|
531
548
|
if (this.config.watchdogEnabled) {
|
|
@@ -675,7 +692,9 @@ export class GuardEngine {
|
|
|
675
692
|
const atrRuleMatches = atrMatches.map((m) => ({
|
|
676
693
|
ruleId: m.rule.id,
|
|
677
694
|
ruleName: m.rule.title,
|
|
678
|
-
severity: (m.rule.severity === 'informational'
|
|
695
|
+
severity: (m.rule.severity === 'informational'
|
|
696
|
+
? 'info'
|
|
697
|
+
: m.rule.severity),
|
|
679
698
|
}));
|
|
680
699
|
const atrMatchData = atrMatches.map((m) => ({
|
|
681
700
|
ruleId: m.rule.id,
|
|
@@ -753,8 +772,7 @@ export class GuardEngine {
|
|
|
753
772
|
// "Learn once, detect forever" - 第一次靠重分析,後面靠 rule 快速擋
|
|
754
773
|
if (this.knowledgeDistiller && verdict.conclusion !== 'benign' && verdict.confidence >= 70) {
|
|
755
774
|
const indicators = {};
|
|
756
|
-
const ip = event.metadata?.['sourceIP'] ??
|
|
757
|
-
event.metadata?.['remoteAddress'];
|
|
775
|
+
const ip = event.metadata?.['sourceIP'] ?? event.metadata?.['remoteAddress'];
|
|
758
776
|
if (ip)
|
|
759
777
|
indicators['sourceIP'] = ip;
|
|
760
778
|
const proc = event.metadata?.['processName'];
|
|
@@ -772,14 +790,12 @@ export class GuardEngine {
|
|
|
772
790
|
const distilled = this.knowledgeDistiller.distill({
|
|
773
791
|
eventCategory: event.category,
|
|
774
792
|
eventSource: event.source,
|
|
775
|
-
eventSeverity: verdict.confidence >= 90 ? 'critical' :
|
|
776
|
-
verdict.confidence >= 75 ? 'high' : 'medium',
|
|
793
|
+
eventSeverity: verdict.confidence >= 90 ? 'critical' : verdict.confidence >= 75 ? 'high' : 'medium',
|
|
777
794
|
mitreTechnique: verdict.mitreTechnique,
|
|
778
795
|
indicators,
|
|
779
796
|
aiResult: {
|
|
780
797
|
summary: verdict.reasoning,
|
|
781
|
-
severity: verdict.confidence >= 90 ? 'critical' :
|
|
782
|
-
verdict.confidence >= 75 ? 'high' : 'medium',
|
|
798
|
+
severity: verdict.confidence >= 90 ? 'critical' : verdict.confidence >= 75 ? 'high' : 'medium',
|
|
783
799
|
confidence: verdict.confidence / 100,
|
|
784
800
|
recommendations: verdict.evidence.map((e) => e.description).slice(0, 3),
|
|
785
801
|
},
|
|
@@ -1027,10 +1043,32 @@ export class GuardEngine {
|
|
|
1027
1043
|
catch (err) {
|
|
1028
1044
|
logger.warn(`Domain blocklist sync failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
1029
1045
|
}
|
|
1046
|
+
// Report locally whitelisted skills to Threat Cloud / 上報本地白名單 skills
|
|
1047
|
+
try {
|
|
1048
|
+
const localSkills = this.atrEngine.getWhitelistManager().getAll()
|
|
1049
|
+
.filter((s) => s.source === 'fingerprint' || s.source === 'manual');
|
|
1050
|
+
for (const skill of localSkills) {
|
|
1051
|
+
await this.threatCloud.reportSafeSkill(skill.name, skill.fingerprintHash);
|
|
1052
|
+
}
|
|
1053
|
+
}
|
|
1054
|
+
catch (err) {
|
|
1055
|
+
logger.warn(`Skill whitelist upload failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
1056
|
+
}
|
|
1057
|
+
// Sync community skill whitelist / 同步社群 skill 白名單
|
|
1058
|
+
let importedSkills = 0;
|
|
1059
|
+
try {
|
|
1060
|
+
const communitySkills = await this.threatCloud.fetchSkillWhitelist();
|
|
1061
|
+
if (communitySkills.length > 0) {
|
|
1062
|
+
importedSkills = this.atrEngine.getWhitelistManager().importCommunityWhitelist(communitySkills.map((s) => ({ name: s.name, hash: s.hash })));
|
|
1063
|
+
}
|
|
1064
|
+
}
|
|
1065
|
+
catch (err) {
|
|
1066
|
+
logger.warn(`Skill whitelist sync failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
1067
|
+
}
|
|
1030
1068
|
logger.info(`Threat Cloud sync: ${newRules} Sigma, ${newATRRules} ATR, ${newYaraRules} YARA, ` +
|
|
1031
|
-
`${addedIPs} IPs, ${addedDomains} domains / ` +
|
|
1069
|
+
`${addedIPs} IPs, ${addedDomains} domains, ${importedSkills} whitelist / ` +
|
|
1032
1070
|
`Threat Cloud 同步: ${newRules} Sigma, ${newATRRules} ATR, ${newYaraRules} YARA, ` +
|
|
1033
|
-
`${addedIPs} IP, ${addedDomains}
|
|
1071
|
+
`${addedIPs} IP, ${addedDomains} 網域, ${importedSkills} 白名單`);
|
|
1034
1072
|
}
|
|
1035
1073
|
catch (err) {
|
|
1036
1074
|
logger.warn(`Threat Cloud sync failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
@@ -1133,7 +1171,8 @@ export class GuardEngine {
|
|
|
1133
1171
|
// agentClient.pollPolicy is invoked here when registered
|
|
1134
1172
|
// (implementation detail: agentClient may provide this method)
|
|
1135
1173
|
try {
|
|
1136
|
-
if (typeof this.agentClient.pollPolicy ===
|
|
1174
|
+
if (typeof this.agentClient.pollPolicy ===
|
|
1175
|
+
'function') {
|
|
1137
1176
|
await this.agentClient.pollPolicy();
|
|
1138
1177
|
}
|
|
1139
1178
|
}
|
package/dist/guard-engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guard-engine.js","sourceRoot":"","sources":["../src/guard-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EACL,YAAY,EACZ,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,WAAW,EACX,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAe3B,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACxF,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,aAAa,GACd,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,MAAM,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC;AAErD;;;;GAIG;AACH,KAAK,UAAU,aAAa;IAC1B,IAAI,CAAC;QACH,sEAAsE;QACtE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAGxD,IAAI,QAAQ,GAA2B,IAAI,CAAC;QAC5C,IAAI,MAA0B,CAAC;QAC/B,IAAI,KAAyB,CAAC;QAE9B,4DAA4D;QAC5D,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7D,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YACrE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;YAEvD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;YACxD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACjD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,MAAM,SAAS,GAAG,GAAG,QAAQ,EAAE,IAAI,QAAQ,EAAE,CAAC,QAAQ,cAAc,CAAC;oBACrE,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC;oBAC5D,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,QAAQ,CAAC,CAAC;oBAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,QAAQ,CAAC,CAAC;oBACjD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,QAAQ,CAAC,CAAC;oBAC9C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC1D,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CACjF,MAAM,CACP,CAAC;oBACF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAIrC,CAAC;oBACF,IAAI,SAAS,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAAE,CAAC;wBAChF,QAAQ,GAAG,SAAS,CAAC,QAA2B,CAAC;wBACjD,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;wBAC1B,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;wBACxB,MAAM,CAAC,IAAI,CAAC,2DAA2D,QAAQ,GAAG,CAAC,CAAC;oBACtF,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,uDAAuD;QACzD,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACrC,QAAQ,GAAG,QAAQ,CAAC;gBACpB,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBAC1C,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,0BAA0B,CAAC;YAC1E,CAAC;iBAAM,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACzC,QAAQ,GAAG,QAAQ,CAAC;gBACpB,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBACvC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,QAAQ,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,wCAAwC;gBACxC,QAAQ,GAAG,QAAQ,CAAC;gBACpB,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,QAAQ,CAAC;YACxD,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACtC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC5C,CAAC;QAED,6BAA6B;QAC7B,MAAM,aAAa,GAA2B;YAC5C,MAAM,EAAE,0BAA0B;YAClC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,QAAQ;SACjB,CAAC;QACF,MAAM,aAAa,GAAG,KAAK,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;QAEnE,MAAM,WAAW,GAAG,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACtF,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,CAAC;QAClD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,iBAAiB,QAAQ,qCAAqC,CAAC,CAAC;YAC5E,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,iBAAiB,QAAQ,aAAa,KAAK,aAAa,CAAC,CAAC;QAEtE,4CAA4C;QAC5C,MAAM,OAAO,GAAe;YAC1B,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,OAAgB;gBAC5C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC1D,OAAO;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,eAAe,EAAE,MAAM,CAAC,eAAe;iBACxC,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,QAAQ,CAAC,KAAoB;gBACjC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACjD,OAAO;oBACL,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;iBAChC,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,WAAW;gBACf,OAAO,WAAW,CAAC,WAAW,EAAE,CAAC;YACnC,CAAC;SACF,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CACT,+CAA+C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAClG,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,WAAW;IACL,MAAM,CAAc;IAC7B,IAAI,CAAY;IAChB,QAAQ,CAAsB;IACrB,YAAY,CAAS;IAEtC,cAAc;IACG,UAAU,CAAa;IACvB,WAAW,CAAc;IACzB,YAAY,CAAe;IAC3B,YAAY,CAAe;IAC3B,WAAW,CAAc;IACzB,mBAAmB,CAAsB;IAE1D,wBAAwB;IACP,WAAW,CAAoB;IAC/B,WAAW,CAAyB;IAC7C,SAAS,GAA2B,IAAI,CAAC;IAChC,OAAO,CAAU;IAC1B,QAAQ,GAAoB,IAAI,CAAC;IACjC,aAAa,GAAyB,IAAI,CAAC;IAC3C,aAAa,GAAyB,IAAI,CAAC;IAC3C,YAAY,GAAwB,IAAI,CAAC;IACzC,eAAe,GAA2B,IAAI,CAAC;IAC/C,WAAW,GAA+B,IAAI,CAAC;IAC/C,YAAY,GAAwB,IAAI,CAAC;IAEjD,0BAA0B;IACT,WAAW,CAAc;IAE1C,2CAA2C;IAC1B,SAAS,CAAiB;IAE3C,wEAAwE;IAChE,UAAU,GAAsB,IAAI,CAAC;IAE7C,8BAA8B;IACb,WAAW,GAAuB,IAAI,CAAC;IACvC,kBAAkB,GAA8B,IAAI,CAAC;IAEtE,aAAa;IACL,OAAO,GAAG,KAAK,CAAC;IAChB,SAAS,GAAG,CAAC,CAAC;IACd,eAAe,GAAG,CAAC,CAAC;IACpB,eAAe,GAAG,CAAC,CAAC;IACpB,eAAe,GAAG,CAAC,CAAC;IACpB,mBAAmB,GAAG,CAAC,CAAC;IACxB,WAAW,GAA0C,IAAI,CAAC;IAC1D,kBAAkB,GAA0C,IAAI,CAAC;IACjE,cAAc,GAA0C,IAAI,CAAC;IAC7D,aAAa,CAAyD;IAE9E,YAAY,MAAmB,EAAE,MAAyB,IAAI;QAC5D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAE1D,oCAAoC;QACpC,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEhD,0BAA0B;QAC1B,IAAI,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEjD,kEAAkE;QAClE,oDAAoD;QACpD,mCAAmC;QACnC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,UAAU,GAAgC;gBAC9C,SAAS,EAAE,MAAM;gBACjB,IAAI,EAAE,KAAK;gBACX,GAAG,EAAE,KAAK;gBACV,QAAQ,EAAE,YAAY;gBACtB,UAAU,EAAE,YAAY;aACzB,CAAC;YACF,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC;YACxD,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3E,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAEzE,+BAA+B;YAC/B,IAAI,YAAY,GAAG,YAAY,EAAE,CAAC;gBAChC,OAAO,GAAG;oBACR,GAAG,OAAO;oBACV,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC;oBACnC,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CACT,YAAY,OAAO,CAAC,IAAI,iBAAiB,OAAO,CAAC,OAAO,MAAM;YAC5D,OAAO,OAAO,CAAC,IAAI,YAAY,OAAO,CAAC,OAAO,GAAG,CACpD,CAAC;QAEF,6DAA6D;QAC7D,6BAA6B;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;YACvC,iBAAiB,EAAE,MAAM,CAAC,eAAe;YACzC,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,aAAa;SAC3B,CAAC,CAAC;QAEH,yCAAyC;QACzC,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAErC,gEAAgE;QAChE,IAAI,CAAC,SAAS,GAAG,IAAI,cAAc,CAAC;YAClC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC;YAC3C,SAAS,EAAE,IAAI;YACf,SAAS,EAAE;gBACT,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,sBAAsB,CAAC;gBACzD,YAAY,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE;gBACxC,iBAAiB,EAAE,IAAI;aACxB;SACF,CAAC,CAAC;QAEH,4BAA4B;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEpD,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,UAAU,CAAC,CAAC;QAEjD,8EAA8E;QAC9E,sDAAsD;QACtD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,WAAW,GAA8B;gBAC7C,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,KAAK;gBACV,UAAU,EAAE,UAAU;aACvB,CAAC;YACF,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;YACtD,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC;YAExC,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC;gBACjC,IAAI,EAAE,SAAS;gBACf,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;aACtD,CAAC,CAAC;YAEH,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAAC;gBAC/C,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE;oBACxB,MAAM,CAAC,IAAI,CACT,wBAAwB,IAAI,CAAC,MAAM,iBAAiB,IAAI,CAAC,YAAY,MAAM;wBACzE,SAAS,IAAI,CAAC,MAAM,SAAS,IAAI,CAAC,YAAY,GAAG,CACpD,CAAC;gBACJ,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,oEAAoE;QACpE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAE5E,2EAA2E;QAC3E,oDAAoD;QACpD,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;YAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7C,IAAI,YAAY,EAAE,CAAC;gBACjB,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACzC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;gBACpD,MAAM,CAAC,IAAI,CACT,yBAAyB,cAAc,CAAC,KAAK,0BAA0B,YAAY,KAAK;oBACtF,yBAAyB,YAAY,OAAO,cAAc,CAAC,KAAK,MAAM,CACzE,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CACT,mEAAmE;oBACjE,8BAA8B,CACjC,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,CAAC,IAAI,CACT,uEAAuE,GAAG,KAAK;gBAC7E,qCAAqC,GAAG,EAAE,CAC7C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpF,4CAA4C;QAC5C,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAElE,+DAA+D;QAC/D,0EAA0E;QAC1E,IAAI,CAAC,WAAW,GAAG,IAAI,iBAAiB,CACtC,MAAM,CAAC,mBAAmB,EAC1B,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,iBAAiB,CACzB,CAAC;QAEF,uCAAuC;QACvC,IAAI,CAAC,WAAW,GAAG,IAAI,sBAAsB,CAAC;YAC5C,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;SAC3C,CAAC,CAAC;QACH,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEjC,qEAAqE;QACrE,+BAA+B;QAC/B,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE;gBAC7D,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBACxD,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;gBACrD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,SAAS;aACzD,CAAC,CAAC;QACL,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE3C,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAmB;QACrC,MAAM,GAAG,GAAG,MAAM,aAAa,EAAE,CAAC;QAClC,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,MAAM,CAAC,IAAI,CACT,2BAA2B,IAAI,CAAC,IAAI,0BAA0B,IAAI,CAAC,IAAI,MAAM,CAC9E,CAAC;QAEF,6BAA6B;QAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAErB,2CAA2C;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;YACtC,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC7D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,CACT,mBAAmB,OAAO,CAAC,MAAM,gCAAgC,WAAW,CAAC,SAAS,GAAG,CAC1F,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,2BAA2B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7F,CAAC;QAED,gEAAgE;QAChE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAC3D,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC,CAAC;YAC9E,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YACjE,MAAM,CAAC,IAAI,CAAC,+BAA+B,YAAY,IAAI,UAAU,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,uDAAuD;QACvD,IAAI,CAAC,WAAW;aACb,KAAK,EAAE;aACP,IAAI,CAAC,GAAG,EAAE;YACT,MAAM,CAAC,IAAI,CACT,8BAA8B,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,UAAU,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,cAAc,CAClH,CAAC;QACJ,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,MAAM,CAAC,IAAI,CACT,0DAA0D,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC7G,CAAC;QACJ,CAAC,CAAC,CAAC;QAEL,oBAAoB;QACpB,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAElC,4CAA4C;QAC5C,IAAI,CAAC,SAAS;aACX,SAAS,EAAE;aACX,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YACd,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,qBAAqB,KAAK,uBAAuB,KAAK,IAAI,CAAC,CAAC;YAC1E,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC;QACvC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,MAAM,CAAC,IAAI,CACT,0BAA0B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC7E,CAAC;QACJ,CAAC,CAAC,CAAC;QAEL,8DAA8D;QAC9D,IAAI,CAAC,WAAW;aACb,aAAa,EAAE;aACf,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE;YACtB,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAuC,CAAC;oBAClF,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;wBAClD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;wBACpC,KAAK,EAAE,CAAC;oBACV,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,eAAe;gBACjB,CAAC;YACH,CAAC;YACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,2BAA2B,KAAK,yBAAyB,KAAK,IAAI,CAAC,CAAC;YAClF,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,MAAM,CAAC,IAAI,CACT,kCAAkC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACrF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEL,sDAAsD;QACtD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QACvD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAA0C,CAAC;gBACrF,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBAClD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,uCAAuC;YACzC,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,sCAAsC;QACtC,IAAI,CAAC,WAAW;aACb,cAAc,EAAE;aAChB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACZ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,EAAE,wBAAwB,EAAE,EAAE,CAAC,CAAC;gBACjF,MAAM,CAAC,IAAI,CACT,kCAAkC,KAAK,SAAS;oBAC9C,yBAAyB,KAAK,OAAO,CACxC,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,MAAM,CAAC,IAAI,CACT,yCAAyC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC5F,CAAC;QACJ,CAAC,CAAC,CAAC;QAEL,2DAA2D;QAC3D,oEAAoE;QACpE,CAAC;YACC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY;gBAC5C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC;gBAC1C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;YACtD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;YAClD,IAAI,CAAC,WAAW;iBACb,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC;iBAC3C,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gBACd,MAAM,CAAC,IAAI,CAAC,sBAAsB,KAAK,wBAAwB,KAAK,IAAI,CAAC,CAAC;YAC5E,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBACtB,MAAM,CAAC,IAAI,CACT,2BAA2B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC9E,CAAC;YACJ,CAAC,CAAC,CAAC;QACP,CAAC;QAED,4DAA4D;QAC5D,kCAAkC;QAClC,IAAI,CAAC,cAAc,GAAG,WAAW,CAC/B,GAAG,EAAE;YACH,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9B,CAAC,EACD,EAAE,GAAG,EAAE,GAAG,IAAI,CACf,CAAC,CAAC,SAAS;QAEZ,gCAAgC;QAChC,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC;YACrC,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB;YAC7D,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB;SAC9D,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAoB,EAAE,EAAE;YACtD,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAE3B,4DAA4D;QAC5D,4BAA4B;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC;QACnE,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YACxE,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAC3D,CAAC;QAED,sEAAsE;QACtE,iCAAiC;QACjC,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC7C,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC;QACzE,IAAI,iBAAiB,EAAE,CAAC;YACtB,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3E,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QACxD,CAAC;QAED,oDAAoD;QACpD,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;YACnD,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC;gBACnC,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS;aAC3E,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACjD,CAAC;QAED,qEAAqE;QACrE,wCAAwC;QACxC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,IAAI,CAAC,WAAW,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACnE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACrD,MAAM,CAAC,IAAI,CAAC,oCAAoC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAE/D,IAAI,CAAC,WAAW,CAAC,cAAc,CAC7B,GAAmB,EAAE,CAAC,CAAC;oBACrB,eAAe,EAAE,IAAI,CAAC,eAAe;oBACrC,eAAe,EAAE,IAAI,CAAC,eAAe;oBACrC,eAAe,EAAE,IAAI,CAAC,eAAe;oBACrC,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS;oBACnC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE;iBACpF,CAAC,CACH,CAAC;YACJ,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CACT,gDAAgD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACnG,CAAC;gBACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;YACrE,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAChE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC;QAED,0CAA0C;QAC1C,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,GAAG,EAAE;gBAC9D,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;QAED,kCAAkC;QAClC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;YAClC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE;gBAC7B,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,QAAQ,EAAE,IAAI,CAAC,mBAAmB;gBAClC,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS;aACpC,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,QAAQ;gBAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC/C,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,gCAAgC;QAChC,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;YACzC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,gEAAgE;QAChE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE1B,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAErD,uBAAuB;QACvB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACvC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACjC,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QAED,yBAAyB;QACzB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACxB,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,IAAI,CAAC,aAAa;YAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAClD,IAAI,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAChD,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,aAAa;YAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAClD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;YACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,uBAAuB;QACvB,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE/C,mDAAmD;QACnD,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QAEpC,gBAAgB;QAChB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAEtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,KAAoB;QACrC,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,qCAAqC;QACrC,aAAa,CAAC;YACZ,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,KAAK,CAAC,EAAE;YAChB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;SAC5D,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,KAAK,CAAC,EAAE;gBAChB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,gBAAgB;gBACxB,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE;gBACjE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC;YACH,8CAA8C;YAC9C,IACE,KAAK,CAAC,MAAM,KAAK,MAAM;gBACvB,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,CAAC;gBACnC,KAAK,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC;gBAC5B,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,SAAS,EACxC,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAW,CAAC,CAAC;oBACzF,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;oBAC/D,IAAI,SAAS,EAAE,CAAC;wBACd,uDAAuD;wBACvD,yBAAyB;wBACzB,MAAM,CAAC,IAAI,CACT,eAAe,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,QAAQ,EAAE,CAC5F,CAAC;wBACF,KAAK,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,mDAAmD;gBACrD,CAAC;YACH,CAAC;YAED,yDAAyD;YACzD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAElD,6BAA6B;YAC7B,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE/C,8DAA8D;YAC9D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC5C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;oBACjB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;oBACtB,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAyC;iBACnH,CAAC,CAAC,CAAC;gBACJ,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC1C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;oBACjB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,cAAc;oBACjD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ;oBACzB,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE;oBAC/C,UAAU,EAAE,CAAC,CAAC,UAAU;iBACzB,CAAC,CAAC,CAAC;gBAEJ,IAAI,SAAS,EAAE,CAAC;oBACd,4CAA4C;oBAC5C,SAAS,CAAC,WAAW,GAAG,CAAC,GAAG,SAAS,CAAC,WAAW,EAAE,GAAG,cAAc,CAAC,CAAC;oBACtE,SAAS,CAAC,UAAU,GAAG,YAAY,CAAC;gBACtC,CAAC;qBAAM,CAAC;oBACN,0CAA0C;oBAC1C,SAAS,GAAG;wBACV,KAAK;wBACL,WAAW,EAAE,cAAc;wBAC3B,UAAU,EAAE,YAAY;wBACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACpC,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,qDAAqD;gBACrD,oBAAoB;gBACpB,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC7B,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;oBAChE,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACvD,CAAC;qBAAM,CAAC;oBACN,wEAAwE;oBACxE,wBAAwB;oBACxB,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;oBAC1E,IAAI,CAAC,QAAQ,GAAG,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAC3E,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,CAAC,eAAe,EAAE,CAAC;YAEvB,sFAAsF;YACtF,6CAA6C;YAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAuB,CAAC;YACrE,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACrF,IAAI,aAAa,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;gBACnD,8DAA8D;gBAC9D,MAAM,CAAC,IAAI,CACT,mBAAmB,QAAQ,8BAA8B;oBACvD,UAAU,QAAQ,qBAAqB,CAC1C,CAAC;gBACF,OAAO;YACT,CAAC;YAED,8EAA8E;YAC9E,mCAAmC;YACnC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAChC,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACjC,MAAM,oBAAoB,GAA2B;wBACnD,QAAQ,EAAE,EAAE;wBACZ,IAAI,EAAE,EAAE;wBACR,MAAM,EAAE,EAAE;wBACV,GAAG,EAAE,EAAE;wBACP,IAAI,EAAE,EAAE;qBACT,CAAC;oBACF,OAAO,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAChD,CAAC,CAAC,CACH,CAAC;gBACF,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC;gBACzC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;gBAElF,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;oBAC1B,MAAM,CAAC,IAAI,CACT,4DAA4D,iBAAiB,OAAO;wBAClF,8BAA8B,iBAAiB,IAAI,CACtD,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,0DAA0D;YAC1D,qBAAqB;YACrB,MAAM,OAAO,GAAkB,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEzF,yEAAyE;YACzE,kCAAkC;YAClC,sDAAsD;YACtD,IAAI,IAAI,CAAC,kBAAkB,IAAI,OAAO,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;gBAC3F,MAAM,UAAU,GAA2B,EAAE,CAAC;gBAC9C,MAAM,EAAE,GAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAY;oBAChD,KAAK,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAY,CAAC;gBAChD,IAAI,EAAE;oBAAE,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAW,CAAC;gBACvD,IAAI,IAAI;oBAAE,UAAU,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;gBAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,iBAAiB,CAAW,CAAC;gBAC3D,IAAI,IAAI;oBAAE,UAAU,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;gBAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAW,CAAC;gBACpD,IAAI,IAAI;oBAAE,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;gBACxC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAW,CAAC;gBACtD,IAAI,GAAG;oBAAE,UAAU,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAEvD,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;oBAChD,aAAa,EAAE,KAAK,CAAC,QAAQ;oBAC7B,WAAW,EAAE,KAAK,CAAC,MAAM;oBACzB,aAAa,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;wBACpD,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;oBAC9C,cAAc,EAAE,OAAO,CAAC,cAAc;oBACtC,UAAU;oBACV,QAAQ,EAAE;wBACR,OAAO,EAAE,OAAO,CAAC,SAAS;wBAC1B,QAAQ,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;4BAC/C,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;wBAC9C,UAAU,EAAE,OAAO,CAAC,UAAU,GAAG,GAAG;wBACpC,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;qBACxE;iBACF,CAAC,CAAC;gBAEH,iEAAiE;gBACjE,sBAAsB;gBACtB,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;wBACnD,IAAI,MAAM,EAAE,CAAC;4BACX,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;4BAChC,MAAM,CAAC,IAAI,CACT,2BAA2B,SAAS,CAAC,MAAM,KAAK;gCAC9C,YAAY,SAAS,CAAC,MAAM,EAAE,CACjC,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,6CAA6C;oBAC/C,CAAC;gBACH,CAAC;YACH,CAAC;YAED,+DAA+D;YAC/D,6BAA6B;YAC7B,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACvD,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,EAAE;oBACrC,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,eAAe,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC9E,eAAe,EAAE,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;iBAC5D,CAAC,CAAC;YACL,CAAC;YAED,sDAAsD;YACtD,eAAe;YACf,IAAI,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACpC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxE,OAAO,CAAC,kBAAkB,GAAG,aAAa,CAAC,KAAK,CAAC;YACnD,CAAC;YAED,8BAA8B;YAC9B,MAAM,QAAQ,GAAmB,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1E,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACnC,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,CAAC;YAED,yCAAyC;YACzC,IACE,QAAQ,CAAC,MAAM,KAAK,QAAQ;gBAC5B,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,EAC5D,CAAC;gBACD,MAAM,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YACjF,CAAC;YAED,6BAA6B;YAC7B,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CACjE,KAAK,EACL,OAAO,EACP,QAAQ,EACR,IAAI,CAAC,QAAQ,CACd,CAAC;YACF,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;YAEhC,8DAA8D;YAC9D,IAAI,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE,CAAC;gBACrC,IAAI,CAAC,WAAW;qBACb,WAAW,CAAC;oBACX,KAAK;oBACL,OAAO,EAAE;wBACP,UAAU,EAAE,OAAO,CAAC,UAAU;wBAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;wBAC9B,MAAM,EAAE,QAAQ,CAAC,MAAM;qBACxB;iBACF,CAAC;qBACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;oBACtB,MAAM,CAAC,IAAI,CACT,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACjF,CAAC;gBACJ,CAAC,CAAC,CAAC;YACP,CAAC;YAED,kCAAkC;YAClC,IAAI,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,KAAK,KAAK,EAAE,CAAC;gBAC7D,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;oBAC/B,MAAM,CAAC,IAAI,CACT,qCAAqC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAC/E,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAC9C,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,CAAC;YAED,qDAAqD;YACrD,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE;gBAC7B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,QAAQ,EACL,KAAK,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAY;oBACvC,KAAK,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAY;oBAC7C,SAAS;aACZ,CAAC,CAAC;YAEH,2BAA2B;YAC3B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACnC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;oBACvB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE;oBACtF,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC,CAAC;gBAEH,kDAAkD;gBAClD,MAAM,QAAQ,GACX,KAAK,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAY,IAAK,KAAK,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAY,CAAC;gBAC5F,IAAI,QAAQ,IAAI,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;oBAChD,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;wBAC/B,QAAQ;wBACR,UAAU,EAAE,KAAK,CAAC,QAAQ;wBAC1B,KAAK,EAAE,CAAC;wBACR,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACnC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,sCAAsC;YACtC,IAAI,IAAI,CAAC,eAAe,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC;gBACrC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,CAAC,KAAK,CAAC,4BAA4B,GAAG,cAAc,GAAG,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED;;;OAGG;IACH;;;;OAIG;IACK,gBAAgB;QACtB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACxD,IAAI,GAAG,GAAG,OAAO,CAAC;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;gBACnD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC1B,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,8CAA8C;QAChD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,uBAAuB;QAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO;QAErC,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YAChE,MAAM,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;YACjF,IAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACxC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACvC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE/C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;gBACpD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;oBACvB,IAAI,EAAE,mBAAmB;oBACzB,IAAI,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE;oBAC3C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,eAAe;QAC3B,IAAI,CAAC;YACH,uBAAuB;YACvB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YACvD,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAA0C,CAAC;oBACrF,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;wBAClD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBAChC,QAAQ,EAAE,CAAC;oBACb,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,eAAe;gBACjB,CAAC;YACH,CAAC;YAED,8DAA8D;YAC9D,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;gBACxD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC5B,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAuC,CAAC;wBAClF,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;4BAClD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;4BACpC,WAAW,EAAE,CAAC;wBAChB,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,yBAAyB;oBAC3B,CAAC;gBACH,CAAC;gBACD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;oBACpB,MAAM,CAAC,IAAI,CACT,mBAAmB,WAAW,8BAA8B,WAAW,QAAQ,CAChF,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,0BAA0B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5F,CAAC;YAED,gEAAgE;YAChE,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;gBAC1D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;oBACtE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;oBAC7D,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC7C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;wBAC7B,IAAI,CAAC;4BACH,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,SAAS,MAAM,CAAC;4BACnD,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;4BACvE,YAAY,EAAE,CAAC;wBACjB,CAAC;wBAAC,MAAM,CAAC;4BACP,0BAA0B;wBAC5B,CAAC;oBACH,CAAC;oBACD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;wBACrB,qCAAqC;wBACrC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY;4BAC5C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC;4BAC1C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;wBACtD,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;oBACjF,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,2BAA2B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7F,CAAC;YAED,oCAAoC;YACpC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;YACpD,MAAM,QAAQ,GACZ,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,EAAE,wBAAwB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE1F,sCAAsC;YACtC,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC;gBAC9D,YAAY;oBACV,OAAO,CAAC,MAAM,GAAG,CAAC;wBAChB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,EAAE,wBAAwB,EAAE,EAAE,CAAC;wBAC5E,CAAC,CAAC,CAAC,CAAC;YACV,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CACT,iCAAiC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACpF,CAAC;YACJ,CAAC;YAED,MAAM,CAAC,IAAI,CACT,sBAAsB,QAAQ,WAAW,WAAW,SAAS,YAAY,SAAS;gBAChF,GAAG,QAAQ,SAAS,YAAY,aAAa;gBAC7C,oBAAoB,QAAQ,WAAW,WAAW,SAAS,YAAY,SAAS;gBAChF,GAAG,QAAQ,QAAQ,YAAY,KAAK,CACvC,CAAC;QACJ,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,6BAA6B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IAED;;OAEG;IACK,qBAAqB;QAC3B,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAE5B,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;YAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS;YACnC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,gBAAgB,EAAE,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAC9E,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe;YACjD,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE;YACtE,UAAU,EAAE,CAAC,EAAE,oCAAoC;YACnD,cAAc,EAAE,UAAU,CAAC,KAAK;YAChC,aAAa,EAAE,UAAU,CAAC,IAAI;YAC9B,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;YAC3C,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE;YAC7C,kBAAkB,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,EAAE,IAAI,CAAC;YAC3D,mBAAmB,EAAE,IAAI,CAAC,UAAU,EAAE,iBAAiB,EAAE,IAAI,CAAC;YAC9D,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM;YACzE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE;YACpD,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,yBAAyB,EAAE;SAC/D,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,EAAyD;QACxE,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;OAUG;IACK,WAAW,CAAC,MAAmH;QACrI,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,UAAU,CAAC,CAAC,CAAC;oBAChB,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAuB,CAAC;oBACtD,IAAI,EAAE,EAAE,CAAC;wBACP,KAAK,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;oBAC1C,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;oBACvB,MAAM,OAAO,GAA+C,EAAE,CAAC;oBAC/D,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,QAAQ,EAAE,CAAC;wBACtD,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAW,CAAC;oBAChE,CAAC;oBACD,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,QAAQ,EAAE,CAAC;wBACxD,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAW,CAAC;oBACpE,CAAC;oBACD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACpC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBAChD,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAwB,CAAC;oBACjE,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;wBACrB,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC5D,CAAC;yBAAM,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;wBAC7B,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC7D,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD;oBACE,qCAAqC;oBACrC,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,UAAU;QACtB,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAC9B,yDAAyD;QACzD,+DAA+D;QAC/D,IAAI,CAAC;YACH,IAAI,OAAQ,IAAI,CAAC,WAA+D,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;gBAC3G,MAAO,IAAI,CAAC,WAA8D,CAAC,UAAU,EAAE,CAAC;YAC1F,CAAC;QACH,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,uBAAuB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,uBAAuB;QAOrB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,SAAS;QACP,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAEvC,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACtD,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,gBAAgB,EAAE,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAC9E,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe;YACjD,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE;YACtE,WAAW,EAAE,OAAO,CAAC,IAAI;YACzB,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;YAC3C,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE;YAC7C,kBAAkB,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,EAAE,IAAI,CAAC;YAC3D,mBAAmB,EAAE,IAAI,CAAC,UAAU,EAAE,iBAAiB,EAAE,IAAI,CAAC;YAC9D,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM;YACzE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE;YACpD,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,yBAAyB,EAAE;SAC/D,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,MAAM;YACxC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;YAClC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;SACtC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"guard-engine.js","sourceRoot":"","sources":["../src/guard-engine.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -30,19 +30,19 @@ export type { DashboardRelayOptions } from './dashboard/index.js';
|
|
|
30
30
|
export { validateLicense, hasFeature, getTierFeatures, generateTestLicenseKey, } from './license/index.js';
|
|
31
31
|
export { PidFile, Watchdog, installService, uninstallService } from './daemon/index.js';
|
|
32
32
|
export { generateInstallScript } from './install/index.js';
|
|
33
|
-
export { DpiMonitor, RootkitDetector, createRootkitEvent, checkLdPreload } from './monitors/index.js';
|
|
34
|
-
export { LogCollector, parseSyslog3164, parseSyslog5424, parseAuthLog, parseLogLine } from './collectors/index.js';
|
|
33
|
+
export { DpiMonitor, RootkitDetector, createRootkitEvent, checkLdPreload, } from './monitors/index.js';
|
|
34
|
+
export { LogCollector, parseSyslog3164, parseSyslog5424, parseAuthLog, parseLogLine, } from './collectors/index.js';
|
|
35
35
|
export type { LogCollectorConfig } from './collectors/index.js';
|
|
36
36
|
export { PlaybookEngine, parsePlaybook, validatePlaybook, loadPlaybooksFromDir, parseDuration, VALID_CORRELATION_PATTERNS, VALID_RESPONSE_ACTIONS, VALID_SEVERITIES, SEVERITY_ORDER, } from './playbook/index.js';
|
|
37
37
|
export type { Playbook, PlaybookAction, PlaybookTrigger, PlaybookEscalation, PlaybookCorrelationMatch, ValidationResult, } from './playbook/index.js';
|
|
38
38
|
export { GuardATREngine } from './engines/atr-engine.js';
|
|
39
39
|
export type { GuardATREngineConfig } from './engines/atr-engine.js';
|
|
40
40
|
export { SkillWatcher } from './engines/skill-watcher.js';
|
|
41
|
-
export type { SkillChange, SkillAuditResult, SkillWatcherConfig, SkillThreatSubmitter } from './engines/skill-watcher.js';
|
|
41
|
+
export type { SkillChange, SkillAuditResult, SkillWatcherConfig, SkillThreatSubmitter, } from './engines/skill-watcher.js';
|
|
42
42
|
export { DashboardRenderer } from './cli/dashboard-renderer.js';
|
|
43
43
|
export type { DashboardState, TuiEvent, TuiThreat } from './cli/dashboard-renderer.js';
|
|
44
44
|
export { classifyThreatResponse, renderAutoResponse, renderLowConfidenceNote, promptThreatDecision, InteractiveThreatQueue, } from './cli/interactive-handler.js';
|
|
45
|
-
export type { ThreatResponseAction, ThreatContext, ThreatDecision } from './cli/interactive-handler.js';
|
|
45
|
+
export type { ThreatResponseAction, ThreatContext, ThreatDecision, } from './cli/interactive-handler.js';
|
|
46
46
|
export { DailySummaryCollector } from './summary/daily-summary.js';
|
|
47
47
|
export type { DailySummaryData } from './summary/daily-summary.js';
|
|
48
48
|
export { trapSessionToSecurityEvent } from './bridges/trap-bridge.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,6BAA6B;AAC7B,eAAO,MAAM,sBAAsB,EAAE,MAAqB,CAAC;AAC3D,eAAO,MAAM,cAAc,kBAAkB,CAAC;AAG9C,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,cAAc,EACd,aAAa,EACb,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,cAAc,EACd,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,uBAAuB,EACvB,UAAU,EACV,eAAe,EACf,cAAc,EACd,cAAc,EACd,SAAS,EACT,WAAW,EACX,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGlE,OAAO,EACL,UAAU,EACV,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACxF,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAGpE,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,EACb,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,YAAY,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGlE,OAAO,EACL,eAAe,EACf,UAAU,EACV,eAAe,EACf,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|