linearly 0.34.2 → 0.35.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -8
- package/lib/cjs/mat2.d.ts +20 -5
- package/lib/cjs/mat2.d.ts.map +1 -1
- package/lib/cjs/mat2.js +35 -5
- package/lib/cjs/mat2d.d.ts +7 -3
- package/lib/cjs/mat2d.d.ts.map +1 -1
- package/lib/cjs/mat2d.js +7 -3
- package/lib/cjs/mat3.d.ts +1 -0
- package/lib/cjs/mat3.d.ts.map +1 -1
- package/lib/cjs/mat3.js +2 -1
- package/lib/cjs/mat4.d.ts +43 -16
- package/lib/cjs/mat4.d.ts.map +1 -1
- package/lib/cjs/mat4.js +73 -17
- package/lib/cjs/quat.d.ts +31 -3
- package/lib/cjs/quat.d.ts.map +1 -1
- package/lib/cjs/quat.js +177 -7
- package/lib/cjs/scalar.d.ts +141 -10
- package/lib/cjs/scalar.d.ts.map +1 -1
- package/lib/cjs/scalar.js +156 -11
- package/lib/cjs/vec2.d.ts +189 -34
- package/lib/cjs/vec2.d.ts.map +1 -1
- package/lib/cjs/vec2.js +354 -46
- package/lib/cjs/vec3.d.ts +143 -25
- package/lib/cjs/vec3.d.ts.map +1 -1
- package/lib/cjs/vec3.js +297 -44
- package/lib/cjs/vec4.d.ts +127 -30
- package/lib/cjs/vec4.d.ts.map +1 -1
- package/lib/cjs/vec4.js +292 -54
- package/lib/esm/mat2.d.ts +20 -5
- package/lib/esm/mat2.d.ts.map +1 -1
- package/lib/esm/mat2.js +35 -5
- package/lib/esm/mat2d.d.ts +7 -3
- package/lib/esm/mat2d.d.ts.map +1 -1
- package/lib/esm/mat2d.js +7 -3
- package/lib/esm/mat3.d.ts +1 -0
- package/lib/esm/mat3.d.ts.map +1 -1
- package/lib/esm/mat3.js +2 -1
- package/lib/esm/mat4.d.ts +43 -16
- package/lib/esm/mat4.d.ts.map +1 -1
- package/lib/esm/mat4.js +73 -17
- package/lib/esm/quat.d.ts +31 -3
- package/lib/esm/quat.d.ts.map +1 -1
- package/lib/esm/quat.js +177 -7
- package/lib/esm/scalar.d.ts +141 -10
- package/lib/esm/scalar.d.ts.map +1 -1
- package/lib/esm/scalar.js +156 -11
- package/lib/esm/vec2.d.ts +189 -34
- package/lib/esm/vec2.d.ts.map +1 -1
- package/lib/esm/vec2.js +354 -46
- package/lib/esm/vec3.d.ts +143 -25
- package/lib/esm/vec3.d.ts.map +1 -1
- package/lib/esm/vec3.js +297 -44
- package/lib/esm/vec4.d.ts +127 -30
- package/lib/esm/vec4.d.ts.map +1 -1
- package/lib/esm/vec4.js +292 -54
- package/package.json +1 -1
package/lib/cjs/quat.d.ts
CHANGED
|
@@ -9,7 +9,8 @@ import { vec4 } from './vec4';
|
|
|
9
9
|
*/
|
|
10
10
|
export type quat = readonly [x: number, y: number, z: number, w: number];
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Functions for {@link quat}, a format for representing rotation in 3D space.
|
|
13
|
+
* @category Modules
|
|
13
14
|
*/
|
|
14
15
|
export declare namespace quat {
|
|
15
16
|
/**
|
|
@@ -68,7 +69,7 @@ export declare namespace quat {
|
|
|
68
69
|
* Gets the rotation axis and angle for a given
|
|
69
70
|
* quaternion. If a quaternion is created with
|
|
70
71
|
* fromAxisAngle, this method will return the same
|
|
71
|
-
* values as
|
|
72
|
+
* values as provided in the original parameter list
|
|
72
73
|
* OR functionally equivalent values.
|
|
73
74
|
* Example: The quaternion formed by axis [0, 0, 1] and
|
|
74
75
|
* angle -90 is the same as the quaternion formed by
|
|
@@ -94,7 +95,7 @@ export declare namespace quat {
|
|
|
94
95
|
* @param a the first operand
|
|
95
96
|
* @param b the second operand
|
|
96
97
|
*
|
|
97
|
-
* @
|
|
98
|
+
* @shorthands
|
|
98
99
|
* - {@link mul}
|
|
99
100
|
*/
|
|
100
101
|
function multiply(...qs: quat[]): quat;
|
|
@@ -171,6 +172,15 @@ export declare namespace quat {
|
|
|
171
172
|
* Creates a quaternion from the given 4x4 affine matrix. The translation portion of the matrix is ignored. Same as mat4. Alias for {@link mat4.getRotation}.
|
|
172
173
|
*/
|
|
173
174
|
const fromMat4: typeof mat4.getRotation;
|
|
175
|
+
/**
|
|
176
|
+
* Creates a quaternion from a normalized direction vector and an up vector.
|
|
177
|
+
* Equivalent to GLM's `glm::quatLookAt`.
|
|
178
|
+
*
|
|
179
|
+
* @param direction Normalized direction vector (forward)
|
|
180
|
+
* @param up Up vector, default is vec3.unitY
|
|
181
|
+
* @category Generators
|
|
182
|
+
*/
|
|
183
|
+
function lookAt(direction: vec3, up?: vec3): quat;
|
|
174
184
|
/**
|
|
175
185
|
* Creates a quaternion from the given euler angle x, y, z using the provided intrinsic order for the conversion.
|
|
176
186
|
*
|
|
@@ -179,6 +189,24 @@ export declare namespace quat {
|
|
|
179
189
|
* @category Generators
|
|
180
190
|
*/
|
|
181
191
|
function fromEuler(deg: vec3, order?: Common.AngleOrder): number[];
|
|
192
|
+
/**
|
|
193
|
+
* Extracts Euler angles from a quaternion. This is the inverse of {@link fromEuler}.
|
|
194
|
+
* Equivalent to GLM's `glm::eulerAngles`.
|
|
195
|
+
*
|
|
196
|
+
* @param q The quaternion to extract Euler angles from
|
|
197
|
+
* @param order Intrinsic order for conversion, default is zyx
|
|
198
|
+
* @returns Euler angles in degrees as vec3 [x, y, z]
|
|
199
|
+
*/
|
|
200
|
+
function toEuler(q: quat, order?: Common.AngleOrder): vec3;
|
|
201
|
+
/**
|
|
202
|
+
* Performs a normalized linear interpolation (nlerp) between two quaternions.
|
|
203
|
+
* Faster than {@link slerp} and sufficient for small rotation differences.
|
|
204
|
+
*
|
|
205
|
+
* @param a the first operand
|
|
206
|
+
* @param b the second operand
|
|
207
|
+
* @param t interpolation amount, in the range [0-1], between the two inputs
|
|
208
|
+
*/
|
|
209
|
+
function lerp(a: quat, b: quat, t: number): quat;
|
|
182
210
|
/**
|
|
183
211
|
* Adds given quat's
|
|
184
212
|
*/
|
package/lib/cjs/quat.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quat.d.ts","sourceRoot":"","sources":["../../src/quat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAE3B;;;GAGG;AACH,MAAM,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;AAExE
|
|
1
|
+
{"version":3,"file":"quat.d.ts","sourceRoot":"","sources":["../../src/quat.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/quat.js
CHANGED
|
@@ -29,7 +29,8 @@ const mat4_1 = require("./mat4");
|
|
|
29
29
|
const vec3_1 = require("./vec3");
|
|
30
30
|
const vec4_1 = require("./vec4");
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* Functions for {@link quat}, a format for representing rotation in 3D space.
|
|
33
|
+
* @category Modules
|
|
33
34
|
*/
|
|
34
35
|
var quat;
|
|
35
36
|
(function (quat) {
|
|
@@ -100,7 +101,7 @@ var quat;
|
|
|
100
101
|
* Gets the rotation axis and angle for a given
|
|
101
102
|
* quaternion. If a quaternion is created with
|
|
102
103
|
* fromAxisAngle, this method will return the same
|
|
103
|
-
* values as
|
|
104
|
+
* values as provided in the original parameter list
|
|
104
105
|
* OR functionally equivalent values.
|
|
105
106
|
* Example: The quaternion formed by axis [0, 0, 1] and
|
|
106
107
|
* angle -90 is the same as the quaternion formed by
|
|
@@ -140,7 +141,7 @@ var quat;
|
|
|
140
141
|
* @param a the first operand
|
|
141
142
|
* @param b the second operand
|
|
142
143
|
*
|
|
143
|
-
* @
|
|
144
|
+
* @shorthands
|
|
144
145
|
* - {@link mul}
|
|
145
146
|
*/
|
|
146
147
|
function multiply(...qs) {
|
|
@@ -375,6 +376,31 @@ var quat;
|
|
|
375
376
|
* Creates a quaternion from the given 4x4 affine matrix. The translation portion of the matrix is ignored. Same as mat4. Alias for {@link mat4.getRotation}.
|
|
376
377
|
*/
|
|
377
378
|
quat.fromMat4 = mat4_1.mat4.getRotation;
|
|
379
|
+
/**
|
|
380
|
+
* Creates a quaternion from a normalized direction vector and an up vector.
|
|
381
|
+
* Equivalent to GLM's `glm::quatLookAt`.
|
|
382
|
+
*
|
|
383
|
+
* @param direction Normalized direction vector (forward)
|
|
384
|
+
* @param up Up vector, default is vec3.unitY
|
|
385
|
+
* @category Generators
|
|
386
|
+
*/
|
|
387
|
+
function lookAt(direction, up = vec3_1.vec3.unitY) {
|
|
388
|
+
const right = vec3_1.vec3.normalize(vec3_1.vec3.cross(up, direction));
|
|
389
|
+
const correctedUp = vec3_1.vec3.cross(direction, right);
|
|
390
|
+
const m = [
|
|
391
|
+
right[0],
|
|
392
|
+
correctedUp[0],
|
|
393
|
+
direction[0],
|
|
394
|
+
right[1],
|
|
395
|
+
correctedUp[1],
|
|
396
|
+
direction[1],
|
|
397
|
+
right[2],
|
|
398
|
+
correctedUp[2],
|
|
399
|
+
direction[2],
|
|
400
|
+
];
|
|
401
|
+
return quat.normalize(fromMat3(m));
|
|
402
|
+
}
|
|
403
|
+
quat.lookAt = lookAt;
|
|
378
404
|
/**
|
|
379
405
|
* Creates a quaternion from the given euler angle x, y, z using the provided intrinsic order for the conversion.
|
|
380
406
|
*
|
|
@@ -384,9 +410,10 @@ var quat;
|
|
|
384
410
|
*/
|
|
385
411
|
function fromEuler(deg, order = Common.DEFAULT_ANGLE_ORDER) {
|
|
386
412
|
const [xDeg, yDeg, zDeg] = deg;
|
|
387
|
-
const
|
|
388
|
-
const
|
|
389
|
-
const
|
|
413
|
+
const halfToRad = Common.DEG2RAD * 0.5;
|
|
414
|
+
const xRad = xDeg * halfToRad;
|
|
415
|
+
const yRad = yDeg * halfToRad;
|
|
416
|
+
const zRad = zDeg * halfToRad;
|
|
390
417
|
const sx = Math.sin(xRad);
|
|
391
418
|
const cx = Math.cos(xRad);
|
|
392
419
|
const sy = Math.sin(yRad);
|
|
@@ -439,6 +466,149 @@ var quat;
|
|
|
439
466
|
}
|
|
440
467
|
}
|
|
441
468
|
quat.fromEuler = fromEuler;
|
|
469
|
+
/**
|
|
470
|
+
* Extracts Euler angles from a quaternion. This is the inverse of {@link fromEuler}.
|
|
471
|
+
* Equivalent to GLM's `glm::eulerAngles`.
|
|
472
|
+
*
|
|
473
|
+
* @param q The quaternion to extract Euler angles from
|
|
474
|
+
* @param order Intrinsic order for conversion, default is zyx
|
|
475
|
+
* @returns Euler angles in degrees as vec3 [x, y, z]
|
|
476
|
+
*/
|
|
477
|
+
function toEuler(q, order = Common.DEFAULT_ANGLE_ORDER) {
|
|
478
|
+
const [x, y, z, w] = q;
|
|
479
|
+
const x2 = x * x;
|
|
480
|
+
const y2 = y * y;
|
|
481
|
+
const z2 = z * z;
|
|
482
|
+
const w2 = w * w;
|
|
483
|
+
// Rotation matrix elements from quaternion
|
|
484
|
+
const m00 = w2 + x2 - y2 - z2;
|
|
485
|
+
const m01 = 2 * (x * y - w * z);
|
|
486
|
+
const m02 = 2 * (x * z + w * y);
|
|
487
|
+
const m10 = 2 * (x * y + w * z);
|
|
488
|
+
const m11 = w2 - x2 + y2 - z2;
|
|
489
|
+
const m12 = 2 * (y * z - w * x);
|
|
490
|
+
const m20 = 2 * (x * z - w * y);
|
|
491
|
+
const m21 = 2 * (y * z + w * x);
|
|
492
|
+
const m22 = w2 - x2 - y2 + z2;
|
|
493
|
+
const GIMBAL = 0.9999999;
|
|
494
|
+
let ex, ey, ez;
|
|
495
|
+
switch (order) {
|
|
496
|
+
case 'zyx': {
|
|
497
|
+
const sinP = -m20;
|
|
498
|
+
if (Math.abs(sinP) >= GIMBAL) {
|
|
499
|
+
ex = 0;
|
|
500
|
+
ey = Math.sign(sinP) * (Math.PI / 2);
|
|
501
|
+
ez = Math.atan2(-m01, m11);
|
|
502
|
+
}
|
|
503
|
+
else {
|
|
504
|
+
ex = Math.atan2(m21, m22);
|
|
505
|
+
ey = Math.asin(sinP);
|
|
506
|
+
ez = Math.atan2(m10, m00);
|
|
507
|
+
}
|
|
508
|
+
break;
|
|
509
|
+
}
|
|
510
|
+
case 'xyz': {
|
|
511
|
+
const sinP = m02;
|
|
512
|
+
if (Math.abs(sinP) >= GIMBAL) {
|
|
513
|
+
ex = Math.atan2(m21, m11);
|
|
514
|
+
ey = Math.sign(sinP) * (Math.PI / 2);
|
|
515
|
+
ez = 0;
|
|
516
|
+
}
|
|
517
|
+
else {
|
|
518
|
+
ex = Math.atan2(-m12, m22);
|
|
519
|
+
ey = Math.asin(sinP);
|
|
520
|
+
ez = Math.atan2(-m01, m00);
|
|
521
|
+
}
|
|
522
|
+
break;
|
|
523
|
+
}
|
|
524
|
+
case 'yxz': {
|
|
525
|
+
const sinP = -m12;
|
|
526
|
+
if (Math.abs(sinP) >= GIMBAL) {
|
|
527
|
+
ex = Math.sign(sinP) * (Math.PI / 2);
|
|
528
|
+
ey = Math.atan2(-m20, m00);
|
|
529
|
+
ez = 0;
|
|
530
|
+
}
|
|
531
|
+
else {
|
|
532
|
+
ex = Math.asin(sinP);
|
|
533
|
+
ey = Math.atan2(m02, m22);
|
|
534
|
+
ez = Math.atan2(m10, m11);
|
|
535
|
+
}
|
|
536
|
+
break;
|
|
537
|
+
}
|
|
538
|
+
case 'yzx': {
|
|
539
|
+
const sinP = m10;
|
|
540
|
+
if (Math.abs(sinP) >= GIMBAL) {
|
|
541
|
+
ex = 0;
|
|
542
|
+
ey = Math.atan2(m02, m22);
|
|
543
|
+
ez = Math.sign(sinP) * (Math.PI / 2);
|
|
544
|
+
}
|
|
545
|
+
else {
|
|
546
|
+
ex = Math.atan2(-m12, m11);
|
|
547
|
+
ey = Math.atan2(-m20, m00);
|
|
548
|
+
ez = Math.asin(sinP);
|
|
549
|
+
}
|
|
550
|
+
break;
|
|
551
|
+
}
|
|
552
|
+
case 'zxy': {
|
|
553
|
+
const sinP = m21;
|
|
554
|
+
if (Math.abs(sinP) >= GIMBAL) {
|
|
555
|
+
ex = Math.sign(sinP) * (Math.PI / 2);
|
|
556
|
+
ey = 0;
|
|
557
|
+
ez = Math.atan2(m10, m00);
|
|
558
|
+
}
|
|
559
|
+
else {
|
|
560
|
+
ex = Math.asin(sinP);
|
|
561
|
+
ey = Math.atan2(-m20, m22);
|
|
562
|
+
ez = Math.atan2(-m01, m11);
|
|
563
|
+
}
|
|
564
|
+
break;
|
|
565
|
+
}
|
|
566
|
+
case 'xzy': {
|
|
567
|
+
const sinP = -m01;
|
|
568
|
+
if (Math.abs(sinP) >= GIMBAL) {
|
|
569
|
+
ex = Math.atan2(-m12, m22);
|
|
570
|
+
ey = 0;
|
|
571
|
+
ez = Math.sign(sinP) * (Math.PI / 2);
|
|
572
|
+
}
|
|
573
|
+
else {
|
|
574
|
+
ex = Math.atan2(m21, m11);
|
|
575
|
+
ey = Math.atan2(m02, m00);
|
|
576
|
+
ez = Math.asin(sinP);
|
|
577
|
+
}
|
|
578
|
+
break;
|
|
579
|
+
}
|
|
580
|
+
}
|
|
581
|
+
return [
|
|
582
|
+
ex * Common.RAD2DEG,
|
|
583
|
+
ey * Common.RAD2DEG,
|
|
584
|
+
ez * Common.RAD2DEG,
|
|
585
|
+
];
|
|
586
|
+
}
|
|
587
|
+
quat.toEuler = toEuler;
|
|
588
|
+
/**
|
|
589
|
+
* Performs a normalized linear interpolation (nlerp) between two quaternions.
|
|
590
|
+
* Faster than {@link slerp} and sufficient for small rotation differences.
|
|
591
|
+
*
|
|
592
|
+
* @param a the first operand
|
|
593
|
+
* @param b the second operand
|
|
594
|
+
* @param t interpolation amount, in the range [0-1], between the two inputs
|
|
595
|
+
*/
|
|
596
|
+
function lerp(a, b, t) {
|
|
597
|
+
let [bx, by, bz, bw] = b;
|
|
598
|
+
if (quat.dot(a, b) < 0) {
|
|
599
|
+
bx = -bx;
|
|
600
|
+
by = -by;
|
|
601
|
+
bz = -bz;
|
|
602
|
+
bw = -bw;
|
|
603
|
+
}
|
|
604
|
+
return quat.normalize([
|
|
605
|
+
a[0] + (bx - a[0]) * t,
|
|
606
|
+
a[1] + (by - a[1]) * t,
|
|
607
|
+
a[2] + (bz - a[2]) * t,
|
|
608
|
+
a[3] + (bw - a[3]) * t,
|
|
609
|
+
]);
|
|
610
|
+
}
|
|
611
|
+
quat.lerp = lerp;
|
|
442
612
|
/**
|
|
443
613
|
* Adds given quat's
|
|
444
614
|
*/
|
|
@@ -592,4 +762,4 @@ var quat;
|
|
|
592
762
|
}
|
|
593
763
|
quat.setAxes = setAxes;
|
|
594
764
|
})(quat || (exports.quat = quat = {}));
|
|
595
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQWtDO0FBRWxDLGlDQUEyQjtBQUMzQixpQ0FBMkI7QUFDM0IsaUNBQTJCO0FBUTNCOztHQUVHO0FBQ0gsSUFBaUIsSUFBSSxDQTZtQnBCO0FBN21CRCxXQUFpQixJQUFJO0lBT3BCOzs7T0FHRztJQUNILFNBQWdCLEVBQUUsQ0FBQyxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTO1FBQzVELE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNwQixDQUFDO0lBRmUsT0FBRSxLQUVqQixDQUFBO0lBRUQ7OztPQUdHO0lBQ0gsU0FBZ0IsS0FBSyxDQUFDLENBQU87UUFDNUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDZCxDQUFDO0lBRmUsVUFBSyxRQUVwQixDQUFBO0lBRUQ7Ozs7Ozs7T0FPRztJQUNVLGFBQVEsR0FBUyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUV6RDs7O09BR0c7SUFDVSxNQUFDLEdBQUcsS0FBQSxRQUFRLENBQUE7SUFFekI7OztPQUdHO0lBQ1UsT0FBRSxHQUFHLEtBQUEsUUFBUSxDQUFBO0lBRTFCOzs7T0FHRztJQUNVLFVBQUssR0FBRyxLQUFBLFFBQVEsQ0FBQTtJQUU3Qjs7O09BR0c7SUFDVSxTQUFJLEdBQVMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFckQ7Ozs7OztRQU1JO0lBQ0osU0FBZ0IsYUFBYSxDQUFDLElBQVUsRUFBRSxHQUFXO1FBQ3BELE1BQU0s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LEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRTtpQkFDM0IsQ0FBQTtZQUVGLEtBQUssS0FBSztnQkFDVCxPQUFPO29CQUNOLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRTtvQkFDM0IsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO29CQUMzQixFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7b0JBQzNCLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRTtpQkFDM0IsQ0FBQTtZQUVGLEtBQUssS0FBSztnQkFDVCxPQUFPO29CQUNOLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRTtvQkFDM0IsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO29CQUMzQixFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7b0JBQzNCLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRTtpQkFDM0IsQ0FBQTtZQUVGLEtBQUssS0FBSztnQkFDVCxPQUFPO29CQUNOLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRTtvQkFDM0IsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO29CQUMzQixFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7b0JBQzNCLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRTtpQkFD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
|
|
765
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQWtDO0FBRWxDLGlDQUEyQjtBQUMzQixpQ0FBMkI7QUFDM0IsaUNBQTJCO0FBUTNCOzs7R0FHRztBQUNILElBQWlCLElBQUksQ0E4eEJwQjtBQTl4QkQsV0FBaUIsSUFBSTtJQU9wQjs7O09BR0c7SUFDSCxTQUFnQixFQUFFLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUztRQUM1RCxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDcEIsQ0FBQztJQUZlLE9BQUUsS0FFakIsQ0FBQTtJQUVEOzs7T0FHRztJQUNILFNBQWdCLEtBQUssQ0FBQyxDQUFPO1FBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ2QsQ0FBQztJQUZlLFVBQUssUUFFcEIsQ0FBQTtJQUVEOzs7Ozs7O09BT0c7SUFDVSxhQUFRLEdBQVMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFekQ7OztPQUdHO0lBQ1UsTUFBQyxHQUFHLEtBQUEsUUFBUSxDQUFBO0lBRXpCOzs7T0FHRztJQUNVLE9BQUUsR0FBRyxLQUFBLFFBQVEsQ0FBQTtJQUUxQjs7O09BR0c7SUFDVSxVQUFLLEdBQUcsS0FBQSxRQUFRLENBQUE7SUFFN0I7OztPQUdHO0lBQ1UsU0FBSSxHQUFTLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBRXJEOzs7Ozs7UUFNSTtJQUNKLFNBQWdCLGFBQWEsQ0FBQyxJQUFVLEVBQUUsR0FBVztRQUNwRCxNQUFN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LENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFNUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDL0MsQ0FBQztJQVJlLFFBQUcsTUFRbEIsQ0FBQTtJQUVEOztPQUVHO0lBQ0gsU0FBZ0IsRUFBRSxDQUFDLENBQU87UUFDekIsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUV0QixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDN0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFMUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzVFLENBQUM7SUFQZSxPQUFFLEtBT2pCLENBQUE7SUFFRDs7T0FFRztJQUNILFNBQWdCLEdBQUcsQ0FBQyxDQUFPLEVBQUUsQ0FBUztRQUNyQyxPQUFPLEdBQUcsQ0FBQyxLQUFBLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUs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O29CQUMzQixFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7aUJBQzNCLENBQUE7WUFFRixLQUFLLEtBQUs7Z0JBQ1QsT0FBTztvQkFDTixFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7b0JBQzNCLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRTtvQkFDM0IsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO29CQUMzQixFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7aUJBQzNCLENBQUE7WUFFRixLQUFLLEtBQUs7Z0JBQ1QsT0FBTztvQkFDTixFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7b0JBQzNCLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRTtvQkFDM0IsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO29CQUMzQixFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7aUJBQzNCLENBQUE7WUFFRixLQUFLLEtBQUs7Z0JBQ1QsT0FBTztvQkFDTixFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7b0JBQzNCLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRTtvQkFDM0IsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO29CQUMzQixFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdB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
|