@lakuna/umath 2.0.0 → 3.0.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.
Files changed (88) hide show
  1. package/LICENSE +1 -1
  2. package/dist/algorithms/greatestCommonDivisor.d.ts.map +1 -1
  3. package/dist/algorithms/greatestCommonDivisor.js +14 -4
  4. package/dist/algorithms/greatestCommonDivisor.js.map +1 -1
  5. package/dist/index.d.ts +11 -11
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/linalg/DualQuaternion.d.ts +124 -124
  9. package/dist/linalg/DualQuaternion.d.ts.map +1 -1
  10. package/dist/linalg/DualQuaternion.js +173 -165
  11. package/dist/linalg/DualQuaternion.js.map +1 -1
  12. package/dist/linalg/Matrix.d.ts +24 -24
  13. package/dist/linalg/Matrix.d.ts.map +1 -1
  14. package/dist/linalg/Matrix2.d.ts +63 -63
  15. package/dist/linalg/Matrix2.d.ts.map +1 -1
  16. package/dist/linalg/Matrix2.js +92 -88
  17. package/dist/linalg/Matrix2.js.map +1 -1
  18. package/dist/linalg/Matrix3.d.ts +107 -107
  19. package/dist/linalg/Matrix3.d.ts.map +1 -1
  20. package/dist/linalg/Matrix3.js +147 -138
  21. package/dist/linalg/Matrix3.js.map +1 -1
  22. package/dist/linalg/Matrix4.d.ts +200 -201
  23. package/dist/linalg/Matrix4.d.ts.map +1 -1
  24. package/dist/linalg/Matrix4.js +272 -251
  25. package/dist/linalg/Matrix4.js.map +1 -1
  26. package/dist/linalg/Quaternion.d.ts +116 -116
  27. package/dist/linalg/Quaternion.d.ts.map +1 -1
  28. package/dist/linalg/Quaternion.js +175 -161
  29. package/dist/linalg/Quaternion.js.map +1 -1
  30. package/dist/linalg/SlowMatrix.d.ts +5 -5
  31. package/dist/linalg/SlowMatrix.d.ts.map +1 -1
  32. package/dist/linalg/SlowMatrix.js +12 -12
  33. package/dist/linalg/SlowMatrix.js.map +1 -1
  34. package/dist/linalg/SlowSquareMatrix.d.ts +6 -6
  35. package/dist/linalg/SlowSquareMatrix.d.ts.map +1 -1
  36. package/dist/linalg/SlowSquareMatrix.js +15 -15
  37. package/dist/linalg/SlowSquareMatrix.js.map +1 -1
  38. package/dist/linalg/SlowVector.d.ts +70 -70
  39. package/dist/linalg/SlowVector.d.ts.map +1 -1
  40. package/dist/linalg/SlowVector.js +153 -153
  41. package/dist/linalg/SlowVector.js.map +1 -1
  42. package/dist/linalg/SquareMatrix.d.ts +8 -8
  43. package/dist/linalg/SquareMatrix.d.ts.map +1 -1
  44. package/dist/linalg/Vector.d.ts +85 -84
  45. package/dist/linalg/Vector.d.ts.map +1 -1
  46. package/dist/linalg/Vector2.d.ts +104 -104
  47. package/dist/linalg/Vector2.d.ts.map +1 -1
  48. package/dist/linalg/Vector2.js +145 -143
  49. package/dist/linalg/Vector2.js.map +1 -1
  50. package/dist/linalg/Vector3.d.ts +130 -130
  51. package/dist/linalg/Vector3.d.ts.map +1 -1
  52. package/dist/linalg/Vector3.js +176 -173
  53. package/dist/linalg/Vector3.js.map +1 -1
  54. package/dist/linalg/Vector4.d.ts +101 -101
  55. package/dist/linalg/Vector4.d.ts.map +1 -1
  56. package/dist/linalg/Vector4.js +144 -140
  57. package/dist/linalg/Vector4.js.map +1 -1
  58. package/dist/types/AxisAngle.d.ts +2 -2
  59. package/dist/types/AxisAngle.d.ts.map +1 -1
  60. package/dist/types/FieldOfView.d.ts +2 -2
  61. package/dist/types/FieldOfView.d.ts.map +1 -1
  62. package/dist/utility/BigNumber.d.ts +21 -11
  63. package/dist/utility/BigNumber.d.ts.map +1 -1
  64. package/dist/utility/BigNumber.js +42 -31
  65. package/dist/utility/BigNumber.js.map +1 -1
  66. package/dist/utility/createAxisAngleLike.d.ts.map +1 -1
  67. package/dist/utility/createAxisAngleLike.js.map +1 -1
  68. package/package.json +11 -9
  69. package/src/algorithms/greatestCommonDivisor.ts +19 -7
  70. package/src/index.ts +17 -13
  71. package/src/linalg/DualQuaternion.ts +208 -193
  72. package/src/linalg/Matrix.ts +28 -28
  73. package/src/linalg/Matrix2.ts +117 -108
  74. package/src/linalg/Matrix3.ts +177 -158
  75. package/src/linalg/Matrix4.ts +386 -348
  76. package/src/linalg/Quaternion.ts +207 -189
  77. package/src/linalg/SlowMatrix.ts +19 -18
  78. package/src/linalg/SlowSquareMatrix.ts +19 -18
  79. package/src/linalg/SlowVector.ts +170 -169
  80. package/src/linalg/SquareMatrix.ts +9 -9
  81. package/src/linalg/Vector.ts +91 -89
  82. package/src/linalg/Vector2.ts +160 -155
  83. package/src/linalg/Vector3.ts +206 -199
  84. package/src/linalg/Vector4.ts +165 -156
  85. package/src/types/AxisAngle.ts +3 -3
  86. package/src/types/FieldOfView.ts +3 -3
  87. package/src/utility/BigNumber.ts +63 -41
  88. package/src/utility/createAxisAngleLike.ts +1 -0
