custom-pixi-particles 4.32.0 → 4.33.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 +26 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +30 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/behaviour/BehaviourNames.d.ts +1 -0
- package/dist/lib/behaviour/BehaviourNames.js +1 -0
- package/dist/lib/behaviour/BehaviourNames.js.map +1 -1
- package/dist/lib/behaviour/IBehaviour.d.ts +2 -0
- package/dist/lib/behaviour/SpawnBehaviour.d.ts +11 -3
- package/dist/lib/behaviour/SpawnBehaviour.js +89 -32
- package/dist/lib/behaviour/SpawnBehaviour.js.map +1 -1
- package/dist/lib/behaviour/TurbulenceBehaviour.js +1 -4
- package/dist/lib/behaviour/TurbulenceBehaviour.js.map +1 -1
- package/dist/lib/behaviour/Wireframe3DBehaviour.d.ts +140 -0
- package/dist/lib/behaviour/Wireframe3DBehaviour.js +572 -0
- package/dist/lib/behaviour/Wireframe3DBehaviour.js.map +1 -0
- package/dist/lib/behaviour/index.d.ts +2 -1
- package/dist/lib/behaviour/index.js +2 -1
- package/dist/lib/behaviour/index.js.map +1 -1
- package/dist/lib/effects/MeltEffect.d.ts +6 -0
- package/dist/lib/effects/MeltEffect.js +15 -2
- package/dist/lib/effects/MeltEffect.js.map +1 -1
- package/dist/lib/emission/AbstractEmission.d.ts +1 -1
- package/dist/lib/emission/AbstractEmission.js +1 -1
- package/dist/lib/emission/AbstractEmission.js.map +1 -1
- package/dist/lib/emission/RandomEmission.d.ts +1 -1
- package/dist/lib/emission/RandomEmission.js +2 -1
- package/dist/lib/emission/RandomEmission.js.map +1 -1
- package/dist/lib/emission/StandardEmission.d.ts +1 -1
- package/dist/lib/emission/StandardEmission.js +2 -1
- package/dist/lib/emission/StandardEmission.js.map +1 -1
- package/dist/lib/emission/UniformEmission.d.ts +5 -1
- package/dist/lib/emission/UniformEmission.js +8 -1
- package/dist/lib/emission/UniformEmission.js.map +1 -1
- package/dist/lib/pixi/Renderer.d.ts +2 -0
- package/dist/lib/pixi/Renderer.js +14 -7
- package/dist/lib/pixi/Renderer.js.map +1 -1
- package/dist/lib/pixi/TestRenderer.d.ts +2 -1
- package/dist/lib/pixi/TestRenderer.js +26 -8
- package/dist/lib/pixi/TestRenderer.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -589,6 +589,23 @@ particles.emitter.behaviours.add(myCustomBehaviour)
|
|
|
589
589
|
// New and existing particles will use the new behaviour on the next update
|
|
590
590
|
```
|
|
591
591
|
|
|
592
|
+
**Extending built-in behaviours:** All built-in behaviour classes are exported from the package so you can extend any of them: `SpawnBehaviour`, `LifeBehaviour`, `PositionBehaviour`, `ColorBehaviour`, `SizeBehaviour`, `AngularVelocityBehaviour`, `EmitDirectionBehaviour`, `RotationBehaviour`, `TurbulenceBehaviour`, `CollisionBehaviour`, `AttractionRepulsionBehaviour`, `NoiseBasedMotionBehaviour`, `ForceFieldsBehaviour`, `TimelineBehaviour`, `GroupingBehaviour`, `SoundReactiveBehaviour`, `LightEffectBehaviour`, `StretchBehaviour`, `TemperatureBehaviour`, `MoveToPointBehaviour`. Also exported: `Behaviour`, `BehaviourRegistry`, `EmitterBehaviours`, `BehaviourNames`.
|
|
593
|
+
|
|
594
|
+
**Replacing a built-in behaviour:** Register your class under the same name as a built-in (e.g. `SpawnBehaviour`) **before** creating the renderer or loading config. The registry is checked first, so your implementation is used instead. Use this for customizations like multiple trails on one shape, different trailing logic (e.g. CCV-style), or any variant of spawn/trail/position without changing the library.
|
|
595
|
+
|
|
596
|
+
```javascript
|
|
597
|
+
import { BehaviourRegistry, SpawnBehaviour } from 'custom-pixi-particles'
|
|
598
|
+
|
|
599
|
+
class MySpawnBehaviour extends SpawnBehaviour {
|
|
600
|
+
getName() { return 'SpawnBehaviour' }
|
|
601
|
+
// Override init/apply, add multiple trails, custom trailing (e.g. CCV), etc.
|
|
602
|
+
}
|
|
603
|
+
BehaviourRegistry.register('SpawnBehaviour', MySpawnBehaviour)
|
|
604
|
+
// Then create renderer / load config that uses name: 'SpawnBehaviour'
|
|
605
|
+
```
|
|
606
|
+
|
|
607
|
+
**Unregister:** `BehaviourRegistry.unregister('MyCustomBehaviour')` removes a registration. To restore a built-in after replacing it, unregister the custom name so the built-in is used again (built-ins are not in the registry by default).
|
|
608
|
+
|
|
592
609
|
#### Life Behaviour
|
|
593
610
|
Controls particle lifetime.
|
|
594
611
|
|
|
@@ -634,13 +651,20 @@ Defines where and how particles spawn. Supports multiple spawn types.
|
|
|
634
651
|
// ... spawn type specific properties
|
|
635
652
|
},
|
|
636
653
|
],
|
|
637
|
-
trailingEnabled: false, // Enable trail effects
|
|
638
|
-
spawnAlongTrail: false,
|
|
654
|
+
trailingEnabled: false, // Enable trail effects (path types only)
|
|
655
|
+
spawnAlongTrail: false, // true = uniform along trail; false = weighted toward leading edge
|
|
639
656
|
trailSpeed: 1, // Trail animation speed
|
|
657
|
+
trailRepeat: true, // Loop the trail
|
|
658
|
+
trailStart: 0, // Start position on path (0–1)
|
|
659
|
+
trailRangeSegments: 20, // Sampling points along trail (higher = finer distribution)
|
|
660
|
+
trailRangeWeightFactor: 4, // Weight toward leading edge when spawnAlongTrail is false
|
|
661
|
+
trailRangeLength: 1, // Length of trail to spawn along (0–1); <1 avoids particles at path start
|
|
640
662
|
name: 'SpawnBehaviour',
|
|
641
663
|
}
|
|
642
664
|
```
|
|
643
665
|
|
|
666
|
+
**Trailing:** When `trailingEnabled` is true (path types like Frame, Ring, Bezier only), particles spawn along a moving “head” on the path. **Spawn Along Trail** on = even spread along the trail; off = more particles near the leading edge (**trailRangeWeightFactor**). **Trail Range Segments** sets how many sample points are used (higher = smoother). **Trail Range Length** (0–1) limits where particles appear: `1` = from path start to head; e.g. `0.2` = only the last 20% of the path, so the path start (e.g. top-left of a Frame) stays clear. **Trail Speed**, **Trail Repeat**, and **Trail Start** (0–1) control motion. When the path loops, the tail at the end stays visible until the head moves on.
|
|
667
|
+
|
|
644
668
|
**Available Spawn Types:**
|
|
645
669
|
- `Rectangle` - Uniform distribution in a rectangular area
|
|
646
670
|
- `Ring` - Circular particle arrangement
|
package/dist/index.d.ts
CHANGED
|
@@ -9,12 +9,12 @@ export type { IShatterEffectOptions, ShatterMode, IDissolveEffectOptions, Dissol
|
|
|
9
9
|
* @param {ICustomPixiParticlesSettings} settings The settings for the renderer
|
|
10
10
|
*/
|
|
11
11
|
declare const customPixiParticles: {
|
|
12
|
-
create(settings: ICustomPixiParticlesSettings):
|
|
12
|
+
create(settings: ICustomPixiParticlesSettings): any;
|
|
13
13
|
};
|
|
14
14
|
declare const _customPixiParticlesEditorOnly: {
|
|
15
15
|
create(settings: ICustomPixiParticlesSettings): TestRenderer;
|
|
16
16
|
};
|
|
17
17
|
export type { IBehaviour } from './lib/behaviour';
|
|
18
|
-
export { Behaviour, BehaviourRegistry } from './lib/behaviour';
|
|
18
|
+
export { Behaviour, BehaviourRegistry, EmitterBehaviours, SpawnBehaviour, LifeBehaviour, PositionBehaviour, ColorBehaviour, SizeBehaviour, AngularVelocityBehaviour, EmitDirectionBehaviour, RotationBehaviour, TurbulenceBehaviour, CollisionBehaviour, AttractionRepulsionBehaviour, NoiseBasedMotionBehaviour, ForceFieldsBehaviour, TimelineBehaviour, GroupingBehaviour, SoundReactiveBehaviour, LightEffectBehaviour, StretchBehaviour, TemperatureBehaviour, MoveToPointBehaviour, Wireframe3DBehaviour, BehaviourNames, } from './lib/behaviour';
|
|
19
19
|
export { Application, Loader } from 'pixi.js';
|
|
20
20
|
export { Renderer, customPixiParticles, _customPixiParticlesEditorOnly, ICustomPixiParticlesSettings, ShatterEffect, DissolveEffect, MagneticAssemblyEffect, GhostEffect, GlitchEffect, MeltEffect, };
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import Renderer from './lib/pixi/Renderer';
|
|
2
2
|
import TestRenderer from './lib/pixi/TestRenderer';
|
|
3
3
|
import { ShatterEffect, DissolveEffect, MagneticAssemblyEffect, GhostEffect, GlitchEffect, MeltEffect } from './lib/effects';
|
|
4
|
+
import { Container, Graphics } from 'pixi.js-legacy';
|
|
4
5
|
/**
|
|
5
6
|
* Constructs a renderer for custom pixi particles
|
|
6
7
|
* @class Renderer
|
|
@@ -8,8 +9,10 @@ import { ShatterEffect, DissolveEffect, MagneticAssemblyEffect, GhostEffect, Gli
|
|
|
8
9
|
*/
|
|
9
10
|
const customPixiParticles = {
|
|
10
11
|
create(settings) {
|
|
12
|
+
var _a;
|
|
11
13
|
const { textures, emitterConfig, animatedSpriteZeroPad = 2, animatedSpriteIndexToStart = 0, finishingTextures = [], vertices = true, position = true, rotation = true, uvs = true, tint = true, maxParticles = 10000, maxFPS = 60, minFPS = 30, tickerSpeed = 0.02, } = settings;
|
|
12
|
-
|
|
14
|
+
const hasWireframe = (_a = emitterConfig === null || emitterConfig === void 0 ? void 0 : emitterConfig.behaviours) === null || _a === void 0 ? void 0 : _a.some((b) => b.name === 'Wireframe3DBehaviour');
|
|
15
|
+
const renderer = new Renderer({
|
|
13
16
|
textures,
|
|
14
17
|
animatedSpriteZeroPad,
|
|
15
18
|
animatedSpriteIndexToStart,
|
|
@@ -25,6 +28,31 @@ const customPixiParticles = {
|
|
|
25
28
|
minFPS,
|
|
26
29
|
tickerSpeed,
|
|
27
30
|
});
|
|
31
|
+
if (hasWireframe) {
|
|
32
|
+
const graphics = new Graphics();
|
|
33
|
+
const container = new Container();
|
|
34
|
+
container.addChild(graphics);
|
|
35
|
+
container.addChild(renderer);
|
|
36
|
+
renderer.wireframeGraphics = graphics;
|
|
37
|
+
Object.defineProperty(container, 'emitter', { get: () => renderer.emitter });
|
|
38
|
+
container.updateConfig = (c) => renderer.updateConfig(c);
|
|
39
|
+
container.updatePosition = (p) => renderer.updatePosition(p);
|
|
40
|
+
container.play = () => renderer.play();
|
|
41
|
+
container.stop = () => renderer.stop();
|
|
42
|
+
container.stopImmediately = () => renderer.stopImmediately();
|
|
43
|
+
container.pause = (p) => renderer.pause(p);
|
|
44
|
+
container.resume = () => renderer.resume();
|
|
45
|
+
container.start = () => renderer.start();
|
|
46
|
+
container.setTickerSpeed = (s) => renderer.setTickerSpeed(s);
|
|
47
|
+
container.updateTexture = () => renderer.updateTexture();
|
|
48
|
+
const origDestroy = container.destroy.bind(container);
|
|
49
|
+
container.destroy = () => {
|
|
50
|
+
renderer.destroy();
|
|
51
|
+
origDestroy();
|
|
52
|
+
};
|
|
53
|
+
return container;
|
|
54
|
+
}
|
|
55
|
+
return renderer;
|
|
28
56
|
},
|
|
29
57
|
};
|
|
30
58
|
const _customPixiParticlesEditorOnly = {
|
|
@@ -42,7 +70,7 @@ const _customPixiParticlesEditorOnly = {
|
|
|
42
70
|
});
|
|
43
71
|
},
|
|
44
72
|
};
|
|
45
|
-
export { Behaviour, BehaviourRegistry } from './lib/behaviour';
|
|
73
|
+
export { Behaviour, BehaviourRegistry, EmitterBehaviours, SpawnBehaviour, LifeBehaviour, PositionBehaviour, ColorBehaviour, SizeBehaviour, AngularVelocityBehaviour, EmitDirectionBehaviour, RotationBehaviour, TurbulenceBehaviour, CollisionBehaviour, AttractionRepulsionBehaviour, NoiseBasedMotionBehaviour, ForceFieldsBehaviour, TimelineBehaviour, GroupingBehaviour, SoundReactiveBehaviour, LightEffectBehaviour, StretchBehaviour, TemperatureBehaviour, MoveToPointBehaviour, Wireframe3DBehaviour, BehaviourNames, } from './lib/behaviour';
|
|
46
74
|
// Re-export so demos can use one import (avoids loading Pixi twice)
|
|
47
75
|
export { Application, Loader } from 'pixi.js';
|
|
48
76
|
export { Renderer, customPixiParticles, _customPixiParticlesEditorOnly, ShatterEffect, DissolveEffect, MagneticAssemblyEffect, GhostEffect, GlitchEffect, MeltEffect, };
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,qBAAqB,CAAA;AAE1C,OAAO,YAAY,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,sBAAsB,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ const behaviourNames = {
|
|
|
19
19
|
STRETCH_BEHAVIOUR: 'StretchBehaviour',
|
|
20
20
|
TEMPERATURE_BEHAVIOUR: 'TemperatureBehaviour',
|
|
21
21
|
MOVE_TO_POINT_BEHAVIOUR: 'MoveToPointBehaviour',
|
|
22
|
+
WIREFRAME_3D_BEHAVIOUR: 'Wireframe3DBehaviour',
|
|
22
23
|
};
|
|
23
24
|
export default behaviourNames;
|
|
24
25
|
//# sourceMappingURL=BehaviourNames.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BehaviourNames.js","sourceRoot":"","sources":["../../../src/lib/behaviour/BehaviourNames.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG;IACrB,iBAAiB,EAAE,0BAA0B;IAC7C,cAAc,EAAE,eAAe;IAC/B,eAAe,EAAE,gBAAgB;IACjC,kBAAkB,EAAE,mBAAmB;IACvC,cAAc,EAAE,eAAe;IAC/B,cAAc,EAAE,wBAAwB;IACxC,kBAAkB,EAAE,mBAAmB;IACvC,oBAAoB,EAAE,qBAAqB;IAC3C,mBAAmB,EAAE,oBAAoB;IACzC,8BAA8B,EAAE,8BAA8B;IAC9D,4BAA4B,EAAE,2BAA2B;IACzD,sBAAsB,EAAE,sBAAsB;IAC9C,eAAe,EAAE,gBAAgB;IACjC,kBAAkB,EAAE,mBAAmB;IACvC,kBAAkB,EAAE,mBAAmB;IACvC,wBAAwB,EAAE,wBAAwB;IAClD,sBAAsB,EAAE,sBAAsB;IAC9C,iBAAiB,EAAE,kBAAkB;IACrC,qBAAqB,EAAE,sBAAsB;IAC7C,uBAAuB,EAAE,sBAAsB;
|
|
1
|
+
{"version":3,"file":"BehaviourNames.js","sourceRoot":"","sources":["../../../src/lib/behaviour/BehaviourNames.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG;IACrB,iBAAiB,EAAE,0BAA0B;IAC7C,cAAc,EAAE,eAAe;IAC/B,eAAe,EAAE,gBAAgB;IACjC,kBAAkB,EAAE,mBAAmB;IACvC,cAAc,EAAE,eAAe;IAC/B,cAAc,EAAE,wBAAwB;IACxC,kBAAkB,EAAE,mBAAmB;IACvC,oBAAoB,EAAE,qBAAqB;IAC3C,mBAAmB,EAAE,oBAAoB;IACzC,8BAA8B,EAAE,8BAA8B;IAC9D,4BAA4B,EAAE,2BAA2B;IACzD,sBAAsB,EAAE,sBAAsB;IAC9C,eAAe,EAAE,gBAAgB;IACjC,kBAAkB,EAAE,mBAAmB;IACvC,kBAAkB,EAAE,mBAAmB;IACvC,wBAAwB,EAAE,wBAAwB;IAClD,sBAAsB,EAAE,sBAAsB;IAC9C,iBAAiB,EAAE,kBAAkB;IACrC,qBAAqB,EAAE,sBAAsB;IAC7C,uBAAuB,EAAE,sBAAsB;IAC/C,sBAAsB,EAAE,sBAAsB;CAC/C,CAAA;AAED,eAAe,cAAc,CAAA"}
|
|
@@ -38,4 +38,6 @@ export interface IBehaviour {
|
|
|
38
38
|
update?(deltaTime: number): void;
|
|
39
39
|
/** Optional: called when a particle is removed */
|
|
40
40
|
onParticleRemoved?(particle: Particle): void;
|
|
41
|
+
/** Optional: draw wireframe/Graphics (e.g. Wireframe3DBehaviour) */
|
|
42
|
+
draw?(graphics: any, deltaTime: number): void;
|
|
41
43
|
}
|
|
@@ -12,7 +12,9 @@ export default class SpawnBehaviour extends Behaviour {
|
|
|
12
12
|
trailStart: number;
|
|
13
13
|
trailRangeSegments: number;
|
|
14
14
|
trailRangeWeightFactor: number;
|
|
15
|
+
trailRangeLength: number;
|
|
15
16
|
currentProgress: number;
|
|
17
|
+
trailJustWrapped: boolean;
|
|
16
18
|
customPoints: any[];
|
|
17
19
|
lastWordSettings: any;
|
|
18
20
|
/**
|
|
@@ -21,12 +23,17 @@ export default class SpawnBehaviour extends Behaviour {
|
|
|
21
23
|
*/
|
|
22
24
|
init: (particle: Particle) => void;
|
|
23
25
|
apply: () => void;
|
|
26
|
+
/** Distance along path from progress p to head (end), going backward; path is 0..1 circular. */
|
|
27
|
+
private distanceFromHead;
|
|
24
28
|
/**
|
|
25
|
-
* Calculate trail positions along the range
|
|
29
|
+
* Calculate trail positions along the range. Uses trailRangeLength so only the "tail" is sampled.
|
|
30
|
+
* When the head wraps to the start of the path, we still spawn along the end of the previous loop
|
|
31
|
+
* so the tail at the frame end doesn't disappear.
|
|
26
32
|
* @param {Object} point - The custom point configuration.
|
|
27
|
-
* @
|
|
33
|
+
* @param {boolean} uniformWeights - If true (spawnAlongTrail), equal probability.
|
|
34
|
+
* @returns {{ positions, probabilities }}
|
|
28
35
|
*/
|
|
29
|
-
calculateTrailRangePositions: (point: any) => {
|
|
36
|
+
calculateTrailRangePositions: (point: any, uniformWeights?: boolean) => {
|
|
30
37
|
positions: any[];
|
|
31
38
|
probabilities: number[];
|
|
32
39
|
};
|
|
@@ -85,6 +92,7 @@ export default class SpawnBehaviour extends Behaviour {
|
|
|
85
92
|
trailStart: number;
|
|
86
93
|
trailRangeSegments: number;
|
|
87
94
|
trailRangeWeightFactor: number;
|
|
95
|
+
trailRangeLength: number;
|
|
88
96
|
customPoints: any[];
|
|
89
97
|
name: string;
|
|
90
98
|
};
|
|
@@ -18,7 +18,9 @@ export default class SpawnBehaviour extends Behaviour {
|
|
|
18
18
|
this.trailStart = 0; // Start the trail at 20% of its path
|
|
19
19
|
this.trailRangeSegments = 20; // Number of segments for trail range sampling (higher = finer distribution)
|
|
20
20
|
this.trailRangeWeightFactor = 4; // Weight decay toward trail end (higher = more particles near leading edge)
|
|
21
|
+
this.trailRangeLength = 1; // Length of trail to spawn along (0-1)
|
|
21
22
|
this.currentProgress = 0;
|
|
23
|
+
this.trailJustWrapped = false; // True only right after a loop wrap
|
|
22
24
|
this.customPoints = [
|
|
23
25
|
{
|
|
24
26
|
spawnType: 'Rectangle',
|
|
@@ -78,10 +80,9 @@ export default class SpawnBehaviour extends Behaviour {
|
|
|
78
80
|
this.overOne = false;
|
|
79
81
|
}
|
|
80
82
|
if (this.trailingEnabled) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
// Use weighted random selection for position
|
|
83
|
+
// Always use trail range (segments + weight/length) so trailRangeSegments and trailRangeWeightFactor have effect.
|
|
84
|
+
// spawnAlongTrail true = uniform along trail; false = weighted toward leading edge.
|
|
85
|
+
const { positions, probabilities } = this.calculateTrailRangePositions(point, this.spawnAlongTrail);
|
|
85
86
|
const positionIndex = this.weightedRandomIndex(probabilities);
|
|
86
87
|
const position = positions[positionIndex];
|
|
87
88
|
particle.movement.x = position.x + this.varianceFrom(point.positionVariance.x);
|
|
@@ -105,19 +106,62 @@ export default class SpawnBehaviour extends Behaviour {
|
|
|
105
106
|
this.apply = () => {
|
|
106
107
|
// do nothing
|
|
107
108
|
};
|
|
109
|
+
/** Distance along path from progress p to head (end), going backward; path is 0..1 circular. */
|
|
110
|
+
this.distanceFromHead = (p, head) => (p <= head ? head - p : 1 - p + head);
|
|
108
111
|
/**
|
|
109
|
-
* Calculate trail positions along the range
|
|
112
|
+
* Calculate trail positions along the range. Uses trailRangeLength so only the "tail" is sampled.
|
|
113
|
+
* When the head wraps to the start of the path, we still spawn along the end of the previous loop
|
|
114
|
+
* so the tail at the frame end doesn't disappear.
|
|
110
115
|
* @param {Object} point - The custom point configuration.
|
|
111
|
-
* @
|
|
116
|
+
* @param {boolean} uniformWeights - If true (spawnAlongTrail), equal probability.
|
|
117
|
+
* @returns {{ positions, probabilities }}
|
|
112
118
|
*/
|
|
113
|
-
this.calculateTrailRangePositions = (point) => {
|
|
114
|
-
var _a, _b;
|
|
119
|
+
this.calculateTrailRangePositions = (point, uniformWeights = false) => {
|
|
120
|
+
var _a, _b, _c;
|
|
115
121
|
const positions = [];
|
|
116
|
-
const
|
|
122
|
+
const progressValues = [];
|
|
117
123
|
const segments = (_a = this.trailRangeSegments) !== null && _a !== void 0 ? _a : 20;
|
|
118
124
|
const weightFactor = (_b = this.trailRangeWeightFactor) !== null && _b !== void 0 ? _b : 4;
|
|
119
|
-
const
|
|
125
|
+
const rangeLength = Math.max(0.01, Math.min(1, (_c = this.trailRangeLength) !== null && _c !== void 0 ? _c : 1));
|
|
120
126
|
const end = this.currentProgress;
|
|
127
|
+
let start = end - rangeLength;
|
|
128
|
+
if (start < 0) {
|
|
129
|
+
if (end <= rangeLength && this.trailJustWrapped) {
|
|
130
|
+
const prevLoopLength = rangeLength - end;
|
|
131
|
+
const segsPrev = Math.max(1, Math.round((segments * prevLoopLength) / rangeLength));
|
|
132
|
+
const segsCurr = Math.max(1, Math.round((segments * end) / rangeLength));
|
|
133
|
+
if (prevLoopLength > 0.001) {
|
|
134
|
+
const stepPrev = prevLoopLength / segsPrev;
|
|
135
|
+
for (let i = 0; i <= segsPrev; i++) {
|
|
136
|
+
const p = 1 - prevLoopLength + i * stepPrev;
|
|
137
|
+
progressValues.push(p);
|
|
138
|
+
positions.push(this.calculateTrailPosition(point, p));
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
if (end > 0.001) {
|
|
142
|
+
const stepCurr = end / segsCurr;
|
|
143
|
+
for (let i = 0; i <= segsCurr; i++) {
|
|
144
|
+
const p = i * stepCurr;
|
|
145
|
+
progressValues.push(p);
|
|
146
|
+
positions.push(this.calculateTrailPosition(point, p));
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
if (positions.length === 0) {
|
|
150
|
+
positions.push(this.calculateTrailPosition(point, end));
|
|
151
|
+
progressValues.push(end);
|
|
152
|
+
}
|
|
153
|
+
const weights = progressValues.map((p) => uniformWeights ? 1 : Math.exp(-this.distanceFromHead(p, end) * weightFactor));
|
|
154
|
+
const totalWeight = weights.reduce((sum, w) => sum + w, 0);
|
|
155
|
+
const probabilities = weights.map((w) => w / totalWeight);
|
|
156
|
+
return { positions, probabilities };
|
|
157
|
+
}
|
|
158
|
+
if (end <= rangeLength) {
|
|
159
|
+
start = 0;
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
start += 1;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
121
165
|
const totalDistance = end >= start ? end - start : 1 - start + end;
|
|
122
166
|
if (totalDistance <= 0) {
|
|
123
167
|
return { positions: [this.calculateTrailPosition(point, end)], probabilities: [1] };
|
|
@@ -127,12 +171,12 @@ export default class SpawnBehaviour extends Behaviour {
|
|
|
127
171
|
let p = start + step * stepSize;
|
|
128
172
|
if (p > 1)
|
|
129
173
|
p -= 1;
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
174
|
+
if (p < 0)
|
|
175
|
+
p += 1;
|
|
176
|
+
progressValues.push(p);
|
|
177
|
+
positions.push(this.calculateTrailPosition(point, p));
|
|
134
178
|
}
|
|
135
|
-
|
|
179
|
+
const weights = progressValues.map((p) => uniformWeights ? 1 : Math.exp(-this.distanceFromHead(p, end) * weightFactor));
|
|
136
180
|
const totalWeight = weights.reduce((sum, w) => sum + w, 0);
|
|
137
181
|
const probabilities = weights.map((w) => w / totalWeight);
|
|
138
182
|
return { positions, probabilities };
|
|
@@ -540,23 +584,27 @@ export default class SpawnBehaviour extends Behaviour {
|
|
|
540
584
|
const perimeter = 2 * (w + h);
|
|
541
585
|
const totalDistance = perimeter * progress;
|
|
542
586
|
const localPosition = totalDistance % perimeter;
|
|
543
|
-
|
|
544
|
-
|
|
587
|
+
const cx = point.position.x;
|
|
588
|
+
const cy = point.position.y;
|
|
589
|
+
let x;
|
|
590
|
+
let y;
|
|
545
591
|
if (localPosition < w) {
|
|
546
|
-
x
|
|
592
|
+
x = cx - w / 2 + localPosition;
|
|
593
|
+
y = cy - h / 2;
|
|
547
594
|
}
|
|
548
595
|
else if (localPosition < w + h) {
|
|
549
|
-
x
|
|
550
|
-
y
|
|
596
|
+
x = cx + w / 2;
|
|
597
|
+
y = cy - h / 2 + (localPosition - w);
|
|
551
598
|
}
|
|
552
599
|
else if (localPosition < 2 * w + h) {
|
|
553
600
|
const bottomProgress = localPosition - w - h;
|
|
554
|
-
x
|
|
555
|
-
y
|
|
601
|
+
x = cx + w / 2 - bottomProgress;
|
|
602
|
+
y = cy + h / 2;
|
|
556
603
|
}
|
|
557
604
|
else {
|
|
558
605
|
const leftProgress = localPosition - 2 * w - h;
|
|
559
|
-
|
|
606
|
+
x = cx - w / 2;
|
|
607
|
+
y = cy + h / 2 - leftProgress;
|
|
560
608
|
}
|
|
561
609
|
return { x, y, z: 0 };
|
|
562
610
|
}
|
|
@@ -566,23 +614,27 @@ export default class SpawnBehaviour extends Behaviour {
|
|
|
566
614
|
const perimeter = 2 * (w + h);
|
|
567
615
|
const totalDistance = perimeter * progress;
|
|
568
616
|
const localPosition = totalDistance % perimeter;
|
|
569
|
-
|
|
570
|
-
|
|
617
|
+
const cx = point.position.x;
|
|
618
|
+
const cy = point.position.y;
|
|
619
|
+
let x;
|
|
620
|
+
let y;
|
|
571
621
|
if (localPosition < w) {
|
|
572
|
-
x
|
|
622
|
+
x = cx - w / 2 + localPosition;
|
|
623
|
+
y = cy - h / 2;
|
|
573
624
|
}
|
|
574
625
|
else if (localPosition < w + h) {
|
|
575
|
-
x
|
|
576
|
-
y
|
|
626
|
+
x = cx + w / 2;
|
|
627
|
+
y = cy - h / 2 + (localPosition - w);
|
|
577
628
|
}
|
|
578
629
|
else if (localPosition < 2 * w + h) {
|
|
579
630
|
const bottomProgress = localPosition - w - h;
|
|
580
|
-
x
|
|
581
|
-
y
|
|
631
|
+
x = cx + w / 2 - bottomProgress;
|
|
632
|
+
y = cy + h / 2;
|
|
582
633
|
}
|
|
583
634
|
else {
|
|
584
635
|
const leftProgress = localPosition - 2 * w - h;
|
|
585
|
-
|
|
636
|
+
x = cx - w / 2;
|
|
637
|
+
y = cy + h / 2 - leftProgress;
|
|
586
638
|
}
|
|
587
639
|
return { x, y, z: 0 };
|
|
588
640
|
}
|
|
@@ -624,7 +676,7 @@ export default class SpawnBehaviour extends Behaviour {
|
|
|
624
676
|
* @param {number} deltaTime - Time since the last update
|
|
625
677
|
*/
|
|
626
678
|
this.updateTrailProgress = (deltaTime) => {
|
|
627
|
-
var _a;
|
|
679
|
+
var _a, _b;
|
|
628
680
|
if (!this.trailingEnabled)
|
|
629
681
|
return;
|
|
630
682
|
const start = (_a = this.trailStart) !== null && _a !== void 0 ? _a : 0;
|
|
@@ -637,6 +689,7 @@ export default class SpawnBehaviour extends Behaviour {
|
|
|
637
689
|
if (this.trailProgress > 1) {
|
|
638
690
|
if (this.trailRepeat) {
|
|
639
691
|
this.trailProgress = 0;
|
|
692
|
+
this.trailJustWrapped = true;
|
|
640
693
|
}
|
|
641
694
|
else {
|
|
642
695
|
this.trailProgress = 1;
|
|
@@ -644,6 +697,9 @@ export default class SpawnBehaviour extends Behaviour {
|
|
|
644
697
|
}
|
|
645
698
|
}
|
|
646
699
|
this.currentProgress = start + this.trailProgress * range;
|
|
700
|
+
const rangeLengthForWrap = Math.max(0.01, Math.min(1, (_b = this.trailRangeLength) !== null && _b !== void 0 ? _b : 1));
|
|
701
|
+
if (this.currentProgress > rangeLengthForWrap)
|
|
702
|
+
this.trailJustWrapped = false;
|
|
647
703
|
};
|
|
648
704
|
// Utility function for weighted random selection
|
|
649
705
|
this.weightedRandomIndex = (probabilities) => {
|
|
@@ -693,6 +749,7 @@ export default class SpawnBehaviour extends Behaviour {
|
|
|
693
749
|
trailStart: this.trailStart,
|
|
694
750
|
trailRangeSegments: this.trailRangeSegments,
|
|
695
751
|
trailRangeWeightFactor: this.trailRangeWeightFactor,
|
|
752
|
+
trailRangeLength: this.trailRangeLength,
|
|
696
753
|
customPoints: this.customPoints,
|
|
697
754
|
name: this.getName(),
|
|
698
755
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpawnBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/SpawnBehaviour.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SpawnBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/SpawnBehaviour.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAGnD,IAAI,MAAM,GAAQ,IAAI,CAAA;AACtB,IAAI,SAAS,GAAQ,IAAI,CAAA;AACzB,IAAI,aAAa,GAAQ,CAAC,CAAA;AAC1B,IAAI,cAAc,GAAY,EAAE,CAAA;AAEhC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,SAAS;IAArD;;QACE,YAAO,GAAY,IAAI,CAAA;QACvB,aAAQ,GAAG,CAAC,CAAA;QACZ,YAAO,GAAY,KAAK,CAAA;QACxB,kBAAa,GAAW,CAAC,CAAA,CAAC,iCAAiC;QAC3D,oBAAe,GAAY,KAAK,CAAA,CAAC,kBAAkB;QACnD,oBAAe,GAAY,KAAK,CAAA,CAAC,yCAAyC;QAC1E,eAAU,GAAW,CAAC,CAAA,CAAC,qBAAqB;QAC5C,gBAAW,GAAY,IAAI,CAAA,CAAC,iBAAiB;QAC7C,eAAU,GAAW,CAAC,CAAA,CAAC,qCAAqC;QAC5D,uBAAkB,GAAW,EAAE,CAAA,CAAC,4EAA4E;QAC5G,2BAAsB,GAAW,CAAC,CAAA,CAAC,4EAA4E;QAC/G,qBAAgB,GAAW,CAAC,CAAA,CAAC,uCAAuC;QACpE,oBAAe,GAAW,CAAC,CAAA;QAC3B,qBAAgB,GAAY,KAAK,CAAA,CAAC,oCAAoC;QAEtE,iBAAY,GAAU;YACpB;gBACE,SAAS,EAAE,WAAW;gBACtB,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,EAAE;gBACZ,WAAW,EAAE,CAAC;gBACd,eAAe,EAAE,CAAC;gBAClB,YAAY,EAAE,IAAI;gBAClB,aAAa,EAAE,GAAG;gBAClB,SAAS,EAAE,QAAQ;gBACnB,YAAY,EAAE,QAAQ;gBACtB,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,GAAG;gBACZ,OAAO,EAAE,GAAG;gBACZ,UAAU,EAAE,CAAC;gBACb,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBAC5B,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBAC1B,MAAM,EAAE,GAAG;gBACX,UAAU,EAAE,GAAG;gBACf,aAAa,EAAE,CAAC;gBAChB,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,EAAE;gBACb,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBACxB,gBAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBAChC,WAAW,EAAE,CAAC,EAAE,2BAA2B;gBAC3C,IAAI,EAAE,CAAC,EAAE,iCAAiC;gBAC1C,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBACzB,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;gBACvB,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;gBACrB,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBACxB,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBACxB,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,EAAE,EAAE,8CAA8C;gBACzD,KAAK,EAAE,CAAC,EAAE,+BAA+B;gBACzC,UAAU,EAAE,EAAE;aACf;SACF,CAAA;QAED,qBAAgB,GAAQ,EAAE,CAAA;QAE1B;;;WAGG;QACH,SAAI,GAAG,CAAC,QAAkB,EAAE,EAAE;YAC5B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;YAE1C,+BAA+B;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;YAErF,4DAA4D;YAC5D,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;YACrF,IAAI,IAAI,CAAC,eAAe,IAAI,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3E,IAAI,CAAC,eAAe,GAAG,KAAK,CAAA;gBAC5B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAA;gBACtB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAA;gBACxB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;YACtB,CAAC;YAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,kHAAkH;gBAClH,oFAAoF;gBACpF,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;gBAEnG,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAA;gBAC7D,MAAM,QAAQ,GAAG,SAAS,CAAC,aAAa,CAAC,CAAA;gBAEzC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;gBAC9E,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;gBAC9E,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAA;YAChF,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YAC5C,CAAC;YAED,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACpC,uCAAuC;gBACvC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;gBAClE,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAA;gBAC5B,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAA;gBAE5B,qCAAqC;gBACrC,QAAQ,CAAC,kBAAkB,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAA;gBACzD,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAA;gBAC7C,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAA;YAC/C,CAAC;QACH,CAAC,CAAA;QAED,UAAK,GAAG,GAAG,EAAE;YACX,aAAa;QACf,CAAC,CAAA;QAED,gGAAgG;QACxF,qBAAgB,GAAG,CAAC,CAAS,EAAE,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;QAE7F;;;;;;;WAOG;QACH,iCAA4B,GAAG,CAAC,KAAU,EAAE,iBAA0B,KAAK,EAAE,EAAE;;YAC7E,MAAM,SAAS,GAAU,EAAE,CAAA;YAC3B,MAAM,cAAc,GAAa,EAAE,CAAA;YACnC,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,kBAAkB,mCAAI,EAAE,CAAA;YAC9C,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,sBAAsB,mCAAI,CAAC,CAAA;YACrD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAA,IAAI,CAAC,gBAAgB,mCAAI,CAAC,CAAC,CAAC,CAAA;YAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAA;YAEhC,IAAI,KAAK,GAAG,GAAG,GAAG,WAAW,CAAA;YAC7B,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,IAAI,GAAG,IAAI,WAAW,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAChD,MAAM,cAAc,GAAG,WAAW,GAAG,GAAG,CAAA;oBACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,cAAc,CAAC,GAAG,WAAW,CAAC,CAAC,CAAA;oBACnF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,CAAA;oBACxE,IAAI,cAAc,GAAG,KAAK,EAAE,CAAC;wBAC3B,MAAM,QAAQ,GAAG,cAAc,GAAG,QAAQ,CAAA;wBAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;4BACnC,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,GAAG,CAAC,GAAG,QAAQ,CAAA;4BAC3C,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;4BACtB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;wBACvD,CAAC;oBACH,CAAC;oBACD,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;wBAChB,MAAM,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAA;wBAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;4BACnC,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAA;4BACtB,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;4BACtB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;wBACvD,CAAC;oBACH,CAAC;oBACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC3B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;wBACvD,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAC1B,CAAC;oBACD,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACvC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,YAAY,CAAC,CAC7E,CAAA;oBACD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;oBAC1D,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,CAAA;oBACzD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAA;gBACrC,CAAC;gBACD,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;oBACvB,KAAK,GAAG,CAAC,CAAA;gBACX,CAAC;qBAAM,CAAC;oBACN,KAAK,IAAI,CAAC,CAAA;gBACZ,CAAC;YACH,CAAC;YACD,MAAM,aAAa,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,CAAA;YAElE,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;gBACvB,OAAO,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YACrF,CAAC;YAED,MAAM,QAAQ,GAAG,aAAa,GAAG,QAAQ,CAAA;YACzC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;gBAC5C,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAA;gBAC/B,IAAI,CAAC,GAAG,CAAC;oBAAE,CAAC,IAAI,CAAC,CAAA;gBACjB,IAAI,CAAC,GAAG,CAAC;oBAAE,CAAC,IAAI,CAAC,CAAA;gBACjB,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACtB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;YACvD,CAAC;YACD,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACvC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,YAAY,CAAC,CAC7E,CAAA;YACD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YAC1D,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,CAAA;YACzD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAA;QACrC,CAAC,CAAA;QAED;;;;WAIG;QACH,yBAAoB,GAAG,CAAC,QAAkB,EAAE,KAAU,EAAE,EAAE;YACxD,oDAAoD;YACpD,0CAA0C;YAE1C,IACE,KAAK,CAAC,SAAS,KAAK,MAAM;gBAC1B,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;oBACxC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,gBAAgB,CAAC,QAAQ;oBACjD,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC,gBAAgB,CAAC,WAAW;oBACvD,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC,gBAAgB,CAAC,eAAe;oBAC/D,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,gBAAgB,CAAC,SAAS;oBACnD,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC,gBAAgB,CAAC,YAAY;oBACzD,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC,gBAAgB,CAAC,YAAY;oBACzD,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAC9D,CAAC;gBACD,IAAI,CAAC,gBAAgB,GAAG;oBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,eAAe,EAAE,KAAK,CAAC,eAAe;oBACtC,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,aAAa,EAAE,KAAK,CAAC,aAAa;iBACnC,CAAA;gBACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;gBACxB,QAAQ,CAAC,KAAK,EAAE,CAAA,CAAC,6CAA6C;YAChE,CAAC;YAED,8CAA8C;YAC9C,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAA;YAEvC,IAAI,KAAK,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;gBACpC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;gBAChF,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;YAClF,CAAC;iBAAM,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;gBACzC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;gBACjH,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;YACnH,CAAC;iBAAM,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;gBACtC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAA,CAAC,qCAAqC;gBACrE,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,CAAA;gBACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;gBACvE,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,CAAA;gBAC3G,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,CAAA;YAC7G,CAAC;iBAAM,IAAI,KAAK,CAAC,SAAS,KAAK,gBAAgB,EAAE,CAAC;gBAChD,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAA;gBACvB,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAA;gBACvB,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBAChC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;oBAC7D,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC/F,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;oBAC7D,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC/F,CAAC;gBACD,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACzF,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC3F,CAAC;iBAAM,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;gBACvC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;gBACtB,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;gBACtB,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBAChC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;oBAC7D,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC/F,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;oBAC7D,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC/F,CAAC;gBACD,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACzF,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC3F,CAAC;iBAAM,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACxC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA,CAAC,yBAAyB;gBACjE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAA,CAAC,qBAAqB;gBAClF,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACjB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;wBAC1D,KAAK,CAAC,MAAM,CAAC,CAAC;wBACd,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAChD,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACjB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;wBAC1D,KAAK,CAAC,MAAM,CAAC,CAAC;wBACd,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAChD,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAC9D,CAAC;iBAAM,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAA;gBACvF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAA,CAAC,4BAA4B;gBAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAA,CAAC,+BAA+B;gBACzE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAA,CAAC,+BAA+B;gBAEzE,mCAAmC;gBACnC,MAAM,gBAAgB,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAA;gBAErE,8DAA8D;gBAC9D,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACjB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;wBAC1D,KAAK,CAAC,IAAI,CAAC,CAAC;wBACZ,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,MAAM;wBACnC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAA;gBAErC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACjB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;wBAC1D,KAAK,CAAC,IAAI,CAAC,CAAC;wBACZ,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,MAAM;wBACnC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAA;gBAErC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAA;YAC1D,CAAC;iBAAM,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;gBACtC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;gBAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;gBACxD,MAAM,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAA;gBACnE,MAAM,OAAO,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAA;gBAC7D,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAA;gBAC1F,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAA;YAC5F,CAAC;iBAAM,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;gBACtC,IAAI,aAAa,GAAG,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnD,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAA;oBAC/E,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;oBAC3E,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;oBAE5E,2DAA2D;oBAC3D,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAA;oBAC9F,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAA;gBAChG,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;gBAC3C,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA,CAAC,sBAAsB;gBAClD,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA,CAAC,sBAAsB;gBAClD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA,CAAC,mBAAmB;gBAC5D,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAA;gBAC5B,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACjB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;gBACrG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;YACnH,CAAC;iBAAM,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACxC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA,CAAC,2BAA2B;gBACnD,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;gBAC5B,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;gBAC5B,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;gBAC5B,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;gBAC5B,MAAM,CAAC,GACL,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBAC1D,SAAA,CAAC,CAAC,GAAG,CAAC,CAAC,EAAI,CAAC,CAAA,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC5B,CAAC,GAAG,SAAA,CAAC,CAAC,GAAG,CAAC,CAAC,EAAI,CAAC,CAAA,GAAG,CAAC,GAAG,GAAG;oBAC1B,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAA,CAAC,EAAI,CAAC,CAAA,GAAG,GAAG;oBAC1B,SAAA,CAAC,EAAI,CAAC,CAAA,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;gBACtB,MAAM,CAAC,GACL,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBAC1D,SAAA,CAAC,CAAC,GAAG,CAAC,CAAC,EAAI,CAAC,CAAA,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC5B,CAAC,GAAG,SAAA,CAAC,CAAC,GAAG,CAAC,CAAC,EAAI,CAAC,CAAA,GAAG,CAAC,GAAG,GAAG;oBAC1B,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAA,CAAC,EAAI,CAAC,CAAA,GAAG,GAAG;oBAC1B,SAAA,CAAC,EAAI,CAAC,CAAA,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;gBACtB,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAA;gBACvB,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAA;YACzB,CAAC;iBAAM,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;gBACvC,yDAAyD;gBACzD,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAA,CAAC,mBAAmB;gBACzD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,IAAI,GAAG,CAAA,CAAC,wBAAwB;gBAC1D,MAAM,CAAC,GAAG,KAAK,GAAG,EAAE,GAAG,SAAA,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAI,CAAC,CAAA,CAAA,CAAC,0BAA0B;gBAClE,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBAEnG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;gBACpF,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;YACtF,CAAC;iBAAM,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;gBACvC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAA,CAAC,0BAA0B;gBACzD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAA,CAAC,gBAAgB;gBAChD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,GAAG,CAAA,CAAC,iBAAiB;gBACpD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,GAAG,KAAK,CAAA,CAAC,kCAAkC;gBAE/E,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA,CAAC,wBAAwB;gBACtE,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAA,CAAC,iCAAiC;gBAElE,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA,CAAC,8BAA8B;gBAC7D,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA,CAAC,8BAA8B;gBAC7D,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAA,CAAC,iDAAiD;gBAE7E,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;gBACpF,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;gBACpF,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA,CAAC,sCAAsC;YAClF,CAAC;iBAAM,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACxC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAA,CAAC,gCAAgC;gBAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAA,CAAC,qCAAqC;gBACrE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,GAAG,CAAA,CAAC,uBAAuB;gBAE1D,4CAA4C;gBAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA,CAAC,oCAAoC;gBAClF,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA,CAAC,+CAA+C;gBAErF,uBAAuB;gBACvB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA,CAAC,6BAA6B;gBAC5D,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA,CAAC,6BAA6B;gBAE5D,uCAAuC;gBACvC,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAA,CAAC,sBAAsB;oBAEhF,2CAA2C;oBAC3C,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;oBAC9F,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;oBAE9F,gDAAgD;oBAChD,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAA;oBACvB,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAA;oBACvB,QAAQ,CAAC,kBAAkB,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAA;gBAClD,CAAC;qBAAM,CAAC;oBACN,wCAAwC;oBACxC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;oBACpF,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;gBACtF,CAAC;gBAED,oCAAoC;gBACpC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAA;YAChB,CAAC;iBAAM,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;gBACtC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,EAAE,CAAA,CAAC,oCAAoC;gBAC9E,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAM,CAAC,wCAAwC;gBAE1E,yCAAyC;gBACzC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;gBACxE,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAA;gBACtC,MAAM,GAAG,GAAG,UAAU,CAAC,YAAY,GAAG,CAAC,CAAC,CAAA;gBAExC,+CAA+C;gBAC/C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA,CAAC,6CAA6C;gBACrE,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBACzC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBACzC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA,CAAC,uBAAuB;gBAEtE,uCAAuC;gBACvC,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAA;oBACzD,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;oBAC9F,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;oBAE9F,gDAAgD;oBAChD,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAA;oBACvB,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAA;oBACvB,QAAQ,CAAC,kBAAkB,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAA;gBAClD,CAAC;qBAAM,CAAC;oBACN,eAAe;oBACf,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;oBACpF,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;gBACtF,CAAC;gBAED,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAA,CAAC,sBAAsB;YACvC,CAAC;iBAAM,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA,CAAC,kCAAkC;gBAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,GAAG,CAAA,CAAC,kBAAkB;gBACvD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAA,CAAC,kBAAkB;gBAEtD,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAA;gBAE5G,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAA;YAC9G,CAAC;QACH,CAAC,CAAA;QAED;;;WAGG;QACH,iBAAY,GAAG,CAAC,KAAU,EAAE,EAAE;YAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA,CAAC,qBAAqB;YAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA,CAAC,0BAA0B;YAE1D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;gBACzC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,YAAY,CAAA;gBACjC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,aAAa,CAAA;YACrC,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAE,CAAA;YACpC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA,CAAC,mBAAmB;YAEpE,GAAG,CAAC,IAAI,GAAG,GAAG,QAAQ,UAAU,CAAA;YAChC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;YAC/B,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAA;YACrC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YAEvD,iBAAiB;YACjB,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YAE/D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;YACzC,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAA,CAAC,yBAAyB;YAE3D,kCAAkC;YAClC,cAAc,GAAG,EAAE,CAAA;YACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;gBACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxC,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;oBACjC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC;wBAC1B,2DAA2D;wBAC3D,cAAc,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;oBACtC,CAAC;gBACH,CAAC;YACH,CAAC;YACD,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;YAE/D,uDAAuD;YACvD,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,CAAA;QAC3E,CAAC,CAAA;QAED,2BAAsB,GAAG,CAAC,KAAU,EAAE,gBAAyB,EAAE,EAAE;YACjE,MAAM,QAAQ,GAAG,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAA;YAEzF,QAAQ,KAAK,CAAC,SAAS,EAAE,CAAC;gBACxB,KAAK,WAAW,CAAC,CAAC,CAAC;oBACjB,4FAA4F;oBAC5F,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,GAAG,CAAA;oBACpC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,GAAG,CAAA;oBACpC,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,CAAA;oBAC3C,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,CAAA;oBAC1C,MAAM,aAAa,GAAG,aAAa,GAAG,SAAS,CAAA;oBAE/C,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;oBACxB,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;oBAExB,wEAAwE;oBACxE,IAAI,aAAa,IAAI,OAAO,EAAE,CAAC;wBAC7B,0BAA0B;wBAC1B,CAAC,IAAI,aAAa,GAAG,OAAO,GAAG,CAAC,CAAA;wBAChC,CAAC,IAAI,OAAO,GAAG,CAAC,CAAA;oBAClB,CAAC;yBAAM,IAAI,aAAa,IAAI,OAAO,GAAG,OAAO,EAAE,CAAC;wBAC9C,4BAA4B;wBAC5B,CAAC,IAAI,OAAO,GAAG,CAAC,CAAA;wBAChB,CAAC,IAAI,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,CAAC,CAAA;oBAC5C,CAAC;yBAAM,IAAI,aAAa,IAAI,CAAC,GAAG,OAAO,GAAG,OAAO,EAAE,CAAC;wBAClD,6BAA6B;wBAC7B,CAAC,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,aAAa,GAAG,OAAO,GAAG,OAAO,CAAC,CAAA;wBACtD,CAAC,IAAI,OAAO,GAAG,CAAC,CAAA;oBAClB,CAAC;yBAAM,CAAC;wBACN,2BAA2B;wBAC3B,CAAC,IAAI,OAAO,GAAG,CAAC,CAAA;wBAChB,CAAC,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,GAAG,OAAO,GAAG,OAAO,CAAC,CAAA;oBAC5D,CAAC;oBAED,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;gBACvB,CAAC;gBAED,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA,CAAC,oCAAoC;oBACzE,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;oBAC3D,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;oBAC3D,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;gBACvB,CAAC;gBAED,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAAA,CAAC,iCAAiC;oBAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAA;oBACrD,MAAM,aAAa,GAAG,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;oBAElD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,WAAW,CAAA;oBACtD,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,GAAG,WAAW,CAAA;oBAEhE,MAAM,MAAM,GAAG,UAAU,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;oBACrE,MAAM,UAAU,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;oBAE/E,MAAM,CAAC,GACL,KAAK,CAAC,QAAQ,CAAC,CAAC;wBAChB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC;wBAC9C,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,UAAU,GAAG,aAAa,CAAA;oBAClD,MAAM,CAAC,GACL,KAAK,CAAC,QAAQ,CAAC,CAAC;wBAChB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC;wBAC9C,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,UAAU,GAAG,aAAa,CAAA;oBAElD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;gBACvB,CAAC;gBAED,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,EAAE,CAAA;oBACzC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;wBAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;oBAEtD,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA;oBAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,aAAa,CAAC,CAAA;oBACzD,MAAM,aAAa,GAAG,CAAC,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;oBAEpD,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAA;oBACtC,MAAM,GAAG,GAAG,UAAU,CAAC,YAAY,GAAG,CAAC,CAAC,CAAA;oBAExC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,GAAG,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;oBAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,GAAG,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;oBAC1D,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;oBAE1D,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAA;gBAC1E,CAAC;gBAED,KAAK,WAAW,CAAC,CAAC,CAAC;oBACjB,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;oBAC3B,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;oBAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;oBAExC,MAAM,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;oBAChC,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;oBACnE,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;oBAE3D,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;gBACvB,CAAC;gBAED,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAA;oBAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAA;oBAC/B,MAAM,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;oBAE5C,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;oBAC3D,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;oBAC3D,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAA;oBAErD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;gBACpB,CAAC;gBAED,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,MAAM,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA,CAAC,mCAAmC;oBACpE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,IAAI,GAAG,CAAA,CAAC,wBAAwB;oBAE1D,mCAAmC;oBACnC,MAAM,CAAC,GAAG,KAAK,GAAG,EAAE,GAAG,SAAA,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAI,CAAC,CAAA,CAAA;oBACvC,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;oBAEnG,qCAAqC;oBACrC,OAAO;wBACL,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC;wBACvB,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC;wBACvB,CAAC,EAAE,CAAC;qBACL,CAAA;gBACH,CAAC;gBAED,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,MAAM,CAAC,GAAG,QAAQ,CAAA,CAAC,uDAAuD;oBAC1E,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;oBAEhD,MAAM,MAAM,GACV,SAAA,CAAC,CAAC,GAAG,CAAC,CAAC,EAAI,CAAC,CAAA,GAAG,KAAK,CAAC,CAAC;wBACtB,CAAC,GAAG,SAAA,CAAC,CAAC,GAAG,CAAC,CAAC,EAAI,CAAC,CAAA,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;wBACjC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAA,CAAC,EAAI,CAAC,CAAA,GAAG,QAAQ,CAAC,CAAC;wBACjC,SAAA,CAAC,EAAI,CAAC,CAAA,GAAG,GAAG,CAAC,CAAC,CAAA;oBAChB,MAAM,MAAM,GACV,SAAA,CAAC,CAAC,GAAG,CAAC,CAAC,EAAI,CAAC,CAAA,GAAG,KAAK,CAAC,CAAC;wBACtB,CAAC,GAAG,SAAA,CAAC,CAAC,GAAG,CAAC,CAAC,EAAI,CAAC,CAAA,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;wBACjC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAA,CAAC,EAAI,CAAC,CAAA,GAAG,QAAQ,CAAC,CAAC;wBACjC,SAAA,CAAC,EAAI,CAAC,CAAA,GAAG,GAAG,CAAC,CAAC,CAAA;oBAEhB,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;gBAC7E,CAAC;gBAED,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,GAAG,CAAA;oBAC7B,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,GAAG,CAAA;oBAC7B,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;oBAC7B,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,CAAA;oBAC1C,MAAM,aAAa,GAAG,aAAa,GAAG,SAAS,CAAA;oBAC/C,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;oBAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;oBAE3B,IAAI,CAAS,CAAA;oBACb,IAAI,CAAS,CAAA;oBACb,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;wBACtB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,aAAa,CAAA;wBAC9B,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;oBAChB,CAAC;yBAAM,IAAI,aAAa,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBACjC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;wBACd,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,CAAA;oBACtC,CAAC;yBAAM,IAAI,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBACrC,MAAM,cAAc,GAAG,aAAa,GAAG,CAAC,GAAG,CAAC,CAAA;wBAC5C,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,cAAc,CAAA;wBAC/B,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;oBAChB,CAAC;yBAAM,CAAC;wBACN,MAAM,YAAY,GAAG,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;wBAC9C,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;wBACd,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,CAAA;oBAC/B,CAAC;oBAED,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;gBACvB,CAAC;gBAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;oBACtB,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,IAAI,GAAG,CAAA;oBAC9B,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,IAAI,GAAG,CAAA;oBAC9B,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;oBAC7B,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,CAAA;oBAC1C,MAAM,aAAa,GAAG,aAAa,GAAG,SAAS,CAAA;oBAC/C,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;oBAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;oBAE3B,IAAI,CAAS,CAAA;oBACb,IAAI,CAAS,CAAA;oBACb,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;wBACtB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,aAAa,CAAA;wBAC9B,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;oBAChB,CAAC;yBAAM,IAAI,aAAa,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBACjC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;wBACd,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,CAAA;oBACtC,CAAC;yBAAM,IAAI,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBACrC,MAAM,cAAc,GAAG,aAAa,GAAG,CAAC,GAAG,CAAC,CAAA;wBAC5C,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,cAAc,CAAA;wBAC/B,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;oBAChB,CAAC;yBAAM,CAAC;wBACN,MAAM,YAAY,GAAG,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;wBAC9C,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;wBACd,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,CAAA;oBAC/B,CAAC;oBAED,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;gBACvB,CAAC;gBAED,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA,CAAC,4BAA4B;oBACjE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,GAAG,CAAA;oBACpC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAA;oBAEnC,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAA;oBACtD,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAA;oBAEtD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;gBACvB,CAAC;gBAED,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACnD,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA,CAAC,yCAAyC;oBACrG,CAAC;oBAED,kEAAkE;oBAClE,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;oBAElE,qEAAqE;oBACrE,MAAM,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAA;oBAE7D,8DAA8D;oBAC9D,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAChC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;oBAClG,CAAC;oBAED,4EAA4E;oBAC5E,MAAM,aAAa,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;oBAEjF,oDAAoD;oBACpD,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;oBAC/D,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;oBAEhE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;gBACvB,CAAC;gBAED;oBACE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;YAC/B,CAAC;QACH,CAAC,CAAA;QAED;;;;;WAKG;QACH,wBAAmB,GAAG,CAAC,SAAiB,EAAE,EAAE;;YAC1C,IAAI,CAAC,IAAI,CAAC,eAAe;gBAAE,OAAM;YAEjC,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,UAAU,mCAAI,CAAC,CAAA;YAClC,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAA;YAEvB,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,IAAI,CAAC,eAAe,GAAG,CAAC,CAAA;gBACxB,OAAM;YACR,CAAC;YAED,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,SAAS,CAAA;YAE3D,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;gBAC3B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAA;oBACtB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAA;gBAC9B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,aAAa,GAAG,CAAC,CAAA;oBACtB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAA;gBAC9B,CAAC;YACH,CAAC;YAED,IAAI,CAAC,eAAe,GAAG,KAAK,GAAG,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;YACzD,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAA,IAAI,CAAC,gBAAgB,mCAAI,CAAC,CAAC,CAAC,CAAA;YAClF,IAAI,IAAI,CAAC,eAAe,GAAG,kBAAkB;gBAAE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAA;QAC9E,CAAC,CAAA;QAED,iDAAiD;QACjD,wBAAmB,GAAG,CAAC,aAAkB,EAAE,EAAE;YAC3C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,IAAY,EAAE,CAAS,EAAE,EAAE;gBAC5E,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBAClC,OAAO,GAAG,CAAA;YACZ,CAAC,EAAE,EAAE,CAAC,CAAA;YAEN,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;YACjC,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,IAAI,CAAC,CAAC,CAAA;QAC9D,CAAC,CAAA;QAED;;;WAGG;QACH,WAAM,GAAG,CAAC,SAAiB,EAAE,EAAE;YAC7B,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAA,CAAC,8BAA8B;QACpE,CAAC,CAAA;QAED;;;;;WAKG;QACH,cAAS,GAAG,CAAC,KAAa,EAAE,QAAgB,EAAE,EAAE;YAC9C,OAAO,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QAC5C,CAAC,CAAA;IA8BH,CAAC;IA5BC;;;OAGG;IACH,OAAO;QACL,OAAO,cAAc,CAAC,eAAe,CAAA;IACvC,CAAC;IAED;;;OAGG;IACH,QAAQ;QACN,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;SACrB,CAAA;IACH,CAAC;CACF"}
|
|
@@ -41,10 +41,7 @@ export default class TurbulenceBehaviour extends Behaviour {
|
|
|
41
41
|
let factor = 0;
|
|
42
42
|
const dx = particle.x - vortex.x;
|
|
43
43
|
const dy = particle.y - vortex.y;
|
|
44
|
-
|
|
45
|
-
return;
|
|
46
|
-
if (dy > this.vortexOrgSize * vortex.size.x)
|
|
47
|
-
return;
|
|
44
|
+
// Apply vortex influence in all directions; factor falls off with distance
|
|
48
45
|
if (this.effect === 0 || this.effect === 1) {
|
|
49
46
|
if (!this.effect) {
|
|
50
47
|
vx = -dy + vortex.velocity.x;
|