@falkordb/canvas 0.0.20 → 0.0.22
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 +292 -86
- package/dist/canvas-types.d.ts +4 -2
- package/dist/canvas-types.d.ts.map +1 -1
- package/dist/canvas-utils.d.ts.map +1 -1
- package/dist/canvas-utils.js +2 -0
- package/dist/canvas-utils.js.map +1 -1
- package/dist/canvas.d.ts.map +1 -1
- package/dist/canvas.js +5 -5
- package/dist/canvas.js.map +1 -1
- package/package.json +1 -1
- package/src/canvas-types.ts +5 -3
- package/src/canvas-utils.ts +3 -0
- package/src/canvas.ts +5 -5
package/README.md
CHANGED
|
@@ -4,22 +4,26 @@ A standalone web component for visualizing FalkorDB graphs using force-directed
|
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
7
|
-
- 🎨 **Force-directed graph layout** - Automatic positioning using D3 force simulation
|
|
8
|
-
- 🎯 **Interactive** - Click, hover,
|
|
9
|
-
- 🌓 **Theme support** - Light and dark mode compatible
|
|
10
|
-
- ⚡ **Performance** - Optimized rendering with canvas
|
|
11
|
-
-
|
|
12
|
-
- 🎨 **Customizable** - Colors, sizes, and
|
|
7
|
+
- 🎨 **Force-directed graph layout** - Automatic positioning using D3 force simulation with smart collision detection
|
|
8
|
+
- 🎯 **Interactive** - Click, hover, right-click interactions on nodes, links, and background
|
|
9
|
+
- 🌓 **Theme support** - Light and dark mode compatible with customizable colors
|
|
10
|
+
- ⚡ **Performance** - Optimized rendering with HTML5 canvas
|
|
11
|
+
- 💫 **Loading states** - Built-in skeleton loading with pulse animation
|
|
12
|
+
- 🎨 **Customizable** - Colors, sizes, behaviors, and custom rendering functions
|
|
13
|
+
- 📦 **TypeScript support** - Full type definitions included
|
|
14
|
+
- 🔧 **Web Component** - Works with any framework or vanilla JavaScript
|
|
15
|
+
- 🎮 **Viewport control** - Zoom, pan, and auto-fit functionality
|
|
16
|
+
- 🔄 **Smart layout** - Adaptive force algorithm based on node connectivity
|
|
13
17
|
|
|
14
18
|
## Installation
|
|
15
19
|
|
|
16
20
|
```bash
|
|
17
|
-
npm install falkordb
|
|
21
|
+
npm install @falkordb/canvas
|
|
18
22
|
```
|
|
19
23
|
|
|
20
24
|
## Quick Start
|
|
21
25
|
|
|
22
|
-
###
|
|
26
|
+
### Vanilla JavaScript
|
|
23
27
|
|
|
24
28
|
```html
|
|
25
29
|
<!DOCTYPE html>
|
|
@@ -31,7 +35,7 @@ npm install falkordb-canvas
|
|
|
31
35
|
<falkordb-canvas id="graph" style="width: 100%; height: 600px;"></falkordb-canvas>
|
|
32
36
|
|
|
33
37
|
<script type="module">
|
|
34
|
-
import 'falkordb
|
|
38
|
+
import '@falkordb/canvas';
|
|
35
39
|
|
|
36
40
|
const canvas = document.getElementById('graph');
|
|
37
41
|
|
|
@@ -59,127 +63,323 @@ npm install falkordb-canvas
|
|
|
59
63
|
</html>
|
|
60
64
|
```
|
|
61
65
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
### Methods
|
|
66
|
+
### React / TypeScript
|
|
65
67
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
+
```tsx
|
|
69
|
+
import { useEffect, useRef } from 'react';
|
|
70
|
+
import '@falkordb/canvas';
|
|
71
|
+
import type { FalkorDBCanvas, Data, GraphNode } from '@falkordb/canvas';
|
|
68
72
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
nodes: [
|
|
72
|
-
{ id: 1, labels: ['Person'], color: '#FF6B6B', visible: true, data: { name: 'Alice' } }
|
|
73
|
-
],
|
|
74
|
-
links: [
|
|
75
|
-
{ id: 1, relationship: 'KNOWS', color: '#999', source: 1, target: 2, visible: true, data: {} }
|
|
76
|
-
]
|
|
77
|
-
});
|
|
78
|
-
```
|
|
73
|
+
function GraphVisualization() {
|
|
74
|
+
const canvasRef = useRef<FalkorDBCanvas>(null);
|
|
79
75
|
|
|
80
|
-
|
|
81
|
-
|
|
76
|
+
useEffect(() => {
|
|
77
|
+
const canvas = canvasRef.current;
|
|
78
|
+
if (!canvas) return;
|
|
82
79
|
|
|
83
|
-
|
|
84
|
-
|
|
80
|
+
const data: Data = {
|
|
81
|
+
nodes: [
|
|
82
|
+
{ id: 1, labels: ['Person'], color: '#FF6B6B', visible: true, data: { name: 'Alice' } },
|
|
83
|
+
{ id: 2, labels: ['Person'], color: '#4ECDC4', visible: true, data: { name: 'Bob' } }
|
|
84
|
+
],
|
|
85
|
+
links: [
|
|
86
|
+
{ id: 1, relationship: 'KNOWS', color: '#999', source: 1, target: 2, visible: true, data: {} }
|
|
87
|
+
]
|
|
88
|
+
};
|
|
85
89
|
|
|
86
|
-
|
|
87
|
-
canvas.setConfig({
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
onNodeHover: (node) => {},
|
|
102
|
-
onLinkHover: (link) => {},
|
|
103
|
-
onBackgroundClick: (event) => {},
|
|
104
|
-
onEngineStop: () => {},
|
|
105
|
-
isNodeSelected: (node) => false,
|
|
106
|
-
isLinkSelected: (link) => false
|
|
107
|
-
});
|
|
90
|
+
canvas.setData(data);
|
|
91
|
+
canvas.setConfig({
|
|
92
|
+
onNodeClick: (node: GraphNode) => {
|
|
93
|
+
console.log('Clicked node:', node);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}, []);
|
|
97
|
+
|
|
98
|
+
return (
|
|
99
|
+
<falkordb-canvas
|
|
100
|
+
ref={canvasRef}
|
|
101
|
+
style={{ width: '100%', height: '600px' }}
|
|
102
|
+
/>
|
|
103
|
+
);
|
|
104
|
+
}
|
|
108
105
|
```
|
|
109
106
|
|
|
110
|
-
|
|
111
|
-
|
|
107
|
+
## API
|
|
108
|
+
|
|
109
|
+
### Methods
|
|
110
|
+
|
|
111
|
+
| Method | Default | Description |
|
|
112
|
+
|--------|---------|-------------|
|
|
113
|
+
| **setData**(*data*) | | Set the graph data (nodes and links). Automatically triggers layout simulation and loading states. |
|
|
114
|
+
| **getData**() | | Get the current graph data in the simplified format. |
|
|
115
|
+
| **setGraphData**(*data*) | | Set graph data in the internal format (with computed properties). Use this for better performance when you already have GraphData format. |
|
|
116
|
+
| **getGraphData**() | | Get the current graph data in the internal format with all computed properties (x, y, vx, vy, etc.). |
|
|
117
|
+
| **setConfig**(*config*) | | Configure the graph visualization and behavior. Accepts a `ForceGraphConfig` object with styling, callbacks, and rendering options. |
|
|
118
|
+
| **setWidth**(*width*) | | Set canvas width in pixels. |
|
|
119
|
+
| **setHeight**(*height*) | | Set canvas height in pixels. |
|
|
120
|
+
| **setBackgroundColor**(*color*) | | Set background color (hex or CSS color). |
|
|
121
|
+
| **setForegroundColor**(*color*) | | Set foreground color for text and borders. |
|
|
122
|
+
| **setIsLoading**(*isLoading*) | | Show/hide loading skeleton. |
|
|
123
|
+
| **setCooldownTicks**(*ticks*) | | Set simulation ticks before stopping (undefined = infinite). |
|
|
124
|
+
| **getViewport**() | | Get current zoom and center position as `ViewportState`. |
|
|
125
|
+
| **setViewport**(*viewport*) | | Restore a previously saved viewport state. |
|
|
126
|
+
| **getZoom**() | | Get current zoom level. |
|
|
127
|
+
| **zoom**(*zoomLevel*) | | Set zoom level. |
|
|
128
|
+
| **zoomToFit**(*paddingMultiplier*, *filter*) | `1.0`, `undefined` | Auto-fit all visible nodes in view. Optional padding multiplier and node filter function. |
|
|
129
|
+
| **getGraph**() | | Get the underlying force-graph instance for advanced control. |
|
|
112
130
|
|
|
113
131
|
### Configuration Options
|
|
114
132
|
|
|
115
|
-
| Option |
|
|
116
|
-
|
|
117
|
-
| `width` |
|
|
118
|
-
| `height` |
|
|
119
|
-
| `backgroundColor` |
|
|
120
|
-
| `foregroundColor` |
|
|
121
|
-
| `
|
|
122
|
-
| `
|
|
123
|
-
| `
|
|
124
|
-
| `
|
|
125
|
-
| `
|
|
126
|
-
| `
|
|
127
|
-
| `
|
|
128
|
-
| `
|
|
129
|
-
| `
|
|
130
|
-
| `
|
|
131
|
-
| `
|
|
132
|
-
| `
|
|
133
|
+
| Option | Default | Description |
|
|
134
|
+
|--------|---------|-------------|
|
|
135
|
+
| `width` | `<window width>` | Canvas width in pixels |
|
|
136
|
+
| `height` | `<window height>` | Canvas height in pixels |
|
|
137
|
+
| `backgroundColor` | | Background color (hex or CSS color) |
|
|
138
|
+
| `foregroundColor` | | Foreground color for borders and text |
|
|
139
|
+
| `cooldownTicks` | `undefined` | Number of simulation ticks before stopping (undefined = infinite) |
|
|
140
|
+
| `cooldownTime` | `1000` | Time in ms for each simulation tick |
|
|
141
|
+
| `autoStopOnSettle` | `true` | Automatically stop simulation when settled |
|
|
142
|
+
| `isLoading` | `false` | Show/hide loading skeleton |
|
|
143
|
+
| `onNodeClick` | | Callback when a node is clicked. Signature: `(node: GraphNode, event: MouseEvent) => void` |
|
|
144
|
+
| `onNodeRightClick` | | Callback when a node is right-clicked. Signature: `(node: GraphNode, event: MouseEvent) => void` |
|
|
145
|
+
| `onLinkClick` | | Callback when a link is clicked. Signature: `(link: GraphLink, event: MouseEvent) => void` |
|
|
146
|
+
| `onLinkRightClick` | | Callback when a link is right-clicked. Signature: `(link: GraphLink, event: MouseEvent) => void` |
|
|
147
|
+
| `onNodeHover` | | Callback when hovering over a node. Signature: `(node: GraphNode \| null) => void` |
|
|
148
|
+
| `onLinkHover` | | Callback when hovering over a link. Signature: `(link: GraphLink \| null) => void` |
|
|
149
|
+
| `onBackgroundClick` | | Callback when clicking the background. Signature: `(event: MouseEvent) => void` |
|
|
150
|
+
| `onBackgroundRightClick` | | Callback when right-clicking the background. Signature: `(event: MouseEvent) => void` |
|
|
151
|
+
| `onZoom` | | Callback when zoom/pan changes. Signature: `(transform: Transform) => void` |
|
|
152
|
+
| `onEngineStop` | | Callback when the force simulation stops. Signature: `() => void` |
|
|
153
|
+
| `onLoadingChange` | | Callback when loading state changes. Signature: `(loading: boolean) => void` |
|
|
154
|
+
| `isNodeSelected` | | Function to determine if a node is selected. Signature: `(node: GraphNode) => boolean` |
|
|
155
|
+
| `isLinkSelected` | | Function to determine if a link is selected. Signature: `(link: GraphLink) => boolean` |
|
|
156
|
+
| `node` | | Custom node rendering functions (see Custom Rendering) |
|
|
157
|
+
| `link` | | Custom link rendering functions (see Custom Rendering) |
|
|
133
158
|
|
|
134
159
|
### Data Types
|
|
135
160
|
|
|
136
161
|
#### Node
|
|
162
|
+
|
|
163
|
+
| Property | Default | Description |
|
|
164
|
+
|----------|---------|-------------|
|
|
165
|
+
| `id` | *required* | Unique identifier for the node |
|
|
166
|
+
| `labels` | *required* | Array of label names for the node |
|
|
167
|
+
| `color` | *required* | Node color (hex or CSS color) |
|
|
168
|
+
| `visible` | *required* | Whether the node is visible |
|
|
169
|
+
| `size` | `6` | Node radius |
|
|
170
|
+
| `caption` | `'id'` | Property key to use from the data for display text |
|
|
171
|
+
| `data` | *required* | Node properties as key-value pairs |
|
|
172
|
+
|
|
173
|
+
#### Link
|
|
174
|
+
|
|
175
|
+
| Property | Default | Description |
|
|
176
|
+
|----------|---------|-------------|
|
|
177
|
+
| `id` | *required* | Unique identifier for the link |
|
|
178
|
+
| `relationship` | *required* | Label displayed on the link |
|
|
179
|
+
| `color` | *required* | Link color (hex or CSS color) |
|
|
180
|
+
| `source` | *required* | Source node ID |
|
|
181
|
+
| `target` | *required* | Target node ID |
|
|
182
|
+
| `visible` | *required* | Whether the link is visible |
|
|
183
|
+
| `data` | *required* | Link properties as key-value pairs |
|
|
184
|
+
|
|
185
|
+
#### GraphNode
|
|
186
|
+
Internal format with computed properties:
|
|
137
187
|
```typescript
|
|
138
188
|
{
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
189
|
+
...Node;
|
|
190
|
+
size: number; // Always present (defaults to 6)
|
|
191
|
+
displayName: [string, string]; // Computed text lines
|
|
192
|
+
x?: number; // Position from simulation
|
|
193
|
+
y?: number;
|
|
194
|
+
vx?: number; // Velocity
|
|
195
|
+
vy?: number;
|
|
196
|
+
fx?: number; // Fixed position
|
|
197
|
+
fy?: number;
|
|
144
198
|
}
|
|
145
199
|
```
|
|
146
200
|
|
|
147
|
-
####
|
|
201
|
+
#### GraphLink
|
|
202
|
+
Internal format with resolved node references:
|
|
148
203
|
```typescript
|
|
149
204
|
{
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
target: number; // Node ID
|
|
155
|
-
visible: boolean;
|
|
156
|
-
data: Record<string, any>;
|
|
205
|
+
...Link;
|
|
206
|
+
source: GraphNode; // Resolved node object
|
|
207
|
+
target: GraphNode; // Resolved node object
|
|
208
|
+
curve: number; // Computed curvature for rendering
|
|
157
209
|
}
|
|
158
210
|
```
|
|
159
211
|
|
|
212
|
+
#### ViewportState
|
|
213
|
+
```typescript
|
|
214
|
+
{
|
|
215
|
+
zoom: number;
|
|
216
|
+
centerX: number;
|
|
217
|
+
centerY: number;
|
|
218
|
+
} | undefined
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
#### Transform
|
|
222
|
+
```typescript
|
|
223
|
+
{
|
|
224
|
+
k: number; // zoom scale
|
|
225
|
+
x: number; // pan x
|
|
226
|
+
y: number; // pan y
|
|
227
|
+
}
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
## Custom Rendering
|
|
231
|
+
|
|
232
|
+
You can provide custom rendering functions for nodes and links:
|
|
233
|
+
|
|
234
|
+
```typescript
|
|
235
|
+
canvas.setConfig({
|
|
236
|
+
node: {
|
|
237
|
+
nodeCanvasObject: (node: GraphNode, ctx: CanvasRenderingContext2D) => {
|
|
238
|
+
// Custom node drawing logic
|
|
239
|
+
ctx.fillStyle = node.color;
|
|
240
|
+
ctx.fillRect(node.x! - 5, node.y! - 5, 10, 10);
|
|
241
|
+
},
|
|
242
|
+
nodePointerAreaPaint: (node: GraphNode, color: string, ctx: CanvasRenderingContext2D) => {
|
|
243
|
+
// Define clickable area
|
|
244
|
+
ctx.fillStyle = color;
|
|
245
|
+
ctx.fillRect(node.x! - 5, node.y! - 5, 10, 10);
|
|
246
|
+
}
|
|
247
|
+
},
|
|
248
|
+
link: {
|
|
249
|
+
linkCanvasObject: (link: GraphLink, ctx: CanvasRenderingContext2D) => {
|
|
250
|
+
// Custom link drawing logic
|
|
251
|
+
},
|
|
252
|
+
linkPointerAreaPaint: (link: GraphLink, color: string, ctx: CanvasRenderingContext2D) => {
|
|
253
|
+
// Define clickable area for link
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
## Utility Functions
|
|
260
|
+
|
|
261
|
+
The package exports utility functions for data manipulation:
|
|
262
|
+
|
|
263
|
+
```typescript
|
|
264
|
+
import {
|
|
265
|
+
dataToGraphData,
|
|
266
|
+
graphDataToData,
|
|
267
|
+
getNodeDisplayText,
|
|
268
|
+
getNodeDisplayKey,
|
|
269
|
+
wrapTextForCircularNode
|
|
270
|
+
} from '@falkordb/canvas';
|
|
271
|
+
|
|
272
|
+
// Convert between formats
|
|
273
|
+
const graphData = dataToGraphData(data);
|
|
274
|
+
const data = graphDataToData(graphData);
|
|
275
|
+
|
|
276
|
+
// Get display text for a node
|
|
277
|
+
const text = getNodeDisplayText(node); // Returns node.data[caption] or defaults to id
|
|
278
|
+
|
|
279
|
+
// Wrap text for circular nodes
|
|
280
|
+
const [line1, line2] = wrapTextForCircularNode(ctx, text, radius);
|
|
281
|
+
```
|
|
282
|
+
|
|
160
283
|
## Development
|
|
161
284
|
|
|
162
285
|
```bash
|
|
163
286
|
# Install dependencies
|
|
164
287
|
npm install
|
|
165
288
|
|
|
166
|
-
# Build
|
|
289
|
+
# Build (TypeScript compilation)
|
|
167
290
|
npm run build
|
|
168
291
|
|
|
169
|
-
# Watch mode
|
|
292
|
+
# Watch mode (auto-rebuild on changes)
|
|
170
293
|
npm run dev
|
|
171
294
|
|
|
172
|
-
# Run example
|
|
295
|
+
# Run example server
|
|
173
296
|
npm run example
|
|
174
297
|
# Then open http://localhost:8080/examples/falkordb-canvas.example.html
|
|
298
|
+
|
|
299
|
+
# Lint code
|
|
300
|
+
npm run lint
|
|
301
|
+
|
|
302
|
+
# Clean build artifacts
|
|
303
|
+
npm run clean
|
|
175
304
|
```
|
|
176
305
|
|
|
306
|
+
## Web Component Attributes
|
|
307
|
+
|
|
308
|
+
The component supports HTML attributes for render modes:
|
|
309
|
+
|
|
310
|
+
```html
|
|
311
|
+
<falkordb-canvas
|
|
312
|
+
node-mode="replace" <!-- 'before' | 'after' | 'replace' -->
|
|
313
|
+
link-mode="after"> <!-- 'before' | 'after' | 'replace' -->
|
|
314
|
+
</falkordb-canvas>
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
- `replace` (default for nodes): Uses custom rendering exclusively
|
|
318
|
+
- `before`: Renders custom content before default rendering
|
|
319
|
+
- `after` (default for links): Renders custom content after default rendering
|
|
320
|
+
|
|
177
321
|
## Browser Support
|
|
178
322
|
|
|
179
323
|
- Chrome/Edge (latest)
|
|
180
324
|
- Firefox (latest)
|
|
181
325
|
- Safari (latest)
|
|
182
326
|
|
|
327
|
+
Requires support for:
|
|
328
|
+
- Web Components (Custom Elements)
|
|
329
|
+
- ES Modules
|
|
330
|
+
- Shadow DOM
|
|
331
|
+
- HTML5 Canvas
|
|
332
|
+
|
|
333
|
+
## Testing & Automation
|
|
334
|
+
|
|
335
|
+
### Engine Status Indicator
|
|
336
|
+
|
|
337
|
+
The canvas element inside the web component's shadow DOM exposes a `data-engine-status` attribute that indicates whether the force simulation is currently running or stopped. This is useful for automated testing to wait for the canvas to finish animating.
|
|
338
|
+
|
|
339
|
+
**Values:**
|
|
340
|
+
- `"running"` - Force simulation is actively running
|
|
341
|
+
- `"stopped"` - Force simulation has stopped (animation complete)
|
|
342
|
+
|
|
343
|
+
**Example usage with Playwright:**
|
|
344
|
+
|
|
345
|
+
```typescript
|
|
346
|
+
// Wait for canvas to be ready
|
|
347
|
+
const canvasElement = page.locator("falkordb-canvas").locator("canvas").first();
|
|
348
|
+
await canvasElement.waitFor({ state: "attached" });
|
|
349
|
+
|
|
350
|
+
// Poll until animation completes
|
|
351
|
+
while (true) {
|
|
352
|
+
const status = await canvasElement.getAttribute("data-engine-status");
|
|
353
|
+
if (status === "stopped") break;
|
|
354
|
+
await page.waitForTimeout(500);
|
|
355
|
+
}
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
**Note:** The attribute is set on the `<canvas>` element within the shadow DOM, not on the `<falkordb-canvas>` web component itself.
|
|
359
|
+
|
|
360
|
+
## Performance Tips
|
|
361
|
+
|
|
362
|
+
1. **Large graphs**: Use `cooldownTicks` to limit simulation iterations
|
|
363
|
+
2. **Static graphs**: Set `cooldownTicks: 0` after initial layout
|
|
364
|
+
3. **Custom rendering**: Optimize your custom `nodeCanvasObject` and `linkCanvasObject` functions
|
|
365
|
+
4. **Viewport**: Use `getViewport()` and `setViewport()` to preserve user's view when updating data
|
|
366
|
+
|
|
367
|
+
## Examples
|
|
368
|
+
|
|
369
|
+
See the [examples directory](./examples) for complete working examples including:
|
|
370
|
+
- Basic usage
|
|
371
|
+
- Custom node/link rendering
|
|
372
|
+
- Event handling
|
|
373
|
+
- Dynamic data updates
|
|
374
|
+
- Theme switching
|
|
375
|
+
|
|
376
|
+
## Links
|
|
377
|
+
|
|
378
|
+
- [GitHub Repository](https://github.com/FalkorDB/falkordb-canvas)
|
|
379
|
+
- [FalkorDB](https://www.falkordb.com/)
|
|
380
|
+
- [Report Issues](https://github.com/FalkorDB/falkordb-canvas/issues)
|
|
381
|
+
- [npm Package](https://www.npmjs.com/package/@falkordb/canvas)
|
|
382
|
+
|
|
183
383
|
## License
|
|
184
384
|
|
|
185
385
|
MIT
|
|
@@ -187,3 +387,9 @@ MIT
|
|
|
187
387
|
## Contributing
|
|
188
388
|
|
|
189
389
|
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
390
|
+
|
|
391
|
+
1. Fork the repository
|
|
392
|
+
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
|
|
393
|
+
3. Commit your changes (`git commit -m 'Add amazing feature'`)
|
|
394
|
+
4. Push to the branch (`git push origin feature/amazing-feature`)
|
|
395
|
+
5. Open a Pull Request
|
package/dist/canvas-types.d.ts
CHANGED
|
@@ -36,7 +36,7 @@ export type GraphNode = NodeObject & {
|
|
|
36
36
|
visible: boolean;
|
|
37
37
|
displayName: [string, string];
|
|
38
38
|
color: string;
|
|
39
|
-
size
|
|
39
|
+
size: number;
|
|
40
40
|
caption?: string;
|
|
41
41
|
data: {
|
|
42
42
|
[key: string]: any;
|
|
@@ -64,7 +64,9 @@ export interface GraphData {
|
|
|
64
64
|
nodes: GraphNode[];
|
|
65
65
|
links: GraphLink[];
|
|
66
66
|
}
|
|
67
|
-
export type Node = Omit<GraphNode, "x" | "y" | "vx" | "vy" | "fx" | "fy" | "displayName"
|
|
67
|
+
export type Node = Omit<GraphNode, "x" | "y" | "vx" | "vy" | "fx" | "fy" | "displayName" | "size"> & {
|
|
68
|
+
size?: number;
|
|
69
|
+
};
|
|
68
70
|
export type Link = Omit<GraphLink, "curve" | "source" | "target"> & {
|
|
69
71
|
source: number;
|
|
70
72
|
target: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-types.d.ts","sourceRoot":"","sources":["../src/canvas-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC3D,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC3D,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAChE,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAChE,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/C,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAChD,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACrD,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC;IAC9C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE;QACL,gBAAgB,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,wBAAwB,KAAK,IAAI,CAAC;QAC3E,oBAAoB,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,wBAAwB,KAAK,IAAI,CAAC;KAC/F,CAAC;IACF,IAAI,CAAC,EAAE;QACL,gBAAgB,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,wBAAwB,KAAK,IAAI,CAAC;QAC3E,oBAAoB,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,wBAAwB,KAAK,IAAI,CAAC;KAC/F,CAAC;CACH;AAED,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,
|
|
1
|
+
{"version":3,"file":"canvas-types.d.ts","sourceRoot":"","sources":["../src/canvas-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-utils.d.ts","sourceRoot":"","sources":["../src/canvas-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,SAAS,EACT,IAAI,EAIL,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"canvas-utils.d.ts","sourceRoot":"","sources":["../src/canvas-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,SAAS,EACT,IAAI,EAIL,MAAM,mBAAmB,CAAC;AAI3B;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAgCrD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAkB1D;AAQD,eAAO,MAAM,kBAAkB,GAC7B,MAAM,IAAI,WAmBX,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,IAAI,WAkBX,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAClC,KAAK,wBAAwB,EAC7B,MAAM,MAAM,EACZ,WAAW,MAAM,KAChB,CAAC,MAAM,EAAE,MAAM,CAoDjB,CAAC"}
|
package/dist/canvas-utils.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const DEFAULT_NODE_SIZE = 6;
|
|
1
2
|
/**
|
|
2
3
|
* Converts Data format to GraphData format
|
|
3
4
|
* Adds runtime properties (x, y, vx, vy, fx, fy, displayName, curve)
|
|
@@ -5,6 +6,7 @@
|
|
|
5
6
|
export function dataToGraphData(data) {
|
|
6
7
|
const nodes = data.nodes.map((node) => ({
|
|
7
8
|
...node,
|
|
9
|
+
size: node.size ?? DEFAULT_NODE_SIZE,
|
|
8
10
|
displayName: ["", ""],
|
|
9
11
|
x: undefined,
|
|
10
12
|
y: undefined,
|
package/dist/canvas-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-utils.js","sourceRoot":"","sources":["../src/canvas-utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"canvas-utils.js","sourceRoot":"","sources":["../src/canvas-utils.ts"],"names":[],"mappings":"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"}
|
package/dist/canvas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../src/canvas.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,IAAI,EACJ,kBAAkB,EAClB,SAAS,EAET,SAAS,EACT,gBAAgB,EAChB,aAAa,EAGd,MAAM,mBAAmB,CAAC;AAwD3B,cAAM,cAAe,SAAQ,WAAW;IACtC,OAAO,CAAC,KAAK,CAAqB;IAElC,OAAO,CAAC,SAAS,CAA+B;IAEhD,OAAO,CAAC,cAAc,CAA+B;IAErD,OAAO,CAAC,cAAc,CAA+B;IAErD,OAAO,CAAC,IAAI,CAAuC;IAEnD,OAAO,CAAC,MAAM,CAAwB;IAEtC,OAAO,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../src/canvas.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,IAAI,EACJ,kBAAkB,EAClB,SAAS,EAET,SAAS,EACT,gBAAgB,EAChB,aAAa,EAGd,MAAM,mBAAmB,CAAC;AAwD3B,cAAM,cAAe,SAAQ,WAAW;IACtC,OAAO,CAAC,KAAK,CAAqB;IAElC,OAAO,CAAC,SAAS,CAA+B;IAEhD,OAAO,CAAC,cAAc,CAA+B;IAErD,OAAO,CAAC,cAAc,CAA+B;IAErD,OAAO,CAAC,IAAI,CAAuC;IAEnD,OAAO,CAAC,MAAM,CAAwB;IAEtC,OAAO,CAAC,QAAQ,CAA+B;IAE/C,OAAO,CAAC,QAAQ,CAA6B;IAE7C,OAAO,CAAC,aAAa,CAAkC;IAEvD,OAAO,CAAC,sBAAsB,CAQhB;IAEd,OAAO,CAAC,QAAQ,CAAgB;;IAkBhC,iBAAiB;IAIjB,oBAAoB;IAWpB,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAgB3C,QAAQ,CAAC,KAAK,EAAE,MAAM;IAQtB,SAAS,CAAC,MAAM,EAAE,MAAM;IAQxB,kBAAkB,CAAC,KAAK,EAAE,MAAM;IAYhC,kBAAkB,CAAC,KAAK,EAAE,MAAM;IAOhC,YAAY,CAAC,SAAS,EAAE,OAAO;IAM/B,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;IAU1C,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,IAAI,EAAE,IAAI;IA6BlB,WAAW,IAAI,aAAa;IAa5B,WAAW,CAAC,QAAQ,EAAE,aAAa;IAInC,YAAY,IAAI,SAAS;IAIzB,YAAY,CAAC,IAAI,EAAE,SAAS;IAwB5B,QAAQ,IAAI,kBAAkB,GAAG,SAAS;IAInC,OAAO,IAAI,MAAM;IAIjB,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAMvD,SAAS,CAAC,iBAAiB,SAAI,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO;IAiB7E,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,+BAA+B;IAUvC,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,oBAAoB;IAmE5B,OAAO,CAAC,MAAM;IAsBd,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,SAAS;IAoHjB,OAAO,CAAC,WAAW;IA6EnB,OAAO,CAAC,QAAQ;IA+ChB,OAAO,CAAC,QAAQ;IAqGhB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,gBAAgB;IAkCxB,OAAO,CAAC,mBAAmB;IAuF3B,OAAO,CAAC,mBAAmB;CAS5B;AAOD,eAAe,cAAc,CAAC"}
|
package/dist/canvas.js
CHANGED
|
@@ -55,7 +55,7 @@ class FalkorDBCanvas extends HTMLElement {
|
|
|
55
55
|
this.resizeObserver = null;
|
|
56
56
|
this.data = { nodes: [], links: [] };
|
|
57
57
|
this.config = {};
|
|
58
|
-
this.nodeMode = '
|
|
58
|
+
this.nodeMode = 'replace';
|
|
59
59
|
this.linkMode = 'after';
|
|
60
60
|
this.nodeDegreeMap = new Map();
|
|
61
61
|
this.relationshipsTextCache = new Map();
|
|
@@ -359,7 +359,7 @@ class FalkorDBCanvas extends HTMLElement {
|
|
|
359
359
|
.height(this.config.height || 600)
|
|
360
360
|
.backgroundColor(this.config.backgroundColor || "#FFFFFF")
|
|
361
361
|
.graphData(this.data)
|
|
362
|
-
.nodeVal((node) =>
|
|
362
|
+
.nodeVal((node) => node.size)
|
|
363
363
|
.nodeCanvasObjectMode(() => this.nodeMode)
|
|
364
364
|
.linkCanvasObjectMode(() => this.linkMode)
|
|
365
365
|
.nodeLabel((node) => getNodeDisplayText(node))
|
|
@@ -495,8 +495,8 @@ class FalkorDBCanvas extends HTMLElement {
|
|
|
495
495
|
// Collision force
|
|
496
496
|
this.graph.d3Force("collision", d3
|
|
497
497
|
.forceCollide((node) => {
|
|
498
|
-
// Use node.size as base
|
|
499
|
-
const baseSize = node.size
|
|
498
|
+
// Use node.size as base
|
|
499
|
+
const baseSize = node.size;
|
|
500
500
|
// Add extra radius based on node degree (connections)
|
|
501
501
|
const degree = this.nodeDegreeMap.get(node.id) || 0;
|
|
502
502
|
return baseSize + Math.sqrt(degree) * HIGH_DEGREE_PADDING;
|
|
@@ -523,7 +523,7 @@ class FalkorDBCanvas extends HTMLElement {
|
|
|
523
523
|
ctx.lineWidth = this.config.isNodeSelected?.(node) ? 1.5 : 1;
|
|
524
524
|
ctx.strokeStyle = this.config.foregroundColor || "#1A1A1A";
|
|
525
525
|
ctx.fillStyle = node.color;
|
|
526
|
-
const radius =
|
|
526
|
+
const radius = node.size;
|
|
527
527
|
ctx.beginPath();
|
|
528
528
|
ctx.arc(node.x, node.y, radius, 0, 2 * Math.PI, false);
|
|
529
529
|
ctx.fill();
|
package/dist/canvas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas.js","sourceRoot":"","sources":["../src/canvas.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAYzB,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB,MAAM,OAAO,GAAG,CAAC,CAAC;AAElB,kBAAkB;AAClB,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,eAAe,GAAG,CAAC,CAAC,CAAC;AAC3B,MAAM,eAAe,GAAG,GAAG,CAAC;AAC5B,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACjC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B,sCAAsC;AACtC,SAAS,YAAY,CAAC,eAAwB,EAAE,eAAwB;IACtE,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,WAAW,GAAG;;;;;;;;;;;;;;;;;;0BAkBI,eAAe,IAAI,SAAS;eACvC,eAAe,IAAI,SAAS;;;;;;;GAOxC,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,cAAe,SAAQ,WAAW;IA+BtC;QACE,KAAK,EAAE,CAAC;QA7BF,cAAS,GAA0B,IAAI,CAAC;QAExC,mBAAc,GAA0B,IAAI,CAAC;QAE7C,mBAAc,GAA0B,IAAI,CAAC;QAE7C,SAAI,GAAc,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAE3C,WAAM,GAAqB,EAAE,CAAC;QAE9B,aAAQ,GAAqB,OAAO,CAAC;QAErC,aAAQ,GAAqB,OAAO,CAAC;QAErC,kBAAa,GAAwB,IAAI,GAAG,EAAE,CAAC;QAE/C,2BAAsB,GAQ1B,IAAI,GAAG,EAAE,CAAC;QAMZ,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAEpC,8CAA8C;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,OAAO,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YACxF,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;QAC/B,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,OAAO,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YACxF,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,gDAAgD;YAChD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,SAAS,CAAC,MAAiC;QACzC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEnC,8CAA8C;QAC9C,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB;YAChG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,sBAAsB,IAAI,MAAM,CAAC,MAAM;YACtH,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YACtG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAE3B,wEAAwE;YACxE,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK;YAAE,OAAO;QACxC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAC1B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO;QAC1C,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QAC5B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,kBAAkB,CAAC,KAAa;QAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,KAAK,KAAK;YAAE,OAAO;QAClD,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC;QACpC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,kBAAkB,CAAC,KAAa;QAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,KAAK,KAAK;YAAE,OAAO;QAClD,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,YAAY,CAAC,SAAkB;QAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO;QAChD,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,gBAAgB,CAAC,KAAyB;QACxC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,KAAK;YAAE,OAAO;QAChD,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC;QAClC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,+BAA+B,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,OAAO;QACL,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAGD,OAAO,CAAC,IAAU;QAChB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAErD,0BAA0B;QAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QAED,qDAAqD;QACrD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QAExB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,mCAAmC;QACnC,IAAI,CAAC,KAAK;aACP,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;aACpB,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,QAAQ,CAAC,CAAC;QAExD,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAElC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAE/B,OAAO;YACL,IAAI;YACJ,OAAO;YACP,OAAO;SACR,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,QAAuB;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,IAAe;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;QAE9B,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QAExB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,KAAK;aACP,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;aACpB,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,QAAQ,CAAC,CAAC;QAExD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACrE,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAEM,IAAI,CAAC,SAAiB;QAC3B,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QAExB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAEM,SAAS,CAAC,iBAAiB,GAAG,CAAC,EAAE,MAAqC;QAC3E,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAE5C,6BAA6B;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAsB,CAAC;QAC5E,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAE5C,4DAA4D;QAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,YAAY,GAAG,GAAG,CAAC;QAEnC,kDAAkD;QAClD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC;YAAE,OAAO;QAE5D,8DAA8D;QAC9D,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAEO,+BAA+B,CAAC,SAAkB;QACxD,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAsB,CAAC;QAE5E,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,YAAY,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAEnC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAE5D,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAEhC,IAAI,CAAC,aAAa,CAAC,GAAG,CACpB,QAAQ,EACR,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAC5C,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,GAAG,CACpB,QAAQ,EACR,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAC5C,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,oBAAoB;QAC1B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG;;;;;;oBAMR,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,SAAS;;KAEvD,CAAC;QAEF,0EAA0E;QAC1E,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxD,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG;;;;KAIjC,CAAC;QAEF,6DAA6D;QAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG;;;;;;KAMtB,CAAC;QAEF,8CAA8C;QAC9C,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrD,cAAc,CAAC,KAAK,CAAC,OAAO,GAAG;;;;KAI9B,CAAC;QAEF,6CAA6C;QAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG;;;;;;KAMrB,CAAC;QAEF,8CAA8C;QAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG;;;;;;KAMrB,CAAC;QAEF,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAClC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAClC,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACtC,iBAAiB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC9C,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAEvC,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,MAAM;QACZ,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAE7B,mBAAmB;QACnB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QAE3C,yBAAyB;QACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAElD,uCAAuC;QACvC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAErF,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChD,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAE5B,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE;YACnD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC;gBAC5C,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAEO,SAAS;QACf,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAE5B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,yBAAyB;QACzB,2FAA2F;QAC3F,8DAA8D;QAC9D,IAAI,CAAC,KAAK,GAAI,UAAkB,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;aAC/C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;aAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;aACjC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,SAAS,CAAC;aACzD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;aACpB,OAAO,CAAC,CAAC,IAAe,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;aAC1D,oBAAoB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;aACzC,oBAAoB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;aACzC,SAAS,CAAC,CAAC,IAAe,EAAE,EAAE,CAC7B,kBAAkB,CAAC,IAAI,CAAC,CACzB;aACA,SAAS,CAAC,CAAC,IAAe,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;aACjD,0BAA0B,CAAC,CAAC,CAAC;aAC7B,0BAA0B,CAAC,CAAC,IAAe,EAAE,EAAE;YAC9C,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;gBAAE,OAAO,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC;aACD,yBAAyB,CAAC,CAAC,IAAe,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;aAC1D,SAAS,CAAC,CAAC,IAAe,EAAE,EAAE,CAC7B,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3C;aACA,aAAa,CAAC,OAAO,CAAC;aACtB,cAAc,CAAC,SAAS,CAAC;aACzB,cAAc,CAAC,SAAS,CAAC;aACzB,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,QAAQ,CAAC,CAAC,uBAAuB;aAC5E,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC;aAC9C,cAAc,CAAC,IAAI,CAAC;aACpB,qBAAqB,CAAC,IAAI,CAAC;aAC3B,oBAAoB,CAAC,IAAI,CAAC;aAC1B,WAAW,CAAC,CAAC,IAAe,EAAE,KAAiB,EAAE,EAAE;YAClD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC;aACD,WAAW,CAAC,CAAC,IAAe,EAAE,KAAiB,EAAE,EAAE;YAClD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC;aACD,gBAAgB,CAAC,CAAC,IAAe,EAAE,KAAiB,EAAE,EAAE;YACvD,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC;aACD,gBAAgB,CAAC,CAAC,IAAe,EAAE,KAAiB,EAAE,EAAE;YACvD,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC;aACD,WAAW,CAAC,CAAC,IAAsB,EAAE,EAAE;YACtC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC;aACD,WAAW,CAAC,CAAC,IAAsB,EAAE,EAAE;YACtC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC;aACD,iBAAiB,CAAC,CAAC,KAAiB,EAAE,EAAE;YACvC,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAClC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC;aACD,sBAAsB,CAAC,CAAC,KAAiB,EAAE,EAAE;YAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,SAAoB,EAAE,EAAE;YAC/B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC;aACD,YAAY,CAAC,GAAG,EAAE;YACjB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC;aACD,gBAAgB,CAAC,CAAC,IAAe,EAAE,GAA6B,EAAE,EAAE;YACnE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC;aACD,gBAAgB,CAAC,CAAC,IAAe,EAAE,GAA6B,EAAE,EAAE;YACnE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC;QAEL,uEAAuE;QACvE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QAC3E,CAAC;QAAA,CAAC;QAEF,eAAe;QACf,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAEO,WAAW;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAE9C,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QAExB,gDAAgD;QAChD,SAAS;aACN,QAAQ,CAAC,CAAC,IAAe,EAAE,EAAE;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAEvD,IAAI,SAAS,IAAI,kBAAkB,EAAE,CAAC;gBACpC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAC5B,iBAAiB,GAAG,aAAa,EACjC,CAAC,SAAS,GAAG,kBAAkB,CAAC,GAAG,GAAG,CACvC,CAAC;gBACF,OAAO,aAAa,GAAG,aAAa,CAAC;YACvC,CAAC;YAED,OAAO,aAAa,CAAC;QACvB,CAAC,CAAC;aACD,QAAQ,CAAC,CAAC,IAAe,EAAE,EAAE;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAEvD,IAAI,SAAS,IAAI,qBAAqB,EAAE,CAAC;gBACvC,OAAO,aAAa,CAAC;YACvB,CAAC;YAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAChC,CAAC,EACD,CAAC,SAAS,GAAG,qBAAqB,CAAC,GAAG,qBAAqB,CAC5D,CAAC;YACF,MAAM,cAAc,GAClB,iBAAiB;gBACjB,CAAC,aAAa,GAAG,iBAAiB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAErE,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEL,kBAAkB;QAClB,IAAI,CAAC,KAAK,CAAC,OAAO,CAChB,WAAW,EACX,EAAE;aACC,YAAY,CAAC,CAAC,IAAe,EAAE,EAAE;YAChC,iDAAiD;YACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;YAExC,sDAAsD;YACtD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YACpD,OAAO,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,mBAAmB,CAAC;QAC5D,CAAC,CAAC;aACD,QAAQ,CAAC,kBAAkB,CAAC;YAC7B,8DAA8D;aAC7D,UAAU,CAAC,CAAC,CAAQ,CACxB,CAAC;QAEF,eAAe;QACf,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACxC,CAAC;QAED,eAAe;QACf,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,IAAe,EAAE,GAA6B;QAE7D,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACb,CAAC;QAED,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,SAAS,CAAC;QAC3D,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAE3B,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,GAAG,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QAE5D,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACvD,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,GAAG,CAAC,MAAM,EAAE,CAAC;QAEb,YAAY;QACZ,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;QACxB,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC;QACzB,GAAG,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC5B,GAAG,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAE/B,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QAEtC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,CAAC,CAAC;YAC3C,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,uBAAuB,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YAChE,IAAI,CAAC,WAAW,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,UAAU,GACd,WAAW,CAAC,uBAAuB;YACnC,WAAW,CAAC,wBAAwB,CAAC;QACvC,MAAM,cAAc,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;QAE9C,IAAI,KAAK,EAAE,CAAC;YACV,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,IAAe,EAAE,GAA6B;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QAExB,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC7C,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;YACZ,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;YACZ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACV,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC;QAED,IAAI,KAAK,CAAC;QACV,IAAI,KAAK,CAAC;QACV,IAAI,KAAK,CAAC;QAEV,IAAI,KAAK,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,SAAS,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;YACnD,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YACjC,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACjD,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACjD,KAAK,GAAG,CAAC,WAAW,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YAC3B,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAE9C,MAAM,KAAK,GAAG,EAAE,GAAG,QAAQ,CAAC;YAC5B,MAAM,KAAK,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC;YAE7B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;YAClC,MAAM,QAAQ,GACZ,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,GAAG,CAAC;YAC7D,MAAM,QAAQ,GACZ,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,GAAG,CAAC;YAE7D,MAAM,CAAC,GAAG,GAAG,CAAC;YACd,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;YACxB,KAAK;gBACH,SAAS,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC;oBAC/B,CAAC,GAAG,SAAS,GAAG,CAAC,GAAG,QAAQ;oBAC5B,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YAChB,KAAK;gBACH,SAAS,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC;oBAC/B,CAAC,GAAG,SAAS,GAAG,CAAC,GAAG,QAAQ;oBAC5B,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YAEhB,MAAM,QAAQ,GACZ,CAAC,GAAG,SAAS,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;YACpE,MAAM,QAAQ,GACZ,CAAC,GAAG,SAAS,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;YACpE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAEvC,IAAI,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC;gBAAE,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC;YACpD,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;gBAAE,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC;QACxD,CAAC;QAED,GAAG,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAC/B,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC;QACzB,GAAG,CAAC,YAAY,GAAG,QAAQ,CAAC;QAE5B,IAAI,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEhE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,EAAE,KAAK,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,GAChE,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACrC,MAAM,GAAG;gBACP,SAAS,EAAE,KAAK;gBAChB,UAAU,EAAE,uBAAuB,GAAG,wBAAwB;gBAC9D,UAAU,EAAE,uBAAuB;gBACnC,WAAW,EAAE,wBAAwB;aACtC,CAAC;YACF,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QAElE,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5B,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAElB,kBAAkB;QAClB,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,SAAS,CAAC;QACzD,MAAM,gBAAgB,GAAG,UAAU,GAAG,GAAG,CAAC;QAE1C,kEAAkE;QAClE,kEAAkE;QAClE,MAAM,SAAS,GAAG,CAAC,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC;QACrD,GAAG,CAAC,QAAQ,CACV,CAAC,SAAS,GAAG,CAAC,EACd,CAAC,gBAAgB,GAAG,CAAC,GAAG,SAAS,EACjC,SAAS,EACT,gBAAgB,CACjB,CAAC;QAEF,YAAY;QACZ,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,SAAS,CAAC;QACzD,GAAG,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC5B,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACtC,GAAG,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO;QAEjC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC7C,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QAExB,wCAAwC;QACxC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,CAAC;YAAE,OAAO;QAE5C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACzC,MAAM,iBAAiB,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAElC,+EAA+E;QAC/E,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,KAAK,KAAK,EAAE,CAAC;YAC3C,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,IAAI,CAAC,KAAK;oBAAE,OAAO;gBACxB,eAAe;gBACf,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACrD,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAE1B,sBAAsB;gBACtB,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBAE5B,0BAA0B;gBAC1B,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC;aAAM,CAAC;YACN,6CAA6C;YAC7C,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACrD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QAExB,IAAI,CAAC,KAAK;aACP,WAAW,CAAC,CAAC,IAAe,EAAE,KAAiB,EAAE,EAAE;YAClD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC;aACD,WAAW,CAAC,CAAC,IAAe,EAAE,KAAiB,EAAE,EAAE;YAClD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC;aACD,gBAAgB,CAAC,CAAC,IAAe,EAAE,KAAiB,EAAE,EAAE;YACvD,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC;aACD,gBAAgB,CAAC,CAAC,IAAe,EAAE,KAAiB,EAAE,EAAE;YACvD,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC;aACD,WAAW,CAAC,CAAC,IAAsB,EAAE,EAAE;YACtC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC;aACD,WAAW,CAAC,CAAC,IAAsB,EAAE,EAAE;YACtC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC;aACD,iBAAiB,CAAC,CAAC,KAAiB,EAAE,EAAE;YACvC,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAClC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC;aACD,sBAAsB,CAAC,CAAC,KAAiB,EAAE,EAAE;YAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,SAAoB,EAAE,EAAE;YAC/B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC;aACD,YAAY,CAAC,GAAG,EAAE;YACjB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC;aACD,gBAAgB,CAAC,CAAC,IAAe,EAAE,GAA6B,EAAE,EAAE;YACnE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC;aACD,gBAAgB,CAAC,CAAC,IAAe,EAAE,GAA6B,EAAE,EAAE;YACnE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC;QAEL,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,IAAe,EAAE,KAAa,EAAE,GAA6B,EAAE,EAAE;gBAChG,IAAI,CAAC,MAAM,CAAC,IAAK,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;QACpC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,IAAe,EAAE,KAAa,EAAE,GAA6B,EAAE,EAAE;gBAChG,IAAI,CAAC,MAAM,CAAC,IAAK,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAE7B,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YACxF,aAAa,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACnD,CAAC;IACH,CAAC;CACF;AAED,4BAA4B;AAC5B,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;IAC5E,cAAc,CAAC,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;AAC3D,CAAC;AAED,eAAe,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"canvas.js","sourceRoot":"","sources":["../src/canvas.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/canvas-types.ts
CHANGED
|
@@ -38,7 +38,7 @@ export type GraphNode = NodeObject & {
|
|
|
38
38
|
visible: boolean;
|
|
39
39
|
displayName: [string, string];
|
|
40
40
|
color: string;
|
|
41
|
-
size
|
|
41
|
+
size: number;
|
|
42
42
|
caption?: string;
|
|
43
43
|
data: {
|
|
44
44
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -73,8 +73,10 @@ export interface GraphData {
|
|
|
73
73
|
|
|
74
74
|
export type Node = Omit<
|
|
75
75
|
GraphNode,
|
|
76
|
-
"x" | "y" | "vx" | "vy" | "fx" | "fy" | "displayName"
|
|
77
|
-
|
|
76
|
+
"x" | "y" | "vx" | "vy" | "fx" | "fy" | "displayName" | "size"
|
|
77
|
+
> & {
|
|
78
|
+
size?: number;
|
|
79
|
+
}
|
|
78
80
|
|
|
79
81
|
export type Link = Omit<GraphLink, "curve" | "source" | "target"> & {
|
|
80
82
|
source: number;
|
package/src/canvas-utils.ts
CHANGED
|
@@ -7,6 +7,8 @@ import {
|
|
|
7
7
|
GraphLink,
|
|
8
8
|
} from "./canvas-types.js";
|
|
9
9
|
|
|
10
|
+
const DEFAULT_NODE_SIZE = 6;
|
|
11
|
+
|
|
10
12
|
/**
|
|
11
13
|
* Converts Data format to GraphData format
|
|
12
14
|
* Adds runtime properties (x, y, vx, vy, fx, fy, displayName, curve)
|
|
@@ -14,6 +16,7 @@ import {
|
|
|
14
16
|
export function dataToGraphData(data: Data): GraphData {
|
|
15
17
|
const nodes: GraphNode[] = data.nodes.map((node) => ({
|
|
16
18
|
...node,
|
|
19
|
+
size: node.size ?? DEFAULT_NODE_SIZE,
|
|
17
20
|
displayName: ["", ""] as [string, string],
|
|
18
21
|
x: undefined,
|
|
19
22
|
y: undefined,
|
package/src/canvas.ts
CHANGED
|
@@ -81,7 +81,7 @@ class FalkorDBCanvas extends HTMLElement {
|
|
|
81
81
|
|
|
82
82
|
private config: ForceGraphConfig = {};
|
|
83
83
|
|
|
84
|
-
private nodeMode: CanvasRenderMode = '
|
|
84
|
+
private nodeMode: CanvasRenderMode = 'replace';
|
|
85
85
|
|
|
86
86
|
private linkMode: CanvasRenderMode = 'after';
|
|
87
87
|
|
|
@@ -462,7 +462,7 @@ class FalkorDBCanvas extends HTMLElement {
|
|
|
462
462
|
.height(this.config.height || 600)
|
|
463
463
|
.backgroundColor(this.config.backgroundColor || "#FFFFFF")
|
|
464
464
|
.graphData(this.data)
|
|
465
|
-
.nodeVal((node: GraphNode) =>
|
|
465
|
+
.nodeVal((node: GraphNode) => node.size)
|
|
466
466
|
.nodeCanvasObjectMode(() => this.nodeMode)
|
|
467
467
|
.linkCanvasObjectMode(() => this.linkMode)
|
|
468
468
|
.nodeLabel((node: GraphNode) =>
|
|
@@ -617,8 +617,8 @@ class FalkorDBCanvas extends HTMLElement {
|
|
|
617
617
|
"collision",
|
|
618
618
|
d3
|
|
619
619
|
.forceCollide((node: GraphNode) => {
|
|
620
|
-
// Use node.size as base
|
|
621
|
-
const baseSize = node.size
|
|
620
|
+
// Use node.size as base
|
|
621
|
+
const baseSize = node.size;
|
|
622
622
|
|
|
623
623
|
// Add extra radius based on node degree (connections)
|
|
624
624
|
const degree = this.nodeDegreeMap.get(node.id) || 0;
|
|
@@ -653,7 +653,7 @@ class FalkorDBCanvas extends HTMLElement {
|
|
|
653
653
|
ctx.strokeStyle = this.config.foregroundColor || "#1A1A1A";
|
|
654
654
|
ctx.fillStyle = node.color;
|
|
655
655
|
|
|
656
|
-
const radius =
|
|
656
|
+
const radius = node.size;
|
|
657
657
|
|
|
658
658
|
ctx.beginPath();
|
|
659
659
|
ctx.arc(node.x, node.y, radius, 0, 2 * Math.PI, false);
|