isodoodle 0.1.1 → 0.2.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/README.md +33 -70
- package/dist/index.d.ts +10 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +38 -36
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+

|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**Draw isometric graphics with code.**
|
|
4
|
+
|
|
5
|
+
💻 <a href="https://isodoodle.netlify.app" target="_blank" rel="noopener noreferrer">**Try the online editor →**</a>
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
Isodoodle generates clean, minimal SVG markup. No canvas. No WebGL. No runtime.
|
|
4
10
|
|
|
5
11
|
## Installation
|
|
6
12
|
|
|
@@ -8,19 +14,26 @@ A minimal TypeScript library for drawing SVGs on an isometric grid.
|
|
|
8
14
|
npm install isodoodle
|
|
9
15
|
```
|
|
10
16
|
|
|
11
|
-
##
|
|
17
|
+
## Quick Start
|
|
12
18
|
|
|
13
19
|
```typescript
|
|
14
20
|
import { isodoodle } from 'isodoodle';
|
|
15
21
|
|
|
16
|
-
|
|
17
|
-
const svg = isodoodle({ scale: 20, stroke: '#333' })
|
|
22
|
+
const diamond = isodoodle({ scale: 40, fill: 'teal' })
|
|
18
23
|
.ne(2).se(2).sw(2).nw(2)
|
|
19
24
|
.toSvgString();
|
|
20
25
|
|
|
21
|
-
|
|
22
|
-
document.body.innerHTML = svg;
|
|
26
|
+
document.body.innerHTML = diamond;
|
|
23
27
|
```
|
|
28
|
+
Gives:
|
|
29
|
+
|
|
30
|
+

|
|
31
|
+
|
|
32
|
+
## Isometric grid
|
|
33
|
+
|
|
34
|
+
The library uses standard coordinates for an isometric grid:
|
|
35
|
+
|
|
36
|
+

|
|
24
37
|
|
|
25
38
|
## API
|
|
26
39
|
|
|
@@ -59,77 +72,27 @@ All direction methods accept an optional `distance` parameter (default: 1).
|
|
|
59
72
|
|
|
60
73
|
### Path Control
|
|
61
74
|
|
|
62
|
-
- `.moveTo(x, y)` - Jump to position without drawing (in scaled units)
|
|
63
|
-
- `.path(options?)` - Start new path with optional style overrides
|
|
64
|
-
|
|
65
|
-
### Output Methods
|
|
66
75
|
|
|
67
|
-
-
|
|
68
|
-
- `.toElement()` - Returns SVGSVGElement (browser only)
|
|
69
|
-
- `.toPathData()` - Returns just the path `d` attribute
|
|
76
|
+
`moveTo(n, ne, nw)` - Jump to an absolute position without drawing using isometric coordinates: `n` (north), `ne` (northeast), and `nw` (northwest). Values are in grid units and are converted to screen pixels by the library's `scale` option.
|
|
70
77
|
|
|
71
|
-
|
|
78
|
+
`move(n, ne, nw)` - Move relative to the current position without drawing using isometric coordinates (same coordinate order as `moveTo`).
|
|
72
79
|
|
|
73
|
-
|
|
80
|
+
Both `moveTo` and `move` accept three numeric arguments which are interpreted as counts along the isometric axes rather than direct x/y screen coordinates. For example:
|
|
81
|
+
- `move(1,0,1)` moves 1 unit north and one unit northwest
|
|
82
|
+
- `move(0,2,0)` moves 2 units northeast
|
|
83
|
+
- `move(0,-1,0)` moves 1 unit southwest (the opposite of northeast)
|
|
74
84
|
|
|
75
|
-
|
|
76
|
-
const cube = isodoodle({ scale: 30, stroke: '#333' })
|
|
77
|
-
// Top face
|
|
78
|
-
.moveTo(0, 0)
|
|
79
|
-
.ne(2).se(2).sw(2).nw(2)
|
|
80
|
-
// Left face
|
|
81
|
-
.path({ fill: '#ccc' })
|
|
82
|
-
.moveTo(0, 0)
|
|
83
|
-
.nw(2).s(2).se(2).n(2)
|
|
84
|
-
// Right face
|
|
85
|
-
.path({ fill: '#999' })
|
|
86
|
-
.moveTo(0, 0)
|
|
87
|
-
.ne(2).s(2).sw(2).n(2)
|
|
88
|
-
.toSvgString();
|
|
89
|
-
```
|
|
85
|
+
The origin (0,0,0) is where the path was started from.
|
|
90
86
|
|
|
91
|
-
|
|
87
|
+
`path(options?)` - Start new path with optional style overrides
|
|
92
88
|
|
|
93
|
-
|
|
94
|
-
const shapes = isodoodle({ scale: 20 })
|
|
95
|
-
.ne(1).se(1).sw(1).nw(1)
|
|
96
|
-
.path({ stroke: 'red', strokeLinecap: 'square', strokeLinejoin: 'bevel' })
|
|
97
|
-
.moveTo(3, 0)
|
|
98
|
-
.ne(1).se(1).sw(1).nw(1)
|
|
99
|
-
.toSvgString();
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
### Stroke Linecaps
|
|
103
|
-
|
|
104
|
-
```typescript
|
|
105
|
-
const caps = isodoodle({ scale: 20, strokeLinecap: 'round', strokeLinejoin: 'round' })
|
|
106
|
-
.ne(1).se(1).sw(1).nw(1)
|
|
107
|
-
.path({ strokeLinecap: 'butt', strokeLinejoin: 'miter' })
|
|
108
|
-
.moveTo(3, 0)
|
|
109
|
-
.ne(1).se(1).sw(1).nw(1)
|
|
110
|
-
.toSvgString();
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
## Isometric Geometry
|
|
114
|
-
|
|
115
|
-
The library uses standard isometric projection where the X and Y axes are at 30° angles from horizontal:
|
|
89
|
+
### Output Methods
|
|
116
90
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
NW | NE
|
|
121
|
-
\ | /
|
|
122
|
-
\ | /
|
|
123
|
-
\|/
|
|
124
|
-
-------.-------
|
|
125
|
-
/|\
|
|
126
|
-
/ | \
|
|
127
|
-
/ | \
|
|
128
|
-
SW | SE
|
|
129
|
-
|
|
|
130
|
-
S
|
|
131
|
-
```
|
|
91
|
+
- `.toSvgString()` - Returns SVG markup string
|
|
92
|
+
- `.toElement()` - Returns SVGElement (browser only)
|
|
93
|
+
- `.toPathData()` - Returns just the path `d` attribute
|
|
132
94
|
|
|
133
95
|
## License
|
|
134
96
|
|
|
135
97
|
MIT
|
|
98
|
+
|
package/dist/index.d.ts
CHANGED
|
@@ -73,22 +73,26 @@ export declare class IsoDoodle {
|
|
|
73
73
|
constructor(options?: IsoDoodleOptions);
|
|
74
74
|
private step;
|
|
75
75
|
private updateBounds;
|
|
76
|
-
/**
|
|
76
|
+
/** Draw North (up) */
|
|
77
77
|
n(distance?: number): this;
|
|
78
|
-
/**
|
|
78
|
+
/** Draw South (down) */
|
|
79
79
|
s(distance?: number): this;
|
|
80
|
-
/**
|
|
80
|
+
/** Draw Northeast */
|
|
81
81
|
ne(distance?: number): this;
|
|
82
|
-
/**
|
|
82
|
+
/** Draw Southeast */
|
|
83
83
|
se(distance?: number): this;
|
|
84
|
-
/**
|
|
84
|
+
/** Draw Southwest */
|
|
85
85
|
sw(distance?: number): this;
|
|
86
|
-
/**
|
|
86
|
+
/** Draw Northwest */
|
|
87
87
|
nw(distance?: number): this;
|
|
88
88
|
/** Jump to absolute position without drawing using isometric coordinates (n, ne, nw) */
|
|
89
89
|
moveTo(n: number, ne: number, nw: number): this;
|
|
90
90
|
/** Move relative to current position without drawing using isometric coordinates (n, ne, nw) */
|
|
91
91
|
move(n: number, ne: number, nw: number): this;
|
|
92
|
+
/** Draw a line by a combined isometric offset (n, ne, nw axes; use negative values for S, SW, SE) */
|
|
93
|
+
draw(n: number, ne?: number, nw?: number): this;
|
|
94
|
+
/** Draw a line to an absolute isometric position (n, ne, nw axes; use negative values for S, SW, SE) */
|
|
95
|
+
drawTo(n: number, ne: number, nw: number): this;
|
|
92
96
|
/** Start a new path with optional style overrides */
|
|
93
97
|
path(options?: PathOptions): this;
|
|
94
98
|
private buildPathD;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,kFAAkF;AAClF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;CAOb,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,UAAU,CAAC;AAEhD,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC5C,yCAAyC;IACzC,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IAC7C,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC5C,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAaD,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAGb;IACF,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,IAAI,CAAK;gBAEL,OAAO,GAAE,gBAAqB;IAyB1C,OAAO,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -44,22 +44,14 @@ export class IsoDoodle {
|
|
|
44
44
|
},
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
|
-
step(direction, distance
|
|
47
|
+
step(direction, distance) {
|
|
48
48
|
const dir = DIRECTIONS[direction];
|
|
49
|
-
const dx = dir.x * distance * this.options.scale;
|
|
50
|
-
const dy = dir.y * distance * this.options.scale;
|
|
51
|
-
// Start a new path with M if this is the first segment
|
|
52
49
|
if (this.currentPath.segments.length === 0) {
|
|
53
50
|
this.currentPath.segments.push({ type: 'M', x: this.currentX, y: this.currentY });
|
|
54
51
|
}
|
|
55
|
-
this.currentX +=
|
|
56
|
-
this.currentY +=
|
|
57
|
-
|
|
58
|
-
this.currentPath.segments.push({ type: 'L', x: this.currentX, y: this.currentY });
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
this.currentPath.segments.push({ type: 'M', x: this.currentX, y: this.currentY });
|
|
62
|
-
}
|
|
52
|
+
this.currentX += dir.x * distance * this.options.scale;
|
|
53
|
+
this.currentY += dir.y * distance * this.options.scale;
|
|
54
|
+
this.currentPath.segments.push({ type: 'L', x: this.currentX, y: this.currentY });
|
|
63
55
|
this.updateBounds();
|
|
64
56
|
return this;
|
|
65
57
|
}
|
|
@@ -69,30 +61,18 @@ export class IsoDoodle {
|
|
|
69
61
|
this.minY = Math.min(this.minY, this.currentY);
|
|
70
62
|
this.maxY = Math.max(this.maxY, this.currentY);
|
|
71
63
|
}
|
|
72
|
-
/**
|
|
73
|
-
n(distance = 1) {
|
|
74
|
-
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}
|
|
84
|
-
/** Move Southeast */
|
|
85
|
-
se(distance = 1) {
|
|
86
|
-
return this.step('SE', distance, true);
|
|
87
|
-
}
|
|
88
|
-
/** Move Southwest */
|
|
89
|
-
sw(distance = 1) {
|
|
90
|
-
return this.step('SW', distance, true);
|
|
91
|
-
}
|
|
92
|
-
/** Move Northwest */
|
|
93
|
-
nw(distance = 1) {
|
|
94
|
-
return this.step('NW', distance, true);
|
|
95
|
-
}
|
|
64
|
+
/** Draw North (up) */
|
|
65
|
+
n(distance = 1) { return this.step('N', distance); }
|
|
66
|
+
/** Draw South (down) */
|
|
67
|
+
s(distance = 1) { return this.step('S', distance); }
|
|
68
|
+
/** Draw Northeast */
|
|
69
|
+
ne(distance = 1) { return this.step('NE', distance); }
|
|
70
|
+
/** Draw Southeast */
|
|
71
|
+
se(distance = 1) { return this.step('SE', distance); }
|
|
72
|
+
/** Draw Southwest */
|
|
73
|
+
sw(distance = 1) { return this.step('SW', distance); }
|
|
74
|
+
/** Draw Northwest */
|
|
75
|
+
nw(distance = 1) { return this.step('NW', distance); }
|
|
96
76
|
/** Jump to absolute position without drawing using isometric coordinates (n, ne, nw) */
|
|
97
77
|
moveTo(n, ne, nw) {
|
|
98
78
|
// Calculate screen position by combining direction vectors
|
|
@@ -116,6 +96,28 @@ export class IsoDoodle {
|
|
|
116
96
|
this.updateBounds();
|
|
117
97
|
return this;
|
|
118
98
|
}
|
|
99
|
+
/** Draw a line by a combined isometric offset (n, ne, nw axes; use negative values for S, SW, SE) */
|
|
100
|
+
draw(n, ne = 0, nw = 0) {
|
|
101
|
+
if (this.currentPath.segments.length === 0) {
|
|
102
|
+
this.currentPath.segments.push({ type: 'M', x: this.currentX, y: this.currentY });
|
|
103
|
+
}
|
|
104
|
+
this.currentX += (ne - nw) * SQRT3_2 * this.options.scale;
|
|
105
|
+
this.currentY += (-n - 0.5 * (ne + nw)) * this.options.scale;
|
|
106
|
+
this.currentPath.segments.push({ type: 'L', x: this.currentX, y: this.currentY });
|
|
107
|
+
this.updateBounds();
|
|
108
|
+
return this;
|
|
109
|
+
}
|
|
110
|
+
/** Draw a line to an absolute isometric position (n, ne, nw axes; use negative values for S, SW, SE) */
|
|
111
|
+
drawTo(n, ne, nw) {
|
|
112
|
+
if (this.currentPath.segments.length === 0) {
|
|
113
|
+
this.currentPath.segments.push({ type: 'M', x: this.currentX, y: this.currentY });
|
|
114
|
+
}
|
|
115
|
+
this.currentX = (ne - nw) * SQRT3_2 * this.options.scale;
|
|
116
|
+
this.currentY = (-n - 0.5 * (ne + nw)) * this.options.scale;
|
|
117
|
+
this.currentPath.segments.push({ type: 'L', x: this.currentX, y: this.currentY });
|
|
118
|
+
this.updateBounds();
|
|
119
|
+
return this;
|
|
120
|
+
}
|
|
119
121
|
/** Start a new path with optional style overrides */
|
|
120
122
|
path(options) {
|
|
121
123
|
// Save current path if it has content
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU;AAE5C,kFAAkF;AAClF,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IAClB,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;IACjB,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE;IAC3B,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE;IAC1B,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE;IAC3B,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE;CACpB,CAAC;AAiDX,MAAM,OAAO,SAAS;IACZ,OAAO,CAGb;IACM,QAAQ,GAAG,CAAC,CAAC;IACb,QAAQ,GAAG,CAAC,CAAC;IACb,KAAK,GAAe,EAAE,CAAC;IACvB,WAAW,CAAW;IACtB,IAAI,GAAG,CAAC,CAAC;IACT,IAAI,GAAG,CAAC,CAAC;IACT,IAAI,GAAG,CAAC,CAAC;IACT,IAAI,GAAG,CAAC,CAAC;IAEjB,YAAY,UAA4B,EAAE;QACxC,IAAI,CAAC,OAAO,GAAG;YACb,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;YAC1B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,MAAM;YAChC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,OAAO;YAC/C,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,OAAO;YACjD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC;YACrC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,MAAM;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG;YACjB,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE;gBACP,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC3B,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;gBACzC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;gBAC3C,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;gBACrC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;aACxB;SACF,CAAC;IACJ,CAAC;IAEO,IAAI,CAAC,SAAoB,EAAE,QAAgB
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU;AAE5C,kFAAkF;AAClF,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IAClB,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;IACjB,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE;IAC3B,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE;IAC1B,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE;IAC3B,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE;CACpB,CAAC;AAiDX,MAAM,OAAO,SAAS;IACZ,OAAO,CAGb;IACM,QAAQ,GAAG,CAAC,CAAC;IACb,QAAQ,GAAG,CAAC,CAAC;IACb,KAAK,GAAe,EAAE,CAAC;IACvB,WAAW,CAAW;IACtB,IAAI,GAAG,CAAC,CAAC;IACT,IAAI,GAAG,CAAC,CAAC;IACT,IAAI,GAAG,CAAC,CAAC;IACT,IAAI,GAAG,CAAC,CAAC;IAEjB,YAAY,UAA4B,EAAE;QACxC,IAAI,CAAC,OAAO,GAAG;YACb,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;YAC1B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,MAAM;YAChC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,OAAO;YAC/C,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,OAAO;YACjD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC;YACrC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,MAAM;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG;YACjB,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE;gBACP,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC3B,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;gBACzC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;gBAC3C,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;gBACrC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;aACxB;SACF,CAAC;IACJ,CAAC;IAEO,IAAI,CAAC,SAAoB,EAAE,QAAgB;QACjD,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACvD,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACvD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,sBAAsB;IACtB,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAU,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE1D,wBAAwB;IACxB,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAU,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE1D,qBAAqB;IACrB,EAAE,CAAC,QAAQ,GAAG,CAAC,IAAU,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5D,qBAAqB;IACrB,EAAE,CAAC,QAAQ,GAAG,CAAC,IAAU,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5D,qBAAqB;IACrB,EAAE,CAAC,QAAQ,GAAG,CAAC,IAAU,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5D,qBAAqB;IACrB,EAAE,CAAC,QAAQ,GAAG,CAAC,IAAU,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5D,wFAAwF;IACxF,MAAM,CAAC,CAAS,EAAE,EAAU,EAAE,EAAU;QACtC,2DAA2D;QAC3D,wDAAwD;QACxD,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACnD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACtD,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gGAAgG;IAChG,IAAI,CAAC,CAAS,EAAE,EAAU,EAAE,EAAU;QACpC,kDAAkD;QAClD,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACpD,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACvD,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qGAAqG;IACrG,IAAI,CAAC,CAAS,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC;QAC5B,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1D,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAC7D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wGAAwG;IACxG,MAAM,CAAC,CAAS,EAAE,EAAU,EAAE,EAAU;QACtC,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACzD,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAC5D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qDAAqD;IACrD,IAAI,CAAC,OAAqB;QACxB,sCAAsC;QACtC,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,WAAW,GAAG;YACjB,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE;gBACP,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC9C,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa;gBACnE,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc;gBACtE,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW;gBAC7D,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI;aACzC;SACF,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,UAAU,CAAC,QAAuB;QACxC,OAAO,QAAQ;aACZ,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;gBACjB,KAAK,GAAG;oBACN,OAAO,KAAK,GAAG,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,KAAK,GAAG;oBACN,OAAO,KAAK,GAAG,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,KAAK,GAAG;oBACN,OAAO,GAAG,CAAC;YACf,CAAC;QACH,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED,+DAA+D;IAC/D,UAAU;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,gCAAgC;IAChC,WAAW;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO,GAAG,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO,GAAG,CAAC,CAAC;QAE1E,oDAAoD;QACpD,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACrC,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QAErC,sCAAsC;QACtC,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ;aAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CACvB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACvB,GAAG,GAAG;gBACN,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS;gBACpD,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS;aACrD,CAAC,CAAC,CACJ,CAAC;YACF,OAAO,cAAc,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,MAAM,qBAAqB,CAAC,CAAC,OAAO,CAAC,aAAa,sBAAsB,CAAC,CAAC,OAAO,CAAC,cAAc,mBAAmB,CAAC,CAAC,OAAO,CAAC,WAAW,WAAW,CAAC,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC;QACvN,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO,kDAAkD,KAAK,aAAa,MAAM,kBAAkB,KAAK,IAAI,MAAM;EACpH,YAAY;OACP,CAAC;IACN,CAAC;IAED,2CAA2C;IAC3C,SAAS;QACP,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,eAAe,CAAC,CAAC;QACxE,OAAO,GAAG,CAAC,eAA2C,CAAC;IACzD,CAAC;CACF;AAED,uDAAuD;AACvD,MAAM,UAAU,SAAS,CAAC,OAA0B;IAClD,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,eAAe,SAAS,CAAC"}
|