agent-threat-rules 1.2.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -36
- package/dist/cli/scan-handler.d.ts.map +1 -1
- package/dist/cli/scan-handler.js +5 -2
- package/dist/cli/scan-handler.js.map +1 -1
- package/dist/cli/tc-pipeline.d.ts.map +1 -1
- package/dist/cli/tc-pipeline.js +2 -3
- package/dist/cli/tc-pipeline.js.map +1 -1
- package/dist/cli.js +4 -4
- package/dist/cli.js.map +1 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +80 -35
- package/dist/engine.js.map +1 -1
- package/dist/quality/quality-gate.d.ts +26 -8
- package/dist/quality/quality-gate.d.ts.map +1 -1
- package/dist/quality/quality-gate.js +59 -12
- package/dist/quality/quality-gate.js.map +1 -1
- package/dist/tc-reporter.js +1 -1
- package/dist/tc-reporter.js.map +1 -1
- package/package.json +2 -2
- package/rules/agent-manipulation/ATR-2026-00032-goal-hijacking.yaml +106 -55
- package/rules/agent-manipulation/ATR-2026-00074-cross-agent-privilege-escalation.yaml +94 -55
- package/rules/agent-manipulation/ATR-2026-00076-inter-agent-message-spoofing.yaml +89 -65
- package/rules/agent-manipulation/ATR-2026-00077-human-trust-exploitation.yaml +102 -66
- package/rules/agent-manipulation/ATR-2026-00108-consensus-sybil-attack.yaml +78 -42
- package/rules/agent-manipulation/ATR-2026-00116-a2a-message-validation.yaml +72 -35
- package/rules/agent-manipulation/ATR-2026-00117-agent-identity-spoofing.yaml +82 -38
- package/rules/agent-manipulation/ATR-2026-00118-approval-fatigue.yaml +80 -43
- package/rules/agent-manipulation/ATR-2026-00119-social-engineering-via-agent.yaml +88 -42
- package/rules/agent-manipulation/ATR-2026-00132-casual-authority-escalation.yaml +84 -55
- package/rules/agent-manipulation/ATR-2026-00139-casual-authority-redirect.yaml +88 -23
- package/rules/agent-manipulation/ATR-2026-00164-skill-scope-hijack.yaml +72 -0
- package/rules/context-exfiltration/ATR-2026-00075-agent-memory-manipulation.yaml +80 -53
- package/rules/context-exfiltration/ATR-2026-00102-disguised-analytics-exfiltration.yaml +86 -29
- package/rules/context-exfiltration/ATR-2026-00113-credential-theft.yaml +73 -43
- package/rules/context-exfiltration/ATR-2026-00114-oauth-token-abuse.yaml +80 -43
- package/rules/context-exfiltration/ATR-2026-00115-env-var-harvesting.yaml +92 -44
- package/rules/context-exfiltration/ATR-2026-00136-tool-response-data-piggyback.yaml +76 -46
- package/rules/context-exfiltration/ATR-2026-00141-example-format-key-leak.yaml +68 -21
- package/rules/context-exfiltration/ATR-2026-00142-piggyback-transition-words.yaml +81 -21
- package/rules/context-exfiltration/ATR-2026-00145-obfuscated-key-disclosure.yaml +70 -19
- package/rules/context-exfiltration/ATR-2026-00146-env-var-existence-probe.yaml +88 -21
- package/rules/context-exfiltration/ATR-2026-00150-credential-in-tool-response.yaml +67 -43
- package/rules/context-exfiltration/ATR-2026-00152-obfuscated-credential-leak.yaml +81 -39
- package/rules/context-exfiltration/ATR-2026-00162-skill-credential-exfil-combo.yaml +73 -0
- package/rules/data-poisoning/ATR-2026-00070-data-poisoning.yaml +118 -73
- package/rules/excessive-autonomy/ATR-2026-00050-runaway-agent-loop.yaml +96 -56
- package/rules/excessive-autonomy/ATR-2026-00051-resource-exhaustion.yaml +94 -59
- package/rules/excessive-autonomy/ATR-2026-00052-cascading-failure.yaml +112 -71
- package/rules/excessive-autonomy/ATR-2026-00098-unauthorized-financial-action.yaml +84 -63
- package/rules/excessive-autonomy/ATR-2026-00099-high-risk-tool-gate.yaml +88 -64
- package/rules/model-security/ATR-2026-00072-model-behavior-extraction.yaml +93 -55
- package/rules/model-security/ATR-2026-00073-malicious-finetuning-data.yaml +100 -52
- package/rules/privilege-escalation/ATR-2026-00040-privilege-escalation.yaml +81 -80
- package/rules/privilege-escalation/ATR-2026-00041-scope-creep.yaml +100 -52
- package/rules/privilege-escalation/ATR-2026-00107-delayed-execution-bypass.yaml +82 -26
- package/rules/privilege-escalation/ATR-2026-00110-eval-injection.yaml +85 -45
- package/rules/privilege-escalation/ATR-2026-00111-shell-escape.yaml +101 -45
- package/rules/privilege-escalation/ATR-2026-00112-dynamic-import-exploitation.yaml +81 -43
- package/rules/privilege-escalation/ATR-2026-00143-casual-privilege-escalation.yaml +80 -23
- package/rules/privilege-escalation/ATR-2026-00144-rationalized-safety-bypass.yaml +74 -21
- package/rules/prompt-injection/ATR-2026-00004-system-prompt-override.yaml +149 -153
- package/rules/prompt-injection/ATR-2026-00080-encoding-evasion.yaml +75 -40
- package/rules/prompt-injection/ATR-2026-00081-semantic-multi-turn.yaml +78 -35
- package/rules/prompt-injection/ATR-2026-00082-fingerprint-evasion.yaml +68 -38
- package/rules/prompt-injection/ATR-2026-00083-indirect-tool-injection.yaml +74 -37
- package/rules/prompt-injection/ATR-2026-00085-audit-evasion.yaml +69 -38
- package/rules/prompt-injection/ATR-2026-00086-visual-spoofing.yaml +69 -36
- package/rules/prompt-injection/ATR-2026-00087-rule-probing.yaml +76 -39
- package/rules/prompt-injection/ATR-2026-00088-adaptive-countermeasure.yaml +74 -38
- package/rules/prompt-injection/ATR-2026-00089-polymorphic-skill.yaml +75 -40
- package/rules/prompt-injection/ATR-2026-00090-threat-intel-exfil.yaml +83 -38
- package/rules/prompt-injection/ATR-2026-00091-nested-payload.yaml +70 -36
- package/rules/prompt-injection/ATR-2026-00092-consensus-poisoning.yaml +77 -41
- package/rules/prompt-injection/ATR-2026-00093-gradual-escalation.yaml +76 -40
- package/rules/prompt-injection/ATR-2026-00094-audit-bypass.yaml +71 -39
- package/rules/prompt-injection/ATR-2026-00097-cjk-injection-patterns.yaml +122 -132
- package/rules/prompt-injection/ATR-2026-00104-persona-hijacking.yaml +91 -26
- package/rules/prompt-injection/ATR-2026-00130-indirect-authority-claim.yaml +74 -49
- package/rules/prompt-injection/ATR-2026-00131-fictional-academic-framing.yaml +69 -49
- package/rules/prompt-injection/ATR-2026-00133-paraphrase-injection.yaml +74 -61
- package/rules/prompt-injection/ATR-2026-00137-authority-claim-injection.yaml +76 -19
- package/rules/prompt-injection/ATR-2026-00138-fictional-framing-bypass.yaml +101 -21
- package/rules/prompt-injection/ATR-2026-00140-indirect-reference-reversal.yaml +69 -22
- package/rules/prompt-injection/ATR-2026-00148-language-switch-injection.yaml +77 -26
- package/rules/prompt-injection/ATR-2026-00153-tool-with-embedded-instruction-to-bypass.yaml +93 -23
- package/rules/prompt-injection/ATR-2026-00154-unauthorized-background-task-execution-v.yaml +102 -23
- package/rules/prompt-injection/ATR-2026-00155-hidden-llm-instructions-in-skill-descrip.yaml +96 -22
- package/rules/prompt-injection/ATR-2026-00156-ssh-remote-command-execution-with-creden.yaml +78 -23
- package/rules/prompt-injection/ATR-2026-00163-skill-hidden-override-instruction.yaml +77 -0
- package/rules/skill-compromise/ATR-2026-00060-skill-impersonation.yaml +72 -67
- package/rules/skill-compromise/ATR-2026-00120-skill-instruction-injection.yaml +111 -65
- package/rules/skill-compromise/ATR-2026-00121-skill-dangerous-script.yaml +115 -98
- package/rules/skill-compromise/ATR-2026-00122-skill-weaponized-instruction.yaml +118 -62
- package/rules/skill-compromise/ATR-2026-00123-skill-overreach-permissions.yaml +86 -64
- package/rules/skill-compromise/ATR-2026-00124-skill-name-squatting.yaml +55 -8
- package/rules/skill-compromise/ATR-2026-00125-context-poisoning-compaction.yaml +85 -43
- package/rules/skill-compromise/ATR-2026-00126-skill-rug-pull-setup.yaml +74 -45
- package/rules/skill-compromise/ATR-2026-00127-subcommand-overflow.yaml +46 -6
- package/rules/skill-compromise/ATR-2026-00128-html-comment-hidden-payload.yaml +131 -33
- package/rules/skill-compromise/ATR-2026-00134-fork-claim-impersonation.yaml +85 -50
- package/rules/skill-compromise/ATR-2026-00135-exfil-url-in-instructions.yaml +90 -37
- package/rules/skill-compromise/ATR-2026-00149-skill-exfil-compound.yaml +112 -110
- package/rules/tool-poisoning/ATR-2026-00011-tool-output-injection.yaml +118 -112
- package/rules/tool-poisoning/ATR-2026-00012-unauthorized-tool-call.yaml +112 -115
- package/rules/tool-poisoning/ATR-2026-00013-tool-ssrf.yaml +125 -132
- package/rules/tool-poisoning/ATR-2026-00095-supply-chain-poisoning.yaml +82 -41
- package/rules/tool-poisoning/ATR-2026-00096-registry-poisoning.yaml +68 -39
- package/rules/tool-poisoning/ATR-2026-00100-consent-bypass-instruction.yaml +86 -36
- package/rules/tool-poisoning/ATR-2026-00103-hidden-safety-bypass-instruction.yaml +75 -25
- package/rules/tool-poisoning/ATR-2026-00105-silent-action-concealment.yaml +89 -28
- package/rules/tool-poisoning/ATR-2026-00161-important-tag-cross-tool-shadowing.yaml +182 -0
package/dist/engine.js
CHANGED
|
@@ -24,29 +24,51 @@ import { buildBlacklistMatch, resolveSkillId as resolveBlacklistSkillId } from '
|
|
|
24
24
|
* Threshold: >0.5% FP on 466 real-world SKILL.md files (skills-sh corpus).
|
|
25
25
|
* Re-evaluate when adding new rules or updating detection patterns.
|
|
26
26
|
*/
|
|
27
|
+
/**
|
|
28
|
+
* Rules excluded from skill-context scanning due to high false-positive rate.
|
|
29
|
+
*
|
|
30
|
+
* Audit 2026-04-14: denylist reduced from 22 → 10 rules.
|
|
31
|
+
* Rules with ≤2 FP on 466 benign SKILL.md samples were removed from denylist
|
|
32
|
+
* to improve wild scan coverage (previously missing 2000+ potential threats).
|
|
33
|
+
*
|
|
34
|
+
* Threshold: >2 FP on 466 benchmark benign samples (>0.43%).
|
|
35
|
+
* Re-evaluate when adding new rules or updating detection patterns.
|
|
36
|
+
*/
|
|
27
37
|
const SKILL_CONTEXT_DENYLIST = new Set([
|
|
28
|
-
|
|
29
|
-
'ATR-2026-
|
|
30
|
-
'ATR-2026-
|
|
31
|
-
'ATR-2026-
|
|
32
|
-
|
|
38
|
+
// HIGH FP (>20%) — must stay denylisted until regex rewrite
|
|
39
|
+
'ATR-2026-00111', // Shell Escape — 70% FP (matches any shell/exec mention in code examples)
|
|
40
|
+
'ATR-2026-00118', // Approval Fatigue — 27% FP (matches any approval/confirm pattern)
|
|
41
|
+
'ATR-2026-00051', // Resource Exhaustion — 23% FP (SQL/loop patterns in normal skills)
|
|
42
|
+
// MEDIUM FP (1-6%) — denylisted, need regex tightening to unlock
|
|
43
|
+
'ATR-2026-00030', // Cross-Agent Attack — 6% FP (multi-agent communication patterns)
|
|
44
|
+
'ATR-2026-00032', // Goal Hijacking — 3.2% FP (instructional language)
|
|
45
|
+
'ATR-2026-00002', // Indirect Prompt Injection — 2.4% FP (content-fetch patterns)
|
|
46
|
+
'ATR-2026-00115', // Env Var Harvesting — 1.7% FP (legitimate env var references)
|
|
33
47
|
'ATR-2026-00113', // Credential Theft — 1.5% FP (security skills reference credential files)
|
|
34
|
-
'ATR-2026-00110', // eval() Injection — 1.3% FP (coding skills mention eval/exec
|
|
35
|
-
'ATR-2026-
|
|
36
|
-
'ATR-2026-
|
|
37
|
-
'ATR-2026-
|
|
38
|
-
'ATR-2026-00142', // Piggyback Transition — 0.6% FP (descriptive text triggers
|
|
39
|
-
'ATR-2026-
|
|
40
|
-
|
|
41
|
-
'ATR-2026-
|
|
42
|
-
'ATR-2026-
|
|
43
|
-
'ATR-2026-
|
|
44
|
-
'ATR-2026-00077', // Human-Agent Trust Exploitation —
|
|
45
|
-
'ATR-2026-
|
|
46
|
-
'ATR-2026-
|
|
47
|
-
'ATR-2026-00123', // Over-Privileged Skill —
|
|
48
|
-
'ATR-2026-
|
|
49
|
-
|
|
48
|
+
'ATR-2026-00110', // eval() Injection — 1.3% FP (coding skills mention eval/exec)
|
|
49
|
+
'ATR-2026-00114', // OAuth Token Interception — 1.3% FP (normal auth patterns)
|
|
50
|
+
'ATR-2026-00050', // Runaway Agent Loop — 1.1% FP (loop patterns in automation skills)
|
|
51
|
+
'ATR-2026-00112', // Dynamic Import — 0.9% FP (import/require references)
|
|
52
|
+
'ATR-2026-00142', // Piggyback Transition — 0.6% FP (descriptive text triggers)
|
|
53
|
+
'ATR-2026-00116', // A2A Message Injection — 0.4% FP (agent communication patterns)
|
|
54
|
+
// LOW FP but zero wild hits — kept in denylist for precision
|
|
55
|
+
'ATR-2026-00060', // MCP Skill Impersonation — 1 FP, 0 wild hits
|
|
56
|
+
'ATR-2026-00074', // Cross-Agent Privilege Escalation — 1 FP, 0 wild hits
|
|
57
|
+
'ATR-2026-00076', // Insecure Inter-Agent Communication — 1 FP, 0 wild hits
|
|
58
|
+
'ATR-2026-00077', // Human-Agent Trust Exploitation — 1 FP, 0 wild hits
|
|
59
|
+
'ATR-2026-00098', // Unauthorized Financial Action — 1 FP, 0 wild hits
|
|
60
|
+
'ATR-2026-00117', // Agent Identity Spoofing — 1 FP, 0 wild hits
|
|
61
|
+
'ATR-2026-00123', // Over-Privileged Skill — 1 FP, 0 wild hits
|
|
62
|
+
'ATR-2026-00148', // Multilingual Prompt Injection — 1 FP, 0 wild hits
|
|
63
|
+
// REMOVED from denylist (≤1 FP + has wild value):
|
|
64
|
+
// ATR-2026-00117 Agent Identity Spoofing (1 FP)
|
|
65
|
+
// ATR-2026-00060 MCP Skill Impersonation (1 FP)
|
|
66
|
+
// ATR-2026-00077 Human-Agent Trust Exploitation (1 FP)
|
|
67
|
+
// ATR-2026-00076 Insecure Inter-Agent Communication (1 FP)
|
|
68
|
+
// ATR-2026-00148 Multilingual Prompt Injection (1 FP)
|
|
69
|
+
// ATR-2026-00123 Over-Privileged Skill (1 FP)
|
|
70
|
+
// ATR-2026-00074 Cross-Agent Privilege Escalation (1 FP)
|
|
71
|
+
// ATR-2026-00098 Unauthorized Financial Action (1 FP)
|
|
50
72
|
]);
|
|
51
73
|
/**
|
|
52
74
|
* Detect and decode base64-encoded blocks in content.
|
|
@@ -209,9 +231,6 @@ export class ATREngine {
|
|
|
209
231
|
// Skip deprecated and draft rules
|
|
210
232
|
if (rule.status === 'deprecated' || rule.status === 'draft')
|
|
211
233
|
continue;
|
|
212
|
-
// Skill context denylist: skip rules known to cause high FP on SKILL.md content
|
|
213
|
-
if (isSkillContext && SKILL_CONTEXT_DENYLIST.has(rule.id))
|
|
214
|
-
continue;
|
|
215
234
|
// Source type filtering: skip rules that don't apply to this event type
|
|
216
235
|
// When scanContext is 'skill', skip source-type filtering — all rules fire
|
|
217
236
|
if (!isSkillContext && eventSourceType && rule.agent_source.type !== eventSourceType) {
|
|
@@ -222,11 +241,25 @@ export class ATREngine {
|
|
|
222
241
|
}
|
|
223
242
|
const matchResult = this.evaluateRule(rule, event);
|
|
224
243
|
if (matchResult) {
|
|
225
|
-
//
|
|
226
|
-
//
|
|
227
|
-
//
|
|
228
|
-
|
|
229
|
-
|
|
244
|
+
// Skill context compound gating: rules not designed for SKILL.md
|
|
245
|
+
// must match 2+ CONDITIONS (not patterns) to trigger. A single
|
|
246
|
+
// condition with many patterns fires too easily on long documents.
|
|
247
|
+
// 2+ condition co-occurrence means the document exhibits multiple
|
|
248
|
+
// distinct threat signals — strongly indicates a real attack, not
|
|
249
|
+
// security documentation that happens to describe one attack type.
|
|
250
|
+
// Rules with scan_target 'skill' or 'both' fire normally.
|
|
251
|
+
// Compound gate: rules not designed for skill scanning need 30%+
|
|
252
|
+
// conditions to match. Rules with scan_target 'skill' or 'both'
|
|
253
|
+
// have verified FP rates and fire normally.
|
|
254
|
+
if (isSkillContext && rule.tags.scan_target !== 'skill' && rule.tags.scan_target !== 'both') {
|
|
255
|
+
// Require at least 30% of conditions to match (min 2) — long documents
|
|
256
|
+
// with many technical terms easily hit 2 conditions; percentage-based
|
|
257
|
+
// threshold scales with rule complexity.
|
|
258
|
+
const totalConds = Number(rule.detection?.conditions?.length ?? 1);
|
|
259
|
+
const minRequired = Math.max(2, Math.ceil(totalConds * 0.3));
|
|
260
|
+
if ((matchResult.matchedConditions?.length ?? 0) < minRequired) {
|
|
261
|
+
continue;
|
|
262
|
+
}
|
|
230
263
|
}
|
|
231
264
|
matches.push(matchResult);
|
|
232
265
|
allMatchedPatterns.push(...matchResult.matchedPatterns);
|
|
@@ -461,12 +494,18 @@ export class ATREngine {
|
|
|
461
494
|
if (!rawFieldValue)
|
|
462
495
|
return false;
|
|
463
496
|
const fieldValue = normalizeUnicode(rawFieldValue);
|
|
464
|
-
// Code block suppression: for rules that commonly
|
|
465
|
-
// documentation content
|
|
466
|
-
//
|
|
467
|
-
//
|
|
468
|
-
//
|
|
469
|
-
|
|
497
|
+
// Code block suppression: for runtime events, rules that commonly
|
|
498
|
+
// false-positive on documentation content are suppressed when the match
|
|
499
|
+
// falls inside a markdown code block.
|
|
500
|
+
// Code block suppression in skill context:
|
|
501
|
+
// - scan_target: 'skill' rules → NOT suppressed (their patterns are designed
|
|
502
|
+
// for SKILL.md code blocks which ARE executable instructions)
|
|
503
|
+
// - Other rules → suppressed (their patterns FP on code examples)
|
|
504
|
+
const isSkillCtx = event.scanContext === 'skill';
|
|
505
|
+
const isSkillRule = this.rules.find(r => r.id === ruleId)?.tags?.scan_target === 'skill';
|
|
506
|
+
const suppressInCodeBlocks = (isSkillCtx && !isSkillRule)
|
|
507
|
+
? true // non-skill rules: always suppress code blocks in SKILL.md
|
|
508
|
+
: (!isSkillCtx && this.shouldSuppressInCodeBlocks(ruleId));
|
|
470
509
|
const codeRanges = suppressInCodeBlocks ? buildCodeBlockRanges(fieldValue) : [];
|
|
471
510
|
// Get pre-compiled patterns
|
|
472
511
|
const compiled = this.compiledPatterns.get(ruleId)?.get(condName);
|
|
@@ -743,6 +782,12 @@ export class ATREngine {
|
|
|
743
782
|
* Resolve a field value from an agent event.
|
|
744
783
|
*/
|
|
745
784
|
resolveField(fieldName, event) {
|
|
785
|
+
// Skill context: a SKILL.md is the entire document. ALL fields resolve to
|
|
786
|
+
// content so every rule can scan it. FP is controlled by requiring 2+
|
|
787
|
+
// condition matches in skill context (see evaluate()), not by field filtering.
|
|
788
|
+
if (event.scanContext === 'skill' && event.content) {
|
|
789
|
+
return event.content;
|
|
790
|
+
}
|
|
746
791
|
// Check explicit fields first
|
|
747
792
|
if (event.fields?.[fieldName]) {
|
|
748
793
|
return event.fields[fieldName];
|
package/dist/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAaH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,8BAA8B,EAC9B,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,mBAAmB,EAAE,cAAc,IAAI,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAGtG;;;;GAIG;AACH,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC;IAC1D,gBAAgB,EAAE,4EAA4E;IAC9F,gBAAgB,EAAE,sFAAsF;IACxG,gBAAgB,EAAE,6EAA6E;IAC/F,gBAAgB,EAAE,wEAAwE;IAC1F,gBAAgB,EAAE,+EAA+E;IACjG,gBAAgB,EAAE,0EAA0E;IAC5F,gBAAgB,EAAE,wEAAwE;IAC1F,gBAAgB,EAAE,oEAAoE;IACtF,gBAAgB,EAAE,4EAA4E;IAC9F,gBAAgB,EAAE,uEAAuE;IACzF,gBAAgB,EAAE,yEAAyE;IAC3F,gBAAgB,EAAE,4EAA4E;IAC9F,gBAAgB,EAAE,wEAAwE;IAC1F,gBAAgB,EAAE,yEAAyE;IAC3F,gBAAgB,EAAE,mFAAmF;IACrG,gBAAgB,EAAE,6EAA6E;IAC/F,gBAAgB,EAAE,2EAA2E;IAC7F,gBAAgB,EAAE,gFAAgF;IAClG,gBAAgB,EAAE,qEAAqE;IACvF,gBAAgB,EAAE,oEAAoE;IACtF,gBAAgB,EAAE,yEAAyE;IAC3F,gBAAgB,EAAE,4EAA4E;CAC/F,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,eAAe,GAAG,+BAA+B,CAAC;AACxD,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,SAAS,kBAAkB,CAAC,OAAe;IACzC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,KAA6B,CAAC;IAClC,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,CAAC,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,GAAG,iBAAiB,EAAE,CAAC;QACrF,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACnC,oEAAoE;YACpE,+DAA+D;YAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;YACpG,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,wBAAwB;gBAC9D,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,gDAAgD;AAChD,MAAM,oBAAoB,GAA2B;IACnD,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE,WAAW;IACtB,aAAa,EAAE,cAAc;IAC7B,cAAc,EAAE,gBAAgB;IAChC,mBAAmB,EAAE,kBAAkB;CACxC,CAAC;AAEF,mDAAmD;AACnD,MAAM,mBAAmB,GAA2B;IAClD,SAAS,EAAE,YAAY;IACvB,UAAU,EAAE,cAAc;IAC1B,SAAS,EAAE,WAAW;IACtB,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,QAAQ;IACxB,mBAAmB,EAAE,eAAe;CACrC,CAAC;AA0DF,MAAM,OAAO,SAAS;IAwBS;IAvBrB,KAAK,GAAc,EAAE,CAAC;IACb,gBAAgB,GAAG,IAAI,GAAG,EAAiC,CAAC;IAC5D,sBAAsB,CAAwB;IAE/D;;;OAGG;IACK,mBAAmB;QACzB,6DAA6D;QAC7D,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAC3F,MAAM,UAAU,GAAG;YACjB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAG,4BAA4B;YAC3D,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAU,YAAY;YAC5C,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,oBAAoB,EAAE,OAAO,CAAC;SACtE,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,IAAI,UAAU,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAG,CAAC;QAClC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,YAA6B,SAA0B,EAAE;QAA5B,WAAM,GAAN,MAAM,CAAsB;QACvD,wDAAwD;QACxD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,8BAA8B,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC3E,IAAI,CAAC,sBAAsB,GAAG,IAAI,cAAc,CAAC,YAAY,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAE9B,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QAED,sEAAsE;QACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACpE,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;gBACnD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,8BAA8B;YAChC,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAAgB;QAC1B,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAa;QACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,KAAiB;QACxB,MAAM,OAAO,GAAe,EAAE,CAAC;QAC/B,MAAM,eAAe,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,kBAAkB,GAAa,EAAE,CAAC;QAExC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAElC,6DAA6D;QAC7D,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC7D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,wEAAwE;gBACxE,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,SAAS,EAAE,CAAC;oBAC5C,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBACrF,CAAC;gBACD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC5D,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;oBACzC,qEAAqE;oBACrE,sDAAsD;gBACxD,CAAC;YACH,CAAC;QACH,CAAC;QAED,kDAAkD;QAClD,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,KAAK,OAAO,CAAC;QACrD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,kCAAkC;YAClC,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO;gBAAE,SAAS;YAEtE,gFAAgF;YAChF,IAAI,cAAc,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,SAAS;YAEpE,wEAAwE;YACxE,2EAA2E;YAC3E,IAAI,CAAC,cAAc,IAAI,eAAe,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACrF,0DAA0D;gBAC1D,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,cAAc,IAAI,eAAe,KAAK,WAAW,CAAC,EAAE,CAAC;oBACpF,SAAS;gBACX,CAAC;YACH,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACnD,IAAI,WAAW,EAAE,CAAC;gBAChB,0EAA0E;gBAC1E,qEAAqE;gBACrE,kDAAkD;gBAClD,IAAI,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;oBACtD,SAAS;gBACX,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1B,kBAAkB,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,+EAA+E;QAC/E,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,SAAS,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;QAC/E,CAAC;QAED,8DAA8D;QAC9D,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACtD,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,aAAa,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC5E,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,oDAAoD;QACpD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACnC,MAAM,aAAa,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;YACpF,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,GAAG,IAAI,CAAC;YACtC,OAAO,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,6CAA6C;QAC7C,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;YACxE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAErC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;wBAC/B,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE;wBACrB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;wBAC7B,UAAU;wBACV,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,SAAS;wBAChD,UAAU,EAAE,KAAK,CAAC,UAAU;wBAC5B,SAAS,EAAE,GAAG;wBACd,WAAW,EAAE,IAAI;qBAClB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC3B,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;oBACjC,UAAU;oBACV,SAAS,EAAE,GAAG;oBACd,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACK,YAAY,CAAC,IAAa,EAAE,KAAiB;QACnD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAC3B,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;QACxC,MAAM,kBAAkB,GAAa,EAAE,CAAC;QAExC,oCAAoC;QACpC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;QACxG,CAAC;QAED,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;IACxG,CAAC;IAED;;;OAGG;IACK,uBAAuB,CAC7B,IAAa,EACb,UAAqB,EACrB,aAAqB,EACrB,KAAiB,EACjB,kBAA4B;QAE5B,MAAM,uBAAuB,GAAa,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,aAAa,KAAK,KAAK,IAAI,aAAa,KAAK,IAAI,CAAC;QAEhE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAA4B,CAAC;YACtD,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAExF,IAAI,MAAM,EAAE,CAAC;gBACX,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,KAAK;oBAAE,MAAM,CAAC,yCAAyC;YAC7D,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,KAAK;YACnB,CAAC,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC;YACpC,CAAC,CAAC,uBAAuB,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,CAAC;QAEzD,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE1B,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC7G,MAAM,UAAU,GAAG,uBAAuB,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACnF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,UAAU,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;QAEpE,OAAO;YACL,IAAI;YACJ,iBAAiB,EAAE,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC;YACtD,eAAe,EAAE,kBAAkB;YACnC,UAAU;YACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,YAAY,EAAE,QAAiB;SAChC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,sBAAsB,CAC5B,IAA6B,EAC7B,KAAiB,EACjB,MAAc,EACd,KAAa,EACb,eAAyB;QAEzB,yCAAyC;QACzC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrD,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;YAC1E,OAAO,IAAI,CAAC,2BAA2B,CAAC,IAAyC,EAAE,KAAK,CAAC,CAAC;QAC5F,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAuB,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAuB,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAuB,CAAC;QAElD,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAE7D,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QACjC,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAEnD,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,iCAAiC;gBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvE,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpC,+DAA+D;oBAC/D,kEAAkE;oBAClE,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,UAAU,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,aAAa,CAAC,EAAE,CAAC;wBAC1F,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC5B,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,+BAA+B;gBAC/B,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;oBACzC,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;oBACvF,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;oBAC7C,IAAI,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC;wBAC5E,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC5B,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,gBAAgB;gBAClB,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBAC3D,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5B,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;oBACzB,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5B,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBAC7D,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5B,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,uBAAuB,CAC7B,IAAa,EACb,UAAmC,EACnC,aAAqB,EACrB,KAAiB,EACjB,kBAA4B;QAE5B,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAmB,CAAC;QACpD,MAAM,qBAAqB,GAAa,EAAE,CAAC;QAE3C,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;YAC/F,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACvC,IAAI,MAAM,EAAE,CAAC;gBACX,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,kCAAkC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;QAC7E,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAE9B,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC7G,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9F,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,UAAU,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;QAEpE,OAAO;YACL,IAAI;YACJ,iBAAiB,EAAE,qBAAqB;YACxC,eAAe,EAAE,kBAAkB;YACnC,UAAU;YACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,YAAY,EAAE,QAAiB;SAChC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,sBAAsB,CAC5B,QAAgB,EAChB,OAAgB,EAChB,KAAiB,EACjB,IAAa,EACb,eAAyB;QAEzB,MAAM,IAAI,GAAG,OAAkC,CAAC;QAEhD,gEAAgE;QAChE,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,wBAAwB,CAClC,IAAsC,EACtC,KAAK,EACL,IAAI,CAAC,EAAE,EACP,QAAQ,EACR,eAAe,CAChB,CAAC;QACJ,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;YAC1E,OAAO,IAAI,CAAC,2BAA2B,CAAC,IAAyC,EAAE,KAAK,CAAC,CAAC;QAC5F,CAAC;QAED,qBAAqB;QACrB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,wBAAwB,CAC9B,IAAyB,EACzB,KAAiB,EACjB,MAAc,EACd,QAAgB,EAChB,eAAyB;QAEzB,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAI,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QACjC,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAEnD,oEAAoE;QACpE,uEAAuE;QACvE,yDAAyD;QACzD,gFAAgF;QAChF,4DAA4D;QAC5D,MAAM,oBAAoB,GAAG,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEhF,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAElE,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,UAAU,CAAC,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;oBAC7G,8EAA8E;oBAC9E,IAAI,oBAAoB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAE,EAAE,UAAU,CAAC,EAAE,CAAC;wBAC7G,SAAS;oBACX,CAAC;oBACD,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC;oBACpD,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,mCAAmC;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAE/E,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAE3E,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxB,KAAK,UAAU;oBACb,IAAI,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;wBACtC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC9B,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,MAAM;gBACR,KAAK,OAAO;oBACV,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;wBAChC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC9B,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,MAAM;gBACR,KAAK,aAAa;oBAChB,IAAI,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;wBACxC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC9B,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,MAAM;gBACR,KAAK,OAAO,CAAC;gBACb,OAAO,CAAC,CAAC,CAAC;oBACR,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;wBAC7C,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;wBACzC,IAAI,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;4BACrC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;4BAC9B,OAAO,IAAI,CAAC;wBACd,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,sBAAsB;oBACxB,CAAC;oBACD,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACK,0BAA0B,CAAC,MAAc;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC;QACjD,uDAAuD;QACvD,MAAM,kBAAkB,GAAG;YACzB,sBAAsB,EAAG,8BAA8B;YACvD,sBAAsB,EAAG,2BAA2B;YACpD,kBAAkB,EAAO,gCAAgC;SAC1D,CAAC;QACF,0EAA0E;QAC1E,0DAA0D;QAC1D,MAAM,0BAA0B,GAAG;YACjC,6BAA6B;YAC7B,kBAAkB;YAClB,kBAAkB;YAClB,iBAAiB;YACjB,iBAAiB;SAClB,CAAC;QACF,IAAI,0BAA0B,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,KAAK,CAAC;QACnE,OAAO,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACK,2BAA2B,CACjC,IAA4B,EAC5B,KAAiB;QAEjB,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzD,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAE5C,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,KAAK,IAAI,CAAC,CAAC,OAAO,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;YAC/C,KAAK,IAAI,CAAC,CAAC,OAAO,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;YAC/C,KAAK,IAAI,CAAC,CAAC,OAAO,WAAW,KAAK,IAAI,CAAC,SAAS,CAAC;YACjD,KAAK,KAAK,CAAC,CAAC,OAAO,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC;YACjD,KAAK,KAAK,CAAC,CAAC,OAAO,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC;YACjD,KAAK,yBAAyB;gBAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YAChD;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,kBAAkB,CACxB,IAA4B,EAC5B,KAAiB;QAEjB,kCAAkC;QAClC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,WAAW,CAAC;QAElD,kDAAkD;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QAE7C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC7D,OAAO,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAC/D,OAAO,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YAClC,OAAO,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACK,aAAa,CAAC,MAA0B;QAC9C,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QAElC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QAEjC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QAEvB,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,GAAG,CAAC,CAAC,OAAO,KAAK,GAAG,IAAI,CAAC;YAC9B,KAAK,GAAG,CAAC,CAAC,OAAO,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC;YACnC,KAAK,GAAG,CAAC,CAAC,OAAO,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YACxC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QAChC,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,yBAAyB,CAC/B,IAA6B,EAC7B,KAAiB;QAEjB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAmC,CAAC;QAC9D,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAE/C,oCAAoC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;YACzB,MAAM,aAAa,GAAG,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACjG,IAAI,aAAa;gBAAE,OAAO,IAAI,CAAC;QACjC,CAAC;QAED,+BAA+B;QAC/B,OAAO,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACK,6BAA6B,CACnC,KAAqC,EACrC,IAA6B,EAC7B,OAAuB,EACvB,SAAiB,EACjB,YAAwB;QAExB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,CAAC,gBAAgB;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAuB,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5B,2CAA2C;QAC3C,MAAM,SAAS,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACrD,IAAI,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAElD,sDAAsD;QACtD,MAAM,WAAW,GAAwE,EAAE,CAAC;QAE5F,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAyB,CAAC;YAC1D,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;gBAC7C,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,CAAE,CAAC;gBAC1B,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;gBAC7C,IAAI,OAAO,GAAG,KAAK,CAAC;gBAEpB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,IAAI,CAAC;wBACH,IAAI,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;4BACrD,OAAO,GAAG,IAAI,CAAC;4BACf,MAAM;wBACR,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,gBAAgB;oBAClB,CAAC;gBACH,CAAC;gBAED,IAAI,OAAO,EAAE,CAAC;oBACZ,WAAW,CAAC,IAAI,CAAC;wBACf,SAAS,EAAE,EAAE;wBACb,UAAU,EAAE,EAAE;wBACd,SAAS,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;qBAC5C,CAAC,CAAC;oBACH,MAAM,CAAC,uBAAuB;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,IAAI,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAEpD,iBAAiB;QACjB,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,IAAI,WAAW,CAAC,CAAC,CAAE,CAAC,UAAU,IAAI,WAAW,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,UAAU,EAAE,CAAC;oBACjE,OAAO,KAAK,CAAC,CAAC,eAAe;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACjE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAChE,IAAI,MAAM,GAAG,OAAO,GAAG,QAAQ;gBAAE,OAAO,KAAK,CAAC;QAChD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,2BAA2B,CACjC,KAAqC,EACrC,KAAiB;QAEjB,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAyB,CAAC;YAC1D,IAAI,QAAQ,EAAE,CAAC;gBACb,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,IAAI,CAAC;wBACH,IAAI,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;4BACrD,UAAU,EAAE,CAAC;4BACb,MAAM;wBACR,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,gBAAgB;oBAClB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,UAAU,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,8DAA8D;IAE9D;;OAEG;IACK,YAAY,CAAC,SAAiB,EAAE,KAAiB;QACvD,8BAA8B;QAC9B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QAED,+CAA+C;QAC/C,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,SAAS,KAAK,YAAY,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC1D,OAAO,KAAK,CAAC,OAAO,CAAC;QACvB,CAAC;QAED,uBAAuB;QACvB,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,YAAY;gBACf,OAAO,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC;YACnF,KAAK,cAAc;gBACjB,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,cAAc,CAAC,CAAC;YACtF,KAAK,eAAe;gBAClB,OAAO,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC;YAC1F,KAAK,WAAW;gBACd,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACjG,KAAK,WAAW;gBACd,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACjG,KAAK,eAAe;gBAClB,OAAO,KAAK,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC;YAChG;gBACE,eAAe;gBACf,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAuB,CAAC;QAC7D,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,kBAAkB,CACxB,UAAkB,EAClB,OAA6B;QAE7B,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;QAE/B,0BAA0B;QAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;QACpC,CAAC;QAED,aAAa;QACb,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC;QAED,kEAAkE;QAClE,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACxE,CAAC;QAED,mEAAmE;QACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1E,CAAC;QAED,qBAAqB;QACrB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC;QAED,mCAAmC;QACnC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;IACpC,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,IAAY,EAAE,QAAgB;QACpD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,MAAM,EAAE,GAAG,IAAI,QAAQ,GAAG,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC;QAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;YACtB,IAAI,IAAI,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;YAC1B,IAAI,IAAI,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;YAE1B,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC9D,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC3B,OAAO,GAAG,EAAE,CAAC;oBACb,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;oBACnB,SAAS;gBACX,CAAC;YACH,CAAC;YAED,OAAO,IAAI,IAAI,CAAC;QAClB,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACK,eAAe,CAAC,IAAa;QACnC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAE7C,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,uEAAuE;YACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAuC,CAAC;gBACjE,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACtE,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAW,CAAC,CAAC;wBACxD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;wBAChF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;oBACvD,CAAC;oBAAC,MAAM,CAAC;wBACP,sBAAsB;oBACxB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC7D,MAAM,IAAI,GAAG,OAA6C,CAAC;gBAC3D,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;oBACxD,MAAM,SAAS,GAAI,IAAI,CAAC,YAAY,CAAY,IAAI,OAAO,CAAC;oBAC5D,MAAM,aAAa,GAAI,IAAI,CAAC,gBAAgB,CAAa,IAAI,KAAK,CAAC;oBACnE,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;oBAEvC,MAAM,QAAQ,GAAa,EAAE,CAAC;oBAC9B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,UAAU,CAAa,EAAE,CAAC;wBACnD,IAAI,CAAC;4BACH,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;gCAC1B,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;4BAC5D,CAAC;iCAAM,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;gCACpC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;4BACzD,CAAC;iCAAM,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;gCACjC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;4BAChE,CAAC;iCAAM,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;gCACvC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;4BAC/D,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC;4BACP,8BAA8B;wBAChC,CAAC;oBACH,CAAC;oBAED,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,mBAAmB,CACvB,KAAiB,EACjB,QAAyB;QAMzB,MAAM,UAAU,GAAa,CAAC,cAAc,CAAC,CAAC;QAC9C,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEnC,oDAAoD;QACpD,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB;YAAE,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB;YAAE,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAEtE,+EAA+E;QAC/E,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACjC,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QAED,6DAA6D;QAC7D,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,WAAW,EAAE,EAAE,CAAC;YAC/C,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE;oBAClE,MAAM,EAAE,WAAW;oBACnB,QAAQ,EAAE,mBAAmB;oBAC7B,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;oBAC1B,QAAQ,EAAE,KAAK;oBACf,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;gBAEH,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;oBACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,UAAmB;wBAC5D,CAAC,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAe;4BAC3C,CAAC,CAAC,QAAiB,CAAC;oBAEtB,MAAM,cAAc,GAAa;wBAC/B,IAAI,EAAE;4BACJ,KAAK,EAAE,oBAAoB,SAAS,CAAC,WAAW,EAAE;4BAClD,EAAE,EAAE,yBAAyB;4BAC7B,MAAM,EAAE,cAAc;4BACtB,WAAW,EAAE,SAAS,CAAC,WAAW;4BAClC,MAAM,EAAE,oBAAoB;4BAC5B,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;4BAC3C,QAAQ;4BACR,IAAI,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAE;4BAC9F,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAChC,SAAS,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE;4BAC3D,QAAQ,EAAE;gCACR,OAAO,EAAE,QAAQ,KAAK,UAAU;oCAC9B,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC;oCAC1B,CAAC,CAAC,CAAC,OAAO,CAAC;6BACd;yBACS;wBACZ,iBAAiB,EAAE,CAAC,sBAAsB,CAAC;wBAC3C,eAAe,EAAE,CAAC,cAAc,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7D,UAAU,EAAE,SAAS,CAAC,KAAK;wBAC3B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,YAAY,EAAE,QAAiB;qBAChC,CAAC;oBACF,OAAO,GAAG,CAAC,GAAG,OAAO,EAAE,cAAc,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,iCAAiC;YACnC,CAAC;QACH,CAAC;QAED,sDAAsD;QACtD,IAAI,IAAI,CAAC,sBAAsB,IAAI,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;YAC1E,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACnC,MAAM,eAAe,GAAG,MAAM,gBAAgB,CAC5C,IAAI,CAAC,sBAAsB,EAC3B,KAAK,EACL,OAAO,CACR,CAAC;YACF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,8BAA8B;gBAC9B,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,eAAe,CAAC,CAAC;gBAChD,MAAM,aAAa,GAA2B;oBAC5C,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC;iBAC1D,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACnB,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACjD,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACjD,IAAI,IAAI,KAAK,IAAI;wBAAE,OAAO,IAAI,GAAG,IAAI,CAAC;oBACtC,OAAO,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;gBACrC,CAAC,CAAC,CAAC;gBACH,OAAO,GAAG,MAAM,CAAC;YACnB,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QAExC,IAAI,aAAa,GAA4B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAE/D,IAAI,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC5B,KAAK;gBACL,OAAO;gBACP,OAAO;gBACP,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;aAC5E,CAAC,CAAC;YACH,aAAa,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;IAC3E,CAAC;IAED,4BAA4B;IAC5B,YAAY;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,2BAA2B;IAC3B,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,uBAAuB;IACvB,WAAW,CAAC,EAAU;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,4BAA4B;IAC5B,kBAAkB,CAAC,QAAgB;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,OAAe;QACvB,MAAM,SAAS,GAAG;YAChB,IAAI,EAAE,cAAuB;YAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,YAAY;YACvB,MAAM,EAAE,EAAE;YACV,WAAW,EAAE,OAAgB;SAC9B,CAAC;QAEF,wBAAwB;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QAEzD,iDAAiD;QACjD,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAClD,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YACrE,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;gBAC7B,mDAAmD;gBACnD,OAAO,CAAC,IAAI,CAAC;oBACX,GAAG,CAAC;oBACJ,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,kBAAkB,CAAC;iBAC5D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,8EAA8E;IAC9E,aAAa,CAAC,OAAe,EAAE,QAAiB;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxC,OAAO;YACL,SAAS,EAAE,OAAO;YAClB,YAAY,EAAE,kBAAkB,CAAC,OAAO,CAAC;YACzC,UAAU,EAAE,QAAQ;YACpB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YAC/B,OAAO;YACP,YAAY,EAAE,OAAO,CAAC,MAAM;SAC7B,CAAC;IACJ,CAAC;IAED,qFAAqF;IACrF,YAAY,CAAC,KAAiB,EAAE,QAAiB;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrC,6FAA6F;QAC7F,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM;YAC5B,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;YACrD,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAClB,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,kBAAkB,CAAC,SAAS,CAAC;YAC3C,UAAU,EAAE,QAAQ;YACpB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YAC/B,OAAO;YACP,YAAY,EAAE,OAAO,CAAC,MAAM;SAC7B,CAAC;IACJ,CAAC;CACF;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,OAAe;IACrC,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,IAAI;SACR,SAAS,CAAC,KAAK,CAAC;SAChB,OAAO,CAAC,+EAA+E,EAAE,EAAE,CAAC,CAAC;AAClG,CAAC;AAED,kEAAkE;AAClE,MAAM,eAAe,GAAG,OAAO,CAAC;AAEhC;;;GAGG;AACH,SAAS,aAAa,CAAC,KAAa,EAAE,KAAa;IACjD,IAAI,KAAK,CAAC,MAAM,GAAG,eAAe;QAAE,OAAO,KAAK,CAAC;IACjD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,IAAY;IACxC,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,gCAAgC;IAChC,MAAM,MAAM,GAAG,iBAAiB,CAAC;IACjC,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,oDAAoD;IACpD,MAAM,MAAM,GAAG,YAAY,CAAC;IAC5B,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC;QACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;QAC1E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,IAAY,EAAE,KAAa,EAAE,UAAmC;IACzF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,4CAA4C;IAC5C,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;IAC1G,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC;IACzB,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,QAAQ,IAAI,KAAK,IAAI,QAAQ,GAAG,GAAG,CAAC,CAAC;AAChF,CAAC"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,11 +13,19 @@
|
|
|
13
13
|
import type { Maturity, QualityGateResult, RuleMetadata } from "./types.js";
|
|
14
14
|
/**
|
|
15
15
|
* Minimum requirements for each maturity level.
|
|
16
|
-
* Thresholds match RFC-001 §3. Adjust here to tune the bar.
|
|
17
16
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
17
|
+
* RFC-001 v1.1 (effective 2026-04-12) splits the quality bar:
|
|
18
|
+
* - experimental: 3/3/0 — low barrier for community contribution. OWASP,
|
|
19
|
+
* MITRE, evasion tests, and FP docs are encouraged but NOT required.
|
|
20
|
+
* The upgrade pipeline adds these during promotion to stable.
|
|
21
|
+
* - stable: 5/5/3 — production-quality bar with verified provenance,
|
|
22
|
+
* OWASP + MITRE mapping, evasion tests, and wild validation.
|
|
23
|
+
*
|
|
24
|
+
* Rationale: VirusTotal doesn't reject "low quality" samples — everything
|
|
25
|
+
* gets in. Sigma experimental is loose. A strict experimental gate kills
|
|
26
|
+
* community contribution velocity. Data velocity > data purity at scale.
|
|
27
|
+
*
|
|
28
|
+
* See docs/proposals/001-atr-quality-standard-rfc.md §1 and §3.
|
|
21
29
|
*/
|
|
22
30
|
declare const REQUIREMENTS: {
|
|
23
31
|
readonly draft: {
|
|
@@ -31,13 +39,13 @@ declare const REQUIREMENTS: {
|
|
|
31
39
|
readonly requireHumanReviewedProvenance: false;
|
|
32
40
|
};
|
|
33
41
|
readonly experimental: {
|
|
34
|
-
readonly minConditions:
|
|
42
|
+
readonly minConditions: 1;
|
|
35
43
|
readonly minTruePositives: 3;
|
|
36
44
|
readonly minTrueNegatives: 3;
|
|
37
45
|
readonly minEvasionTests: 0;
|
|
38
|
-
readonly requireOwasp:
|
|
39
|
-
readonly requireMitre:
|
|
40
|
-
readonly requireFalsePositiveDocs:
|
|
46
|
+
readonly requireOwasp: false;
|
|
47
|
+
readonly requireMitre: false;
|
|
48
|
+
readonly requireFalsePositiveDocs: false;
|
|
41
49
|
readonly requireHumanReviewedProvenance: false;
|
|
42
50
|
};
|
|
43
51
|
readonly stable: {
|
|
@@ -51,6 +59,16 @@ declare const REQUIREMENTS: {
|
|
|
51
59
|
readonly requireHumanReviewedProvenance: true;
|
|
52
60
|
};
|
|
53
61
|
};
|
|
62
|
+
/**
|
|
63
|
+
* RFC-001 v1.1 §1.1 — Single-Pattern Rule Exception threshold.
|
|
64
|
+
*
|
|
65
|
+
* A rule with fewer than `minConditions` for its target maturity level
|
|
66
|
+
* is still accepted if it has been validated against at least this many
|
|
67
|
+
* real-world samples with a measured false-positive rate of exactly 0.
|
|
68
|
+
* Set to the size of the most recent ATR mega scan as of effective date,
|
|
69
|
+
* which is the empirical evidence baseline the standard authors used.
|
|
70
|
+
*/
|
|
71
|
+
export declare const SINGLE_PATTERN_EXCEPTION_MIN_SAMPLES = 50000;
|
|
54
72
|
/**
|
|
55
73
|
* Validate a rule against the quality bar for a target maturity level.
|
|
56
74
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quality-gate.d.ts","sourceRoot":"","sources":["../../src/quality/quality-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,QAAQ,EAER,iBAAiB,EACjB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB
|
|
1
|
+
{"version":3,"file":"quality-gate.d.ts","sourceRoot":"","sources":["../../src/quality/quality-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,QAAQ,EAER,iBAAiB,EACjB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;GAeG;AACH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BR,CAAC;AAEX;;;;;;;;GAQG;AACH,eAAO,MAAM,oCAAoC,QAAS,CAAC;AAQ3D;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,YAAY,EAClB,MAAM,CAAC,EAAE,QAAQ,GAChB,iBAAiB,CAiHnB;AAMD;;;GAGG;AACH,wBAAgB,eAAe,IAAI,OAAO,YAAY,CAErD"}
|
|
@@ -12,11 +12,19 @@
|
|
|
12
12
|
*/
|
|
13
13
|
/**
|
|
14
14
|
* Minimum requirements for each maturity level.
|
|
15
|
-
* Thresholds match RFC-001 §3. Adjust here to tune the bar.
|
|
16
15
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
16
|
+
* RFC-001 v1.1 (effective 2026-04-12) splits the quality bar:
|
|
17
|
+
* - experimental: 3/3/0 — low barrier for community contribution. OWASP,
|
|
18
|
+
* MITRE, evasion tests, and FP docs are encouraged but NOT required.
|
|
19
|
+
* The upgrade pipeline adds these during promotion to stable.
|
|
20
|
+
* - stable: 5/5/3 — production-quality bar with verified provenance,
|
|
21
|
+
* OWASP + MITRE mapping, evasion tests, and wild validation.
|
|
22
|
+
*
|
|
23
|
+
* Rationale: VirusTotal doesn't reject "low quality" samples — everything
|
|
24
|
+
* gets in. Sigma experimental is loose. A strict experimental gate kills
|
|
25
|
+
* community contribution velocity. Data velocity > data purity at scale.
|
|
26
|
+
*
|
|
27
|
+
* See docs/proposals/001-atr-quality-standard-rfc.md §1 and §3.
|
|
20
28
|
*/
|
|
21
29
|
const REQUIREMENTS = {
|
|
22
30
|
draft: {
|
|
@@ -30,14 +38,14 @@ const REQUIREMENTS = {
|
|
|
30
38
|
requireHumanReviewedProvenance: false,
|
|
31
39
|
},
|
|
32
40
|
experimental: {
|
|
33
|
-
minConditions:
|
|
34
|
-
minTruePositives: 3, //
|
|
41
|
+
minConditions: 1,
|
|
42
|
+
minTruePositives: 3, // RFC-001 v1.1: lowered for community contribution velocity
|
|
35
43
|
minTrueNegatives: 3,
|
|
36
|
-
minEvasionTests: 0, //
|
|
37
|
-
requireOwasp:
|
|
38
|
-
requireMitre:
|
|
39
|
-
requireFalsePositiveDocs:
|
|
40
|
-
requireHumanReviewedProvenance: false,
|
|
44
|
+
minEvasionTests: 0, // encouraged but not required — pipeline adds during upgrade
|
|
45
|
+
requireOwasp: false, // pipeline adds during promotion to stable
|
|
46
|
+
requireMitre: false, // pipeline adds during promotion to stable
|
|
47
|
+
requireFalsePositiveDocs: false, // pipeline adds during promotion to stable
|
|
48
|
+
requireHumanReviewedProvenance: false,
|
|
41
49
|
},
|
|
42
50
|
stable: {
|
|
43
51
|
minConditions: 3,
|
|
@@ -50,6 +58,16 @@ const REQUIREMENTS = {
|
|
|
50
58
|
requireHumanReviewedProvenance: true, // stable demands verified provenance
|
|
51
59
|
},
|
|
52
60
|
};
|
|
61
|
+
/**
|
|
62
|
+
* RFC-001 v1.1 §1.1 — Single-Pattern Rule Exception threshold.
|
|
63
|
+
*
|
|
64
|
+
* A rule with fewer than `minConditions` for its target maturity level
|
|
65
|
+
* is still accepted if it has been validated against at least this many
|
|
66
|
+
* real-world samples with a measured false-positive rate of exactly 0.
|
|
67
|
+
* Set to the size of the most recent ATR mega scan as of effective date,
|
|
68
|
+
* which is the empirical evidence baseline the standard authors used.
|
|
69
|
+
*/
|
|
70
|
+
export const SINGLE_PATTERN_EXCEPTION_MIN_SAMPLES = 50_000;
|
|
53
71
|
/** Provenance values that count as "verified" for stable promotion */
|
|
54
72
|
const VERIFIED_PROVENANCE = [
|
|
55
73
|
"human-reviewed",
|
|
@@ -71,8 +89,37 @@ export function validateRuleMeetsStandard(rule, target) {
|
|
|
71
89
|
const req = REQUIREMENTS[level];
|
|
72
90
|
const issues = [];
|
|
73
91
|
const warnings = [];
|
|
92
|
+
// RFC-001 v1.1 §1.1 — Single-Pattern Rule Exception.
|
|
93
|
+
//
|
|
94
|
+
// A rule with fewer than the default minimum number of detection conditions
|
|
95
|
+
// MAY still pass the experimental gate if it has been wild-validated to a
|
|
96
|
+
// very high standard. Empirically (see ATR-2026-00139, 00146, etc.) some
|
|
97
|
+
// attack categories — casual social engineering, single-token homoglyph
|
|
98
|
+
// injection, ChatML system-token spoofing — are best caught by exactly one
|
|
99
|
+
// narrow regex; padding with additional conditions only adds false-positive
|
|
100
|
+
// surface without improving recall.
|
|
101
|
+
//
|
|
102
|
+
// Eligibility for the exception:
|
|
103
|
+
// - wild_samples >= SINGLE_PATTERN_EXCEPTION_MIN_SAMPLES
|
|
104
|
+
// - wild_fp_rate === 0 (must be exactly zero, not <= 0.5%)
|
|
105
|
+
// - rule still has >= 1 condition (true zero-condition rules are invalid)
|
|
106
|
+
//
|
|
107
|
+
// The exception is intentionally narrow: it costs the rule author a hard
|
|
108
|
+
// empirical claim (wild_fp_rate exactly 0% on >=N samples). Authors who
|
|
109
|
+
// cannot meet this bar must add more detection conditions OR keep the rule
|
|
110
|
+
// at maturity `draft` until they can.
|
|
111
|
+
const meetsSinglePatternException = level === "experimental" &&
|
|
112
|
+
rule.conditions >= 1 &&
|
|
113
|
+
rule.wildSamples !== undefined &&
|
|
114
|
+
rule.wildSamples >= SINGLE_PATTERN_EXCEPTION_MIN_SAMPLES &&
|
|
115
|
+
rule.wildFpRate === 0;
|
|
74
116
|
if (rule.conditions < req.minConditions) {
|
|
75
|
-
|
|
117
|
+
if (meetsSinglePatternException) {
|
|
118
|
+
warnings.push(`only ${rule.conditions} detection condition(s) — accepted under RFC-001 v1.1 §1.1 single-pattern exception (wild_samples=${rule.wildSamples}, wild_fp_rate=0%)`);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
issues.push(`only ${rule.conditions} detection condition(s) (need ${req.minConditions}+, or wild_samples >= ${SINGLE_PATTERN_EXCEPTION_MIN_SAMPLES} with wild_fp_rate = 0% for the single-pattern exception)`);
|
|
122
|
+
}
|
|
76
123
|
}
|
|
77
124
|
if (rule.truePositives < req.minTruePositives) {
|
|
78
125
|
issues.push(`only ${rule.truePositives} true_positive(s) (need ${req.minTruePositives}+)`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quality-gate.js","sourceRoot":"","sources":["../../src/quality/quality-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH
|
|
1
|
+
{"version":3,"file":"quality-gate.js","sourceRoot":"","sources":["../../src/quality/quality-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,YAAY,GAAG;IACnB,KAAK,EAAE;QACL,aAAa,EAAE,CAAC;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC;QACnB,eAAe,EAAE,CAAC;QAClB,YAAY,EAAE,KAAK;QACnB,YAAY,EAAE,KAAK;QACnB,wBAAwB,EAAE,KAAK;QAC/B,8BAA8B,EAAE,KAAK;KACtC;IACD,YAAY,EAAE;QACZ,aAAa,EAAE,CAAC;QAChB,gBAAgB,EAAE,CAAC,EAAE,4DAA4D;QACjF,gBAAgB,EAAE,CAAC;QACnB,eAAe,EAAE,CAAC,EAAE,6DAA6D;QACjF,YAAY,EAAE,KAAK,EAAE,2CAA2C;QAChE,YAAY,EAAE,KAAK,EAAE,2CAA2C;QAChE,wBAAwB,EAAE,KAAK,EAAE,2CAA2C;QAC5E,8BAA8B,EAAE,KAAK;KACtC;IACD,MAAM,EAAE;QACN,aAAa,EAAE,CAAC;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC;QACnB,eAAe,EAAE,CAAC,EAAE,mBAAmB;QACvC,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,IAAI;QAClB,wBAAwB,EAAE,IAAI;QAC9B,8BAA8B,EAAE,IAAI,EAAE,qCAAqC;KAC5E;CACO,CAAC;AAEX;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,MAAM,CAAC;AAE3D,sEAAsE;AACtE,MAAM,mBAAmB,GAA0B;IACjD,gBAAgB;IAChB,uBAAuB;CACxB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,IAAkB,EAClB,MAAiB;IAEjB,MAAM,KAAK,GAAG,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC;IAEtC,sEAAsE;IACtE,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;QAC3B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACpD,CAAC;IAED,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,qDAAqD;IACrD,EAAE;IACF,4EAA4E;IAC5E,0EAA0E;IAC1E,yEAAyE;IACzE,wEAAwE;IACxE,2EAA2E;IAC3E,4EAA4E;IAC5E,oCAAoC;IACpC,EAAE;IACF,iCAAiC;IACjC,2DAA2D;IAC3D,6DAA6D;IAC7D,4EAA4E;IAC5E,EAAE;IACF,yEAAyE;IACzE,wEAAwE;IACxE,2EAA2E;IAC3E,sCAAsC;IACtC,MAAM,2BAA2B,GAC/B,KAAK,KAAK,cAAc;QACxB,IAAI,CAAC,UAAU,IAAI,CAAC;QACpB,IAAI,CAAC,WAAW,KAAK,SAAS;QAC9B,IAAI,CAAC,WAAW,IAAI,oCAAoC;QACxD,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC;IAExB,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;QACxC,IAAI,2BAA2B,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CACX,QAAQ,IAAI,CAAC,UAAU,qGAAqG,IAAI,CAAC,WAAW,oBAAoB,CACjK,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CACT,QAAQ,IAAI,CAAC,UAAU,iCAAiC,GAAG,CAAC,aAAa,yBAAyB,oCAAoC,2DAA2D,CAClM,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CACT,QAAQ,IAAI,CAAC,aAAa,2BAA2B,GAAG,CAAC,gBAAgB,IAAI,CAC9E,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CACT,QAAQ,IAAI,CAAC,aAAa,2BAA2B,GAAG,CAAC,gBAAgB,IAAI,CAC9E,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;QACvE,MAAM,CAAC,IAAI,CACT,QAAQ,IAAI,CAAC,YAAY,0BAA0B,GAAG,CAAC,eAAe,IAAI,CAC3E,CAAC;IACJ,CAAC;SAAM,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;QAC7D,QAAQ,CAAC,IAAI,CACX,QAAQ,IAAI,CAAC,YAAY,sDAAsD,CAChF,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,GAAG,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,GAAG,CAAC,wBAAwB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACvD,CAAC;IAED,oEAAoE;IACpE,IAAI,GAAG,CAAC,8BAA8B,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QAChC,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,YAAY,CAAC;QACxD,MAAM,eAAe,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,aAAa,CAAC;QAEvD,IAAI,IAAI,CAAC,WAAW,IAAI,eAAe,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACxE,MAAM,CAAC,IAAI,CACT,uBAAuB,eAAe,6DAA6D,CACpG,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,eAAe,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACxE,MAAM,CAAC,IAAI,CACT,uBAAuB,eAAe,6DAA6D,CACpG,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,4EAA4E;QAC5E,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QAChC,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,IAAI,CAAC,CAAC,WAAW,KAAK,gBAAgB;YAAE,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvE,IAAI,CAAC,CAAC,SAAS,KAAK,gBAAgB;YAAE,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnE,IAAI,CAAC,CAAC,aAAa,KAAK,gBAAgB;YAAE,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3E,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CACX,iCAAiC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,kCAAkC,CACzF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC3B,MAAM;QACN,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,CAAa;IAC/B,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
package/dist/tc-reporter.js
CHANGED
|
@@ -61,7 +61,7 @@ export function createTCReporter(config) {
|
|
|
61
61
|
attackSourceIP: clientId,
|
|
62
62
|
attackType: e.category,
|
|
63
63
|
mitreTechnique: e.ruleId,
|
|
64
|
-
|
|
64
|
+
ruleMatched: e.ruleId,
|
|
65
65
|
timestamp: e.timestamp,
|
|
66
66
|
region: 'unknown',
|
|
67
67
|
// Extra fields for richer data (TC ignores unknown fields via Zod passthrough)
|
package/dist/tc-reporter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tc-reporter.js","sourceRoot":"","sources":["../src/tc-reporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,UAAU,GAAG,IAAI,CAAC;AA2BxB;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAyB;IAIxD,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,wBAAwB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;IAC9D,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC;IAC1C,MAAM,eAAe,GAAG,MAAM,EAAE,eAAe,IAAI,MAAM,CAAC;IAC1D,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,UAAU,EAAE,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAiD,CAAC,CAAC,CAAC;IAE7F,kCAAkC;IAClC,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,MAAM,GAAkB,EAAE,CAAC;IAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,UAAU,GAA0C,IAAI,CAAC;IAE7D,uBAAuB;IACvB,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;IACzE,iDAAiD;IACjD,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;QAC1E,UAAU,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,UAAU,WAAW;QACxB,IAAI,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC5C,QAAQ,GAAG,IAAI,CAAC;QAEhB,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QAC1B,MAAM,GAAG,EAAE,CAAC;QAEZ,+CAA+C;QAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjC,cAAc,EAAE,QAAQ;YACxB,UAAU,EAAE,CAAC,CAAC,QAAQ;YACtB,cAAc,EAAE,CAAC,CAAC,MAAM;YACxB,
|
|
1
|
+
{"version":3,"file":"tc-reporter.js","sourceRoot":"","sources":["../src/tc-reporter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-threat-rules",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "Open detection standard for AI agent security.
|
|
5
|
+
"description": "Open detection standard for AI agent security. 113 rules for prompt injection, tool poisoning, context exfiltration, and MCP attacks. Shipped in Cisco AI Defense.",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
8
|
"bin": {
|