@needle-tools/engine 5.1.10 → 5.1.11

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.
Files changed (56) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/SKILL.md +2 -0
  3. package/components.needle.json +1 -1
  4. package/dist/{needle-engine.bundle-DZD-GG7l.min.js → needle-engine.bundle-d-dLyN3s.min.js} +127 -127
  5. package/dist/{needle-engine.bundle-Dv5TidOk.umd.cjs → needle-engine.bundle-n5YALNtc.umd.cjs} +113 -113
  6. package/dist/{needle-engine.bundle-DP--RGAU.js → needle-engine.bundle-ue2Lw4bF.js} +3798 -3755
  7. package/dist/needle-engine.d.ts +52 -13
  8. package/dist/needle-engine.js +534 -534
  9. package/dist/needle-engine.min.js +1 -1
  10. package/dist/needle-engine.umd.cjs +1 -1
  11. package/lib/engine/api.d.ts +1 -1
  12. package/lib/engine/api.js +1 -1
  13. package/lib/engine/api.js.map +1 -1
  14. package/lib/engine/engine_init.js +2 -2
  15. package/lib/engine/engine_license.d.ts +7 -7
  16. package/lib/engine/engine_license.js +71 -71
  17. package/lib/engine/engine_license.js.map +1 -1
  18. package/lib/engine/engine_math.d.ts +13 -0
  19. package/lib/engine/engine_math.js +17 -0
  20. package/lib/engine/engine_math.js.map +1 -1
  21. package/lib/engine/engine_networking_blob.js +3 -3
  22. package/lib/engine/engine_utils_qrcode.js +2 -2
  23. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +2 -2
  24. package/lib/engine/webcomponents/needle menu/needle-menu.js +5 -5
  25. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  26. package/lib/engine/webcomponents/needle-engine.js +2 -2
  27. package/lib/engine/webcomponents/needle-engine.loading.js +2 -2
  28. package/lib/engine/webcomponents/needle-engine.loading.js.map +1 -1
  29. package/lib/engine/xr/TempXRContext.js +2 -2
  30. package/lib/engine-components/DragControls.d.ts +0 -5
  31. package/lib/engine-components/DragControls.js +0 -8
  32. package/lib/engine-components/DragControls.js.map +1 -1
  33. package/lib/engine-components/RendererInstancing.d.ts +34 -3
  34. package/lib/engine-components/RendererInstancing.js +92 -11
  35. package/lib/engine-components/RendererInstancing.js.map +1 -1
  36. package/lib/engine-components/export/usdz/USDZExporter.js +4 -4
  37. package/lib/engine-components/splines/SplineWalker.js +9 -3
  38. package/lib/engine-components/splines/SplineWalker.js.map +1 -1
  39. package/package.json +1 -1
  40. package/plugins/common/license.js +4 -4
  41. package/plugins/vite/license.js +4 -4
  42. package/src/engine/api.ts +1 -1
  43. package/src/engine/engine_init.ts +2 -2
  44. package/src/engine/engine_license.ts +68 -68
  45. package/src/engine/engine_math.ts +17 -0
  46. package/src/engine/engine_networking_blob.ts +3 -3
  47. package/src/engine/engine_utils_qrcode.ts +2 -2
  48. package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +2 -2
  49. package/src/engine/webcomponents/needle menu/needle-menu.ts +5 -5
  50. package/src/engine/webcomponents/needle-engine.loading.ts +6 -6
  51. package/src/engine/webcomponents/needle-engine.ts +2 -2
  52. package/src/engine/xr/TempXRContext.ts +2 -2
  53. package/src/engine-components/DragControls.ts +0 -7
  54. package/src/engine-components/RendererInstancing.ts +92 -11
  55. package/src/engine-components/export/usdz/USDZExporter.ts +4 -4
  56. package/src/engine-components/splines/SplineWalker.ts +9 -3
