@shadowcoderr/context-graph 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +185 -0
- package/dist/analyzers/a11y-extractor.d.ts +15 -0
- package/dist/analyzers/a11y-extractor.d.ts.map +1 -0
- package/dist/analyzers/a11y-extractor.js +148 -0
- package/dist/analyzers/a11y-extractor.js.map +1 -0
- package/dist/analyzers/dom-analyzer.d.ts +20 -0
- package/dist/analyzers/dom-analyzer.d.ts.map +1 -0
- package/dist/analyzers/dom-analyzer.js +126 -0
- package/dist/analyzers/dom-analyzer.js.map +1 -0
- package/dist/analyzers/locator-generator.d.ts +13 -0
- package/dist/analyzers/locator-generator.d.ts.map +1 -0
- package/dist/analyzers/locator-generator.js +381 -0
- package/dist/analyzers/locator-generator.js.map +1 -0
- package/dist/analyzers/network-logger.d.ts +15 -0
- package/dist/analyzers/network-logger.d.ts.map +1 -0
- package/dist/analyzers/network-logger.js +71 -0
- package/dist/analyzers/network-logger.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +155 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/config/defaults.d.ts +3 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +54 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/loader.d.ts +3 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +75 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/schema.d.ts +168 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +104 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/core/browser-adapter.d.ts +24 -0
- package/dist/core/browser-adapter.d.ts.map +1 -0
- package/dist/core/browser-adapter.js +208 -0
- package/dist/core/browser-adapter.js.map +1 -0
- package/dist/core/capture-engine.d.ts +52 -0
- package/dist/core/capture-engine.d.ts.map +1 -0
- package/dist/core/capture-engine.js +593 -0
- package/dist/core/capture-engine.js.map +1 -0
- package/dist/core/runtime.d.ts +38 -0
- package/dist/core/runtime.d.ts.map +1 -0
- package/dist/core/runtime.js +648 -0
- package/dist/core/runtime.js.map +1 -0
- package/dist/prompts/init-prompt.d.ts +12 -0
- package/dist/prompts/init-prompt.d.ts.map +1 -0
- package/dist/prompts/init-prompt.js +128 -0
- package/dist/prompts/init-prompt.js.map +1 -0
- package/dist/registry/components-registry.d.ts +97 -0
- package/dist/registry/components-registry.d.ts.map +1 -0
- package/dist/registry/components-registry.js +469 -0
- package/dist/registry/components-registry.js.map +1 -0
- package/dist/registry/index.d.ts +2 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +7 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/security/patterns.d.ts +4 -0
- package/dist/security/patterns.d.ts.map +1 -0
- package/dist/security/patterns.js +65 -0
- package/dist/security/patterns.js.map +1 -0
- package/dist/security/redactor.d.ts +26 -0
- package/dist/security/redactor.d.ts.map +1 -0
- package/dist/security/redactor.js +128 -0
- package/dist/security/redactor.js.map +1 -0
- package/dist/security/validator.d.ts +11 -0
- package/dist/security/validator.d.ts.map +1 -0
- package/dist/security/validator.js +62 -0
- package/dist/security/validator.js.map +1 -0
- package/dist/storage/engine.d.ts +45 -0
- package/dist/storage/engine.d.ts.map +1 -0
- package/dist/storage/engine.js +479 -0
- package/dist/storage/engine.js.map +1 -0
- package/dist/storage/manifest.d.ts +10 -0
- package/dist/storage/manifest.d.ts.map +1 -0
- package/dist/storage/manifest.js +98 -0
- package/dist/storage/manifest.js.map +1 -0
- package/dist/storage/serializer.d.ts +9 -0
- package/dist/storage/serializer.d.ts.map +1 -0
- package/dist/storage/serializer.js +22 -0
- package/dist/storage/serializer.js.map +1 -0
- package/dist/types/capture.d.ts +206 -0
- package/dist/types/capture.d.ts.map +1 -0
- package/dist/types/capture.js +3 -0
- package/dist/types/capture.js.map +1 -0
- package/dist/types/config.d.ts +63 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +3 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/registry.d.ts +94 -0
- package/dist/types/registry.d.ts.map +1 -0
- package/dist/types/registry.js +3 -0
- package/dist/types/registry.js.map +1 -0
- package/dist/types/storage.d.ts +57 -0
- package/dist/types/storage.d.ts.map +1 -0
- package/dist/types/storage.js +3 -0
- package/dist/types/storage.js.map +1 -0
- package/dist/utils/hash.d.ts +3 -0
- package/dist/utils/hash.d.ts.map +1 -0
- package/dist/utils/hash.js +26 -0
- package/dist/utils/hash.js.map +1 -0
- package/dist/utils/logger.d.ts +20 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +86 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/pom-generator.d.ts +12 -0
- package/dist/utils/pom-generator.d.ts.map +1 -0
- package/dist/utils/pom-generator.js +83 -0
- package/dist/utils/pom-generator.js.map +1 -0
- package/dist/utils/validators.d.ts +7 -0
- package/dist/utils/validators.d.ts.map +1 -0
- package/dist/utils/validators.js +51 -0
- package/dist/utils/validators.js.map +1 -0
- package/package.json +70 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/core/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ComponentsRegistry } from '../types/registry';
|
|
2
|
+
import { LocatorsData } from '../types/capture';
|
|
3
|
+
/**
|
|
4
|
+
* Generate initialization prompt for downstream LLMs
|
|
5
|
+
* This prompt instructs LLMs on how to use locator candidates and components registry
|
|
6
|
+
*/
|
|
7
|
+
export declare function generateLLMInitPrompt(domain: string, componentsRegistry?: ComponentsRegistry, pageLocators?: Map<string, LocatorsData>): string;
|
|
8
|
+
/**
|
|
9
|
+
* Generate a quick reference card for locator strategies
|
|
10
|
+
*/
|
|
11
|
+
export declare function generateLocatorQuickRef(): string;
|
|
12
|
+
//# sourceMappingURL=init-prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-prompt.d.ts","sourceRoot":"","sources":["../../src/prompts/init-prompt.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAoB,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,EAAE,kBAAkB,EACvC,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GACvC,MAAM,CA0HR;AAyED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CA4BhD"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateLLMInitPrompt = generateLLMInitPrompt;
|
|
4
|
+
exports.generateLocatorQuickRef = generateLocatorQuickRef;
|
|
5
|
+
/**
|
|
6
|
+
* Generate initialization prompt for downstream LLMs
|
|
7
|
+
* This prompt instructs LLMs on how to use locator candidates and components registry
|
|
8
|
+
*/
|
|
9
|
+
function generateLLMInitPrompt(domain, componentsRegistry, pageLocators) {
|
|
10
|
+
const sections = [
|
|
11
|
+
'# ContextGraph - LLM Integration Guide',
|
|
12
|
+
'',
|
|
13
|
+
'## Overview',
|
|
14
|
+
`This guide helps you generate robust Playwright locators for the **${domain}** domain.`,
|
|
15
|
+
'Use the locator candidates and components registry as your primary inputs for automated locator generation.',
|
|
16
|
+
'',
|
|
17
|
+
];
|
|
18
|
+
// Add components registry section if available
|
|
19
|
+
if (componentsRegistry && componentsRegistry.components.length > 0) {
|
|
20
|
+
sections.push('## Components Registry', '', 'The components registry tracks reusable UI patterns identified across captured pages.', 'Each component includes recommended locators with match counts and uniqueness flags.', '', '### Component Types', '', ...formatComponentTypes(componentsRegistry), '', '### Most Common Components', '', ...formatMostCommonComponents(componentsRegistry), '', '### All Components', '', '```json', JSON.stringify(formatComponentsForLLM(componentsRegistry.components), null, 2), '```', '');
|
|
21
|
+
}
|
|
22
|
+
// Add page locators section if available
|
|
23
|
+
if (pageLocators && pageLocators.size > 0) {
|
|
24
|
+
sections.push('## Page Locator Candidates', '', 'For each page, locator candidates with match counts and uniqueness are provided.', '**Always prefer unique locators (isUnique: true) for reliable element selection.**', '');
|
|
25
|
+
for (const [pageName, locatorsData] of pageLocators) {
|
|
26
|
+
sections.push(`### Page: ${pageName}`, '', '```json', JSON.stringify(formatLocatorsForLLM(locatorsData), null, 2), '```', '');
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
// Add locator generation guidelines
|
|
30
|
+
sections.push('## Locator Generation Guidelines', '', '### Priority Order (Highest to Lowest Reliability)', '', '1. **Test ID Locators** (`getByTestId`) - Most reliable, use when available', '2. **Role Locators** (`getByRole`) - Semantic and resilient to DOM changes', '3. **Label Locators** (`getByLabel`) - Good for form elements', '4. **Placeholder Locators** (`getByPlaceholder`) - Acceptable for inputs', '5. **Text Locators** (`getByText`) - Use with caution, text may change', '6. **CSS Selectors** - Last resort, fragile to structure changes', '', '### Using Match Counts and Uniqueness', '', '- `matchCount: 1` and `isUnique: true` → **Use this locator**', '- `matchCount: N` and `isUnique: false` → Locator matches multiple elements, refine or combine', '- Always verify uniqueness before using a locator in tests', '', '### Component-Based Locators', '', 'When targeting a known UI component (e.g., login button, navigation menu):', '1. Check the Components Registry for the component pattern', '2. Use the `bestLocators` array which contains pre-validated unique locators', '3. Consider the component\'s `occurrences` to understand where it appears', '', '### Example Usage', '', '```typescript', '// ✅ Good: Using unique test ID from locator candidates', "await page.getByTestId('login-button').click();", '', '// ✅ Good: Using role locator with name from component registry', "await page.getByRole('button', { name: 'Sign In' }).click();", '', '// ❌ Avoid: Non-unique text locator', "await page.getByText('Submit').click(); // May match multiple elements", '', '// ✅ Better: Combine with parent context for uniqueness', "await page.locator('form').getByRole('button', { name: 'Submit' }).click();", '```', '', '## Best Practices', '', '1. **Always check `isUnique` flag** - Never use a locator with `isUnique: false` without refinement', '2. **Prefer test IDs** - They are intentionally added for testing and most stable', '3. **Use semantic roles** - `getByRole` is more resilient than CSS selectors', '4. **Leverage components** - Reusable patterns reduce duplication in tests', '5. **Verify match counts** - A high `matchCount` indicates potential flakiness', '6. **Consider context** - Sometimes a non-unique locator becomes unique within a parent scope', '', '## Output Format', '', 'When generating locators, output them in this format:', '', '```typescript', '// Component: {componentName}', '// Page: {pageName}', '// Confidence: {confidence}', 'const locator = page.{method}({selector});', '```', '');
|
|
31
|
+
return sections.join('\n');
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Format component types summary
|
|
35
|
+
*/
|
|
36
|
+
function formatComponentTypes(registry) {
|
|
37
|
+
const lines = [];
|
|
38
|
+
const byType = registry.statistics.byType;
|
|
39
|
+
for (const [type, count] of Object.entries(byType)) {
|
|
40
|
+
lines.push(`- **${type}**: ${count} component(s)`);
|
|
41
|
+
}
|
|
42
|
+
return lines;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Format most common components
|
|
46
|
+
*/
|
|
47
|
+
function formatMostCommonComponents(registry) {
|
|
48
|
+
const lines = [];
|
|
49
|
+
const mostCommon = registry.statistics.mostCommon.slice(0, 5);
|
|
50
|
+
for (const componentId of mostCommon) {
|
|
51
|
+
const component = registry.components.find(c => c.componentId === componentId);
|
|
52
|
+
if (component) {
|
|
53
|
+
lines.push(`- **${component.name}** (${component.type}): ${component.metadata.totalOccurrences} occurrences`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return lines;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Format components for LLM consumption (simplified)
|
|
60
|
+
*/
|
|
61
|
+
function formatComponentsForLLM(components) {
|
|
62
|
+
return components.map(c => ({
|
|
63
|
+
id: c.componentId,
|
|
64
|
+
name: c.name,
|
|
65
|
+
type: c.type,
|
|
66
|
+
bestLocators: c.bestLocators.map(l => ({
|
|
67
|
+
strategy: l.strategy,
|
|
68
|
+
value: l.value,
|
|
69
|
+
isUnique: l.isUnique,
|
|
70
|
+
matchCount: l.matchCount,
|
|
71
|
+
})),
|
|
72
|
+
occurrences: c.occurrences.length,
|
|
73
|
+
stability: c.metadata.avgStability,
|
|
74
|
+
}));
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Format locators data for LLM consumption
|
|
78
|
+
*/
|
|
79
|
+
function formatLocatorsForLLM(locatorsData) {
|
|
80
|
+
return {
|
|
81
|
+
elementCount: locatorsData.elements.length,
|
|
82
|
+
elements: locatorsData.elements.slice(0, 50).map(e => ({
|
|
83
|
+
id: e.elementId,
|
|
84
|
+
tag: e.tagName,
|
|
85
|
+
text: e.text?.substring(0, 50),
|
|
86
|
+
locators: e.locators.map(l => ({
|
|
87
|
+
strategy: l.strategy,
|
|
88
|
+
value: l.value,
|
|
89
|
+
confidence: l.confidence,
|
|
90
|
+
isUnique: l.isUnique,
|
|
91
|
+
matchCount: l.matchCount,
|
|
92
|
+
})),
|
|
93
|
+
})),
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Generate a quick reference card for locator strategies
|
|
98
|
+
*/
|
|
99
|
+
function generateLocatorQuickRef() {
|
|
100
|
+
return `
|
|
101
|
+
# Locator Strategy Quick Reference
|
|
102
|
+
|
|
103
|
+
| Strategy | Method | Reliability | Use Case |
|
|
104
|
+
|----------|--------|-------------|----------|
|
|
105
|
+
| Test ID | \`getByTestId('id')\` | ⭐⭐⭐⭐⭐ | Best for stable test attributes |
|
|
106
|
+
| Role | \`getByRole('button')\` | ⭐⭐⭐⭐ | Semantic, accessible elements |
|
|
107
|
+
| Label | \`getByLabel('Email')\` | ⭐⭐⭐⭐ | Form fields with labels |
|
|
108
|
+
| Placeholder | \`getByPlaceholder('Search')\` | ⭐⭐⭐ | Input fields |
|
|
109
|
+
| Text | \`getByText('Submit')\` | ⭐⭐ | Buttons, links (verify uniqueness) |
|
|
110
|
+
| CSS | \`locator('.class')\` | ⭐ | Last resort, structure-dependent |
|
|
111
|
+
|
|
112
|
+
## Uniqueness Indicators
|
|
113
|
+
|
|
114
|
+
| Flag | Meaning | Action |
|
|
115
|
+
|------|---------|--------|
|
|
116
|
+
| \`isUnique: true\` | Matches exactly 1 element | ✅ Safe to use directly |
|
|
117
|
+
| \`isUnique: false\` | Matches multiple elements | ⚠️ Refine with parent context |
|
|
118
|
+
| \`matchCount: 0\` | No matches found | ❌ Locator invalid, regenerate |
|
|
119
|
+
|
|
120
|
+
## Component Registry Usage
|
|
121
|
+
|
|
122
|
+
1. Identify the UI component type (button, navigation, form, etc.)
|
|
123
|
+
2. Look up the component in the registry
|
|
124
|
+
3. Use the \`bestLocators\` array for pre-validated locators
|
|
125
|
+
4. Check \`avgStability\` score (higher = more reliable)
|
|
126
|
+
`.trim();
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=init-prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-prompt.js","sourceRoot":"","sources":["../../src/prompts/init-prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { ComponentsRegistry, ComponentPattern, ComponentType, ComponentExtractionOptions, ExtractedComponent } from '../types/registry';
|
|
2
|
+
import { PageSnapshot } from '../types/capture';
|
|
3
|
+
/**
|
|
4
|
+
* Components Registry Manager
|
|
5
|
+
* Tracks reusable UI component patterns across captured pages
|
|
6
|
+
*/
|
|
7
|
+
export declare class ComponentsRegistryManager {
|
|
8
|
+
private registry;
|
|
9
|
+
private registryPath;
|
|
10
|
+
private options;
|
|
11
|
+
constructor(outputDir: string, domain: string, options?: Partial<ComponentExtractionOptions>);
|
|
12
|
+
/**
|
|
13
|
+
* Initialize or load existing registry
|
|
14
|
+
*/
|
|
15
|
+
initialize(): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Extract components from a page snapshot and update registry
|
|
18
|
+
*/
|
|
19
|
+
processPage(snapshot: PageSnapshot): Promise<ExtractedComponent[]>;
|
|
20
|
+
/**
|
|
21
|
+
* Extract potential components from a page snapshot
|
|
22
|
+
*/
|
|
23
|
+
private extractComponents;
|
|
24
|
+
/**
|
|
25
|
+
* Compute a signature for identifying similar components
|
|
26
|
+
*/
|
|
27
|
+
private computeSignature;
|
|
28
|
+
/**
|
|
29
|
+
* Compute a hash of the element structure for comparison
|
|
30
|
+
*/
|
|
31
|
+
private computeStructureHash;
|
|
32
|
+
/**
|
|
33
|
+
* Infer component type from element properties
|
|
34
|
+
*/
|
|
35
|
+
private inferComponentType;
|
|
36
|
+
/**
|
|
37
|
+
* Register a component in the registry
|
|
38
|
+
*/
|
|
39
|
+
private registerComponent;
|
|
40
|
+
/**
|
|
41
|
+
* Find a component matching the given signature
|
|
42
|
+
*/
|
|
43
|
+
private findMatchingComponent;
|
|
44
|
+
/**
|
|
45
|
+
* Add an occurrence to an existing component
|
|
46
|
+
*/
|
|
47
|
+
private addOccurrence;
|
|
48
|
+
/**
|
|
49
|
+
* Create a new component pattern
|
|
50
|
+
*/
|
|
51
|
+
private createNewComponent;
|
|
52
|
+
/**
|
|
53
|
+
* Select the best locator from candidates
|
|
54
|
+
*/
|
|
55
|
+
private selectBestLocator;
|
|
56
|
+
/**
|
|
57
|
+
* Update best locators if we find better ones
|
|
58
|
+
*/
|
|
59
|
+
private updateBestLocators;
|
|
60
|
+
/**
|
|
61
|
+
* Calculate average stability score for locators
|
|
62
|
+
*/
|
|
63
|
+
private calculateStability;
|
|
64
|
+
/**
|
|
65
|
+
* Generate a human-readable component name
|
|
66
|
+
*/
|
|
67
|
+
private generateComponentName;
|
|
68
|
+
/**
|
|
69
|
+
* Generate a description for the component
|
|
70
|
+
*/
|
|
71
|
+
private generateDescription;
|
|
72
|
+
/**
|
|
73
|
+
* Update registry statistics
|
|
74
|
+
*/
|
|
75
|
+
private updateStatistics;
|
|
76
|
+
/**
|
|
77
|
+
* Save the registry to disk
|
|
78
|
+
*/
|
|
79
|
+
save(): Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* Get the current registry
|
|
82
|
+
*/
|
|
83
|
+
getRegistry(): ComponentsRegistry;
|
|
84
|
+
/**
|
|
85
|
+
* Find components by type
|
|
86
|
+
*/
|
|
87
|
+
getComponentsByType(type: ComponentType): ComponentPattern[];
|
|
88
|
+
/**
|
|
89
|
+
* Find components that appear on a specific page
|
|
90
|
+
*/
|
|
91
|
+
getComponentsByPage(pageId: string): ComponentPattern[];
|
|
92
|
+
/**
|
|
93
|
+
* Create an empty registry
|
|
94
|
+
*/
|
|
95
|
+
private createEmptyRegistry;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=components-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-registry.d.ts","sourceRoot":"","sources":["../../src/registry/components-registry.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAGhB,aAAa,EACb,0BAA0B,EAC1B,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAW,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAUzD;;;GAGG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,OAAO,CAA6B;gBAEhC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC;IAM5F;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAYjC;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAaxE;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA4C1B;;OAEG;YACW,iBAAiB;IAe/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;OAEG;IACH,OAAO,CAAC,aAAa;IAuBrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgC1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAczB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAyB1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B;;OAEG;IACH,WAAW,IAAI,kBAAkB;IAIjC;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,gBAAgB,EAAE;IAI5D;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAMvD;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAgB5B"}
|