@@ -1,13 +1,13 @@
1
- import SingularMatrixError from "../utility/SingularMatrixError.js";
2
1
  import approxRelative from "../algorithms/approxRelative.js";
2
+ import SingularMatrixError from "../utility/SingularMatrixError.js";
3
3
  /**
4
4
  * Creates a three-by-three matrix-like object.
5
5
  * @returns A three-by-three matrix-like object.
6
6
  * @public
7
7
  */
8
- export const createMatrix3Like = () => {
9
- return new Float32Array(9);
10
- };
8
+ export const createMatrix3Like = () =>
9
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
10
+ new Float32Array(9);
11
11
  /**
12
12
  * Create a three-by-three matrix with the given values.
13
13
  * @param c0r0 - The value in the first column and first row.
@@ -455,42 +455,62 @@ export const translate = (matrix, vector, out) => {
455
455
  * @public
456
456
  */
457
457
  export default class Matrix3 extends Float32Array {
458
+ /** The value in the first column and first row. */
459
+ // eslint-disable-next-line @typescript-eslint/naming-convention
460
+ 0;
461
+ /** The value in the first column and second row. */
462
+ // eslint-disable-next-line @typescript-eslint/naming-convention
463
+ 1;
464
+ /** The value in the first column and third row. */
465
+ // eslint-disable-next-line @typescript-eslint/naming-convention
466
+ 2;
467
+ /** The value in the second column and first row. */
468
+ // eslint-disable-next-line @typescript-eslint/naming-convention
469
+ 3;
470
+ /** The value in the second column and second row. */
471
+ // eslint-disable-next-line @typescript-eslint/naming-convention
472
+ 4;
473
+ /** The value in the second column and third row. */
474
+ // eslint-disable-next-line @typescript-eslint/naming-convention
475
+ 5;
476
+ /** The value in the third column and first row. */
477
+ // eslint-disable-next-line @typescript-eslint/naming-convention
478
+ 6;
479
+ /** The value in the third column and second row. */
480
+ // eslint-disable-next-line @typescript-eslint/naming-convention
481
+ 7;
482
+ /** The value in the third column and third row. */
483
+ // eslint-disable-next-line @typescript-eslint/naming-convention
484
+ 8;
485
+ /** The number of rows in this matrix. */
486
+ height;
487
+ /** The number of columns in this matrix. */
488
+ width;
458
489
  /**
459
- * Create a transformation matrix that represents a rotation by the given angle around the Z-axis.
460
- * @param r - The angle in radians.
461
- * @returns The transformation matrix.
462
- * @see {@link https://en.wikipedia.org/wiki/Rotation_matrix | Rotation matrix}
463
- */
464
- static fromRotation(r) {
465
- return fromRotation(r, new Matrix3());
466
- }
467
- /**
468
- * Create a transformation matrix that represents a scaling by the given vector.
469
- * @param vector - The scaling vector.
470
- * @returns The transformation matrix.
471
- * @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
490
+ * Get the determinant of this matrix.
491
+ * @see {@link https://en.wikipedia.org/wiki/Determinant | Determinant}
472
492
  */
473
- static fromScaling(vector) {
474
- return fromScaling(vector, new Matrix3());
493
+ get determinant() {
494
+ return determinant(this);
475
495
  }
476
496
  /**
477
- * Create a transformation matrix that represents a translation by the given vector.
478
- * @param vector - The translation vector.
479
- * @returns The transformation matrix.
480
- * @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
497
+ * Get the Frobenius norm of this matrix.
498
+ * @see {@link https://en.wikipedia.org/wiki/Matrix_norm | Matrix norm}
481
499
  */
482
- static fromTranslation(vector) {
483
- return fromTranslation(vector, new Matrix3());
500
+ get frob() {
501
+ return frob(this);
484
502
  }
485
503
  /**
486
- * Create a transformation matrix that represents a rotation by the given quaternion.
487
- * @param quaternion - The quaternion.
488
- * @returns The transformation matrix.
489
- * @see {@link https://en.wikipedia.org/wiki/Quaternion | Quaternion}
490
- * @see {@link https://en.wikipedia.org/wiki/Rotation_matrix | Rotation matrix}
504
+ * Create a three-by-three identity matrix.
505
+ * @see {@link https://en.wikipedia.org/wiki/Identity_matrix | Identity matrix}
491
506
  */
492
- static fromQuaternion(quaternion) {
493
- return fromQuaternion(quaternion, new Matrix3());
507
+ constructor() {
508
+ super(9);
509
+ this[0] = 1;
510
+ this[4] = 1;
511
+ this[8] = 1;
512
+ this.width = 3;
513
+ this.height = 3;
494
514
  }
495
515
  /**
496
516
  * Create a transformation matrix that represents a rotation by the given z-y'-x" (intrinsic) Tait-Bryan angles.
@@ -505,32 +525,49 @@ export default class Matrix3 extends Float32Array {
505
525
  return fromEuler(z, y, x, new Matrix3());
506
526
  }
507
527
  /**
508
- * Calculate a three-by-three normal (inverse transpose) matrix from a four-by-four matrix.
528
+ * Create a three-by-three matrix from the upper-left corner of a four-by-four matrix.
509
529
  * @param matrix - The four-by-four matrix.
510
- * @returns The normal matrix.
511
- * @see {@link https://en.wikipedia.org/wiki/Normal_matrix | Normal matrix}
530
+ * @returns The three-by-three matrix.
512
531
  */
513
- static normalFromMatrix4(matrix) {
514
- return normalFromMatrix4(matrix, new Matrix3());
532
+ static fromMatrix4(matrix) {
533
+ return fromMatrix4(matrix, new Matrix3());
515
534
  }
516
535
  /**
517
- * Generate a two-dimensional projection matrix with the given bounds.
518
- * @param width - The width of the projection.
519
- * @param height - The height of the projection.
520
- * @returns The projection matrix.
521
- * @see {@link https://en.wikipedia.org/wiki/Camera_matrix | Camera matrix}
522
- * @see {@link https://en.wikipedia.org/wiki/3D_projection | 3D projection}
536
+ * Create a transformation matrix that represents a rotation by the given quaternion.
537
+ * @param quaternion - The quaternion.
538
+ * @returns The transformation matrix.
539
+ * @see {@link https://en.wikipedia.org/wiki/Quaternion | Quaternion}
540
+ * @see {@link https://en.wikipedia.org/wiki/Rotation_matrix | Rotation matrix}
523
541
  */
524
- static projection(width, height) {
525
- return projection(width, height, new Matrix3());
542
+ static fromQuaternion(quaternion) {
543
+ return fromQuaternion(quaternion, new Matrix3());
526
544
  }
527
545
  /**
528
- * Create a three-by-three matrix from the upper-left corner of a four-by-four matrix.
529
- * @param matrix - The four-by-four matrix.
530
- * @returns The three-by-three matrix.
546
+ * Create a transformation matrix that represents a rotation by the given angle around the Z-axis.
547
+ * @param r - The angle in radians.
548
+ * @returns The transformation matrix.
549
+ * @see {@link https://en.wikipedia.org/wiki/Rotation_matrix | Rotation matrix}
531
550
  */
532
- static fromMatrix4(matrix) {
533
- return fromMatrix4(matrix, new Matrix3());
551
+ static fromRotation(r) {
552
+ return fromRotation(r, new Matrix3());
553
+ }
554
+ /**
555
+ * Create a transformation matrix that represents a scaling by the given vector.
556
+ * @param vector - The scaling vector.
557
+ * @returns The transformation matrix.
558
+ * @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
559
+ */
560
+ static fromScaling(vector) {
561
+ return fromScaling(vector, new Matrix3());
562
+ }
563
+ /**
564
+ * Create a transformation matrix that represents a translation by the given vector.
565
+ * @param vector - The translation vector.
566
+ * @returns The transformation matrix.
567
+ * @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
568
+ */
569
+ static fromTranslation(vector) {
570
+ return fromTranslation(vector, new Matrix3());
534
571
  }
535
572
  /**
536
573
  * Create a two-by-two matrix with the given values.
@@ -549,54 +586,24 @@ export default class Matrix3 extends Float32Array {
549
586
  return fromValues(c0r0, c0r1, c0r2, c1r0, c1r1, c1r2, c2r0, c2r1, c2r2, new Matrix3());
550
587
  }
551
588
  /**
552
- * Create a three-by-three identity matrix.
553
- * @see {@link https://en.wikipedia.org/wiki/Identity_matrix | Identity matrix}
554
- */
555
- constructor() {
556
- super(9);
557
- this[0] = 1;
558
- this[4] = 1;
559
- this[8] = 1;
560
- this.width = 3;
561
- this.height = 3;
562
- }
563
- /** The value in the first column and first row. */
564
- 0;
565
- /** The value in the first column and second row. */
566
- 1;
567
- /** The value in the first column and third row. */
568
- 2;
569
- /** The value in the second column and first row. */
570
- 3;
571
- /** The value in the second column and second row. */
572
- 4;
573
- /** The value in the second column and third row. */
574
- 5;
575
- /** The value in the third column and first row. */
576
- 6;
577
- /** The value in the third column and second row. */
578
- 7;
579
- /** The value in the third column and third row. */
580
- 8;
581
- /** The number of columns in this matrix. */
582
- width;
583
- /** The number of rows in this matrix. */
584
- height;
585
- /**
586
- * Determine whether or not this matrix is roughly equivalent to another.
587
- * @param matrix - The other matrix.
588
- * @returns Whether or not the matrices are equivalent.
589
+ * Calculate a three-by-three normal (inverse transpose) matrix from a four-by-four matrix.
590
+ * @param matrix - The four-by-four matrix.
591
+ * @returns The normal matrix.
592
+ * @see {@link https://en.wikipedia.org/wiki/Normal_matrix | Normal matrix}
589
593
  */
590
- equals(matrix) {
591
- return equals(this, matrix);
594
+ static normalFromMatrix4(matrix) {
595
+ return normalFromMatrix4(matrix, new Matrix3());
592
596
  }
593
597
  /**
594
- * Determine whether or not this matrix is exactly equivalent to another.
595
- * @param matrix - The other matrix.
596
- * @returns Whether or not the matrices are equivalent.
598
+ * Generate a two-dimensional projection matrix with the given bounds.
599
+ * @param width - The width of the projection.
600
+ * @param height - The height of the projection.
601
+ * @returns The projection matrix.
602
+ * @see {@link https://en.wikipedia.org/wiki/Camera_matrix | Camera matrix}
603
+ * @see {@link https://en.wikipedia.org/wiki/3D_projection | 3D projection}
597
604
  */
598
- exactEquals(matrix) {
599
- return exactEquals(this, matrix);
605
+ static projection(width, height) {
606
+ return projection(width, height, new Matrix3());
600
607
  }
601
608
  /**
602
609
  * Add two matrices of the same size.
@@ -631,11 +638,36 @@ export default class Matrix3 extends Float32Array {
631
638
  return copy(matrix, this);
632
639
  }
633
640
  /**
634
- * Get the Frobenius norm of this matrix.
635
- * @see {@link https://en.wikipedia.org/wiki/Matrix_norm | Matrix norm}
641
+ * Determine whether or not this matrix is roughly equivalent to another.
642
+ * @param matrix - The other matrix.
643
+ * @returns Whether or not the matrices are equivalent.
636
644
  */
637
- get frob() {
638
- return frob(this);
645
+ equals(matrix) {
646
+ return equals(this, matrix);
647
+ }
648
+ /**
649
+ * Determine whether or not this matrix is exactly equivalent to another.
650
+ * @param matrix - The other matrix.
651
+ * @returns Whether or not the matrices are equivalent.
652
+ */
653
+ exactEquals(matrix) {
654
+ return exactEquals(this, matrix);
655
+ }
656
+ /**
657
+ * Reset this matrix to identity.
658
+ * @returns This matrix.
659
+ * @see {@link https://en.wikipedia.org/wiki/Identity_matrix | Identity matrix}
660
+ */
661
+ identity() {
662
+ return identity(this);
663
+ }
664
+ /**
665
+ * Invert this matrix.
666
+ * @returns The inverted matrix.
667
+ * @see {@link https://en.wikipedia.org/wiki/Invertible_matrix | Invertible matrix}
668
+ */
669
+ invert() {
670
+ return invert(this, new Matrix3());
639
671
  }
640
672
  /**
641
673
  * Multiply this matrix by another.
@@ -666,46 +698,6 @@ export default class Matrix3 extends Float32Array {
666
698
  multiplyScalarAndAdd(matrix, scalar) {
667
699
  return multiplyScalarAndAdd(this, matrix, scalar, new Matrix3());
668
700
  }
669
- /**
670
- * Subtract another matrix from this one.
671
- * @param matrix - The other matrix.
672
- * @returns The difference between the matrices.
673
- * @see {@link https://en.wikipedia.org/wiki/Matrix_addition | Matrix addition}
674
- */
675
- subtract(matrix) {
676
- return subtract(this, matrix, new Matrix3());
677
- }
678
- /**
679
- * Transpose this matrix.
680
- * @returns The transpose of this matrix.
681
- * @see {@link https://en.wikipedia.org/wiki/Transpose | Transpose}
682
- */
683
- transpose() {
684
- return transpose(this, new Matrix3());
685
- }
686
- /**
687
- * Get the determinant of this matrix.
688
- * @see {@link https://en.wikipedia.org/wiki/Determinant | Determinant}
689
- */
690
- get determinant() {
691
- return determinant(this);
692
- }
693
- /**
694
- * Reset this matrix to identity.
695
- * @returns This matrix.
696
- * @see {@link https://en.wikipedia.org/wiki/Identity_matrix | Identity matrix}
697
- */
698
- identity() {
699
- return identity(this);
700
- }
701
- /**
702
- * Invert this matrix.
703
- * @returns The inverted matrix.
704
- * @see {@link https://en.wikipedia.org/wiki/Invertible_matrix | Invertible matrix}
705
- */
706
- invert() {
707
- return invert(this, new Matrix3());
708
- }
709
701
  /**
710
702
  * Rotate this matrix by the given angle around the Z-axis.
711
703
  * @param r - The angle in radians.
@@ -724,6 +716,15 @@ export default class Matrix3 extends Float32Array {
724
716
  scale(vector) {
725
717
  return scale(this, vector, new Matrix3());
726
718
  }
719
+ /**
720
+ * Subtract another matrix from this one.
721
+ * @param matrix - The other matrix.
722
+ * @returns The difference between the matrices.
723
+ * @see {@link https://en.wikipedia.org/wiki/Matrix_addition | Matrix addition}
724
+ */
725
+ subtract(matrix) {
726
+ return subtract(this, matrix, new Matrix3());
727
+ }
727
728
  /**
728
729
  * Translate this matrix by the given vector.
729
730
  * @param vector - The translation vector.
@@ -733,5 +734,13 @@ export default class Matrix3 extends Float32Array {
733
734
  translate(vector) {
734
735
  return translate(this, vector, new Matrix3());
735
736
  }
737
+ /**
738
+ * Transpose this matrix.
739
+ * @returns The transpose of this matrix.
740
+ * @see {@link https://en.wikipedia.org/wiki/Transpose | Transpose}
741
+ */
742
+ transpose() {
743
+ return transpose(this, new Matrix3());
744
+ }
736
745
  }
737
746
  //# sourceMappingURL=Matrix3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Matrix3.js","sourceRoot":"","sources":["../../src/linalg/Matrix3.ts"],"names":[],"mappings":"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IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACvB,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACvB,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACvB,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACvB,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACvB,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAEvB,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GA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"}
1
+ {"version":3,"file":"Matrix3.js","sourceRoot":"","sources":["../../src/linalg/Matrix3.ts"],"names":[],"mappings":"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AAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACvB,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACvB,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACvB,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACvB,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACvB,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAEvB,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAElC,IAAI,GAAG,GACN,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACvE,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,MAAM,IAAI,mBAAmB,EAAE,CAAC;IACjC,CAAC;IACD,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IAEd,OAAO,UAAU,CAChB,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EACzC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EACzC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EACzC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EACzC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EACzC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EACzC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EACzC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EACzC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EACzC,GAAG,CACH,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CACzB,KAAa,EACb,MAAc,EACd,GAAM,EACF,EAAE,CAAC,UAAU,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AAEtE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAC1B,MAAmB,EACnB,GAAM,EACF,EAAE,CACN,UAAU,CACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,EAAE,CAAC,EACV,GAAG,CACH,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAc,EAAE,CAAc,EAAW,EAAE,CACjE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAc,EAAE,CAAc,EAAW,EAAE,CACtE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACb,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACb,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACb,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACb,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACb,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACb,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACb,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACb,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAEf;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAClB,CAAc,EACd,CAAc,EACd,GAAM,EACF,EAAE,CACN,UAAU,CACT,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACX,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACX,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACX,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACX,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACX,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACX,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACX,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACX,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACX,GAAG,CACH,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CACtB,MAAmB,EACnB,GAAM,EACF,EAAE;IACN,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAEtB,OAAO,UAAU,CAChB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACrB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACrB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACrB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACrB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACrB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACrB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACrB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACrB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACrB,GAAG,CACH,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAwB,MAAmB,EAAE,GAAM,EAAK,EAAE,CAC7E,UAAU,CACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,GAAG,CACH,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,MAAmB,EAAU,EAAE,CACnD,IAAI,CAAC,KAAK,CACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,CACT,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACvB,CAAc,EACd,CAAc,EACd,GAAM,EACF,EAAE;IACN,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjB,OAAO,UAAU,CAChB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACjC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACjC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACjC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACjC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACjC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACjC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACjC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACjC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACjC,GAAG,CACH,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC7B,MAAmB,EACnB,MAAc,EACd,GAAM,EACF,EAAE,CACN,UAAU,CACT,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAClB,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAClB,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAClB,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAClB,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAClB,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAClB,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAClB,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAClB,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAClB,GAAG,CACH,CAAC;AAEH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CACnC,CAAc,EACd,CAAc,EACd,MAAc,EACd,GAAM,EACF,EAAE,CACN,UAAU,CACT,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EACpB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EACpB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EACpB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EACpB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EACpB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EACpB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EACpB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EACpB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EACpB,GAAG,CACH,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACvB,CAAc,EACd,CAAc,EACd,GAAM,EACF,EAAE,CACN,UAAU,CACT,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACX,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACX,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACX,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACX,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACX,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACX,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACX,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACX,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACX,GAAG,CACH,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACxB,MAAmB,EACnB,GAAM,EACF,EAAE;IACN,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACtB,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACb,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACb,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACb,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,OAAO,UAAU,CAChB,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,GAAG,CACH,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAmB,EAAU,EAAE;IAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAEtB,OAAO,CACN,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;QACnC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;QACpC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CACnC,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAwB,GAAM,EAAK,EAAE,CAC5D,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AAE5C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CACrB,MAAmB,EACnB,GAAM,EACF,EAAE;IACN,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAEtB,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAClC,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACnC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAElC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC5C,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,MAAM,IAAI,mBAAmB,EAAE,CAAC;IACjC,CAAC;IACD,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IAEd,OAAO,UAAU,CAChB,GAAG,GAAG,GAAG,EACT,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EAC9B,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EAC7B,GAAG,GAAG,GAAG,EACT,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EAC7B,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EAC9B,GAAG,GAAG,GAAG,EACT,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EAC9B,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EAC7B,GAAG,CACH,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CACrB,MAAmB,EACnB,OAAe,EACf,GAAM,EACF,EAAE;IACN,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAEtB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAE5B,OAAO,UAAU,CAChB,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EACjB,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EACjB,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EACjB,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EACjB,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EACjB,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EACjB,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,GAAG,CACH,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CACpB,MAAmB,EACnB,MAAmB,EACnB,GAAM,EACF,EAAE;IACN,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAEpB,OAAO,UAAU,CAChB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EACb,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EACb,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EACb,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EACb,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EACb,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EACb,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,GAAG,CACH,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACxB,MAAmB,EACnB,MAAmB,EACnB,GAAM,EACF,EAAE;IACN,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAEtB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAEpB,OAAO,UAAU,CAChB,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,EAC7B,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,EAC7B,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,EAC7B,GAAG,CACH,CAAC;AACH,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,OACpB,SAAQ,YAAY;IAGpB,mDAAmD;IACnD,gEAAgE;IACzD,CAAC,CAAS;IAEjB,oDAAoD;IACpD,gEAAgE;IACzD,CAAC,CAAS;IAEjB,mDAAmD;IACnD,gEAAgE;IACzD,CAAC,CAAS;IAEjB,oDAAoD;IACpD,gEAAgE;IACzD,CAAC,CAAS;IAEjB,qDAAqD;IACrD,gEAAgE;IACzD,CAAC,CAAS;IAEjB,oDAAoD;IACpD,gEAAgE;IACzD,CAAC,CAAS;IAEjB,mDAAmD;IACnD,gEAAgE;IACzD,CAAC,CAAS;IAEjB,oDAAoD;IACpD,gEAAgE;IACzD,CAAC,CAAS;IAEjB,mDAAmD;IACnD,gEAAgE;IACzD,CAAC,CAAS;IAEjB,yCAAyC;IACzB,MAAM,CAAI;IAE1B,4CAA4C;IAC5B,KAAK,CAAI;IAEzB;;;OAGG;IACH,IAAW,WAAW;QACrB,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH;QACC,KAAK,CAAC,CAAC,CAAC,CAAC;QAET,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACZ,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACZ,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAEZ,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACjB,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,SAAS,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;QACtD,OAAO,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,WAAW,CAAC,MAAmB;QAC5C,OAAO,WAAW,CAAC,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,cAAc,CAAC,UAA0B;QACtD,OAAO,cAAc,CAAC,UAAU,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,YAAY,CAAC,CAAS;QACnC,OAAO,YAAY,CAAC,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,WAAW,CAAC,MAAmB;QAC5C,OAAO,WAAW,CAAC,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,eAAe,CAAC,MAAmB;QAChD,OAAO,eAAe,CAAC,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,MAAM,CAAC,UAAU,CACvB,IAAY,EACZ,IAAY,EACZ,IAAY,EACZ,IAAY,EACZ,IAAY,EACZ,IAAY,EACZ,IAAY,EACZ,IAAY,EACZ,IAAY;QAEZ,OAAO,UAAU,CAChB,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,OAAO,EAAE,CACb,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,iBAAiB,CAAC,MAAmB;QAClD,OAAO,iBAAiB,CAAC,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,UAAU,CAAC,KAAa,EAAE,MAAc;QACrD,OAAO,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACI,GAAG,CAAC,MAAmB;QAC7B,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACI,OAAO;QACb,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,KAAK;QACX,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,MAAmB;QAC9B,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,MAAmB;QAChC,OAAO,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,MAAmB;QACrC,OAAO,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACI,QAAQ;QACd,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACI,MAAM;QACZ,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACI,QAAQ,CAAC,MAAmB;QAClC,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAAC,MAAc;QACnC,OAAO,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;OAOG;IACI,oBAAoB,CAAC,MAAmB,EAAE,MAAc;QAC9D,OAAO,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,CAAS;QACtB,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,MAAmB;QAC/B,OAAO,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACI,QAAQ,CAAC,MAAmB;QAClC,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACI,SAAS,CAAC,MAAmB;QACnC,OAAO,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACI,SAAS;QACf,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;CACD"}