@@ -63,6 +63,9 @@ export declare class InstanceHandle {
63
63
  updateMeshInformation(): boolean;
64
64
  /** Updates the matrix from the rendered object. Will also call updateWorldMatrix internally */
65
65
  updateInstanceMatrix(updateChildren?: boolean, updateMatrix?: boolean): void;
66
+ private _didWarnAboutMirroringChange;
67
+ /** Batches are bucketed by mirroring at setup time and an instance can not move between them. */
68
+ private assertMirroringUnchanged;
66
69
  /** Updates the matrix of the instance */
67
70
  setMatrix(matrix: Matrix4): void;
68
71
  /** Can be used to change the geometry of this instance */
@@ -74,11 +77,30 @@ export declare class InstanceHandle {
74
77
  */
75
78
  remove(delete_: boolean): void;
76
79
  }
80
+ /**
81
+ * Renders one geometry+material combination for many objects using a
82
+ * {@link https://threejs.org/docs/#api/en/objects/BatchedMesh | BatchedMesh}.
83
+ *
84
+ * The BatchedMesh belongs to this class: it is created here, parented directly to the untransformed
85
+ * `context.scene` and never moved, so its transform is whatever {@link applyBatchTransform} puts
86
+ * there and nothing else.
87
+ *
88
+ * **Mirroring:** three flips the winding for a mirrored transform per *draw call*, from
89
+ * `object.matrixWorld.determinant()` - and for a batch that object is the BatchedMesh, not the
90
+ * instance. So mirrored instances get their own batch, which carries the mirror on its own
91
+ * transform (`scale.z = -1`); otherwise their front faces would be culled.
92
+ *
93
+ * That mirror is the one transform the shader's `modelMatrix * batchingMatrix` would otherwise apply
94
+ * twice, so a mirrored batch stores its instance matrices with it undone. Every other batch is
95
+ * untransformed and stores world matrices as they are.
96
+ */
77
97
  declare class InstancedMeshRenderer {
78
98
  /** The three instanced mesh
79
99
  * @link https://threejs.org/docs/#api/en/objects/InstancedMesh
80
100
  */
81
101
  get batchedMesh(): BatchedMesh;
102
+ /** True if this batch renders mirrored objects. A batch only holds one or the other. */
103
+ get mirrored(): boolean;
82
104
  get visible(): boolean;
83
105
  set visible(val: boolean);
84
106
  get castShadow(): boolean;
@@ -101,6 +123,7 @@ declare class InstancedMeshRenderer {
101
123
  updateBounds(box?: boolean, sphere?: boolean): void;
102
124
  private _context;
103
125
  private _batchedMesh;
126
+ private readonly _mirrored;
104
127
  private _handles;
105
128
  private _geometryIds;
106
129
  private _maxInstanceCount;
@@ -109,25 +132,33 @@ declare class InstancedMeshRenderer {
109
132
  private _currentIndexCount;
110
133
  private _maxVertexCount;
111
134
  private _maxIndexCount;
112
- private static nullMatrix;
135
+ private static instanceMatrix;
113
136
  private static lodProjectionScreenMatrix;
137
+ private static debugBoundsSphere;
114
138
  private static debugLODColor;
115
139
  private static lodSelectionResult;
116
140
  /** Check if the geometry can be added to this instancer
117
141
  * @param geometry The geometry to check
118
142
  * @param material The material of the geometry
143
+ * @param mirrored Whether the object's world matrix has a negative determinant
119
144
  * @returns true if the geometry can be added
120
145
  */
121
- canAdd(geometry: BufferGeometry, material: Material): boolean;
146
+ canAdd(geometry: BufferGeometry, material: Material, mirrored: boolean): boolean;
122
147
  private _needUpdateBounds;
123
148
  private _debugMaterial;
124
149
  private getBatchedMeshName;
125
- constructor(name: string, geo: BufferGeometry, material: Material, initialMaxCount: number, context: Context);
150
+ constructor(name: string, geo: BufferGeometry, material: Material, initialMaxCount: number, context: Context, mirrored?: boolean);
126
151
  dispose(): void;
127
152
  addInstance(obj: Mesh, geometry?: BufferGeometry): InstanceHandle | null;
128
153
  add(handle: InstanceHandle): boolean;
129
154
  remove(handle: InstanceHandle, delete_: boolean): void;
130
155
  updateInstance(mat: Matrix4, index: number): void;
156
+ /** The batch's own transform. This class owns it: the mirror is the only thing that ever goes
157
+ * here, and the batch is never reparented away from the untransformed scene root. */
158
+ private applyBatchTransform;
159
+ /** Writes a *world* matrix to an instance slot, converted into the batch's local space.
160
+ * All instance matrix writes go through here. */
161
+ private setInstanceMatrix;
131
162
  updateGeometry(geo: BufferGeometry, geometryIndex: number): boolean;
132
163
  private onBeforeRender;
133
164
  private updateProgressiveMeshLODs;
@@ -1,5 +1,5 @@
1
1
  import { calculateMeshLODLevel, getLODColor } from "@needle-tools/gltf-progressive";
2
- import { BatchedMesh, Color, Matrix4, MeshStandardMaterial, RawShaderMaterial, Vector3 } from "three";
2
+ import { BatchedMesh, Color, Matrix4, MeshStandardMaterial, RawShaderMaterial, Sphere, Vector3 } from "three";
3
3
  import { isDevEnvironment, showBalloonError } from "../engine/debug/index.js";
4
4
  import { Gizmos } from "../engine/engine_gizmos.js";
5
5
  import { $instancingAutoUpdateBounds, $instancingRenderer, NEED_UPDATE_INSTANCE_KEY } from "../engine/engine_instancing.js";
@@ -14,6 +14,10 @@ function trackProgressiveLOD(context, type, object, promise) {
14
14
  context.lodsManager.manager?.trackLoadingPromise(type, object, promise);
15
15
  return promise;
16
16
  }
17
+ /** Mirrored = negative determinant, which reverses triangle winding. */
18
+ function isMirrored(matrix) {
19
+ return matrix.determinant() < 0;
20
+ }
17
21
  /**
18
22
  * Handles instancing for Needle Engine.
19
23
  */
@@ -90,8 +94,11 @@ export class InstancingHandler {
90
94
  const mat = mesh.material;
91
95
  if (Array.isArray(mat))
92
96
  return null;
97
+ // mirrored objects need their own batch, see InstancedMeshRenderer
98
+ mesh.updateWorldMatrix(true, false);
99
+ const mirrored = isMirrored(mesh.matrixWorld);
93
100
  for (const i of this.objs) {
94
- if (!i.canAdd(geometry, mat))
101
+ if (!i.canAdd(geometry, mat, mirrored))
95
102
  continue;
96
103
  const handle = i.addInstance(mesh, geometry);
97
104
  return handle;
@@ -103,7 +110,7 @@ export class InstancingHandler {
103
110
  let name = obj.name;
104
111
  if (!name?.length)
105
112
  name = makeIdFromRandomWords();
106
- const i = new InstancedMeshRenderer(name, geometry, mat, maxInstances, context);
113
+ const i = new InstancedMeshRenderer(name, geometry, mat, maxInstances, context, mirrored);
107
114
  this.objs.push(i);
108
115
  const handle = i.addInstance(mesh, geometry);
109
116
  return handle;
@@ -214,8 +221,19 @@ export class InstanceHandle {
214
221
  return;
215
222
  if (updateMatrix)
216
223
  this.object.updateWorldMatrix(true, updateChildren);
224
+ this.assertMirroringUnchanged();
217
225
  this.renderer.updateInstance(this.object.matrixWorld, this.__instanceIndex);
218
226
  }
227
+ _didWarnAboutMirroringChange = false;
228
+ /** Batches are bucketed by mirroring at setup time and an instance can not move between them. */
229
+ assertMirroringUnchanged() {
230
+ if (this._didWarnAboutMirroringChange)
231
+ return;
232
+ if (isMirrored(this.object.matrixWorld) === this.renderer.mirrored)
233
+ return;
234
+ this._didWarnAboutMirroringChange = true;
235
+ console.warn(`[Instancing] "${this.name}" changed its mirroring at runtime (world matrix determinant flipped sign). Instanced objects can not change mirroring - this object will render its backfaces. Disable instancing for it via Renderer.setInstanced(obj, false).`);
236
+ }
219
237
  /** Updates the matrix of the instance */
220
238
  setMatrix(matrix) {
221
239
  if (this.__instanceIndex < 0)
@@ -286,6 +304,23 @@ export class InstanceHandle {
286
304
  }
287
305
  }
288
306
  }
307
+ /**
308
+ * Renders one geometry+material combination for many objects using a
309
+ * {@link https://threejs.org/docs/#api/en/objects/BatchedMesh | BatchedMesh}.
310
+ *
311
+ * The BatchedMesh belongs to this class: it is created here, parented directly to the untransformed
312
+ * `context.scene` and never moved, so its transform is whatever {@link applyBatchTransform} puts
313
+ * there and nothing else.
314
+ *
315
+ * **Mirroring:** three flips the winding for a mirrored transform per *draw call*, from
316
+ * `object.matrixWorld.determinant()` - and for a batch that object is the BatchedMesh, not the
317
+ * instance. So mirrored instances get their own batch, which carries the mirror on its own
318
+ * transform (`scale.z = -1`); otherwise their front faces would be culled.
319
+ *
320
+ * That mirror is the one transform the shader's `modelMatrix * batchingMatrix` would otherwise apply
321
+ * twice, so a mirrored batch stores its instance matrices with it undone. Every other batch is
322
+ * untransformed and stores world matrices as they are.
323
+ */
289
324
  class InstancedMeshRenderer {
290
325
  /** The three instanced mesh
291
326
  * @link https://threejs.org/docs/#api/en/objects/InstancedMesh
@@ -293,6 +328,10 @@ class InstancedMeshRenderer {
293
328
  get batchedMesh() {
294
329
  return this._batchedMesh;
295
330
  }
331
+ /** True if this batch renders mirrored objects. A batch only holds one or the other. */
332
+ get mirrored() {
333
+ return this._mirrored;
334
+ }
296
335
  get visible() {
297
336
  return this._batchedMesh.visible;
298
337
  }
@@ -329,14 +368,16 @@ class InstancedMeshRenderer {
329
368
  if (sphere)
330
369
  this._batchedMesh.computeBoundingSphere();
331
370
  if (debugInstancing && this._batchedMesh.boundingSphere) {
332
- const sphere = this._batchedMesh.boundingSphere;
333
- // const worldPos = this._batchedMesh.worldPosition.add(sphere.center);
334
- // const worldRadius = sphere!.radius;
371
+ // the bounding sphere is in the batch's local space, the gizmo expects world space
372
+ const sphere = InstancedMeshRenderer.debugBoundsSphere
373
+ .copy(this._batchedMesh.boundingSphere)
374
+ .applyMatrix4(this._batchedMesh.matrixWorld);
335
375
  Gizmos.DrawWireSphere(sphere.center, sphere.radius, 0x00ff00);
336
376
  }
337
377
  }
338
378
  _context;
339
379
  _batchedMesh;
380
+ _mirrored;
340
381
  _handles = [];
341
382
  _geometryIds = new WeakMap();
342
383
  _maxInstanceCount;
@@ -345,8 +386,9 @@ class InstancedMeshRenderer {
345
386
  _currentIndexCount = 0;
346
387
  _maxVertexCount;
347
388
  _maxIndexCount;
348
- static nullMatrix = new Matrix4();
389
+ static instanceMatrix = new Matrix4();
349
390
  static lodProjectionScreenMatrix = new Matrix4();
391
+ static debugBoundsSphere = new Sphere();
350
392
  static debugLODColor = new Color();
351
393
  static lodSelectionResult = {
352
394
  level: -1,
@@ -358,11 +400,14 @@ class InstancedMeshRenderer {
358
400
  /** Check if the geometry can be added to this instancer
359
401
  * @param geometry The geometry to check
360
402
  * @param material The material of the geometry
403
+ * @param mirrored Whether the object's world matrix has a negative determinant
361
404
  * @returns true if the geometry can be added
362
405
  */
363
- canAdd(geometry, material) {
406
+ canAdd(geometry, material, mirrored) {
364
407
  if (this._maxVertexCount > 10_000_000)
365
408
  return false;
409
+ if (this._mirrored !== mirrored)
410
+ return false;
366
411
  // The material instance must match
367
412
  // perhaps at some point later we *could* check if it's the same shader and properties but this would be risky
368
413
  if (material !== this.material) {
@@ -430,11 +475,12 @@ class InstancedMeshRenderer {
430
475
  getBatchedMeshName() {
431
476
  return this.name ? `${this.name} (BatchedMesh)` : "BatchedMesh";
432
477
  }
433
- constructor(name, geo, material, initialMaxCount, context) {
478
+ constructor(name, geo, material, initialMaxCount, context, mirrored = false) {
434
479
  this.name = name;
435
480
  this.geometry = geo;
436
481
  this.material = material;
437
482
  this._context = context;
483
+ this._mirrored = mirrored;
438
484
  this._maxInstanceCount = Math.max(2, initialMaxCount);
439
485
  if (debugInstancing) {
440
486
  this._debugMaterial = createDebugMaterial(debugLODColors);
@@ -444,6 +490,7 @@ class InstancedMeshRenderer {
444
490
  this._maxIndexCount = estimate.indexCount;
445
491
  this._batchedMesh = new BatchedMesh(this._maxInstanceCount, this._maxVertexCount, this._maxIndexCount, this._debugMaterial ?? this.material);
446
492
  this._batchedMesh.name = this.getBatchedMeshName();
493
+ this.applyBatchTransform(this._batchedMesh);
447
494
  // this.inst = new InstancedMesh(geo, material, count);
448
495
  this._batchedMesh[$instancingAutoUpdateBounds] = true;
449
496
  // this.inst.count = 0;
@@ -540,9 +587,41 @@ class InstancedMeshRenderer {
540
587
  this.markNeedsUpdate();
541
588
  }
542
589
  updateInstance(mat, index) {
543
- this._batchedMesh.setMatrixAt(index, mat);
590
+ this.setInstanceMatrix(index, mat);
544
591
  this.markNeedsUpdate();
545
592
  }
593
+ /** The batch's own transform. This class owns it: the mirror is the only thing that ever goes
594
+ * here, and the batch is never reparented away from the untransformed scene root. */
595
+ applyBatchTransform(batch) {
596
+ // every other batch keeps the identity a fresh BatchedMesh is constructed with
597
+ if (!this._mirrored)
598
+ return;
599
+ if (batch.scale.z === -1)
600
+ return;
601
+ // negative determinant on the batch itself -> three flips the winding for the whole draw call
602
+ batch.scale.z = -1;
603
+ // three composes the TRS into matrix/matrixWorld no earlier than the render, which would leave
604
+ // those identity for a frame - and updateBounds() reads matrixWorld from a pre-render callback
605
+ batch.updateMatrixWorld();
606
+ }
607
+ /** Writes a *world* matrix to an instance slot, converted into the batch's local space.
608
+ * All instance matrix writes go through here. */
609
+ setInstanceMatrix(index, worldMatrix) {
610
+ if (!this._mirrored) {
611
+ // an untransformed batch: local space *is* world space
612
+ this._batchedMesh.setMatrixAt(index, worldMatrix);
613
+ return;
614
+ }
615
+ // undo the batch's mirror, so the shader's modelMatrix * batchingMatrix composes back to the world matrix.
616
+ // a pure z flip only negates row 2 (column-major indices 2/6/10/14), so it's cheaper than a full multiply
617
+ const local = InstancedMeshRenderer.instanceMatrix.copy(worldMatrix);
618
+ const e = local.elements;
619
+ e[2] = -e[2];
620
+ e[6] = -e[6];
621
+ e[10] = -e[10];
622
+ e[14] = -e[14];
623
+ this._batchedMesh.setMatrixAt(index, local);
624
+ }
546
625
  updateGeometry(geo, geometryIndex) {
547
626
  if (!this.validateGeometry(geo)) {
548
627
  return false;
@@ -729,6 +808,8 @@ class InstancedMeshRenderer {
729
808
  newInst.matrixAutoUpdate = this._batchedMesh.matrixAutoUpdate;
730
809
  newInst.matrixWorld.copy(this._batchedMesh.matrixWorld);
731
810
  newInst.matrix.copy(this._batchedMesh.matrix);
811
+ // the replacement must carry the mirror too, otherwise every instance in it ends up culled
812
+ this.applyBatchTransform(newInst);
732
813
  // dispose the old batched mesh
733
814
  this._batchedMesh.dispose();
734
815
  this._batchedMesh.removeFromParent();
@@ -836,7 +917,7 @@ class InstancedMeshRenderer {
836
917
  handle.__instanceIndex = i;
837
918
  handle.__reservedVertexRange = handle.maxVertexCount;
838
919
  handle.__reservedIndexRange = handle.maxIndexCount;
839
- this._batchedMesh.setMatrixAt(i, handle.object.matrixWorld);
920
+ this.setInstanceMatrix(i, handle.object.matrixWorld);
840
921
  this.updateDebugLODColor(handle);
841
922
  if (debugInstancing)
842
923
  console.debug(`[Instancing] > ADDED INSTANCE \"${handle.name}\"\nGEOMETRY_ID=${geometryId}\n${this._currentInstanceCount} instances\nIndex: ${handle.__instanceIndex}\nVertices: ${this._currentVertexCount.toLocaleString()}/${this._maxVertexCount.toLocaleString()},\nIndices: ${this._currentIndexCount.toLocaleString()}/${this._maxIndexCount.toLocaleString()}`);
@@ -1 +1 @@
1
- {"version":3,"file":"RendererInstancing.js","sourceRoot":"","sources":["../../src/engine-components/RendererInstancing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RendererInstancing.js","sourceRoot":"","sources":["../../src/engine-components/RendererInstancing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAE,WAAW,EAAkB,KAAK,EAAY,OAAO,EAAQ,oBAAoB,EAAY,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAExJ,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE5H,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,MAAM,eAAe,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AACpD,MAAM,wBAAwB,GAAG,eAAe,KAAK,MAAM,CAAC;AAC5D,MAAM,cAAc,GAAG,QAAQ,CAAC,kBAAkB,CAAC,KAAK,QAAQ,IAAI,wBAAwB,CAAC;AAM5F,CAAC;AAEF,SAAS,mBAAmB,CAAI,OAAgB,EAAE,IAAwB,EAAE,MAAc,EAAE,OAAmB;IAC3G,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACxE,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,wEAAwE;AACxE,SAAS,UAAU,CAAC,MAAe;IAC/B,OAAO,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAC1B,MAAM,CAAU,QAAQ,GAAsB,IAAI,iBAAiB,EAAE,CAAC;IAEtE;;;;;;OAMG;IACH,mDAAmD;IACnD,MAAM,CAAC,qBAAqB,GAAG,CAAC,GAAa,EAAE,EAAE;QAC7C,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;IAEK,IAAI,GAA4B,EAAE,CAAC;IAEnC,KAAK,CAAC,QAAkB,EAAE,GAAa,EAAE,OAAgB,EAAE,YAAqC,EAAE,IAAyB,EAAE,QAAgB,CAAC;QAGjJ,6IAA6I;QAC7I,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5D,IAAI,GAAG,EAAE,CAAC;YACN,IAAI,YAAY,KAAK,IAAI;gBAAE,YAAY,GAAG,EAAE,CAAC;YAC7C,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEvB,wBAAwB;YACxB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;YAChC,IAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5G,CAAC;iBACI,CAAC;gBACF,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9F,CAAC;QACL,CAAC;aAEI,IAAI,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;YAC5B,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAC5B,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YACpF,CAAC;QACL,CAAC;QAED,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACd,4EAA4E;YAC5E,IAAI,IAAI,CAAC,wBAAwB,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC5E,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;QAED,OAAO,YAAY,CAAC;IACxB,CAAC;IAEO,sBAAsB,CAAC,GAAa,EAAE,OAAgB,EAAE,IAAyB;QACrF,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;YAC/B,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB;gBAAE,OAAO,IAAI,CAAC;YAC7C,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBACtC,iCAAiC;gBACjC,eAAe;YACnB,CAAC;iBACI,CAAC;gBACF,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;oBAC7C,IAAI,eAAe;wBAAE,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;oBACrH,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrC,yBAAyB;oBACzB,8CAA8C;oBAC9C,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;YACD,yBAAyB;YACzB,MAAM,IAAI,GAAG,GAAW,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAiC,CAAC;YACnD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEpC,mEAAmE;YACnE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAE9C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACxB,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC;oBAAE,SAAS;gBACjD,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC7C,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,IAAI,YAAY,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;YAChE,IAAI,CAAC,YAAY,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACpC,YAAY,GAAG,CAAC,CAAC;YACrB,CAAC;YACD,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YACpB,IAAI,CAAC,IAAI,EAAE,MAAM;gBAAE,IAAI,GAAG,qBAAqB,EAAE,CAAC;YAClD,MAAM,CAAC,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC1F,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC7C,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,wBAAwB,CAAC,GAAa;QAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3E,MAAM,cAAc,GAAY,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACxD,MAAM,mBAAmB,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE;YACnD,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACtC,IAAI,GAAG,CAAC,wBAAwB,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE,CAAC;gBACnF,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;gBACnC,GAAG,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC;YACzC,CAAC;YACD,OAAO,cAAc,CAAC;QAC1B,CAAC,CAAC;QACF,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,mBAAmB,CAAC;QAC1D,8BAA8B;QAC9B,mEAAmE;QACnE,yDAAyD;QACzD,mBAAmB;QACnB,iDAAiD;QACjD,SAAS;QACT,iCAAiC;QACjC,mEAAmE;QACnE,kDAAkD;QAClD,QAAQ;QACR,MAAM;IACV,CAAC;;AAGL;;GAEG;AACH,MAAM,OAAO,cAAc;IAEvB,MAAM,CAAU,GAAG,GAAqB,EAAE,CAAC;IAE3C,6BAA6B;IAC7B,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC5B,CAAC;IACD,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;IACnD,CAAC;IACD,IAAI,cAAc;QACd,mFAAmF;QACnF,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,mBAAmB;QACnB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACtC,CAAC;IACD,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,aAAa;QACb,iFAAiF;QACjF,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,kBAAkB;QAClB,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACrC,CAAC;IAED,yCAAyC;IAChC,MAAM,CAAO;IACd,SAAS,CAAiB;IAElC,iDAAiD;IACjD,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,6DAA6D;IACpD,QAAQ,CAAwB;IAEzC,gBAAgB;IAChB,eAAe,GAAW,CAAC,CAAC,CAAC;IAC7B,gBAAgB;IAChB,qBAAqB,GAAW,CAAC,CAAC;IAClC,gBAAgB;IAChB,oBAAoB,GAAW,CAAC,CAAC;IACjC,eAAe,GAAW,CAAC,CAAC,CAAC;IAE7B,qFAAqF;IAC5E,eAAe,CAAkB;IAC1C,cAAc,CAAU;IACxB,cAAc,CAAU;IAExB,YAAY,cAAoB,EAAE,SAAgC,EAAE,WAA2B,cAAc,CAAC,QAAQ;QAClH,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC;QACrD,cAAc,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;QAChD,sHAAsH;QACtH,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACnE,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,qBAAqB;QACjB,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;QACxD,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;QACxD,OAAO,cAAc,KAAK,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,aAAa,KAAK,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;IACpH,CAAC;IAED,+FAA+F;IAC/F,oBAAoB,CAAC,iBAA0B,KAAK,EAAE,eAAwB,IAAI;QAC9E,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC;YAAE,OAAO;QACrC,IAAI,YAAY;YAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACtE,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IAChF,CAAC;IAEO,4BAA4B,GAAG,KAAK,CAAC;IAC7C,iGAAiG;IACzF,wBAAwB;QAC5B,IAAI,IAAI,CAAC,4BAA4B;YAAE,OAAO;QAC9C,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,QAAQ;YAAE,OAAO;QAC3E,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,kOAAkO,CAAC,CAAC;IAC/Q,CAAC;IACD,yCAAyC;IACzC,SAAS,CAAC,MAAe;QACrB,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC;YAAE,OAAO;QACrC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IAC/D,CAAC;IAED,0DAA0D;IAC1D,WAAW,CAAC,GAAmB;QAC3B,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAE3C,IAAI,IAAI,CAAC,SAAS,KAAK,GAAG,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;YAC5C,IAAI,SAAS,EAAE,CAAC;gBACZ,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;YACrB,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,SAAS,EAAE,CAAC;gBACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QAErB,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChD,OAAO,kBAAkB,CAAC,wCAAwC,IAAI,CAAC,IAAI,0CAA0C,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,iBAAiB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAEzO,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9C,OAAO,kBAAkB,CAAC,wCAAwC,IAAI,CAAC,IAAI,yCAAyC,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,gBAAgB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACrO,CAAC;QAGD,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAE/D,SAAS,kBAAkB,CAAC,KAAa;YACrC,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;gBAC/B,qEAAqE;gBACrE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACjC,qEAAqE;gBACrE,wCAAwC;gBACxC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1B,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;YACD,IAAI,gBAAgB,EAAE,IAAI,eAAe,EAAE,CAAC;gBACxC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,sFAAsF;IACtF,GAAG;QACC,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC;YAAE,OAAO;QACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED;;MAEE;IACF,MAAM,CAAC,OAAgB;QACnB,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC;YAAE,OAAO;QACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpC,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACvD,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACT,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpC,CAAC;QACL,CAAC;IACL,CAAC;;AAGL;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,qBAAqB;IACvB;;OAEG;IACH,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,wFAAwF;IACxF,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;IACrC,CAAC;IACD,IAAI,OAAO,CAAC,GAAY;QACpB,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,GAAG,CAAC;IACpC,CAAC;IACD,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;IACxC,CAAC;IACD,IAAI,UAAU,CAAC,GAAY;QACvB,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,GAAG,CAAC;IACvC,CAAC;IACD,IAAI,aAAa,CAAC,GAAY;QAC1B,IAAI,CAAC,YAAY,CAAC,aAAa,GAAG,GAAG,CAAC;IAC1C,CAAC;IAED,uFAAuF;IACvF,WAAW,GAAY,IAAI,CAAC;IAE5B,gCAAgC;IAChC,IAAI,GAAW,EAAE,CAAC;IAElB,yBAAyB;IAChB,QAAQ,CAAiB;IAElC,+CAA+C;IACtC,QAAQ,CAAW;IAE5B,sCAAsC;IACtC,IAAI,KAAK,KAAa,OAAO,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE1D;;;MAGE;IACF,YAAY,CAAC,MAAe,IAAI,EAAE,SAAkB,IAAI;QACpD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,GAAG;YACH,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAC3C,IAAI,MAAM;YACN,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC;QAC9C,IAAI,eAAe,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;YACtD,mFAAmF;YACnF,MAAM,MAAM,GAAG,qBAAqB,CAAC,iBAAiB;iBACjD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC;iBACtC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YACjD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClE,CAAC;IACL,CAAC;IAEO,QAAQ,CAAU;IAClB,YAAY,CAAc;IACjB,SAAS,CAAU;IAC5B,QAAQ,GAA8B,EAAE,CAAC;IACzC,YAAY,GAAG,IAAI,OAAO,EAA0B,CAAC;IACrD,iBAAiB,CAAS;IAE1B,qBAAqB,GAAG,CAAC,CAAC;IAC1B,mBAAmB,GAAG,CAAC,CAAC;IACxB,kBAAkB,GAAG,CAAC,CAAC;IAEvB,eAAe,CAAS;IACxB,cAAc,CAAS;IAEvB,MAAM,CAAC,cAAc,GAAY,IAAI,OAAO,EAAE,CAAC;IAC/C,MAAM,CAAC,yBAAyB,GAAY,IAAI,OAAO,EAAE,CAAC;IAC1D,MAAM,CAAC,iBAAiB,GAAW,IAAI,MAAM,EAAE,CAAC;IAChD,MAAM,CAAC,aAAa,GAAG,IAAI,KAAK,EAAE,CAAC;IACnC,MAAM,CAAC,kBAAkB,GAAG;QAChC,KAAK,EAAE,CAAC,CAAC;QACT,cAAc,EAAE,CAAC;QACjB,cAAc,EAAE,CAAC;QACjB,iBAAiB,EAAE,IAAI,OAAO,EAAE;QAChC,UAAU,EAAE,CAAC;KAChB,CAAC;IAEF;;;;;OAKG;IACH,MAAM,CAAC,QAAwB,EAAE,QAAkB,EAAE,QAAiB;QAElE,IAAI,IAAI,CAAC,eAAe,GAAG,UAAU;YAAE,OAAO,KAAK,CAAC;QAEpD,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE9C,mCAAmC;QACnC,8GAA8G;QAC9G,IAAI,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7B,MAAM,gBAAgB,GAAG,KAAK,CAAC;YAC/B,8CAA8C;YAC9C,+BAA+B;YAC/B,uCAAuC;YACvC,+DAA+D;YAC/D,gEAAgE;YAChE,2DAA2D;YAC3D,kDAAkD;YAClD,uEAAuE;YACvE,8DAA8D;YAC9D,8DAA8D;YAC9D,wDAAwD;YACxD,0EAA0E;YAC1E,4DAA4D;YAC5D,8EAA8E;YAC9E,sDAAsD;YACtD,wEAAwE;YACxE,0EAA0E;YAC1E,8EAA8E;YAC9E,kEAAkE;YAClE,0DAA0D;YAC1D,8DAA8D;YAC9D,8DAA8D;YAC9D,gFAAgF;YAChF,0EAA0E;YAC1E,8EAA8E;YAC9E,4EAA4E;YAC5E,oEAAoE;YACpE,oEAAoE;YACpE,4DAA4D;YAC5D,0EAA0E;YAC1E,uCAAuC;YACvC,qBAAqB;YACrB,QAAQ;YACR,IAAI;YACJ,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACpB,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,gDAAgD;QAEhD,6CAA6C;QAE7C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QAEnD,2DAA2D;QAC3D,oGAAoG;QACpG,QAAQ;QACR,mDAAmD;QACnD,IAAI;QACJ,gBAAgB;QAChB,6BAA6B;QAC7B,oBAAoB;QACpB,IAAI;QAEJ,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC1B,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAElC,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,iBAAiB,GAAY,KAAK,CAAC;IACnC,cAAc,GAAgC,IAAI,CAAC;IAEnD,kBAAkB;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC;IACpE,CAAC;IAED,YAAY,IAAY,EAAE,GAAmB,EAAE,QAAkB,EAAE,eAAuB,EAAE,OAAgB,EAAE,WAAoB,KAAK;QACnI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;QACtD,IAAI,eAAe,EAAE,CAAC;YAClB,IAAI,CAAC,cAAc,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;QACjG,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,WAAW,CAAC;QAC5C,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7I,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACnD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,uDAAuD;QACvD,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC;QACtD,uBAAuB;QACvB,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE3C,6EAA6E;QAC7E,yEAAyE;QACzE,+EAA+E;QAC/E,0EAA0E;QAC1E,sEAAsE;QACtE,6CAA6C;QAC7C,iFAAiF;QACjF,6BAA6B;QAC7B,IAAI,QAAQ,YAAY,iBAAiB,EAAE,CAAC;YACxC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;YAC1C,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;QAChC,CAAC;QAED,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvD,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEvD,IAAI,eAAe,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,IAAI,kBAAkB,IAAI,CAAC,iBAAiB,eAAe,IAAI,CAAC,eAAe,qBAAqB,IAAI,CAAC,cAAc,sBAAsB,IAAI,IAAI,CAAC,CAAA;QAClM,CAAC;IACL,CAAC;IAED,OAAO;QACH,IAAI,eAAe;YAAE,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAW,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,WAAW,CAAC,GAAS,EAAE,QAAyB;QAE5C,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEvD,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YACpE,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC;QACxC,CAAC;QACD,IAAI,GAAG,CAAC,aAAa,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;YAC1E,IAAI,CAAC,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,oDAAoD,GAAG,CAAC,IAAI,kBAAkB,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,eAAe,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,cAAc,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAC3X,IAAI,gBAAgB,EAAE,EAAE,CAAC;gBACrB,gBAAgB,CAAC,8DAA8D,CAAC,CAAC;gBACjF,QAAQ,CAAC;YACb,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAGD,GAAG,CAAC,MAAsB;QACtB,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;QAE5B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/E,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;QACxD,IAAI,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAClE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;iBACI,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACvG,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC;QAC/C,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC;QAEhC,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,IAAI,IAAI,CAAC,qBAAqB,GAAG,CAAC;YAC9B,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;QAErC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,MAAsB,EAAE,OAAgB;QAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO;QACX,CAAC;QACD,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,MAAM,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAC,EAAE,CAAC;YACnH,0EAA0E;YAC1E,OAAO;QACX,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;QAC7C,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;QAE5B,IAAI,IAAI,CAAC,qBAAqB,GAAG,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;QAEtC,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;IAED,cAAc,CAAC,GAAY,EAAE,KAAa;QACtC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;IAED;yFACqF;IAC7E,mBAAmB,CAAC,KAAkB;QAC1C,+EAA+E;QAC/E,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO;QACjC,8FAA8F;QAC9F,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACnB,+FAA+F;QAC/F,+FAA+F;QAC/F,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAC9B,CAAC;IAED;qDACiD;IACzC,iBAAiB,CAAC,KAAa,EAAE,WAAoB;QACzD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,uDAAuD;YACvD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAClD,OAAO;QACX,CAAC;QACD,2GAA2G;QAC3G,0GAA0G;QAC1G,MAAM,KAAK,GAAG,qBAAqB,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrE,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;QACzB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,cAAc,CAAC,GAAmB,EAAE,aAAqB;QACrD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,eAAe;YACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,GAAG,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9M,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QACpD,uEAAuE;QACvE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAC1C,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,cAAc,GAAG,GAAG,EAAE;QAC1B,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAEjC,6DAA6D;QAC7D,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAErC,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC,KAAK,IAAI,EAAE,CAAC;YACpF,IAAI,eAAe,KAAK,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;YAChI,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC;IACL,CAAC,CAAA;IAEO,yBAAyB;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,qBAAqB,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACrH,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,qBAAqB,IAAI,OAAO,CAAC;QACnF,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC;gBAAE,SAAS;YACpD,MAAM,KAAK,GAAG,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YACvE,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,cAAc,KAAK,KAAK,IAAI,MAAM,CAAC,cAAc,KAAK,KAAK;gBAAE,SAAS;YAC9F,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;IACL,CAAC;IAEO,wBAAwB,CAAC,MAAsB,EAAE,KAAa;QAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,MAAM,CAAC,cAAc,GAAG,KAAK,CAAC;QAE9B,MAAM,OAAO,GAAG,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE;YACnE,KAAK,EAAE,GAAG,CAAC,EAAE;gBACT,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,MAAM,EAAE,KAAK,CAAC;oBAAE,OAAO,KAAK,CAAC;gBACrE,IAAI,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC9C,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC;oBAC7B,MAAM,CAAC,cAAc,GAAG,KAAK,CAAC;oBAC9B,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;oBACjC,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC;SACJ,CAAC,CAAC;QACH,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC3E,IAAI,eAAe,IAAI,gBAAgB,EAAE,EAAE,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC,qCAAqC,KAAK,QAAQ,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;YACvF,CAAC;QACL,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,MAAM,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;gBAClC,MAAM,CAAC,cAAc,GAAG,SAAS,CAAC;YACtC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,6BAA6B,CAAC,MAAsB,EAAE,KAAa;QACvE,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7C,IAAI,MAAM,CAAC,cAAc,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QAEjD,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,QAAQ,CAAC;QAChG,IAAI,KAAK,IAAI,YAAY;YAAE,OAAO,KAAK,CAAC;QAExC,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;QAC3C,OAAO,OAAO,YAAY,KAAK,QAAQ,IAAI,KAAK,IAAI,YAAY,CAAC;IACrE,CAAC;IAEO,2BAA2B,CAAC,MAAsB,EAAE,cAAsB;QAC9E,IAAI,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,CAAC,CAAC;QACvB,MAAM,SAAS,GAAG,qBAAqB,CAAC;YACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW;YACtC,MAAM;YACN,sBAAsB,EAAE,qBAAqB,CAAC,yBAAyB;YACvE,cAAc;YACd,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM;YACxG,YAAY,EAAE,MAAM,CAAC,cAAc,IAAI,CAAC,CAAC;YACzC,MAAM,EAAE,qBAAqB,CAAC,kBAAkB;SACnD,CAAC,CAAC;QACH,OAAO,SAAS,CAAC,KAAK,CAAC;IAC3B,CAAC;IAEO,aAAa,GAAG,GAAG,EAAE;QACzB,8GAA8G;QAC9G,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAC1C,CAAC,CAAA;IAEO,gBAAgB,CAAC,QAAwB;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEpC,KAAK,MAAM,aAAa,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC9C,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAC9B,SAAS;YACb,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC7C,IAAI,gBAAgB,EAAE;oBAClB,OAAO,CAAC,IAAI,CAAC,0CAA0C,aAAa,8DAA8D,CAAC,CAAC;gBACxI,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,KAAK,MAAM,aAAa,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;YACnD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAC9B,SAAS;YACb,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC;gBACxC,IAAI,gBAAgB,EAAE;oBAClB,OAAO,CAAC,IAAI,CAAC,wCAAwC,aAAa,oDAAoD,CAAC,CAAC;gBAC5H,2FAA2F;gBAC3F,OAAO,KAAK,CAAC;gBACb,8HAA8H;YAClI,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,eAAe;QACnB,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,+CAA+C;IACnD,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,GAAoB;QACjC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QACtD,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAE1C,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,eAAe;YAAE,OAAO,KAAK,CAAC;QAElC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,cAAc,GAAG,QAAQ,CAAC,WAAW,CAAC;QAC5C,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC;QAC1C,OAAO,IAAI,CAAC,mBAAmB,GAAG,cAAc,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,kBAAkB,GAAG,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;IAC7I,CAAC;IAEO,OAAO,GAAG,CAAC,CAAC;IACZ,IAAI,CAAC,QAAwB;QACjC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC;QAC1B,MAAM,UAAU,GAAG,CAAC,CAAC;QAErB,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC;QAC3D,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAExG,oCAAoC;QACpC,yHAAyH;QACzH,MAAM,cAAc,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA,sCAAsC;QAClH,6DAA6D;QAC7D,MAAM,gBAAgB,GAAG,IAAI,CAAC;QAC9B,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC;QACnH,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC;QAEhH,IAAI,eAAe,EAAE,CAAC;YAClB,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,wCAAwC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,YAAY,CAAC,WAAW,CAAC,cAAc,EAAE,cAAc,YAAY,CAAC,UAAU,CAAC,cAAc,EAAE,wBAAwB,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,MAAM,OAAO,CAAC,cAAc,EAAE,sBAAsB,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,OAAO,iBAAiB,CAAC,cAAc,EAAE,qBAAqB,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,gBAAgB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAC7f,IAAI,CAAC,cAAc,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAC9D,CAAC;aACI,IAAI,gBAAgB,EAAE,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,wCAAwC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,iBAAiB,IAAI,CAAC,iBAAiB,MAAM,OAAO,sBAAsB,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,OAAO,iBAAiB,CAAC,cAAc,EAAE,qBAAqB,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,gBAAgB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACnX,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,iBAAiB,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1H,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACzC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;QAC1C,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;QAClD,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;QACxD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;QAC5C,OAAO,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAAC;QAEtF,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;QAC9D,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC;QAC1E,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;QAC9D,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACxD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9C,2FAA2F;QAC3F,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAElC,+BAA+B;QAC/B,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,IAAI,OAAO,EAA0B,CAAC;QAE1D,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;QAEjC,uEAAuE;QACvE,gDAAgD;QAEhD,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC5B,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBACtB,wCAAwC;gBACxC,IAAI,eAAe;oBAAE,OAAO,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;gBAC5G,OAAO;YACX,CAAC;YACD,IAAI,MAAM,IAAI,MAAM,CAAC,eAAe,IAAI,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC;YACnD,CAAC;QACL,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAEO,0BAA0B,CAAC,eAAuB,EAAE,cAAiC,EAAE,sBAA8B,CAAC;QAC1H,uDAAuD;QACvD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAuD,CAAC;QACtF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,IAAI,MAAM,IAAI,MAAM,CAAC,eAAe,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC3D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACvC,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACjD,MAAM,QAAQ,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;oBACvC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAClD,CAAC;qBACI,CAAC;oBACF,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAE,CAAC;oBACnD,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;gBACrB,CAAC;gBAED,IAAI,cAAc,IAAI,cAAc,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/C,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACtD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;wBACf,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBACpC,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,wCAAwC;QACxC,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,uBAAuB;QACvB,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,cAAc,EAAE,CAAC;YACxC,eAAe,IAAI,CAAC,CAAC;YACrB,aAAa,IAAI,IAAI,CAAC,WAAW,CAAC;YAClC,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC;YAChC,8EAA8E;QAClF,CAAC;QACD,mHAAmH;QACnH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;QAC7E,IAAI,cAAc,GAAG,YAAY,GAAG,eAAe,CAAC;QACpD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;QAC9E,IAAI,aAAa,GAAG,cAAc,GAAG,eAAe,CAAC;QAErD,mEAAmE;QACnE,qDAAqD;QACrD,IAAI,cAAc,EAAE,CAAC;YACjB,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACzC,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;oBACnB,cAAc,IAAI,QAAQ,CAAC,WAAW,GAAG,mBAAmB,CAAC;oBAC7D,aAAa,IAAI,QAAQ,CAAC,UAAU,GAAG,mBAAmB,CAAC;gBAC/D,CAAC;YAEL,CAAC;QACL,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,8CAA8C,IAAI,CAAC,IAAI,iBAAiB,eAAe,UAAU,cAAc,EAAE,MAAM,IAAI,CAAC,iBAAiB,eAAe,yBAAyB,cAAc,CAAC,cAAc,EAAE,wBAAwB,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC9R,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;IACtE,CAAC;IAGO,WAAW,CAAC,MAAsB;QAEtC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC5B,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,2CAA2C;YAC3C,OAAO;QACX,CAAC;QAED,0CAA0C;QAC1C,IAAI,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YAClD,IAAI,eAAe;gBACf,OAAO,CAAC,IAAI,CAAC,qCAAqC,MAAM,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,2BAA2B,IAAI,CAAC,qBAAqB,mBAAmB,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,kBAAkB,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,oBAAoB,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAEnU,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;YAC7F,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YACvC,IAAI,CAAC,mBAAmB,IAAI,MAAM,CAAC,cAAc,CAAC;YAClD,IAAI,CAAC,kBAAkB,IAAI,MAAM,CAAC,aAAa,CAAC;QACpD,CAAC;aACI,CAAC;YACF,IAAI,eAAe,KAAK,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC,MAAM,CAAC,IAAI,mBAAmB,UAAU,KAAK,IAAI,CAAC,qBAAqB,YAAY,CAAC,CAAC;QACzK,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,CAAC,eAAe,GAAG,UAAU,CAAC;QACpC,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC;QAC3B,MAAM,CAAC,qBAAqB,GAAG,MAAM,CAAC,cAAc,CAAC;QACrD,MAAM,CAAC,oBAAoB,GAAG,MAAM,CAAC,aAAa,CAAC;QACnD,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,eAAe;YACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,MAAM,CAAC,IAAI,mBAAmB,UAAU,KAAK,IAAI,CAAC,qBAAqB,sBAAsB,MAAM,CAAC,eAAe,eAAe,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,eAAe,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAEhX,CAAC;IAEO,mBAAmB,CAAC,MAAsB;QAC9C,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC;YAAE,OAAO;QAE1D,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC;QAClF,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,EAAE,WAAW,CAAC,KAAK,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC;IAClH,CAAC;IAGO,cAAc,CAAC,MAAsB,EAAE,IAAa;QACxD,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,mDAAmD,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/E,OAAO;QACX,CAAC;QACD,2EAA2E;QAC3E,kDAAkD;QAClD,WAAW;QACX,wDAAwD;QACxD,QAAQ;QACR,iEAAiE;QACjE,IAAI,eAAe,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,oCAAoC,MAAM,CAAC,IAAI,UAAU,MAAM,CAAC,eAAe,kBAAkB,MAAM,CAAC,eAAe,KAAK,IAAI,CAAC,qBAAqB,sBAAsB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;QACxN,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC7D,CAAC;;AAcL,SAAS,kBAAkB,CAAC,GAAmB;IAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,IAAI,gBAAgB,EAAE;YAAE,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACxF,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAC7C,CAAC;IACD,IAAI,WAAW,GAAG,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC;IACvD,IAAI,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC5D,IAAI,OAAO,EAAE,CAAC;QACV,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;QACjC,IAAI,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,gEAAgE;QAChE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC;QACxD,SAAS,IAAI,KAAK,CAAC;QACnB,cAAc,IAAI,EAAE,CAAC;QACrB,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC/C,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACtD,CAAC;IACD,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAmB,KAAK;IACjD,MAAM,GAAG,GAAG,IAAI,oBAAoB,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACvI,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;IACzB,GAAG,CAAC,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,IAAI,QAAQ,CAAC,WAAW,CAAC;QACrB,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;IACzB,OAAO,GAAG,CAAC;AACf,CAAC"}
@@ -8,7 +8,7 @@ import { NEEDLE_progressive } from "@needle-tools/gltf-progressive";
8
8
  import { Euler, Matrix4, Object3D, Quaternion, Vector3 } from "three";
9
9
  import { isDevEnvironment, showBalloonMessage, showBalloonWarning } from "../../../engine/debug/index.js";
10
10
  import { findObjectOfType } from "../../../engine/engine_components.js";
11
- import { $Ljyi } from "../../../engine/engine_license.js";
11
+ import { oMxKl } from "../../../engine/engine_license.js";
12
12
  import { serializable } from "../../../engine/engine_serialization.js";
13
13
  import { getFormattedDate, Progress } from "../../../engine/engine_time_utils.js";
14
14
  import { DeviceUtilities, getParam } from "../../../engine/engine_utils.js";
@@ -227,7 +227,7 @@ export class USDZExporter extends Behaviour {
227
227
  async exportAndOpen() {
228
228
  let name = this.exportFileName ?? this.objectToExport?.name ?? this.name;
229
229
  name += "-" + getFormattedDate(); // seems iOS caches the file in some cases, this ensures we always have a fresh file
230
- if (!$Ljyi()) {
230
+ if (!oMxKl()) {
231
231
  if (name !== "")
232
232
  name += "-";
233
233
  name += "MadeWithNeedle";
@@ -596,7 +596,7 @@ export class USDZExporter extends Behaviour {
596
596
  if (debug)
597
597
  showBalloonMessage("Quicklook url: " + callToActionURL);
598
598
  if (callToActionURL) {
599
- if (!$Ljyi()) {
599
+ if (!oMxKl()) {
600
600
  console.warn("Quicklook closed: custom redirects require a Needle Engine Pro license: https://needle.tools/pricing", callToActionURL);
601
601
  }
602
602
  else {
@@ -611,7 +611,7 @@ export class USDZExporter extends Behaviour {
611
611
  const obj = {};
612
612
  if (this.customBranding)
613
613
  Object.assign(obj, this.customBranding);
614
- if (!$Ljyi()) {
614
+ if (!oMxKl()) {
615
615
  console.log("Custom Quicklook banner text requires pro license: https://needle.tools/pricing");
616
616
  obj.callToAction = "Close";
617
617
  obj.checkoutTitle = "🌵 Made with Needle";
@@ -61,7 +61,11 @@ export class SplineWalker extends Behaviour {
61
61
  return this._position01;
62
62
  }
63
63
  set position01(v) {
64
- this._position01 = v;
64
+ // Normalize on assignment so reading the value back is predictable and never out of range.
65
+ // Doing this only in updateFromPosition() made it depend on a spline + curve + object being
66
+ // ready and a frame having run — until then this property reported e.g. 1.5.
67
+ // Note this is destructive (as clamping always is): setting 1.5 while clamped stores 1.
68
+ this._position01 = this.clamp ? Mathf.clamp01(v) : Mathf.repeat(v);
65
69
  this._needsUpdate = true;
66
70
  }
67
71
  /** Resets the position to 0 */
@@ -131,11 +135,13 @@ export class SplineWalker extends Behaviour {
131
135
  return;
132
136
  if (!this.object)
133
137
  return;
138
+ // Still normalized here as well: autoRun accumulates into _position01 directly (bypassing the
139
+ // setter), and `clamp` may change after a value was assigned.
134
140
  if (this.clamp)
135
141
  this._position01 = Mathf.clamp01(this._position01);
136
142
  else
137
- this._position01 = this._position01 % 1;
138
- const t = this._position01 >= 1 ? 1 : this._position01 % 1;
143
+ this._position01 = Mathf.repeat(this._position01);
144
+ const t = this._position01 >= 1 ? 1 : Mathf.repeat(this._position01);
139
145
  const pt = this.spline.getPointAt(t);
140
146
  if (this.pullStrength >= 1) {
141
147
  this.object.worldPosition = pt;
@@ -1 +1 @@
1
- {"version":3,"file":"SplineWalker.js","sourceRoot":"","sources":["../../../src/engine-components/splines/SplineWalker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SplineWalker.js","sourceRoot":"","sources":["../../../src/engine-components/splines/SplineWalker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@needle-tools/engine",
3
- "version": "5.1.10",
3
+ "version": "5.1.11",
4
4
  "description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in.",
5
5
  "main": "dist/needle-engine.min.js",
6
6
  "exports": {
@@ -127,7 +127,7 @@ async function requestNeedleCloud(path, options) {
127
127
  * @param {DefaultOptions & {accessToken?:string, team:string|undefined}} opts
128
128
  */
129
129
  export async function replaceLicense(code, opts) {
130
- const index = code?.indexOf("__ZrI");
130
+ const index = code?.indexOf("_YNAWxLD");
131
131
  if (index >= 0) {
132
132
  const licenseResult = await resolveLicense(opts);
133
133
  if (!licenseResult) {
@@ -136,18 +136,18 @@ export async function replaceLicense(code, opts) {
136
136
  const end = code.indexOf(";", index);
137
137
  if (end >= 0) {
138
138
  const line = code.substring(index, end);
139
- const replaced = "__ZrI = \"" + licenseResult.type + "\"";
139
+ const replaced = "_YNAWxLD = \"" + licenseResult.type + "\"";
140
140
  code = code.replace(line, replaced);
141
141
  }
142
142
 
143
143
  // Also inject JWT if available
144
144
  if (licenseResult.jwt) {
145
- const jwtIndex = code.indexOf("_AXD");
145
+ const jwtIndex = code.indexOf("_$dGYOn");
146
146
  if (jwtIndex >= 0) {
147
147
  const jwtEnd = code.indexOf(";", jwtIndex);
148
148
  if (jwtEnd >= 0) {
149
149
  const jwtLine = code.substring(jwtIndex, jwtEnd);
150
- const jwtReplaced = "_AXD = \"" + licenseResult.jwt + "\"";
150
+ const jwtReplaced = "_$dGYOn = \"" + licenseResult.jwt + "\"";
151
151
  code = code.replace(jwtLine, jwtReplaced);
152
152
  }
153
153
  }
@@ -49,12 +49,12 @@ export function needleLicense(command, config, userSettings) {
49
49
  let modified = false;
50
50
 
51
51
  // Replace license type
52
- const index = src.indexOf("__ZrI");
52
+ const index = src.indexOf("_YNAWxLD");
53
53
  if (index >= 0) {
54
54
  const end = src.indexOf(";", index);
55
55
  if (end >= 0) {
56
56
  const line = src.substring(index, end);
57
- const replaced = "__ZrI = \"" + licenseResult.type + "\"";
57
+ const replaced = "_YNAWxLD = \"" + licenseResult.type + "\"";
58
58
  src = src.replace(line, replaced);
59
59
  modified = true;
60
60
  }
@@ -62,12 +62,12 @@ export function needleLicense(command, config, userSettings) {
62
62
 
63
63
  // Replace license JWT (same pattern)
64
64
  if (licenseResult.jwt) {
65
- const jwtIndex = src.indexOf("_AXD");
65
+ const jwtIndex = src.indexOf("_$dGYOn");
66
66
  if (jwtIndex >= 0) {
67
67
  const jwtEnd = src.indexOf(";", jwtIndex);
68
68
  if (jwtEnd >= 0) {
69
69
  const jwtLine = src.substring(jwtIndex, jwtEnd);
70
- const jwtReplaced = "_AXD = \"" + licenseResult.jwt + "\"";
70
+ const jwtReplaced = "_$dGYOn = \"" + licenseResult.jwt + "\"";
71
71
  src = src.replace(jwtLine, jwtReplaced);
72
72
  modified = true;
73
73
  }
package/src/engine/api.ts CHANGED
@@ -230,7 +230,7 @@ export * from "./engine_input.js";
230
230
  export { InstancingUtil } from "./engine_instancing.js";
231
231
 
232
232
  /** License checking utilities */
233
- export { __KODK, $fHATZ, $Ljyi } from "./engine_license.js";
233
+ export { __zrAx, __nlZsk, oMxKl } from "./engine_license.js";
234
234
 
235
235
 
236
236
  // ============================================================================