@jdultra/threedtiles 13.0.14 → 13.0.16

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.
@@ -1,9 +1,9 @@
1
- var Wt = Object.defineProperty;
2
- var Xt = (o, e, a) => e in o ? Wt(o, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : o[e] = a;
3
- var ge = (o, e, a) => Xt(o, typeof e != "symbol" ? e + "" : e, a);
1
+ var Zt = Object.defineProperty;
2
+ var $t = (o, e, a) => e in o ? Zt(o, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : o[e] = a;
3
+ var ge = (o, e, a) => $t(o, typeof e != "symbol" ? e + "" : e, a);
4
4
  import * as E from "three";
5
- import { Matrix3 as Ra, Vector3 as S, Box3 as Sa, Matrix4 as je, Ray as Zt, BufferGeometry as va, BufferAttribute as le, TrianglesDrawMode as $t, TriangleFanDrawMode as Qa, TriangleStripDrawMode as It, Loader as Fa, LoaderUtils as Pe, FileLoader as Be, Color as he, LinearSRGBColorSpace as K, SpotLight as eA, PointLight as aA, DirectionalLight as tA, MeshBasicMaterial as Le, SRGBColorSpace as re, MeshPhysicalMaterial as ee, Vector2 as pt, Quaternion as Ct, InstancedMesh as AA, InstancedBufferAttribute as ya, Object3D as Bt, TextureLoader as iA, ImageBitmapLoader as sA, InterleavedBuffer as rA, InterleavedBufferAttribute as nA, LinearFilter as Ce, LinearMipmapLinearFilter as $e, RepeatWrapping as wa, NearestFilter as M, PointsMaterial as oA, Material as aa, LineBasicMaterial as cA, MeshStandardMaterial as Ua, DoubleSide as dA, PropertyBinding as bA, SkinnedMesh as lA, Mesh as xa, LineSegments as hA, Line as gA, LineLoop as fA, Points as uA, Group as ta, PerspectiveCamera as IA, MathUtils as pA, OrthographicCamera as mt, Skeleton as CA, AnimationClip as BA, Bone as mA, InterpolateLinear as Et, ColorManagement as ka, NearestMipmapNearestFilter as EA, LinearMipmapNearestFilter as QA, NearestMipmapLinearFilter as yA, ClampToEdgeWrapping as wA, MirroredRepeatWrapping as xA, InterpolateDiscrete as kA, FrontSide as Ze, Texture as Na, VectorKeyframeTrack as Pa, NumberKeyframeTrack as _a, QuaternionKeyframeTrack as Ha, Sphere as DA, Interpolant as jA, CompressedCubeTexture as MA, CompressedArrayTexture as RA, CompressedTexture as qa, RGBAFormat as $, RGBA_ASTC_4x4_Format as Qt, RGB_BPTC_UNSIGNED_Format as SA, RGBA_BPTC_Format as vA, RGBA_ETC2_EAC_Format as FA, RGBA_PVRTC_4BPPV1_Format as TA, RGBA_S3TC_DXT5_Format as LA, RGB_ETC1_Format as GA, RGB_ETC2_Format as UA, RGB_PVRTC_4BPPV1_Format as NA, RGBA_S3TC_DXT1_Format as PA, UnsignedByteType as X, HalfFloatType as xe, FloatType as v, DataTexture as Ge, Data3DTexture as _A, NoColorSpace as HA, RGFormat as Ue, RedFormat as Ne, RGBA_ASTC_6x6_Format as Oa, WebGL3DRenderTarget as ne, ShaderMaterial as Aa, InstancedBufferGeometry as Ja, DynamicDrawUsage as Ka, Scene as qA, PlaneGeometry as OA } from "three";
6
- class $i {
5
+ import { Matrix3 as Sa, Vector3 as M, Box3 as Fa, Matrix4 as je, Ray as eA, BufferGeometry as ea, LineBasicMaterial as It, LineSegments as pt, BufferAttribute as le, TrianglesDrawMode as aA, TriangleFanDrawMode as ya, TriangleStripDrawMode as Ct, Loader as va, LoaderUtils as Pe, FileLoader as Be, Color as he, LinearSRGBColorSpace as K, SpotLight as tA, PointLight as AA, DirectionalLight as iA, MeshBasicMaterial as Le, SRGBColorSpace as re, MeshPhysicalMaterial as ae, Vector2 as Bt, Quaternion as mt, InstancedMesh as sA, InstancedBufferAttribute as wa, Object3D as Et, TextureLoader as rA, ImageBitmapLoader as nA, InterleavedBuffer as oA, InterleavedBufferAttribute as cA, LinearFilter as Ce, LinearMipmapLinearFilter as $e, RepeatWrapping as xa, NearestFilter as R, PointsMaterial as dA, Material as ta, MeshStandardMaterial as Ua, DoubleSide as bA, PropertyBinding as lA, SkinnedMesh as hA, Mesh as ka, Line as gA, LineLoop as fA, Points as uA, Group as Aa, PerspectiveCamera as IA, MathUtils as pA, OrthographicCamera as Qt, Skeleton as CA, AnimationClip as BA, Bone as mA, InterpolateLinear as yt, ColorManagement as Da, NearestMipmapNearestFilter as EA, LinearMipmapNearestFilter as QA, NearestMipmapLinearFilter as yA, ClampToEdgeWrapping as wA, MirroredRepeatWrapping as xA, InterpolateDiscrete as kA, FrontSide as Ze, Texture as Na, VectorKeyframeTrack as Pa, NumberKeyframeTrack as _a, QuaternionKeyframeTrack as Ha, Sphere as DA, Interpolant as jA, CompressedCubeTexture as MA, CompressedArrayTexture as RA, CompressedTexture as qa, RGBAFormat as ee, RGBA_ASTC_4x4_Format as wt, RGB_BPTC_UNSIGNED_Format as SA, RGBA_BPTC_Format as FA, RGBA_ETC2_EAC_Format as vA, RGBA_PVRTC_4BPPV1_Format as TA, RGBA_S3TC_DXT5_Format as LA, RGB_ETC1_Format as GA, RGB_ETC2_Format as UA, RGB_PVRTC_4BPPV1_Format as NA, RGBA_S3TC_DXT1_Format as PA, UnsignedByteType as X, HalfFloatType as xe, FloatType as F, DataTexture as Ge, Data3DTexture as _A, NoColorSpace as HA, RGFormat as Ue, RedFormat as Ne, RGBA_ASTC_6x6_Format as Oa, WebGL3DRenderTarget as ne, ShaderMaterial as ia, InstancedBufferGeometry as Ja, DynamicDrawUsage as Ka, Scene as qA, PlaneGeometry as OA } from "three";
6
+ class es {
7
7
  constructor() {
8
8
  this.cullMap = [], this.cullMaterial = new E.MeshBasicMaterial({ vertexColors: !0 }), this.cullMaterial.side = E.FrontSide, this.cullTarget = this._createCullTarget(), this.cullPixels = new Uint8Array(4 * this.cullTarget.width * this.cullTarget.height);
9
9
  }
@@ -26,13 +26,13 @@ class $i {
26
26
  return this.cullMap[e];
27
27
  }
28
28
  }
29
- const J = new Ra(), G = new S(), za = new S(), Va = new Sa(), Ke = new je(), Ya = new je(), Wa = new Zt();
30
- class se {
29
+ const J = new Sa(), G = new M(), za = new M(), Va = new Fa(), Ke = new je(), Ya = new je(), Wa = new eA();
30
+ class $ {
31
31
  constructor(e) {
32
- this.center = new S(e[0], e[1], e[2]), this.e1 = new S(e[3], e[4], e[5]), this.e2 = new S(e[6], e[7], e[8]), this.e3 = new S(e[9], e[10], e[11]), this.halfSize = new S(this.e1.length(), this.e2.length(), this.e3.length()), this.e1.normalize(), this.e2.normalize(), this.e3.normalize(), this.rotationMatrix = new Ra(), this.rotationMatrix.set(this.e1.x, this.e1.y, this.e1.z, this.e2.x, this.e2.y, this.e2.z, this.e3.x, this.e3.y, this.e3.z);
32
+ this.center = new M(e[0], e[1], e[2]), this.e1 = new M(e[3], e[4], e[5]), this.e2 = new M(e[6], e[7], e[8]), this.e3 = new M(e[9], e[10], e[11]), this.halfSize = new M(this.e1.length(), this.e2.length(), this.e3.length()), this.e1.normalize(), this.e2.normalize(), this.e3.normalize(), this.rotationMatrix = new Sa(), this.rotationMatrix.set(this.e1.x, this.e2.x, this.e3.x, this.e1.y, this.e2.y, this.e3.y, this.e1.z, this.e2.z, this.e3.z);
33
33
  }
34
34
  copy(e) {
35
- this.center.copy(e.center), this.rotationMatrix.copy(e.rotationMatrix), this.halfSize.copy(e.halfSize);
35
+ this.center.copy(e.center), this.rotationMatrix.copy(e.rotationMatrix), this.halfSize.copy(e.halfSize), this.e1.copy(e.e1), this.e2.copy(e.e2), this.e3.copy(e.e3);
36
36
  }
37
37
  getSize(e) {
38
38
  return e.copy(this.halfSize).multiplyScalar(2);
@@ -43,7 +43,7 @@ class se {
43
43
  const A = G.set(a[4], a[5], a[6]).length(), i = G.set(a[8], a[9], a[10]).length();
44
44
  e.determinant() < 0 && (t = -t), J.setFromMatrix4(e);
45
45
  const s = 1 / t, r = 1 / A, c = 1 / i;
46
- return J.elements[0] *= s, J.elements[1] *= s, J.elements[2] *= s, J.elements[3] *= r, J.elements[4] *= r, J.elements[5] *= r, J.elements[6] *= c, J.elements[7] *= c, J.elements[8] *= c, this.rotationMatrix.multiply(J), this.halfSize.x *= t, this.halfSize.y *= A, this.halfSize.z *= i, G.setFromMatrixPosition(e), this.center.applyMatrix4(e), this;
46
+ return J.elements[0] *= s, J.elements[1] *= s, J.elements[2] *= s, J.elements[3] *= r, J.elements[4] *= r, J.elements[5] *= r, J.elements[6] *= c, J.elements[7] *= c, J.elements[8] *= c, this.rotationMatrix.multiply(J), this.halfSize.x *= t, this.halfSize.y *= A, this.halfSize.z *= i, G.setFromMatrixPosition(e), this.center.applyMatrix4(e), this.rotationMatrix.extractBasis(this.e1, this.e2, this.e3), this;
47
47
  }
48
48
  intersectRay(e, a) {
49
49
  return this.getSize(za), Va.setFromCenterAndSize(G.set(0, 0, 0), za), Ke.setFromMatrix3(this.rotationMatrix), Ke.setPosition(this.center), Ya.copy(Ke).invert(), Wa.copy(e).applyMatrix4(Ya), Wa.intersectBox(Va, a) ? a.applyMatrix4(Ke) : null;
@@ -52,14 +52,14 @@ class se {
52
52
  return this.intersectRay(e, G) !== null;
53
53
  }
54
54
  insidePlane(e) {
55
- const a = this.halfSize.x * Math.abs(e.normal.dot(this.e1)) + this.halfSize.y * Math.abs(e.normal.dot(this.e2)) + this.halfSize.z * Math.abs(e.normal.dot(this.e3)), t = e.distanceToPoint(this.center);
56
- return [Math.abs(t) <= a, t > -a];
55
+ e.normal.normalize();
56
+ const a = this.halfSize.x * Math.abs(e.normal.dot(this.e1)) + this.halfSize.y * Math.abs(e.normal.dot(this.e2)) + this.halfSize.z * Math.abs(e.normal.dot(this.e3));
57
+ return e.distanceToPoint(this.center) > -a;
57
58
  }
58
59
  inFrustum(e) {
59
- this.rotationMatrix.extractBasis(this.e1, this.e2, this.e3);
60
60
  for (let a = 0; a < 6; a++) {
61
61
  const t = e.planes[a];
62
- if (!this.insidePlane(t)[1]) return !1;
62
+ if (!this.insidePlane(t)) return !1;
63
63
  }
64
64
  return !0;
65
65
  }
@@ -68,6 +68,14 @@ class se {
68
68
  let a = Math.max(0, Math.max(-this.halfSize.x - G.x, G.x - this.halfSize.x)), t = Math.max(0, Math.max(-this.halfSize.y - G.y, G.y - this.halfSize.y)), A = Math.max(0, Math.max(-this.halfSize.z - G.z, G.z - this.halfSize.z));
69
69
  return Math.sqrt(a * a + t * t + A * A);
70
70
  }
71
+ helper() {
72
+ const e = this.halfSize, a = this.center, t = this.e1, A = this.e2, i = this.e3, s = [new M().copy(a).add(t.clone().multiplyScalar(e.x)).add(A.clone().multiplyScalar(e.y)).add(i.clone().multiplyScalar(e.z)), new M().copy(a).add(t.clone().multiplyScalar(-e.x)).add(A.clone().multiplyScalar(e.y)).add(i.clone().multiplyScalar(e.z)), new M().copy(a).add(t.clone().multiplyScalar(-e.x)).add(A.clone().multiplyScalar(-e.y)).add(i.clone().multiplyScalar(e.z)), new M().copy(a).add(t.clone().multiplyScalar(e.x)).add(A.clone().multiplyScalar(-e.y)).add(i.clone().multiplyScalar(e.z)), new M().copy(a).add(t.clone().multiplyScalar(e.x)).add(A.clone().multiplyScalar(e.y)).add(i.clone().multiplyScalar(-e.z)), new M().copy(a).add(t.clone().multiplyScalar(-e.x)).add(A.clone().multiplyScalar(e.y)).add(i.clone().multiplyScalar(-e.z)), new M().copy(a).add(t.clone().multiplyScalar(-e.x)).add(A.clone().multiplyScalar(-e.y)).add(i.clone().multiplyScalar(-e.z)), new M().copy(a).add(t.clone().multiplyScalar(e.x)).add(A.clone().multiplyScalar(-e.y)).add(i.clone().multiplyScalar(-e.z))], r = new ea().setFromPoints(s);
73
+ r.setIndex([0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7]), r.computeBoundingSphere();
74
+ const c = new It({ color: 16711680 }), n = new pt(r, c);
75
+ return n.dispose = () => {
76
+ c.dispose(), r.dispose();
77
+ }, n;
78
+ }
71
79
  }
72
80
  /**
73
81
  * @copyright 2021 Aaron Zhao <yujianzhao2013@gmail.com>
@@ -75,7 +83,7 @@ class se {
75
83
  * Linked hash map data structure
76
84
  * @class LinkedHashMap
77
85
  */
78
- class yt {
86
+ class xt {
79
87
  constructor() {
80
88
  this._data = /* @__PURE__ */ new Map(), this._link = /* @__PURE__ */ new Map(), this._head = void 0, this._tail = void 0;
81
89
  }
@@ -160,7 +168,7 @@ class yt {
160
168
  }
161
169
  }
162
170
  const JA = new TextDecoder();
163
- class wt {
171
+ class kt {
164
172
  constructor(e, a, t, A) {
165
173
  this.buffer = e, this.binOffset = a + t, this.binLength = A;
166
174
  let i = null;
@@ -238,7 +246,7 @@ class wt {
238
246
  return s;
239
247
  }
240
248
  }
241
- class KA extends wt {
249
+ class KA extends kt {
242
250
  constructor(e, a, t, A, i) {
243
251
  super(e, t, A, i), this.batchSize = a;
244
252
  }
@@ -272,8 +280,8 @@ function Xa(o) {
272
280
  return A !== void 0 && (r.gpuType = A), r;
273
281
  }
274
282
  function Za(o, e) {
275
- if (e === $t) return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."), o;
276
- if (e === Qa || e === It) {
283
+ if (e === aA) return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."), o;
284
+ if (e === ya || e === Ct) {
277
285
  let a = o.getIndex();
278
286
  if (a === null) {
279
287
  const s = [], r = o.getAttribute("position");
@@ -282,7 +290,7 @@ function Za(o, e) {
282
290
  o.setIndex(s), a = o.getIndex();
283
291
  }
284
292
  const t = a.count - 2, A = [];
285
- if (e === Qa) for (let s = 1; s <= t; s++) A.push(a.getX(0)), A.push(a.getX(s)), A.push(a.getX(s + 1));
293
+ if (e === ya) for (let s = 1; s <= t; s++) A.push(a.getX(0)), A.push(a.getX(s)), A.push(a.getX(s + 1));
286
294
  else for (let s = 0; s < t; s++) s % 2 == 0 ? (A.push(a.getX(s)), A.push(a.getX(s + 1)), A.push(a.getX(s + 2))) : (A.push(a.getX(s + 2)), A.push(a.getX(s + 1)), A.push(a.getX(s)));
287
295
  A.length / 3 !== t && console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");
288
296
  const i = o.clone();
@@ -290,7 +298,7 @@ function Za(o, e) {
290
298
  }
291
299
  return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:", e), o;
292
300
  }
293
- class xt {
301
+ class Dt {
294
302
  constructor(e) {
295
303
  ge(this, "checkLoaderInitialized", async () => new Promise((e) => {
296
304
  const a = setInterval(() => {
@@ -304,7 +312,7 @@ class xt {
304
312
  console.assert(r === "b3dm");
305
313
  const c = s.getUint32(8, !0);
306
314
  console.assert(c === e.byteLength);
307
- const n = s.getUint32(12, !0), b = s.getUint32(16, !0), d = s.getUint32(20, !0), l = s.getUint32(24, !0), g = new wt(e, 28, n, b), h = 28 + n + b;
315
+ const n = s.getUint32(12, !0), b = s.getUint32(16, !0), d = s.getUint32(20, !0), l = s.getUint32(24, !0), g = new kt(e, 28, n, b), h = 28 + n + b;
308
316
  new KA(e, g.getData("BATCH_LENGTH"), h, d, l);
309
317
  const f = h + d + l, I = new Uint8Array(e, f, c - f).slice().buffer;
310
318
  return new Promise(async (u, p) => {
@@ -348,7 +356,7 @@ class xt {
348
356
  }
349
357
  });
350
358
  }), function(h, f = !1) {
351
- const I = h[0].index !== null, u = new Set(Object.keys(h[0].attributes)), p = new Set(Object.keys(h[0].morphAttributes)), B = {}, C = {}, w = h[0].morphTargetsRelative, x = new va();
359
+ const I = h[0].index !== null, u = new Set(Object.keys(h[0].attributes)), p = new Set(Object.keys(h[0].morphAttributes)), B = {}, C = {}, w = h[0].morphTargetsRelative, x = new ea();
352
360
  let y = 0;
353
361
  for (let m = 0; m < h.length; ++m) {
354
362
  const Q = h[m];
@@ -379,7 +387,7 @@ class xt {
379
387
  const Q = [];
380
388
  for (let k = 0; k < h.length; ++k) {
381
389
  const D = h[k].index;
382
- for (let F = 0; F < D.count; ++F) Q.push(D.getX(F) + m);
390
+ for (let v = 0; v < D.count; ++v) Q.push(D.getX(v) + m);
383
391
  m += h[k].attributes.position.count;
384
392
  }
385
393
  x.setIndex(Q);
@@ -396,9 +404,9 @@ class xt {
396
404
  for (let k = 0; k < Q; ++k) {
397
405
  const D = [];
398
406
  for (let _ = 0; _ < C[m].length; ++_) D.push(C[m][_][k]);
399
- const F = Xa(D);
400
- if (!F) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the " + m + " morphAttribute."), null;
401
- x.morphAttributes[m].push(F);
407
+ const v = Xa(D);
408
+ if (!v) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the " + m + " morphAttribute."), null;
409
+ x.morphAttributes[m].push(v);
402
410
  }
403
411
  }
404
412
  return x;
@@ -408,13 +416,13 @@ class xt {
408
416
  });
409
417
  }
410
418
  }
411
- var ia, zA = new Uint8Array(16);
419
+ var sa, zA = new Uint8Array(16);
412
420
  function VA() {
413
- if (!ia && !(ia = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto < "u" && typeof msCrypto.getRandomValues == "function" && msCrypto.getRandomValues.bind(msCrypto))) throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
414
- return ia(zA);
421
+ if (!sa && !(sa = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto < "u" && typeof msCrypto.getRandomValues == "function" && msCrypto.getRandomValues.bind(msCrypto))) throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
422
+ return sa(zA);
415
423
  }
416
424
  const YA = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
417
- for (var T = [], sa = 0; sa < 256; ++sa) T.push((sa + 256).toString(16).substr(1));
425
+ for (var T = [], ra = 0; ra < 256; ++ra) T.push((ra + 256).toString(16).substr(1));
418
426
  function WA(o) {
419
427
  var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, a = (T[o[e + 0]] + T[o[e + 1]] + T[o[e + 2]] + T[o[e + 3]] + "-" + T[o[e + 4]] + T[o[e + 5]] + "-" + T[o[e + 6]] + T[o[e + 7]] + "-" + T[o[e + 8]] + T[o[e + 9]] + "-" + T[o[e + 10]] + T[o[e + 11]] + T[o[e + 12]] + T[o[e + 13]] + T[o[e + 14]] + T[o[e + 15]]).toLowerCase();
420
428
  if (!function(t) {
@@ -422,7 +430,7 @@ function WA(o) {
422
430
  }(a)) throw TypeError("Stringified UUID is invalid");
423
431
  return a;
424
432
  }
425
- function kt(o, e, a) {
433
+ function jt(o, e, a) {
426
434
  var t = (o = o || {}).random || (o.rng || VA)();
427
435
  return t[6] = 15 & t[6] | 64, t[8] = 63 & t[8] | 128, WA(t);
428
436
  }
@@ -453,7 +461,7 @@ class XA {
453
461
  });
454
462
  }
455
463
  }
456
- class Dt extends Fa {
464
+ class Mt extends va {
457
465
  constructor(e) {
458
466
  super(e), this.dracoLoader = null, this.ktx2Loader = null, this.meshoptDecoder = null, this.pluginCallbacks = [], this.register(function(a) {
459
467
  return new ti(a);
@@ -533,7 +541,7 @@ class Dt extends Fa {
533
541
  const s = {}, r = {}, c = new TextDecoder();
534
542
  if (typeof e == "string") i = JSON.parse(e);
535
543
  else if (e instanceof ArrayBuffer)
536
- if (c.decode(new Uint8Array(e, 0, 4)) === jt) {
544
+ if (c.decode(new Uint8Array(e, 0, 4)) === Rt) {
537
545
  try {
538
546
  s[j.KHR_BINARY_GLTF] = new Ci(e);
539
547
  } catch (b) {
@@ -612,18 +620,18 @@ class $A {
612
620
  const n = s.range !== void 0 ? s.range : 0;
613
621
  switch (s.type) {
614
622
  case "directional":
615
- r = new tA(c), r.target.position.set(0, 0, -1), r.add(r.target);
623
+ r = new iA(c), r.target.position.set(0, 0, -1), r.add(r.target);
616
624
  break;
617
625
  case "point":
618
- r = new aA(c), r.distance = n;
626
+ r = new AA(c), r.distance = n;
619
627
  break;
620
628
  case "spot":
621
- r = new eA(c), r.distance = n, s.spot = s.spot || {}, s.spot.innerConeAngle = s.spot.innerConeAngle !== void 0 ? s.spot.innerConeAngle : 0, s.spot.outerConeAngle = s.spot.outerConeAngle !== void 0 ? s.spot.outerConeAngle : Math.PI / 4, r.angle = s.spot.outerConeAngle, r.penumbra = 1 - s.spot.innerConeAngle / s.spot.outerConeAngle, r.target.position.set(0, 0, -1), r.add(r.target);
629
+ r = new tA(c), r.distance = n, s.spot = s.spot || {}, s.spot.innerConeAngle = s.spot.innerConeAngle !== void 0 ? s.spot.innerConeAngle : 0, s.spot.outerConeAngle = s.spot.outerConeAngle !== void 0 ? s.spot.outerConeAngle : Math.PI / 4, r.angle = s.spot.outerConeAngle, r.penumbra = 1 - s.spot.innerConeAngle / s.spot.outerConeAngle, r.target.position.set(0, 0, -1), r.add(r.target);
622
630
  break;
623
631
  default:
624
632
  throw new Error("THREE.GLTFLoader: Unexpected light type: " + s.type);
625
633
  }
626
- return r.position.set(0, 0, 0), r.decay = 2, ie(r, s), s.intensity !== void 0 && (r.intensity = s.intensity), r.name = a.createUniqueName(s.name || "light_" + e), A = Promise.resolve(r), a.cache.add(t, A), A;
634
+ return r.position.set(0, 0, 0), r.decay = 2, se(r, s), s.intensity !== void 0 && (r.intensity = s.intensity), r.name = a.createUniqueName(s.name || "light_" + e), A = Promise.resolve(r), a.cache.add(t, A), A;
627
635
  }
628
636
  getDependency(e, a) {
629
637
  if (e === "light") return this._loadLight(a);
@@ -673,7 +681,7 @@ class ti {
673
681
  }
674
682
  getMaterialType(e) {
675
683
  const a = this.parser.json.materials[e];
676
- return a.extensions && a.extensions[this.name] ? ee : null;
684
+ return a.extensions && a.extensions[this.name] ? ae : null;
677
685
  }
678
686
  extendMaterialParams(e, a) {
679
687
  const t = this.parser, A = t.json.materials[e];
@@ -681,7 +689,7 @@ class ti {
681
689
  const i = [], s = A.extensions[this.name];
682
690
  if (s.clearcoatFactor !== void 0 && (a.clearcoat = s.clearcoatFactor), s.clearcoatTexture !== void 0 && i.push(t.assignTexture(a, "clearcoatMap", s.clearcoatTexture)), s.clearcoatRoughnessFactor !== void 0 && (a.clearcoatRoughness = s.clearcoatRoughnessFactor), s.clearcoatRoughnessTexture !== void 0 && i.push(t.assignTexture(a, "clearcoatRoughnessMap", s.clearcoatRoughnessTexture)), s.clearcoatNormalTexture !== void 0 && (i.push(t.assignTexture(a, "clearcoatNormalMap", s.clearcoatNormalTexture)), s.clearcoatNormalTexture.scale !== void 0)) {
683
691
  const r = s.clearcoatNormalTexture.scale;
684
- a.clearcoatNormalScale = new pt(r, r);
692
+ a.clearcoatNormalScale = new Bt(r, r);
685
693
  }
686
694
  return Promise.all(i);
687
695
  }
@@ -692,7 +700,7 @@ class Ai {
692
700
  }
693
701
  getMaterialType(e) {
694
702
  const a = this.parser.json.materials[e];
695
- return a.extensions && a.extensions[this.name] ? ee : null;
703
+ return a.extensions && a.extensions[this.name] ? ae : null;
696
704
  }
697
705
  extendMaterialParams(e, a) {
698
706
  const t = this.parser.json.materials[e];
@@ -707,7 +715,7 @@ class ii {
707
715
  }
708
716
  getMaterialType(e) {
709
717
  const a = this.parser.json.materials[e];
710
- return a.extensions && a.extensions[this.name] ? ee : null;
718
+ return a.extensions && a.extensions[this.name] ? ae : null;
711
719
  }
712
720
  extendMaterialParams(e, a) {
713
721
  const t = this.parser, A = t.json.materials[e];
@@ -722,7 +730,7 @@ class si {
722
730
  }
723
731
  getMaterialType(e) {
724
732
  const a = this.parser.json.materials[e];
725
- return a.extensions && a.extensions[this.name] ? ee : null;
733
+ return a.extensions && a.extensions[this.name] ? ae : null;
726
734
  }
727
735
  extendMaterialParams(e, a) {
728
736
  const t = this.parser, A = t.json.materials[e];
@@ -743,7 +751,7 @@ class ri {
743
751
  }
744
752
  getMaterialType(e) {
745
753
  const a = this.parser.json.materials[e];
746
- return a.extensions && a.extensions[this.name] ? ee : null;
754
+ return a.extensions && a.extensions[this.name] ? ae : null;
747
755
  }
748
756
  extendMaterialParams(e, a) {
749
757
  const t = this.parser, A = t.json.materials[e];
@@ -758,7 +766,7 @@ class ni {
758
766
  }
759
767
  getMaterialType(e) {
760
768
  const a = this.parser.json.materials[e];
761
- return a.extensions && a.extensions[this.name] ? ee : null;
769
+ return a.extensions && a.extensions[this.name] ? ae : null;
762
770
  }
763
771
  extendMaterialParams(e, a) {
764
772
  const t = this.parser, A = t.json.materials[e];
@@ -775,7 +783,7 @@ class oi {
775
783
  }
776
784
  getMaterialType(e) {
777
785
  const a = this.parser.json.materials[e];
778
- return a.extensions && a.extensions[this.name] ? ee : null;
786
+ return a.extensions && a.extensions[this.name] ? ae : null;
779
787
  }
780
788
  extendMaterialParams(e, a) {
781
789
  const t = this.parser.json.materials[e];
@@ -790,7 +798,7 @@ class ci {
790
798
  }
791
799
  getMaterialType(e) {
792
800
  const a = this.parser.json.materials[e];
793
- return a.extensions && a.extensions[this.name] ? ee : null;
801
+ return a.extensions && a.extensions[this.name] ? ae : null;
794
802
  }
795
803
  extendMaterialParams(e, a) {
796
804
  const t = this.parser, A = t.json.materials[e];
@@ -807,7 +815,7 @@ class di {
807
815
  }
808
816
  getMaterialType(e) {
809
817
  const a = this.parser.json.materials[e];
810
- return a.extensions && a.extensions[this.name] ? ee : null;
818
+ return a.extensions && a.extensions[this.name] ? ae : null;
811
819
  }
812
820
  extendMaterialParams(e, a) {
813
821
  const t = this.parser, A = t.json.materials[e];
@@ -822,7 +830,7 @@ class bi {
822
830
  }
823
831
  getMaterialType(e) {
824
832
  const a = this.parser.json.materials[e];
825
- return a.extensions && a.extensions[this.name] ? ee : null;
833
+ return a.extensions && a.extensions[this.name] ? ae : null;
826
834
  }
827
835
  extendMaterialParams(e, a) {
828
836
  const t = this.parser, A = t.json.materials[e];
@@ -941,24 +949,24 @@ class ui {
941
949
  return s.length < 1 ? null : (s.push(this.parser.createNodeMesh(e)), Promise.all(s).then((c) => {
942
950
  const n = c.pop(), b = n.isGroup ? n.children : [n], d = c[0].count, l = [];
943
951
  for (const g of b) {
944
- const h = new je(), f = new S(), I = new Ct(), u = new S(1, 1, 1), p = new AA(g.geometry, g.material, d);
952
+ const h = new je(), f = new M(), I = new mt(), u = new M(1, 1, 1), p = new sA(g.geometry, g.material, d);
945
953
  for (let B = 0; B < d; B++) r.TRANSLATION && f.fromBufferAttribute(r.TRANSLATION, B), r.ROTATION && I.fromBufferAttribute(r.ROTATION, B), r.SCALE && u.fromBufferAttribute(r.SCALE, B), p.setMatrixAt(B, h.compose(f, I, u));
946
954
  for (const B in r) if (B === "_COLOR_0") {
947
955
  const C = r[B];
948
- p.instanceColor = new ya(C.array, C.itemSize, C.normalized);
956
+ p.instanceColor = new wa(C.array, C.itemSize, C.normalized);
949
957
  } else B !== "TRANSLATION" && B !== "ROTATION" && B !== "SCALE" && g.geometry.setAttribute(B, r[B]);
950
- Bt.prototype.copy.call(p, g), this.parser.assignFinalMaterial(p), l.push(p);
958
+ Et.prototype.copy.call(p, g), this.parser.assignFinalMaterial(p), l.push(p);
951
959
  }
952
960
  return n.isGroup ? (n.clear(), n.add(...l), n) : l[0];
953
961
  }));
954
962
  }
955
963
  }
956
- const jt = "glTF", Ii = 1313821514, pi = 5130562;
964
+ const Rt = "glTF", Ii = 1313821514, pi = 5130562;
957
965
  class Ci {
958
966
  constructor(e) {
959
967
  this.name = j.KHR_BINARY_GLTF, this.content = null, this.body = null;
960
968
  const a = new DataView(e, 0, 12), t = new TextDecoder();
961
- if (this.header = { magic: t.decode(new Uint8Array(e.slice(0, 4))), version: a.getUint32(4, !0), length: a.getUint32(8, !0) }, this.header.magic !== jt) throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");
969
+ if (this.header = { magic: t.decode(new Uint8Array(e.slice(0, 4))), version: a.getUint32(4, !0), length: a.getUint32(8, !0) }, this.header.magic !== Rt) throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");
962
970
  if (this.header.version < 2) throw new Error("THREE.GLTFLoader: Legacy binary file detected.");
963
971
  const A = this.header.length - 12, i = new DataView(e, 12);
964
972
  let s = 0;
@@ -986,11 +994,11 @@ class Bi {
986
994
  decodePrimitive(e, a) {
987
995
  const t = this.json, A = this.dracoLoader, i = e.extensions[this.name].bufferView, s = e.extensions[this.name].attributes, r = {}, c = {}, n = {};
988
996
  for (const b in s) {
989
- const d = Da[b] || b.toLowerCase();
997
+ const d = ja[b] || b.toLowerCase();
990
998
  r[d] = s[b];
991
999
  }
992
1000
  for (const b in e.attributes) {
993
- const d = Da[b] || b.toLowerCase();
1001
+ const d = ja[b] || b.toLowerCase();
994
1002
  if (s[b] !== void 0) {
995
1003
  const l = t.accessors[e.attributes[b]], g = ke[l.componentType];
996
1004
  n[d] = g.name, c[d] = l.normalized === !0;
@@ -1022,7 +1030,7 @@ class Ei {
1022
1030
  this.name = j.KHR_MESH_QUANTIZATION;
1023
1031
  }
1024
1032
  }
1025
- class Mt extends jA {
1033
+ class St extends jA {
1026
1034
  constructor(e, a, t, A) {
1027
1035
  super(e, a, t, A);
1028
1036
  }
@@ -1040,18 +1048,18 @@ class Mt extends jA {
1040
1048
  return i;
1041
1049
  }
1042
1050
  }
1043
- const Qi = new Ct();
1044
- class yi extends Mt {
1051
+ const Qi = new mt();
1052
+ class yi extends St {
1045
1053
  interpolate_(e, a, t, A) {
1046
1054
  const i = super.interpolate_(e, a, t, A);
1047
1055
  return Qi.fromArray(i).normalize().toArray(i), i;
1048
1056
  }
1049
1057
  }
1050
- const H = { FLOAT: 5126, FLOAT_MAT3: 35675, FLOAT_MAT4: 35676, FLOAT_VEC2: 35664, FLOAT_VEC3: 35665, FLOAT_VEC4: 35666, LINEAR: 9729, REPEAT: 10497, SAMPLER_2D: 35678, POINTS: 0, LINES: 1, LINE_LOOP: 2, LINE_STRIP: 3, TRIANGLES: 4, TRIANGLE_STRIP: 5, TRIANGLE_FAN: 6, UNSIGNED_BYTE: 5121, UNSIGNED_SHORT: 5123 }, ke = { 5120: Int8Array, 5121: Uint8Array, 5122: Int16Array, 5123: Uint16Array, 5125: Uint32Array, 5126: Float32Array }, $a = { 9728: M, 9729: Ce, 9984: EA, 9985: QA, 9986: yA, 9987: $e }, et = { 33071: wA, 33648: xA, 10497: wa }, ra = { SCALAR: 1, VEC2: 2, VEC3: 3, VEC4: 4, MAT2: 4, MAT3: 9, MAT4: 16 }, Da = { POSITION: "position", NORMAL: "normal", TANGENT: "tangent", TEXCOORD_0: "uv", TEXCOORD_1: "uv1", TEXCOORD_2: "uv2", TEXCOORD_3: "uv3", COLOR_0: "color", WEIGHTS_0: "skinWeight", JOINTS_0: "skinIndex" }, oe = { scale: "scale", translation: "position", rotation: "quaternion", weights: "morphTargetInfluences" }, wi = { CUBICSPLINE: void 0, LINEAR: Et, STEP: kA }, xi = "OPAQUE", ki = "MASK", Di = "BLEND";
1058
+ const H = { FLOAT: 5126, FLOAT_MAT3: 35675, FLOAT_MAT4: 35676, FLOAT_VEC2: 35664, FLOAT_VEC3: 35665, FLOAT_VEC4: 35666, LINEAR: 9729, REPEAT: 10497, SAMPLER_2D: 35678, POINTS: 0, LINES: 1, LINE_LOOP: 2, LINE_STRIP: 3, TRIANGLES: 4, TRIANGLE_STRIP: 5, TRIANGLE_FAN: 6, UNSIGNED_BYTE: 5121, UNSIGNED_SHORT: 5123 }, ke = { 5120: Int8Array, 5121: Uint8Array, 5122: Int16Array, 5123: Uint16Array, 5125: Uint32Array, 5126: Float32Array }, $a = { 9728: R, 9729: Ce, 9984: EA, 9985: QA, 9986: yA, 9987: $e }, et = { 33071: wA, 33648: xA, 10497: xa }, na = { SCALAR: 1, VEC2: 2, VEC3: 3, VEC4: 4, MAT2: 4, MAT3: 9, MAT4: 16 }, ja = { POSITION: "position", NORMAL: "normal", TANGENT: "tangent", TEXCOORD_0: "uv", TEXCOORD_1: "uv1", TEXCOORD_2: "uv2", TEXCOORD_3: "uv3", COLOR_0: "color", WEIGHTS_0: "skinWeight", JOINTS_0: "skinIndex" }, oe = { scale: "scale", translation: "position", rotation: "quaternion", weights: "morphTargetInfluences" }, wi = { CUBICSPLINE: void 0, LINEAR: yt, STEP: kA }, xi = "OPAQUE", ki = "MASK", Di = "BLEND";
1051
1059
  function fe(o, e, a) {
1052
1060
  for (const t in a.extensions) o[t] === void 0 && (e.userData.gltfExtensions = e.userData.gltfExtensions || {}, e.userData.gltfExtensions[t] = a.extensions[t]);
1053
1061
  }
1054
- function ie(o, e) {
1062
+ function se(o, e) {
1055
1063
  e.extras !== void 0 && (typeof e.extras == "object" ? Object.assign(o.userData, e.extras) : console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, " + e.extras));
1056
1064
  }
1057
1065
  function ji(o, e) {
@@ -1067,16 +1075,16 @@ function ji(o, e) {
1067
1075
  function Mi(o) {
1068
1076
  let e;
1069
1077
  const a = o.extensions && o.extensions[j.KHR_DRACO_MESH_COMPRESSION];
1070
- if (e = a ? "draco:" + a.bufferView + ":" + a.indices + ":" + na(a.attributes) : o.indices + ":" + na(o.attributes) + ":" + o.mode, o.targets !== void 0) for (let t = 0, A = o.targets.length; t < A; t++) e += ":" + na(o.targets[t]);
1078
+ if (e = a ? "draco:" + a.bufferView + ":" + a.indices + ":" + oa(a.attributes) : o.indices + ":" + oa(o.attributes) + ":" + o.mode, o.targets !== void 0) for (let t = 0, A = o.targets.length; t < A; t++) e += ":" + oa(o.targets[t]);
1071
1079
  return e;
1072
1080
  }
1073
- function na(o) {
1081
+ function oa(o) {
1074
1082
  let e = "";
1075
1083
  const a = Object.keys(o).sort();
1076
1084
  for (let t = 0, A = a.length; t < A; t++) e += a[t] + ":" + o[a[t]] + ";";
1077
1085
  return e;
1078
1086
  }
1079
- function ja(o) {
1087
+ function Ma(o) {
1080
1088
  switch (o) {
1081
1089
  case Int8Array:
1082
1090
  return 1 / 127;
@@ -1101,7 +1109,7 @@ class Si {
1101
1109
  const c = r.match(/Version\/(\d+)/);
1102
1110
  A = t && c ? parseInt(c[1], 10) : -1, i = r.indexOf("Firefox") > -1, s = i ? r.match(/Firefox\/([0-9]+)\./)[1] : -1;
1103
1111
  }
1104
- typeof createImageBitmap > "u" || t && A < 17 || i && s < 98 ? this.textureLoader = new iA(this.options.manager) : this.textureLoader = new sA(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.textureLoader.setRequestHeader(this.options.requestHeader), this.fileLoader = new Be(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
1112
+ typeof createImageBitmap > "u" || t && A < 17 || i && s < 98 ? this.textureLoader = new rA(this.options.manager) : this.textureLoader = new nA(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.textureLoader.setRequestHeader(this.options.requestHeader), this.fileLoader = new Be(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
1105
1113
  }
1106
1114
  setExtensions(e) {
1107
1115
  this.extensions = e;
@@ -1119,7 +1127,7 @@ class Si {
1119
1127
  return Promise.all([t.getDependencies("scene"), t.getDependencies("animation"), t.getDependencies("camera")]);
1120
1128
  }).then(function(s) {
1121
1129
  const r = { scene: s[0][A.scene || 0], scenes: s[0], animations: s[1], cameras: s[2], asset: A.asset, parser: t, userData: {} };
1122
- return fe(i, r, A), ie(r, A), Promise.all(t._invokeAll(function(c) {
1130
+ return fe(i, r, A), se(r, A), Promise.all(t._invokeAll(function(c) {
1123
1131
  return c.afterRoot && c.afterRoot(r);
1124
1132
  })).then(function() {
1125
1133
  for (const c of r.scenes) c.updateMatrixWorld();
@@ -1259,20 +1267,20 @@ class Si {
1259
1267
  loadAccessor(e) {
1260
1268
  const a = this, t = this.json, A = this.json.accessors[e];
1261
1269
  if (A.bufferView === void 0 && A.sparse === void 0) {
1262
- const s = ra[A.type], r = ke[A.componentType], c = A.normalized === !0, n = new r(A.count * s);
1270
+ const s = na[A.type], r = ke[A.componentType], c = A.normalized === !0, n = new r(A.count * s);
1263
1271
  return Promise.resolve(new le(n, s, c));
1264
1272
  }
1265
1273
  const i = [];
1266
1274
  return A.bufferView !== void 0 ? i.push(this.getDependency("bufferView", A.bufferView)) : i.push(null), A.sparse !== void 0 && (i.push(this.getDependency("bufferView", A.sparse.indices.bufferView)), i.push(this.getDependency("bufferView", A.sparse.values.bufferView))), Promise.all(i).then(function(s) {
1267
- const r = s[0], c = ra[A.type], n = ke[A.componentType], b = n.BYTES_PER_ELEMENT, d = b * c, l = A.byteOffset || 0, g = A.bufferView !== void 0 ? t.bufferViews[A.bufferView].byteStride : void 0, h = A.normalized === !0;
1275
+ const r = s[0], c = na[A.type], n = ke[A.componentType], b = n.BYTES_PER_ELEMENT, d = b * c, l = A.byteOffset || 0, g = A.bufferView !== void 0 ? t.bufferViews[A.bufferView].byteStride : void 0, h = A.normalized === !0;
1268
1276
  let f, I;
1269
1277
  if (g && g !== d) {
1270
1278
  const u = Math.floor(l / g), p = "InterleavedBuffer:" + A.bufferView + ":" + A.componentType + ":" + u + ":" + A.count;
1271
1279
  let B = a.cache.get(p);
1272
- B || (f = new n(r, u * g, A.count * g / b), B = new rA(f, g / b), a.cache.add(p, B)), I = new nA(B, c, l % g / b, h);
1280
+ B || (f = new n(r, u * g, A.count * g / b), B = new oA(f, g / b), a.cache.add(p, B)), I = new cA(B, c, l % g / b, h);
1273
1281
  } else f = r === null ? new n(A.count * c) : new n(r, l, A.count * c), I = new le(f, c, h);
1274
1282
  if (A.sparse !== void 0) {
1275
- const u = ra.SCALAR, p = ke[A.sparse.indices.componentType], B = A.sparse.indices.byteOffset || 0, C = A.sparse.values.byteOffset || 0, w = new p(s[1], B, A.sparse.count * u), x = new n(s[2], C, A.sparse.count * c);
1283
+ const u = na.SCALAR, p = ke[A.sparse.indices.componentType], B = A.sparse.indices.byteOffset || 0, C = A.sparse.values.byteOffset || 0, w = new p(s[1], B, A.sparse.count * u), x = new n(s[2], C, A.sparse.count * c);
1276
1284
  r !== null && (I = new le(I.array.slice(), I.itemSize, I.normalized)), I.normalized = !1;
1277
1285
  for (let y = 0, m = w.length; y < m; y++) {
1278
1286
  const Q = w[y];
@@ -1298,7 +1306,7 @@ class Si {
1298
1306
  const n = this.loadImageSource(a, t).then(function(b) {
1299
1307
  b.flipY = !1, b.name = s.name || r.name || "", b.name === "" && typeof r.uri == "string" && r.uri.startsWith("data:image/") === !1 && (b.name = r.uri);
1300
1308
  const d = (i.samplers || {})[s.sampler] || {};
1301
- return b.magFilter = $a[d.magFilter] || Ce, b.minFilter = $a[d.minFilter] || $e, b.wrapS = et[d.wrapS] || wa, b.wrapT = et[d.wrapT] || wa, b.generateMipmaps = !b.isCompressedTexture && b.minFilter !== M && b.minFilter !== Ce, A.associations.set(b, { textures: e }), b;
1309
+ return b.magFilter = $a[d.magFilter] || Ce, b.minFilter = $a[d.minFilter] || $e, b.wrapS = et[d.wrapS] || xa, b.wrapT = et[d.wrapT] || xa, b.generateMipmaps = !b.isCompressedTexture && b.minFilter !== R && b.minFilter !== Ce, A.associations.set(b, { textures: e }), b;
1302
1310
  }).catch(function() {
1303
1311
  return null;
1304
1312
  });
@@ -1325,7 +1333,7 @@ class Si {
1325
1333
  });
1326
1334
  }).then(function(d) {
1327
1335
  var l;
1328
- return n === !0 && r.revokeObjectURL(c), ie(d, s), d.userData.mimeType = s.mimeType || ((l = s.uri).search(/\.jpe?g($|\?)/i) > 0 || l.search(/^data\:image\/jpeg/) === 0 ? "image/jpeg" : l.search(/\.webp($|\?)/i) > 0 || l.search(/^data\:image\/webp/) === 0 ? "image/webp" : l.search(/\.ktx2($|\?)/i) > 0 || l.search(/^data\:image\/ktx2/) === 0 ? "image/ktx2" : "image/png"), d;
1336
+ return n === !0 && r.revokeObjectURL(c), se(d, s), d.userData.mimeType = s.mimeType || ((l = s.uri).search(/\.jpe?g($|\?)/i) > 0 || l.search(/^data\:image\/jpeg/) === 0 ? "image/jpeg" : l.search(/\.webp($|\?)/i) > 0 || l.search(/^data\:image\/webp/) === 0 ? "image/webp" : l.search(/\.ktx2($|\?)/i) > 0 || l.search(/^data\:image\/ktx2/) === 0 ? "image/ktx2" : "image/png"), d;
1329
1337
  }).catch(function(d) {
1330
1338
  throw console.error("THREE.GLTFLoader: Couldn't load texture", c), d;
1331
1339
  });
@@ -1352,11 +1360,11 @@ class Si {
1352
1360
  if (e.isPoints) {
1353
1361
  const r = "PointsMaterial:" + t.uuid;
1354
1362
  let c = this.cache.get(r);
1355
- c || (c = new oA(), aa.prototype.copy.call(c, t), c.color.copy(t.color), c.map = t.map, c.sizeAttenuation = !1, this.cache.add(r, c)), t = c;
1363
+ c || (c = new dA(), ta.prototype.copy.call(c, t), c.color.copy(t.color), c.map = t.map, c.sizeAttenuation = !1, this.cache.add(r, c)), t = c;
1356
1364
  } else if (e.isLine) {
1357
1365
  const r = "LineBasicMaterial:" + t.uuid;
1358
1366
  let c = this.cache.get(r);
1359
- c || (c = new cA(), aa.prototype.copy.call(c, t), c.color.copy(t.color), c.map = t.map, this.cache.add(r, c)), t = c;
1367
+ c || (c = new It(), ta.prototype.copy.call(c, t), c.color.copy(t.color), c.map = t.map, this.cache.add(r, c)), t = c;
1360
1368
  }
1361
1369
  if (A || i || s) {
1362
1370
  let r = "ClonedMaterial:" + t.uuid + ":";
@@ -1388,9 +1396,9 @@ class Si {
1388
1396
  return d.extendMaterialParams && d.extendMaterialParams(e, r);
1389
1397
  })));
1390
1398
  }
1391
- i.doubleSided === !0 && (r.side = dA);
1399
+ i.doubleSided === !0 && (r.side = bA);
1392
1400
  const n = i.alphaMode || xi;
1393
- if (n === Di ? (r.transparent = !0, r.depthWrite = !1) : (r.transparent = !1, n === ki && (r.alphaTest = i.alphaCutoff !== void 0 ? i.alphaCutoff : 0.5)), i.normalTexture !== void 0 && s !== Le && (c.push(a.assignTexture(r, "normalMap", i.normalTexture)), r.normalScale = new pt(1, 1), i.normalTexture.scale !== void 0)) {
1401
+ if (n === Di ? (r.transparent = !0, r.depthWrite = !1) : (r.transparent = !1, n === ki && (r.alphaTest = i.alphaCutoff !== void 0 ? i.alphaCutoff : 0.5)), i.normalTexture !== void 0 && s !== Le && (c.push(a.assignTexture(r, "normalMap", i.normalTexture)), r.normalScale = new Bt(1, 1), i.normalTexture.scale !== void 0)) {
1394
1402
  const b = i.normalTexture.scale;
1395
1403
  r.normalScale.set(b, b);
1396
1404
  }
@@ -1400,11 +1408,11 @@ class Si {
1400
1408
  }
1401
1409
  return i.emissiveTexture !== void 0 && s !== Le && c.push(a.assignTexture(r, "emissiveMap", i.emissiveTexture, re)), Promise.all(c).then(function() {
1402
1410
  const b = new s(r);
1403
- return i.name && (b.name = i.name), ie(b, i), a.associations.set(b, { materials: e }), i.extensions && fe(A, b, i), b;
1411
+ return i.name && (b.name = i.name), se(b, i), a.associations.set(b, { materials: e }), i.extensions && fe(A, b, i), b;
1404
1412
  });
1405
1413
  }
1406
1414
  createUniqueName(e) {
1407
- const a = bA.sanitizeNodeName(e || "");
1415
+ const a = lA.sanitizeNodeName(e || "");
1408
1416
  return a in this.nodeNamesUsed ? a + "_" + ++this.nodeNamesUsed[a] : (this.nodeNamesUsed[a] = 0, a);
1409
1417
  }
1410
1418
  loadGeometries(e) {
@@ -1420,7 +1428,7 @@ class Si {
1420
1428
  if (d) s.push(d.promise);
1421
1429
  else {
1422
1430
  let l;
1423
- l = n.extensions && n.extensions[j.KHR_DRACO_MESH_COMPRESSION] ? i(n) : at(new va(), n, a), A[b] = { primitive: n, promise: l }, s.push(l);
1431
+ l = n.extensions && n.extensions[j.KHR_DRACO_MESH_COMPRESSION] ? i(n) : at(new ea(), n, a), A[b] = { primitive: n, promise: l }, s.push(l);
1424
1432
  }
1425
1433
  }
1426
1434
  return Promise.all(s);
@@ -1438,19 +1446,19 @@ class Si {
1438
1446
  const I = d[h], u = s[h];
1439
1447
  let p;
1440
1448
  const B = b[h];
1441
- if (u.mode === H.TRIANGLES || u.mode === H.TRIANGLE_STRIP || u.mode === H.TRIANGLE_FAN || u.mode === void 0) p = i.isSkinnedMesh === !0 ? new lA(I, B) : new xa(I, B), p.isSkinnedMesh === !0 && p.normalizeSkinWeights(), u.mode === H.TRIANGLE_STRIP ? p.geometry = Za(p.geometry, It) : u.mode === H.TRIANGLE_FAN && (p.geometry = Za(p.geometry, Qa));
1442
- else if (u.mode === H.LINES) p = new hA(I, B);
1449
+ if (u.mode === H.TRIANGLES || u.mode === H.TRIANGLE_STRIP || u.mode === H.TRIANGLE_FAN || u.mode === void 0) p = i.isSkinnedMesh === !0 ? new hA(I, B) : new ka(I, B), p.isSkinnedMesh === !0 && p.normalizeSkinWeights(), u.mode === H.TRIANGLE_STRIP ? p.geometry = Za(p.geometry, Ct) : u.mode === H.TRIANGLE_FAN && (p.geometry = Za(p.geometry, ya));
1450
+ else if (u.mode === H.LINES) p = new pt(I, B);
1443
1451
  else if (u.mode === H.LINE_STRIP) p = new gA(I, B);
1444
1452
  else if (u.mode === H.LINE_LOOP) p = new fA(I, B);
1445
1453
  else {
1446
1454
  if (u.mode !== H.POINTS) throw new Error("THREE.GLTFLoader: Primitive mode unsupported: " + u.mode);
1447
1455
  p = new uA(I, B);
1448
1456
  }
1449
- Object.keys(p.geometry.morphAttributes).length > 0 && ji(p, i), p.name = a.createUniqueName(i.name || "mesh_" + e), ie(p, i), u.extensions && fe(A, p, u), a.assignFinalMaterial(p), l.push(p);
1457
+ Object.keys(p.geometry.morphAttributes).length > 0 && ji(p, i), p.name = a.createUniqueName(i.name || "mesh_" + e), se(p, i), u.extensions && fe(A, p, u), a.assignFinalMaterial(p), l.push(p);
1450
1458
  }
1451
1459
  for (let h = 0, f = l.length; h < f; h++) a.associations.set(l[h], { meshes: e, primitives: h });
1452
1460
  if (l.length === 1) return i.extensions && fe(A, l[0], i), l[0];
1453
- const g = new ta();
1461
+ const g = new Aa();
1454
1462
  i.extensions && fe(A, g, i), a.associations.set(g, { meshes: e });
1455
1463
  for (let h = 0, f = l.length; h < f; h++) g.add(l[h]);
1456
1464
  return g;
@@ -1459,7 +1467,7 @@ class Si {
1459
1467
  loadCamera(e) {
1460
1468
  let a;
1461
1469
  const t = this.json.cameras[e], A = t[t.type];
1462
- if (A) return t.type === "perspective" ? a = new IA(pA.radToDeg(A.yfov), A.aspectRatio || 1, A.znear || 1, A.zfar || 2e6) : t.type === "orthographic" && (a = new mt(-A.xmag, A.xmag, A.ymag, -A.ymag, A.znear, A.zfar)), t.name && (a.name = this.createUniqueName(t.name)), ie(a, t), Promise.resolve(a);
1470
+ if (A) return t.type === "perspective" ? a = new IA(pA.radToDeg(A.yfov), A.aspectRatio || 1, A.znear || 1, A.zfar || 2e6) : t.type === "orthographic" && (a = new Qt(-A.xmag, A.xmag, A.ymag, -A.ymag, A.znear, A.zfar)), t.name && (a.name = this.createUniqueName(t.name)), se(a, t), Promise.resolve(a);
1463
1471
  console.warn("THREE.GLTFLoader: Missing camera parameters.");
1464
1472
  }
1465
1473
  loadSkin(e) {
@@ -1532,8 +1540,8 @@ class Si {
1532
1540
  r.push(n);
1533
1541
  }), this.nodeCache[e] = Promise.all(r).then(function(n) {
1534
1542
  let b;
1535
- if (b = i.isBone === !0 ? new mA() : n.length > 1 ? new ta() : n.length === 1 ? n[0] : new Bt(), b !== n[0]) for (let d = 0, l = n.length; d < l; d++) b.add(n[d]);
1536
- if (i.name && (b.userData.name = i.name, b.name = s), ie(b, i), i.extensions && fe(t, b, i), i.matrix !== void 0) {
1543
+ if (b = i.isBone === !0 ? new mA() : n.length > 1 ? new Aa() : n.length === 1 ? n[0] : new Et(), b !== n[0]) for (let d = 0, l = n.length; d < l; d++) b.add(n[d]);
1544
+ if (i.name && (b.userData.name = i.name, b.name = s), se(b, i), i.extensions && fe(t, b, i), i.matrix !== void 0) {
1537
1545
  const d = new je();
1538
1546
  d.fromArray(i.matrix), b.applyMatrix4(d);
1539
1547
  } else i.translation !== void 0 && b.position.fromArray(i.translation), i.rotation !== void 0 && b.quaternion.fromArray(i.rotation), i.scale !== void 0 && b.scale.fromArray(i.scale);
@@ -1541,15 +1549,15 @@ class Si {
1541
1549
  }), this.nodeCache[e];
1542
1550
  }
1543
1551
  loadScene(e) {
1544
- const a = this.extensions, t = this.json.scenes[e], A = this, i = new ta();
1545
- t.name && (i.name = A.createUniqueName(t.name)), ie(i, t), t.extensions && fe(a, i, t);
1552
+ const a = this.extensions, t = this.json.scenes[e], A = this, i = new Aa();
1553
+ t.name && (i.name = A.createUniqueName(t.name)), se(i, t), t.extensions && fe(a, i, t);
1546
1554
  const s = t.nodes || [], r = [];
1547
1555
  for (let c = 0, n = s.length; c < n; c++) r.push(A.getDependency("node", s[c]));
1548
1556
  return Promise.all(r).then(function(c) {
1549
1557
  for (let n = 0, b = c.length; n < b; n++) i.add(c[n]);
1550
1558
  return A.associations = ((n) => {
1551
1559
  const b = /* @__PURE__ */ new Map();
1552
- for (const [d, l] of A.associations) (d instanceof aa || d instanceof Na) && b.set(d, l);
1560
+ for (const [d, l] of A.associations) (d instanceof ta || d instanceof Na) && b.set(d, l);
1553
1561
  return n.traverse((d) => {
1554
1562
  const l = A.associations.get(d);
1555
1563
  l != null && b.set(d, l);
@@ -1576,7 +1584,7 @@ class Si {
1576
1584
  default:
1577
1585
  t.itemSize === 1 ? n = _a : n = Pa;
1578
1586
  }
1579
- const b = A.interpolation !== void 0 ? wi[A.interpolation] : Et, d = this._getArrayFromAccessor(t);
1587
+ const b = A.interpolation !== void 0 ? wi[A.interpolation] : yt, d = this._getArrayFromAccessor(t);
1580
1588
  for (let l = 0, g = c.length; l < g; l++) {
1581
1589
  const h = new n(c[l] + "." + oe[i.path], a.array, d, b);
1582
1590
  A.interpolation === "CUBICSPLINE" && this._createCubicSplineTrackInterpolant(h), s.push(h);
@@ -1586,7 +1594,7 @@ class Si {
1586
1594
  _getArrayFromAccessor(e) {
1587
1595
  let a = e.array;
1588
1596
  if (e.normalized) {
1589
- const t = ja(a.constructor), A = new Float32Array(a.length);
1597
+ const t = Ma(a.constructor), A = new Float32Array(a.length);
1590
1598
  for (let i = 0, s = a.length; i < s; i++) A[i] = a[i] * t;
1591
1599
  a = A;
1592
1600
  }
@@ -1594,7 +1602,7 @@ class Si {
1594
1602
  }
1595
1603
  _createCubicSplineTrackInterpolant(e) {
1596
1604
  e.createInterpolant = function(a) {
1597
- return new (this instanceof Ha ? yi : Mt)(this.times, this.values, this.getValueSize() / 3, a);
1605
+ return new (this instanceof Ha ? yi : St)(this.times, this.values, this.getValueSize() / 3, a);
1598
1606
  }, e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline = !0;
1599
1607
  }
1600
1608
  }
@@ -1606,7 +1614,7 @@ function at(o, e, a) {
1606
1614
  });
1607
1615
  }
1608
1616
  for (const s in t) {
1609
- const r = Da[s] || s.toLowerCase();
1617
+ const r = ja[s] || s.toLowerCase();
1610
1618
  r in o.attributes || A.push(i(t[s], r));
1611
1619
  }
1612
1620
  if (e.indices !== void 0 && !o.index) {
@@ -1615,27 +1623,27 @@ function at(o, e, a) {
1615
1623
  });
1616
1624
  A.push(s);
1617
1625
  }
1618
- return ka.workingColorSpace !== K && "COLOR_0" in t && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${ka.workingColorSpace}" not supported.`), ie(o, e), function(s, r, c) {
1619
- const n = r.attributes, b = new Sa();
1626
+ return Da.workingColorSpace !== K && "COLOR_0" in t && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${Da.workingColorSpace}" not supported.`), se(o, e), function(s, r, c) {
1627
+ const n = r.attributes, b = new Fa();
1620
1628
  if (n.POSITION === void 0) return;
1621
1629
  {
1622
1630
  const g = c.json.accessors[n.POSITION], h = g.min, f = g.max;
1623
1631
  if (h === void 0 || f === void 0) return void console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");
1624
- if (b.set(new S(h[0], h[1], h[2]), new S(f[0], f[1], f[2])), g.normalized) {
1625
- const I = ja(ke[g.componentType]);
1632
+ if (b.set(new M(h[0], h[1], h[2]), new M(f[0], f[1], f[2])), g.normalized) {
1633
+ const I = Ma(ke[g.componentType]);
1626
1634
  b.min.multiplyScalar(I), b.max.multiplyScalar(I);
1627
1635
  }
1628
1636
  }
1629
1637
  const d = r.targets;
1630
1638
  if (d !== void 0) {
1631
- const g = new S(), h = new S();
1639
+ const g = new M(), h = new M();
1632
1640
  for (let f = 0, I = d.length; f < I; f++) {
1633
1641
  const u = d[f];
1634
1642
  if (u.POSITION !== void 0) {
1635
1643
  const p = c.json.accessors[u.POSITION], B = p.min, C = p.max;
1636
1644
  if (B !== void 0 && C !== void 0) {
1637
1645
  if (h.setX(Math.max(Math.abs(B[0]), Math.abs(C[0]))), h.setY(Math.max(Math.abs(B[1]), Math.abs(C[1]))), h.setZ(Math.max(Math.abs(B[2]), Math.abs(C[2]))), p.normalized) {
1638
- const w = ja(ke[p.componentType]);
1646
+ const w = Ma(ke[p.componentType]);
1639
1647
  h.multiplyScalar(w);
1640
1648
  }
1641
1649
  g.max(h);
@@ -1678,8 +1686,8 @@ function at(o, e, a) {
1678
1686
  }(o, e.targets, a) : o;
1679
1687
  });
1680
1688
  }
1681
- const oa = /* @__PURE__ */ new WeakMap();
1682
- class Rt extends Fa {
1689
+ const ca = /* @__PURE__ */ new WeakMap();
1690
+ class Ft extends va {
1683
1691
  constructor(e) {
1684
1692
  super(e), this.decoderPath = "", this.decoderConfig = {}, this.decoderBinary = null, this.decoderPending = null, this.workerLimit = 4, this.workerPool = [], this.workerNextTaskID = 1, this.workerSourceURL = "", this.defaultAttributeIDs = { position: "POSITION", normal: "NORMAL", color: "COLOR", uv: "TEX_COORD" }, this.defaultAttributeTypes = { position: "Float32Array", normal: "Float32Array", color: "Float32Array", uv: "Float32Array" };
1685
1693
  }
@@ -1709,8 +1717,8 @@ class Rt extends Fa {
1709
1717
  }
1710
1718
  decodeGeometry(e, a) {
1711
1719
  const t = JSON.stringify(a);
1712
- if (oa.has(e)) {
1713
- const c = oa.get(e);
1720
+ if (ca.has(e)) {
1721
+ const c = ca.get(e);
1714
1722
  if (c.key === t) return c.promise;
1715
1723
  if (e.byteLength === 0) throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.");
1716
1724
  }
@@ -1720,10 +1728,10 @@ class Rt extends Fa {
1720
1728
  }))).then((c) => this._createGeometry(c.geometry));
1721
1729
  return r.catch(() => !0).then(() => {
1722
1730
  A && i && this._releaseTask(A, i);
1723
- }), oa.set(e, { key: t, promise: r }), r;
1731
+ }), ca.set(e, { key: t, promise: r }), r;
1724
1732
  }
1725
1733
  _createGeometry(e) {
1726
- const a = new va();
1734
+ const a = new ea();
1727
1735
  e.index && a.setIndex(new le(e.index.array, 1));
1728
1736
  for (let t = 0; t < e.attributes.length; t++) {
1729
1737
  const A = e.attributes[t], i = A.name, s = A.array, r = A.itemSize, c = new le(s, r);
@@ -1734,7 +1742,7 @@ class Rt extends Fa {
1734
1742
  _assignVertexColorSpace(e, a) {
1735
1743
  if (a !== re) return;
1736
1744
  const t = new he();
1737
- for (let A = 0, i = e.count; A < i; A++) t.fromBufferAttribute(e, A), ka.toWorkingColorSpace(t, re), e.setXYZ(A, t.r, t.g, t.b);
1745
+ for (let A = 0, i = e.count; A < i; A++) t.fromBufferAttribute(e, A), Da.toWorkingColorSpace(t, re), e.setXYZ(A, t.r, t.g, t.b);
1738
1746
  }
1739
1747
  _loadLibrary(e, a) {
1740
1748
  const t = new Be(this.manager);
@@ -1751,7 +1759,7 @@ class Rt extends Fa {
1751
1759
  return e ? a.push(this._loadLibrary("draco_decoder.js", "text")) : (a.push(this._loadLibrary("draco_wasm_wrapper.js", "text")), a.push(this._loadLibrary("draco_decoder.wasm", "arraybuffer"))), this.decoderPending = Promise.all(a).then((t) => {
1752
1760
  const A = t[0];
1753
1761
  e || (this.decoderConfig.wasmBinary = t[1]);
1754
- const i = vi.toString(), s = ["/* draco decoder */", A, "", "/* worker */", i.substring(i.indexOf("{") + 1, i.lastIndexOf("}"))].join(`
1762
+ const i = Fi.toString(), s = ["/* draco decoder */", A, "", "/* worker */", i.substring(i.indexOf("{") + 1, i.lastIndexOf("}"))].join(`
1755
1763
  `);
1756
1764
  this.workerSourceURL = URL.createObjectURL(new Blob([s]));
1757
1765
  }), this.decoderPending;
@@ -1791,7 +1799,7 @@ class Rt extends Fa {
1791
1799
  return this.workerPool.length = 0, this.workerSourceURL !== "" && URL.revokeObjectURL(this.workerSourceURL), this;
1792
1800
  }
1793
1801
  }
1794
- function vi() {
1802
+ function Fi() {
1795
1803
  let o, e;
1796
1804
  function a(t, A, i, s, r, c) {
1797
1805
  const n = c.num_components(), b = i.num_points() * n, d = b * r.BYTES_PER_ELEMENT, l = function(f, I) {
@@ -1854,10 +1862,10 @@ function vi() {
1854
1862
  x === "color" && (k.vertexColorSpace = f.vertexColorSpace), w.attributes.push(k);
1855
1863
  }
1856
1864
  return C === l.TRIANGULAR_MESH && (w.index = function(x, y, m) {
1857
- const Q = m.num_faces(), k = 3 * Q, D = 4 * k, F = x._malloc(D);
1858
- y.GetTrianglesUInt32Array(m, D, F);
1859
- const _ = new Uint32Array(x.HEAPF32.buffer, F, k).slice();
1860
- return x._free(F), { array: _, itemSize: 1 };
1865
+ const Q = m.num_faces(), k = 3 * Q, D = 4 * k, v = x._malloc(D);
1866
+ y.GetTrianglesUInt32Array(m, D, v);
1867
+ const _ = new Uint32Array(x.HEAPF32.buffer, v, k).slice();
1868
+ return x._free(v), { array: _, itemSize: 1 };
1861
1869
  }(l, g, p)), l.destroy(p), w;
1862
1870
  }(c, n, new Int8Array(i), s), d = b.attributes.map((l) => l.array.buffer);
1863
1871
  b.index && d.push(b.index.array.buffer), self.postMessage({ type: "decode", id: A.id, geometry: b }, d);
@@ -1870,7 +1878,7 @@ function vi() {
1870
1878
  }
1871
1879
  };
1872
1880
  }
1873
- class Fi {
1881
+ class vi {
1874
1882
  constructor(e = 4) {
1875
1883
  this.pool = e, this.queue = [], this.workers = [], this.workersResolve = [], this.workerStatus = 0;
1876
1884
  }
@@ -1907,13 +1915,13 @@ class Fi {
1907
1915
  this.workers.forEach((e) => e.terminate()), this.workersResolve.length = 0, this.workers.length = 0, this.queue.length = 0, this.workerStatus = 0;
1908
1916
  }
1909
1917
  }
1910
- const St = 9, vt = 15, Ft = 16, Tt = 22, Lt = 37, Gt = 43, Ut = 76, Nt = 83, Pt = 97, _t = 100, Ht = 103, qt = 109, Ot = 165, Jt = 166, Ta = 1000066e3;
1918
+ const vt = 9, Tt = 15, Lt = 16, Gt = 22, Ut = 37, Nt = 43, Pt = 76, _t = 83, Ht = 97, qt = 100, Ot = 103, Jt = 109, Kt = 165, zt = 166, Ta = 1000066e3;
1911
1919
  class Ti {
1912
1920
  constructor() {
1913
1921
  this.vkFormat = 0, this.typeSize = 1, this.pixelWidth = 0, this.pixelHeight = 0, this.pixelDepth = 0, this.layerCount = 0, this.faceCount = 1, this.supercompressionScheme = 0, this.levels = [], this.dataFormatDescriptor = [{ vendorId: 0, descriptorType: 0, descriptorBlockSize: 0, versionNumber: 2, colorModel: 0, colorPrimaries: 1, transferFunction: 2, flags: 0, texelBlockDimension: [0, 0, 0, 0], bytesPlane: [0, 0, 0, 0, 0, 0, 0, 0], samples: [] }], this.keyValue = {}, this.globalData = null;
1914
1922
  }
1915
1923
  }
1916
- class Fe {
1924
+ class ve {
1917
1925
  constructor(e, a, t, A) {
1918
1926
  this._dataView = void 0, this._littleEndian = void 0, this._offset = void 0, this._dataView = new DataView(e.buffer, e.byteOffset + a, t), this._littleEndian = A, this._offset = 0;
1919
1927
  }
@@ -1956,30 +1964,30 @@ const U = [171, 75, 84, 88, 32, 50, 48, 187, 13, 10, 26, 10];
1956
1964
  function tt(o) {
1957
1965
  return new TextDecoder().decode(o);
1958
1966
  }
1959
- let ca, Ae, Ma;
1960
- const da = { env: { emscripten_notify_memory_growth: function(o) {
1961
- Ma = new Uint8Array(Ae.exports.memory.buffer);
1967
+ let da, ie, Ra;
1968
+ const ba = { env: { emscripten_notify_memory_growth: function(o) {
1969
+ Ra = new Uint8Array(ie.exports.memory.buffer);
1962
1970
  } } };
1963
1971
  class Li {
1964
1972
  init() {
1965
- return ca || (ca = typeof fetch < "u" ? fetch("data:application/wasm;base64," + At).then((e) => e.arrayBuffer()).then((e) => WebAssembly.instantiate(e, da)).then(this._init) : WebAssembly.instantiate(Buffer.from(At, "base64"), da).then(this._init), ca);
1973
+ return da || (da = typeof fetch < "u" ? fetch("data:application/wasm;base64," + At).then((e) => e.arrayBuffer()).then((e) => WebAssembly.instantiate(e, ba)).then(this._init) : WebAssembly.instantiate(Buffer.from(At, "base64"), ba).then(this._init), da);
1966
1974
  }
1967
1975
  _init(e) {
1968
- Ae = e.instance, da.env.emscripten_notify_memory_growth(0);
1976
+ ie = e.instance, ba.env.emscripten_notify_memory_growth(0);
1969
1977
  }
1970
1978
  decode(e, a = 0) {
1971
- if (!Ae) throw new Error("ZSTDDecoder: Await .init() before decoding.");
1972
- const t = e.byteLength, A = Ae.exports.malloc(t);
1973
- Ma.set(e, A), a = a || Number(Ae.exports.ZSTD_findDecompressedSize(A, t));
1974
- const i = Ae.exports.malloc(a), s = Ae.exports.ZSTD_decompress(i, a, A, t), r = Ma.slice(i, i + s);
1975
- return Ae.exports.free(A), Ae.exports.free(i), r;
1979
+ if (!ie) throw new Error("ZSTDDecoder: Await .init() before decoding.");
1980
+ const t = e.byteLength, A = ie.exports.malloc(t);
1981
+ Ra.set(e, A), a = a || Number(ie.exports.ZSTD_findDecompressedSize(A, t));
1982
+ const i = ie.exports.malloc(a), s = ie.exports.ZSTD_decompress(i, a, A, t), r = Ra.slice(i, i + s);
1983
+ return ie.exports.free(A), ie.exports.free(i), r;
1976
1984
  }
1977
1985
  }
1978
- const At = "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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQhBSAGQQR2IQRBICAAdCIAQQFyIQkgASgCACEPQQAhAiADIQYCQANAIAlBAkggAiAPS3JFBEAgAiEHAkAgCARAA0AgBEH//wNxQf//A0YEQCAHQRhqIQcgBiAQSQR/IAZBAmoiBigAACAFdgUgBUEQaiEFIARBEHYLIQQMAQsLA0AgBEEDcSIIQQNGBEAgBUECaiEFIARBAnYhBCAHQQNqIQcMAQsLIAcgCGoiByAPSw0EIAVBAmohBQNAIAIgB0kEQCANIAJBAXRqQQA7AQAgAkEBaiECDAELCyAGIA5LQQAgBiAFQQN1aiIHIAxLG0UEQCAHKAAAIAVBB3EiBXYhBAwCCyAEQQJ2IQQLIAYhBwsCfyALQX9qIAQgAEF/anEiBiAAQQF0QX9qIgggCWsiEUkNABogBCAIcSIEQQAgESAEIABIG2shBiALCyEIIA0gAkEBdGogBkF/aiIEOwEAIAlBASAGayAEIAZBAUgbayEJA0AgCSAASARAIABBAXUhACALQX9qIQsMAQsLAn8gByAOS0EAIAcgBSAIaiIFQQN1aiIGIAxLG0UEQCAFQQdxDAELIAUgDCIGIAdrQQN0awshBSACQQFqIQIgBEUhCCAGKAAAIAVBH3F2IQQMAQsLQWwgCUEBRyAFQSBKcg0BGiABIAJBf2o2AgAgBiAFQQdqQQN1aiADawwBC0FQCyEAIApBEGokACAACwkAQQFBBSAAGwsMACAAIAEoAAA2AAALqgMBCn8jAEHwAGsiCiQAIAJBAWohDiAAQQhqIQtBgIAEIAVBf2p0QRB1IQxBACECQQEhBkEBIAV0IglBf2oiDyEIA0AgAiAORkUEQAJAIAEgAkEBdCINai8BACIHQf//A0YEQCALIAhBA3RqIAI2AgQgCEF/aiEIQQEhBwwBCyAGQQAgDCAHQRB0QRB1ShshBgsgCiANaiAHOwEAIAJBAWohAgwBCwsgACAFNgIEIAAgBjYCACAJQQN2IAlBAXZqQQNqIQxBACEAQQAhBkEAIQIDQCAGIA5GBEADQAJAIAAgCUYNACAKIAsgAEEDdGoiASgCBCIGQQF0aiICIAIvAQAiAkEBajsBACABIAUgAhAUayIIOgADIAEgAiAIQf8BcXQgCWs7AQAgASAEIAZBAnQiAmooAgA6AAIgASACIANqKAIANgIEIABBAWohAAwBCwsFIAEgBkEBdGouAQAhDUEAIQcDQCAHIA1ORQRAIAsgAkEDdGogBjYCBANAIAIgDGogD3EiAiAISw0ACyAHQQFqIQcMAQsLIAZBAWohBgwBCwsgCkHwAGokAAsjAEIAIAEQCSAAhUKHla+vmLbem55/fkLj3MqV/M7y9YV/fAsQACAAQn43AwggACABNgIACyQBAX8gAARAIAEoAgQiAgRAIAEoAgggACACEQEADwsgABAmCwsfACAAIAEgAi8BABAINgIAIAEQBBogACACQQRqNgIEC0oBAX9BoCAoAgAiASAAaiIAQX9MBEBBiCBBMDYCAEF/DwsCQCAAPwBBEHRNDQAgABBmDQBBiCBBMDYCAEF/DwtBoCAgADYCACABC9cBAQh/Qbp/IQoCQCACKAIEIgggAigCACIJaiIOIAEgAGtLDQBBbCEKIAkgBCADKAIAIgtrSw0AIAAgCWoiBCACKAIIIgxrIQ0gACABQWBqIg8gCyAJQQAQKSADIAkgC2o2AgACQAJAIAwgBCAFa00EQCANIQUMAQsgDCAEIAZrSw0CIAcgDSAFayIAaiIBIAhqIAdNBEAgBCABIAgQDxoMAgsgBCABQQAgAGsQDyEBIAIgACAIaiIINgIEIAEgAGshBAsgBCAPIAUgCEEBECkLIA4hCgsgCgubAgEBfyMAQYABayINJAAgDSADNgJ8AkAgAkEDSwRAQX8hCQwBCwJAAkACQAJAIAJBAWsOAwADAgELIAZFBEBBuH8hCQwEC0FsIQkgBS0AACICIANLDQMgACAHIAJBAnQiAmooAgAgAiAIaigCABA7IAEgADYCAEEBIQkMAwsgASAJNgIAQQAhCQwCCyAKRQRAQWwhCQwCC0EAIQkgC0UgDEEZSHINAUEIIAR0QQhqIQBBACECA0AgAiAATw0CIAJBQGshAgwAAAsAC0FsIQkgDSANQfwAaiANQfgAaiAFIAYQFSICEAMNACANKAJ4IgMgBEsNACAAIA0gDSgCfCAHIAggAxAYIAEgADYCACACIQkLIA1BgAFqJAAgCQsLACAAIAEgAhALGgsQACAALwAAIAAtAAJBEHRyCy8AAn9BuH8gAUEISQ0AGkFyIAAoAAQiAEF3Sw0AGkG4fyAAQQhqIgAgACABSxsLCwkAIAAgATsAAAsDAAELigYBBX8gACAAKAIAIgVBfnE2AgBBACAAIAVBAXZqQYQgKAIAIgQgAEYbIQECQAJAIAAoAgQiAkUNACACKAIAIgNBAXENACACQQhqIgUgA0EBdkF4aiIDQQggA0EISxtnQR9zQQJ0QYAfaiIDKAIARgRAIAMgAigCDDYCAAsgAigCCCIDBEAgAyACKAIMNgIECyACKAIMIgMEQCADIAIoAgg2AgALIAIgAigCACAAKAIAQX5xajYCAEGEICEAAkACQCABRQ0AIAEgAjYCBCABKAIAIgNBAXENASADQQF2QXhqIgNBCCADQQhLG2dBH3NBAnRBgB9qIgMoAgAgAUEIakYEQCADIAEoAgw2AgALIAEoAggiAwRAIAMgASgCDDYCBAsgASgCDCIDBEAgAyABKAIINgIAQYQgKAIAIQQLIAIgAigCACABKAIAQX5xajYCACABIARGDQAgASABKAIAQQF2akEEaiEACyAAIAI2AgALIAIoAgBBAXZBeGoiAEEIIABBCEsbZ0Efc0ECdEGAH2oiASgCACEAIAEgBTYCACACIAA2AgwgAkEANgIIIABFDQEgACAFNgIADwsCQCABRQ0AIAEoAgAiAkEBcQ0AIAJBAXZBeGoiAkEIIAJBCEsbZ0Efc0ECdEGAH2oiAigCACABQQhqRgRAIAIgASgCDDYCAAsgASgCCCICBEAgAiABKAIMNgIECyABKAIMIgIEQCACIAEoAgg2AgBBhCAoAgAhBAsgACAAKAIAIAEoAgBBfnFqIgI2AgACQCABIARHBEAgASABKAIAQQF2aiAANgIEIAAoAgAhAgwBC0GEICAANgIACyACQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgIoAgAhASACIABBCGoiAjYCACAAIAE2AgwgAEEANgIIIAFFDQEgASACNgIADwsgBUEBdkF4aiIBQQggAUEISxtnQR9zQQJ0QYAfaiICKAIAIQEgAiAAQQhqIgI2AgAgACABNgIMIABBADYCCCABRQ0AIAEgAjYCAAsLDgAgAARAIABBeGoQJQsLgAIBA38CQCAAQQ9qQXhxQYQgKAIAKAIAQQF2ayICEB1Bf0YNAAJAQYQgKAIAIgAoAgAiAUEBcQ0AIAFBAXZBeGoiAUEIIAFBCEsbZ0Efc0ECdEGAH2oiASgCACAAQQhqRgRAIAEgACgCDDYCAAsgACgCCCIBBEAgASAAKAIMNgIECyAAKAIMIgFFDQAgASAAKAIINgIAC0EBIQEgACAAKAIAIAJBAXRqIgI2AgAgAkEBcQ0AIAJBAXZBeGoiAkEIIAJBCEsbZ0Efc0ECdEGAH2oiAygCACECIAMgAEEIaiIDNgIAIAAgAjYCDCAAQQA2AgggAkUNACACIAM2AgALIAELtwIBA38CQAJAIABBASAAGyICEDgiAA0AAkACQEGEICgCACIARQ0AIAAoAgAiA0EBcQ0AIAAgA0EBcjYCACADQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgEoAgAgAEEIakYEQCABIAAoAgw2AgALIAAoAggiAQRAIAEgACgCDDYCBAsgACgCDCIBBEAgASAAKAIINgIACyACECchAkEAIQFBhCAoAgAhACACDQEgACAAKAIAQX5xNgIAQQAPCyACQQ9qQXhxIgMQHSICQX9GDQIgAkEHakF4cSIAIAJHBEAgACACaxAdQX9GDQMLAkBBhCAoAgAiAUUEQEGAICAANgIADAELIAAgATYCBAtBhCAgADYCACAAIANBAXRBAXI2AgAMAQsgAEUNAQsgAEEIaiEBCyABC7kDAQJ/IAAgA2ohBQJAIANBB0wEQANAIAAgBU8NAiAAIAItAAA6AAAgAEEBaiEAIAJBAWohAgwAAAsACyAEQQFGBEACQCAAIAJrIgZBB00EQCAAIAItAAA6AAAgACACLQABOgABIAAgAi0AAjoAAiAAIAItAAM6AAMgAEEEaiACIAZBAnQiBkHAHmooAgBqIgIQFyACIAZB4B5qKAIAayECDAELIAAgAhAMCyACQQhqIQIgAEEIaiEACwJAAkACQAJAIAUgAU0EQCAAIANqIQEgBEEBRyAAIAJrQQ9Kcg0BA0AgACACEAwgAkEIaiECIABBCGoiACABSQ0ACwwFCyAAIAFLBEAgACEBDAQLIARBAUcgACACa0EPSnINASAAIQMgAiEEA0AgAyAEEAwgBEEIaiEEIANBCGoiAyABSQ0ACwwCCwNAIAAgAhAHIAJBEGohAiAAQRBqIgAgAUkNAAsMAwsgACEDIAIhBANAIAMgBBAHIARBEGohBCADQRBqIgMgAUkNAAsLIAIgASAAa2ohAgsDQCABIAVPDQEgASACLQAAOgAAIAFBAWohASACQQFqIQIMAAALAAsLQQECfyAAIAAoArjgASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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", ba = /* @__PURE__ */ new WeakMap();
1979
- let la, ha = 0;
1980
- class P extends Fa {
1986
+ const At = "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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdBKGogACgCBBATQQAhBCAHQeAAaiEMIAdB5ABqIQoDQCAHQShqEARBAksgBCAXTnJFBEAgBygCQCAHKAI8QQN0aikCACIdQhCIp0H/AXEhCyAHKAJQIAcoAkxBA3RqKQIAIh5CEIinQf8BcSEJIAcoAkggBygCREEDdGopAgAiH0IgiKchCCAeQiCIISAgHUIgiKchAgJAIB9CEIinQf8BcSIDQQJPBEACQCAGRSADQRlJckUEQCAIIAdBKGogA0EgIAcoAixrIg0gDSADSxsiDRAFIAMgDWsiA3RqIQggB0EoahAEGiADRQ0BIAdBKGogAxAFIAhqIQgMAQsgB0EoaiADEAUgCGohCCAHQShqEAQaCyAHKQJUISEgByAINgJUIAcgITcDWAwBCwJAIANFBEAgAgRAIAcoAlQhCAwDCyAHKAJYIQgMAQsCQAJAIAdBKGpBARAFIAggAkVqaiIDQQNGBEAgBygCVEF/aiIDIANFaiEIDAELIANBAnQgB2ooAlQiCCAIRWohCCADQQFGDQELIAcgBygCWDYCXAsLIAcgBygCVDYCWCAHIAg2AlQLICCnIQMgCQRAIAdBKGogCRAFIANqIQMLIAkgC2pBFE8EQCAHQShqEAQaCyALBEAgB0EoaiALEAUgAmohAgsgB0EoahAEGiAHIAcoAmggAmoiCSADajYCaCAKIAwgCCAJSxsoAgAhDSAHIAdBKGogHUIYiKdB/wFxEAggHadB//8DcWo2AjwgByAHQShqIB5CGIinQf8BcRAIIB6nQf//A3FqNgJMIAdBKGoQBBogB0EoaiAfQhiIp0H/AXEQCCEOIAdB8ABqIARBBHRqIgsgCSANaiAIazYCDCALIAg2AgggCyADNgIEIAsgAjYCACAHIA4gH6dB//8DcWo2AkQgBEEBaiEEDAELCyAEIBdIDQEgEkFgaiEYIAdB4ABqIRogB0HkAGohGyABIQMDQCAHQShqEARBAksgBCAFTnJFBEAgBygCQCAHKAI8QQN0aikCACIdQhCIp0H/AXEhCyAHKAJQIAcoAkxBA3RqKQIAIh5CEIinQf8BcSEIIAcoAkggBygCREEDdGopAgAiH0IgiKchCSAeQiCIISAgHUIgiKchDAJAIB9CEIinQf8BcSICQQJPBEACQCAGRSACQRlJckUEQCAJIAdBKGogAkEgIAcoAixrIgogCiACSxsiChAFIAIgCmsiAnRqIQkgB0EoahAEGiACRQ0BIAdBKGogAhAFIAlqIQkMAQsgB0EoaiACEAUgCWohCSAHQShqEAQaCyAHKQJUISEgByAJNgJUIAcgITcDWAwBCwJAIAJFBEAgDARAIAcoAlQhCQwDCyAHKAJYIQkMAQsCQAJAIAdBKGpBARAFIAkgDEVqaiICQQNGBEAgBygCVEF/aiICIAJFaiEJDAELIAJBAnQgB2ooAlQiCSAJRWohCSACQQFGDQELIAcgBygCWDYCXAsLIAcgBygCVDYCWCAHIAk2AlQLICCnIRQgCARAIAdBKGogCBAFIBRqIRQLIAggC2pBFE8EQCAHQShqEAQaCyALBEAgB0EoaiALEAUgDGohDAsgB0EoahAEGiAHIAcoAmggDGoiGSAUajYCaCAbIBogCSAZSxsoAgAhHCAHIAdBKGogHUIYiKdB/wFxEAggHadB//8DcWo2AjwgByAHQShqIB5CGIinQf8BcRAIIB6nQf//A3FqNgJMIAdBKGoQBBogByAHQShqIB9CGIinQf8BcRAIIB+nQf//A3FqNgJEIAcgB0HwAGogBEEDcUEEdGoiDSkDCCIdNwPIASAHIA0pAwAiHjcDwAECQAJAAkAgBygCvAEiDiAepyICaiIWIBNLDQAgAyAHKALEASIKIAJqIgtqIBhLDQAgEiADayALQSBqTw0BCyAHIAcpA8gBNwMQIAcgBykDwAE3AwggAyASIAdBCGogB0G8AWogEyAPIBUgERAeIQsMAQsgAiADaiEIIAMgDhAHIAJBEU8EQCADQRBqIQIDQCACIA5BEGoiDhAHIAJBEGoiAiAISQ0ACwsgCCAdpyIOayECIAcgFjYCvAEgDiAIIA9rSwRAIA4gCCAVa0sEQEFsIQsMAgsgESACIA9rIgJqIhYgCmogEU0EQCAIIBYgChAPGgwCCyAIIBZBACACaxAPIQggByACIApqIgo2AsQBIAggAmshCCAPIQILIA5BEE8EQCAIIApqIQoDQCAIIAIQByACQRBqIQIgCEEQaiIIIApJDQALDAELAkAgDkEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgDkECdCIKQcAeaigCAGoiAhAXIAIgCkHgHmooAgBrIQIgBygCxAEhCgwBCyAIIAIQDAsgCkEJSQ0AIAggCmohCiAIQQhqIgggAkEIaiICa0EPTARAA0AgCCACEAwgAkEIaiECIAhBCGoiCCAKSQ0ADAIACwALA0AgCCACEAcgAkEQaiECIAhBEGoiCCAKSQ0ACwsgCxADBEAgCyEQDAQFIA0gDDYCACANIBkgHGogCWs2AgwgDSAJNgIIIA0gFDYCBCAEQQFqIQQgAyALaiEDDAILAAsLIAQgBUgNASAEIBdrIQtBACEEA0AgCyAFSARAIAcgB0HwAGogC0EDcUEEdGoiAikDCCIdNwPIASAHIAIpAwAiHjcDwAECQAJAAkAgBygCvAEiDCAepyICaiIKIBNLDQAgAyAHKALEASIJIAJqIhBqIBhLDQAgEiADayAQQSBqTw0BCyAHIAcpA8gBNwMgIAcgBykDwAE3AxggAyASIAdBGGogB0G8AWogEyAPIBUgERAeIRAMAQsgAiADaiEIIAMgDBAHIAJBEU8EQCADQRBqIQIDQCACIAxBEGoiDBAHIAJBEGoiAiAISQ0ACwsgCCAdpyIGayECIAcgCjYCvAEgBiAIIA9rSwRAIAYgCCAVa0sEQEFsIRAMAgsgESACIA9rIgJqIgwgCWogEU0EQCAIIAwgCRAPGgwCCyAIIAxBACACaxAPIQggByACIAlqIgk2AsQBIAggAmshCCAPIQILIAZBEE8EQCAIIAlqIQYDQCAIIAIQByACQRBqIQIgCEEQaiIIIAZJDQALDAELAkAgBkEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgBkECdCIGQcAeaigCAGoiAhAXIAIgBkHgHmooAgBrIQIgBygCxAEhCQwBCyAIIAIQDAsgCUEJSQ0AIAggCWohBiAIQQhqIgggAkEIaiICa0EPTARAA0AgCCACEAwgAkEIaiECIAhBCGoiCCAGSQ0ADAIACwALA0AgCCACEAcgAkEQaiECIAhBEGoiCCAGSQ0ACwsgEBADDQMgC0EBaiELIAMgEGohAwwBCwsDQCAEQQNHBEAgACAEQQJ0IgJqQazQAWogAiAHaigCVDYCACAEQQFqIQQMAQsLIAcoArwBIQgLQbp/IRAgEyAIayIAIBIgA2tLDQAgAwR/IAMgCCAAEAsgAGoFQQALIAFrIRALIAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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", la = /* @__PURE__ */ new WeakMap();
1987
+ let ha, ga = 0;
1988
+ class P extends va {
1981
1989
  constructor(e) {
1982
- super(e), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new Fi(), this.workerSourceURL = "", this.workerConfig = null, typeof MSC_TRANSCODER < "u" && console.warn('THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.');
1990
+ super(e), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new vi(), this.workerSourceURL = "", this.workerConfig = null, typeof MSC_TRANSCODER < "u" && console.warn('THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.');
1983
1991
  }
1984
1992
  setTranscoderPath(e) {
1985
1993
  return this.transcoderPath = e, this;
@@ -2007,7 +2015,7 @@ class P extends Fa {
2007
2015
  const n = new Worker(this.workerSourceURL), b = this.transcoderBinary.slice(0);
2008
2016
  return n.postMessage({ type: "init", config: this.workerConfig, transcoderBinary: b }, [b]), n;
2009
2017
  });
2010
- }), ha > 0 && console.warn("THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."), ha++;
2018
+ }), ga > 0 && console.warn("THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."), ga++;
2011
2019
  }
2012
2020
  return this.transcoderPending;
2013
2021
  }
@@ -2020,8 +2028,8 @@ class P extends Fa {
2020
2028
  }
2021
2029
  parse(e, a, t) {
2022
2030
  if (this.workerConfig === null) throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");
2023
- if (ba.has(e))
2024
- return ba.get(e).promise.then(a).catch(t);
2031
+ if (la.has(e))
2032
+ return la.get(e).promise.then(a).catch(t);
2025
2033
  this._createTexture(e).then((A) => a ? a(A) : null).catch(t);
2026
2034
  }
2027
2035
  _createTextureFrom(e, a) {
@@ -2039,41 +2047,41 @@ class P extends Fa {
2039
2047
  const t = function(r) {
2040
2048
  const c = new Uint8Array(r.buffer, r.byteOffset, U.length);
2041
2049
  if (c[0] !== U[0] || c[1] !== U[1] || c[2] !== U[2] || c[3] !== U[3] || c[4] !== U[4] || c[5] !== U[5] || c[6] !== U[6] || c[7] !== U[7] || c[8] !== U[8] || c[9] !== U[9] || c[10] !== U[10] || c[11] !== U[11]) throw new Error("Missing KTX 2.0 identifier.");
2042
- const n = new Ti(), b = 17 * Uint32Array.BYTES_PER_ELEMENT, d = new Fe(r, U.length, b, !0);
2050
+ const n = new Ti(), b = 17 * Uint32Array.BYTES_PER_ELEMENT, d = new ve(r, U.length, b, !0);
2043
2051
  n.vkFormat = d._nextUint32(), n.typeSize = d._nextUint32(), n.pixelWidth = d._nextUint32(), n.pixelHeight = d._nextUint32(), n.pixelDepth = d._nextUint32(), n.layerCount = d._nextUint32(), n.faceCount = d._nextUint32();
2044
2052
  const l = d._nextUint32();
2045
2053
  n.supercompressionScheme = d._nextUint32();
2046
- const g = d._nextUint32(), h = d._nextUint32(), f = d._nextUint32(), I = d._nextUint32(), u = d._nextUint64(), p = d._nextUint64(), B = new Fe(r, U.length + b, 3 * l * 8, !0);
2047
- for (let R = 0; R < l; R++) n.levels.push({ levelData: new Uint8Array(r.buffer, r.byteOffset + B._nextUint64(), B._nextUint64()), uncompressedByteLength: B._nextUint64() });
2048
- const C = new Fe(r, g, h, !0), w = { vendorId: C._skip(4)._nextUint16(), descriptorType: C._nextUint16(), versionNumber: C._nextUint16(), descriptorBlockSize: C._nextUint16(), colorModel: C._nextUint8(), colorPrimaries: C._nextUint8(), transferFunction: C._nextUint8(), flags: C._nextUint8(), texelBlockDimension: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], bytesPlane: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], samples: [] }, x = (w.descriptorBlockSize / 4 - 6) / 4;
2049
- for (let R = 0; R < x; R++) {
2054
+ const g = d._nextUint32(), h = d._nextUint32(), f = d._nextUint32(), I = d._nextUint32(), u = d._nextUint64(), p = d._nextUint64(), B = new ve(r, U.length + b, 3 * l * 8, !0);
2055
+ for (let S = 0; S < l; S++) n.levels.push({ levelData: new Uint8Array(r.buffer, r.byteOffset + B._nextUint64(), B._nextUint64()), uncompressedByteLength: B._nextUint64() });
2056
+ const C = new ve(r, g, h, !0), w = { vendorId: C._skip(4)._nextUint16(), descriptorType: C._nextUint16(), versionNumber: C._nextUint16(), descriptorBlockSize: C._nextUint16(), colorModel: C._nextUint8(), colorPrimaries: C._nextUint8(), transferFunction: C._nextUint8(), flags: C._nextUint8(), texelBlockDimension: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], bytesPlane: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], samples: [] }, x = (w.descriptorBlockSize / 4 - 6) / 4;
2057
+ for (let S = 0; S < x; S++) {
2050
2058
  const L = { bitOffset: C._nextUint16(), bitLength: C._nextUint8(), channelType: C._nextUint8(), samplePosition: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], sampleLower: -1 / 0, sampleUpper: 1 / 0 };
2051
- 64 & L.channelType ? (L.sampleLower = C._nextInt32(), L.sampleUpper = C._nextInt32()) : (L.sampleLower = C._nextUint32(), L.sampleUpper = C._nextUint32()), w.samples[R] = L;
2059
+ 64 & L.channelType ? (L.sampleLower = C._nextInt32(), L.sampleUpper = C._nextInt32()) : (L.sampleLower = C._nextUint32(), L.sampleUpper = C._nextUint32()), w.samples[S] = L;
2052
2060
  }
2053
2061
  n.dataFormatDescriptor.length = 0, n.dataFormatDescriptor.push(w);
2054
- const y = new Fe(r, f, I, !0);
2062
+ const y = new ve(r, f, I, !0);
2055
2063
  for (; y._offset < I; ) {
2056
- const R = y._nextUint32(), L = y._scan(R), q = tt(L);
2057
- if (n.keyValue[q] = y._nextUint8Array(R - L.byteLength - 1), q.match(/^ktx/i)) {
2064
+ const S = y._nextUint32(), L = y._scan(S), q = tt(L);
2065
+ if (n.keyValue[q] = y._nextUint8Array(S - L.byteLength - 1), q.match(/^ktx/i)) {
2058
2066
  const V = tt(n.keyValue[q]);
2059
2067
  n.keyValue[q] = V.substring(0, V.lastIndexOf("\0"));
2060
2068
  }
2061
- y._skip(R % 4 ? 4 - R % 4 : 0);
2069
+ y._skip(S % 4 ? 4 - S % 4 : 0);
2062
2070
  }
2063
2071
  if (p <= 0) return n;
2064
- const m = new Fe(r, u, p, !0), Q = m._nextUint16(), k = m._nextUint16(), D = m._nextUint32(), F = m._nextUint32(), _ = m._nextUint32(), ea = m._nextUint32(), Me = [];
2065
- for (let R = 0; R < l; R++) Me.push({ imageFlags: m._nextUint32(), rgbSliceByteOffset: m._nextUint32(), rgbSliceByteLength: m._nextUint32(), alphaSliceByteOffset: m._nextUint32(), alphaSliceByteLength: m._nextUint32() });
2066
- const qe = u + m._offset, Re = qe + D, Se = Re + F, ve = Se + _, Oe = new Uint8Array(r.buffer, r.byteOffset + qe, D), Je = new Uint8Array(r.buffer, r.byteOffset + Re, F), z = new Uint8Array(r.buffer, r.byteOffset + Se, _), me = new Uint8Array(r.buffer, r.byteOffset + ve, ea);
2072
+ const m = new ve(r, u, p, !0), Q = m._nextUint16(), k = m._nextUint16(), D = m._nextUint32(), v = m._nextUint32(), _ = m._nextUint32(), aa = m._nextUint32(), Me = [];
2073
+ for (let S = 0; S < l; S++) Me.push({ imageFlags: m._nextUint32(), rgbSliceByteOffset: m._nextUint32(), rgbSliceByteLength: m._nextUint32(), alphaSliceByteOffset: m._nextUint32(), alphaSliceByteLength: m._nextUint32() });
2074
+ const qe = u + m._offset, Re = qe + D, Se = Re + v, Fe = Se + _, Oe = new Uint8Array(r.buffer, r.byteOffset + qe, D), Je = new Uint8Array(r.buffer, r.byteOffset + Re, v), z = new Uint8Array(r.buffer, r.byteOffset + Se, _), me = new Uint8Array(r.buffer, r.byteOffset + Fe, aa);
2067
2075
  return n.globalData = { endpointCount: Q, selectorCount: k, imageDescs: Me, endpointsData: Oe, selectorsData: Je, tablesData: z, extendedData: me }, n;
2068
2076
  }(new Uint8Array(e)), A = t.vkFormat === Ta && t.dataFormatDescriptor[0].colorModel === 167;
2069
2077
  if (!(t.vkFormat === 0 || A && !this.workerConfig.astcHDRSupported)) return async function(r) {
2070
2078
  const { vkFormat: c } = r;
2071
- if (ga[c] === void 0) throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");
2079
+ if (fa[c] === void 0) throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");
2072
2080
  let n;
2073
- r.supercompressionScheme === 2 && (la || (la = new Promise(async (l) => {
2081
+ r.supercompressionScheme === 2 && (ha || (ha = new Promise(async (l) => {
2074
2082
  const g = new Li();
2075
2083
  await g.init(), l(g);
2076
- })), n = await la);
2084
+ })), n = await ha);
2077
2085
  const b = [];
2078
2086
  for (let l = 0; l < r.levels.length; l++) {
2079
2087
  const g = Math.max(1, r.pixelWidth >> l), h = Math.max(1, r.pixelHeight >> l), f = r.pixelDepth ? Math.max(1, r.pixelDepth >> l) : 0, I = r.levels[l];
@@ -2083,24 +2091,24 @@ class P extends Fa {
2083
2091
  if (r.supercompressionScheme !== 2) throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");
2084
2092
  u = n.decode(I.levelData, I.uncompressedByteLength);
2085
2093
  }
2086
- p = fa[c] === v ? new Float32Array(u.buffer, u.byteOffset, u.byteLength / Float32Array.BYTES_PER_ELEMENT) : fa[c] === xe ? new Uint16Array(u.buffer, u.byteOffset, u.byteLength / Uint16Array.BYTES_PER_ELEMENT) : u, b.push({ data: p, width: g, height: h, depth: f });
2094
+ p = ua[c] === F ? new Float32Array(u.buffer, u.byteOffset, u.byteLength / Float32Array.BYTES_PER_ELEMENT) : ua[c] === xe ? new Uint16Array(u.buffer, u.byteOffset, u.byteLength / Uint16Array.BYTES_PER_ELEMENT) : u, b.push({ data: p, width: g, height: h, depth: f });
2087
2095
  }
2088
2096
  let d;
2089
- if (Gi.has(ga[c])) d = r.pixelDepth === 0 ? new Ge(b[0].data, r.pixelWidth, r.pixelHeight) : new _A(b[0].data, r.pixelWidth, r.pixelHeight, r.pixelDepth);
2097
+ if (Gi.has(fa[c])) d = r.pixelDepth === 0 ? new Ge(b[0].data, r.pixelWidth, r.pixelHeight) : new _A(b[0].data, r.pixelWidth, r.pixelHeight, r.pixelDepth);
2090
2098
  else {
2091
2099
  if (r.pixelDepth > 0) throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");
2092
2100
  d = new qa(b, r.pixelWidth, r.pixelHeight), d.minFilter = b.length === 1 ? Ce : $e, d.magFilter = Ce;
2093
2101
  }
2094
- return d.mipmaps = b, d.type = fa[c], d.format = ga[c], d.colorSpace = it(r), d.needsUpdate = !0, Promise.resolve(d);
2102
+ return d.mipmaps = b, d.type = ua[c], d.format = fa[c], d.colorSpace = it(r), d.needsUpdate = !0, Promise.resolve(d);
2095
2103
  }(t);
2096
2104
  const i = a, s = this.init().then(() => this.workerPool.postMessage({ type: "transcode", buffer: e, taskConfig: i }, [e])).then((r) => this._createTextureFrom(r.data, t));
2097
- return ba.set(e, { promise: s }), s;
2105
+ return la.set(e, { promise: s }), s;
2098
2106
  }
2099
2107
  dispose() {
2100
- return this.workerPool.dispose(), this.workerSourceURL && URL.revokeObjectURL(this.workerSourceURL), ha--, this;
2108
+ return this.workerPool.dispose(), this.workerSourceURL && URL.revokeObjectURL(this.workerSourceURL), ga--, this;
2101
2109
  }
2102
2110
  }
2103
- P.BasisFormat = { ETC1S: 0, UASTC: 1, UASTC_HDR: 2 }, P.TranscoderFormat = { ETC1: 0, ETC2: 1, BC1: 2, BC3: 3, BC4: 4, BC5: 5, BC7_M6_OPAQUE_ONLY: 6, BC7_M5: 7, PVRTC1_4_RGB: 8, PVRTC1_4_RGBA: 9, ASTC_4x4: 10, ATC_RGB: 11, ATC_RGBA_INTERPOLATED_ALPHA: 12, RGBA32: 13, RGB565: 14, BGR565: 15, RGBA4444: 16, BC6H: 22, RGB_HALF: 24, RGBA_HALF: 25 }, P.EngineFormat = { RGBAFormat: $, RGBA_ASTC_4x4_Format: Qt, RGB_BPTC_UNSIGNED_Format: SA, RGBA_BPTC_Format: vA, RGBA_ETC2_EAC_Format: FA, RGBA_PVRTC_4BPPV1_Format: TA, RGBA_S3TC_DXT5_Format: LA, RGB_ETC1_Format: GA, RGB_ETC2_Format: UA, RGB_PVRTC_4BPPV1_Format: NA, RGBA_S3TC_DXT1_Format: PA }, P.EngineType = { UnsignedByteType: X, HalfFloatType: xe, FloatType: v }, P.BasisWorker = function() {
2111
+ P.BasisFormat = { ETC1S: 0, UASTC: 1, UASTC_HDR: 2 }, P.TranscoderFormat = { ETC1: 0, ETC2: 1, BC1: 2, BC3: 3, BC4: 4, BC5: 5, BC7_M6_OPAQUE_ONLY: 6, BC7_M5: 7, PVRTC1_4_RGB: 8, PVRTC1_4_RGBA: 9, ASTC_4x4: 10, ATC_RGB: 11, ATC_RGBA_INTERPOLATED_ALPHA: 12, RGBA32: 13, RGB565: 14, BGR565: 15, RGBA4444: 16, BC6H: 22, RGB_HALF: 24, RGBA_HALF: 25 }, P.EngineFormat = { RGBAFormat: ee, RGBA_ASTC_4x4_Format: wt, RGB_BPTC_UNSIGNED_Format: SA, RGBA_BPTC_Format: FA, RGBA_ETC2_EAC_Format: vA, RGBA_PVRTC_4BPPV1_Format: TA, RGBA_S3TC_DXT5_Format: LA, RGB_ETC1_Format: GA, RGB_ETC2_Format: UA, RGB_PVRTC_4BPPV1_Format: NA, RGBA_S3TC_DXT1_Format: PA }, P.EngineType = { UnsignedByteType: X, HalfFloatType: xe, FloatType: F }, P.BasisWorker = function() {
2104
2112
  let o, e, a;
2105
2113
  const t = _EngineFormat, A = _EngineType, i = _TranscoderFormat, s = _BasisFormat;
2106
2114
  self.addEventListener("message", function(d) {
@@ -2129,11 +2137,11 @@ P.BasisFormat = { ETC1S: 0, UASTC: 1, UASTC_HDR: 2 }, P.TranscoderFormat = { ETC
2129
2137
  if (!y.isHDR()) throw new Error("THREE.KTX2Loader: Unknown Basis encoding");
2130
2138
  Q = s.UASTC_HDR;
2131
2139
  }
2132
- const k = y.getWidth(), D = y.getHeight(), F = y.getLayers() || 1, _ = y.getLevels(), ea = y.getFaces(), Me = y.getHasAlpha(), qe = y.getDFDFlags(), { transcoderFormat: Re, engineFormat: Se, engineType: ve } = function(z, me, R, L) {
2140
+ const k = y.getWidth(), D = y.getHeight(), v = y.getLayers() || 1, _ = y.getLevels(), aa = y.getFaces(), Me = y.getHasAlpha(), qe = y.getDFDFlags(), { transcoderFormat: Re, engineFormat: Se, engineType: Fe } = function(z, me, S, L) {
2133
2141
  const q = c[z];
2134
2142
  for (let V = 0; V < q.length; V++) {
2135
2143
  const O = q[V];
2136
- if (!(O.if && !o[O.if]) && O.basisFormat.includes(z) && !(L && O.transcoderFormat.length < 2) && !(O.needsPowerOfTwo && (!n(me) || !n(R))))
2144
+ if (!(O.if && !o[O.if]) && O.basisFormat.includes(z) && !(L && O.transcoderFormat.length < 2) && !(O.needsPowerOfTwo && (!n(me) || !n(S))))
2137
2145
  return { transcoderFormat: O.transcoderFormat[L ? 1 : 0], engineFormat: O.engineFormat[L ? 1 : 0], engineType: O.engineType[0] };
2138
2146
  }
2139
2147
  throw new Error("THREE.KTX2Loader: Failed to identify transcoding target.");
@@ -2141,25 +2149,25 @@ P.BasisFormat = { ETC1S: 0, UASTC: 1, UASTC_HDR: 2 }, P.TranscoderFormat = { ETC
2141
2149
  if (!k || !D || !_) throw m(), new Error("THREE.KTX2Loader: Invalid texture");
2142
2150
  if (!y.startTranscoding()) throw m(), new Error("THREE.KTX2Loader: .startTranscoding failed");
2143
2151
  const Oe = [], Je = [];
2144
- for (let z = 0; z < ea; z++) {
2152
+ for (let z = 0; z < aa; z++) {
2145
2153
  const me = [];
2146
- for (let R = 0; R < _; R++) {
2154
+ for (let S = 0; S < _; S++) {
2147
2155
  const L = [];
2148
2156
  let q, V;
2149
- for (let Ee = 0; Ee < F; Ee++) {
2150
- const Qe = y.getImageLevelInfo(R, Ee, z);
2151
- z !== 0 || R !== 0 || Ee !== 0 || Qe.origWidth % 4 == 0 && Qe.origHeight % 4 == 0 || console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."), _ > 1 ? (q = Qe.origWidth, V = Qe.origHeight) : (q = Qe.width, V = Qe.height);
2152
- let ye = new Uint8Array(y.getImageTranscodedSizeInBytes(R, Ee, 0, Re));
2153
- const Yt = y.transcodeImage(ye, R, Ee, z, Re, 0, -1, -1);
2154
- if (ve === A.HalfFloatType && (ye = new Uint16Array(ye.buffer, ye.byteOffset, ye.byteLength / Uint16Array.BYTES_PER_ELEMENT)), !Yt) throw m(), new Error("THREE.KTX2Loader: .transcodeImage failed.");
2157
+ for (let Ee = 0; Ee < v; Ee++) {
2158
+ const Qe = y.getImageLevelInfo(S, Ee, z);
2159
+ z !== 0 || S !== 0 || Ee !== 0 || Qe.origWidth % 4 == 0 && Qe.origHeight % 4 == 0 || console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."), _ > 1 ? (q = Qe.origWidth, V = Qe.origHeight) : (q = Qe.width, V = Qe.height);
2160
+ let ye = new Uint8Array(y.getImageTranscodedSizeInBytes(S, Ee, 0, Re));
2161
+ const Xt = y.transcodeImage(ye, S, Ee, z, Re, 0, -1, -1);
2162
+ if (Fe === A.HalfFloatType && (ye = new Uint16Array(ye.buffer, ye.byteOffset, ye.byteLength / Uint16Array.BYTES_PER_ELEMENT)), !Xt) throw m(), new Error("THREE.KTX2Loader: .transcodeImage failed.");
2155
2163
  L.push(ye);
2156
2164
  }
2157
2165
  const O = b(L);
2158
2166
  me.push({ data: O, width: q, height: V }), Je.push(O.buffer);
2159
2167
  }
2160
- Oe.push({ mipmaps: me, width: k, height: D, format: Se, type: ve });
2168
+ Oe.push({ mipmaps: me, width: k, height: D, format: Se, type: Fe });
2161
2169
  }
2162
- return m(), { faces: Oe, buffers: Je, width: k, height: D, hasAlpha: Me, dfdFlags: qe, format: Se, type: ve };
2170
+ return m(), { faces: Oe, buffers: Je, width: k, height: D, hasAlpha: Me, dfdFlags: qe, format: Se, type: Fe };
2163
2171
  }(l.buffer);
2164
2172
  self.postMessage({ type: "transcode", id: l.id, data: { faces: h, width: I, height: u, hasAlpha: p, format: B, type: C, dfdFlags: w } }, f);
2165
2173
  } catch (h) {
@@ -2187,7 +2195,7 @@ P.BasisFormat = { ETC1S: 0, UASTC: 1, UASTC_HDR: 2 }, P.TranscoderFormat = { ETC
2187
2195
  return g;
2188
2196
  }
2189
2197
  };
2190
- const Gi = /* @__PURE__ */ new Set([$, Ue, Ne]), ga = { [qt]: $, [Pt]: $, [Lt]: $, [Gt]: $, [Ht]: Ue, [Nt]: Ue, [Ft]: Ue, [Tt]: Ue, [_t]: Ne, [Ut]: Ne, [vt]: Ne, [St]: Ne, [Ta]: Qt, [Jt]: Oa, [Ot]: Oa }, fa = { [qt]: v, [Pt]: xe, [Lt]: X, [Gt]: X, [Ht]: v, [Nt]: xe, [Ft]: X, [Tt]: X, [_t]: v, [Ut]: xe, [vt]: X, [St]: X, [Ta]: xe, [Jt]: X, [Ot]: X };
2198
+ const Gi = /* @__PURE__ */ new Set([ee, Ue, Ne]), fa = { [Jt]: ee, [Ht]: ee, [Ut]: ee, [Nt]: ee, [Ot]: Ue, [_t]: Ue, [Lt]: Ue, [Gt]: Ue, [qt]: Ne, [Pt]: Ne, [Tt]: Ne, [vt]: Ne, [Ta]: wt, [zt]: Oa, [Kt]: Oa }, ua = { [Jt]: F, [Ht]: xe, [Ut]: X, [Nt]: X, [Ot]: F, [_t]: xe, [Lt]: X, [Gt]: X, [qt]: F, [Pt]: xe, [Tt]: X, [vt]: X, [Ta]: xe, [zt]: X, [Kt]: X };
2191
2199
  function it(o) {
2192
2200
  const e = o.dataFormatDescriptor[0];
2193
2201
  return e.colorPrimaries === 1 ? e.transferFunction === 2 ? re : K : e.colorPrimaries === 10 ? e.transferFunction === 2 ? "display-p3" : "display-p3-linear" : (e.colorPrimaries === 0 || console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${e.colorPrimaries}"`), HA);
@@ -2229,11 +2237,11 @@ async function st(o) {
2229
2237
  }
2230
2238
  function w(m) {
2231
2239
  let Q = 0;
2232
- return Q = m.z == null ? ua(m.x, m.y, m.level) : pa(m.x, m.y, m.z, m.level), B(u.tileAvailability, Q);
2240
+ return Q = m.z == null ? Ia(m.x, m.y, m.level) : Ca(m.x, m.y, m.z, m.level), B(u.tileAvailability, Q);
2233
2241
  }
2234
2242
  function x(m) {
2235
2243
  let Q = 0;
2236
- Q = m.z == null ? ua(m.x, m.y, m.level) : pa(m.x, m.y, m.z, m.level);
2244
+ Q = m.z == null ? Ia(m.x, m.y, m.level) : Ca(m.x, m.y, m.z, m.level);
2237
2245
  const k = [];
2238
2246
  return u.contentAvailability.forEach((D) => {
2239
2247
  k.push(B(D, Q));
@@ -2241,7 +2249,7 @@ async function st(o) {
2241
2249
  }
2242
2250
  function y(m) {
2243
2251
  let Q = 0;
2244
- return Q = m.z == null ? ua(m.x, m.y) : pa(m.x, m.y, m.z), B(u.childSubtreeAvailability, Q);
2252
+ return Q = m.z == null ? Ia(m.x, m.y) : Ca(m.x, m.y, m.z), B(u.childSubtreeAvailability, Q);
2245
2253
  }
2246
2254
  return { isTileAvailable: w, isContentAvailable: x, isChildSubtreeAvailable: y };
2247
2255
  }(h, I);
@@ -2255,16 +2263,16 @@ function rt(o) {
2255
2263
  function nt(o) {
2256
2264
  return o = 1431655765 & ((o = 858993459 & ((o = 252645135 & ((o = 16711935 & ((o &= 65535) ^ o << 8)) ^ o << 4)) ^ o << 2)) ^ o << 1);
2257
2265
  }
2258
- function ua(o, e, a) {
2266
+ function Ia(o, e, a) {
2259
2267
  let t = 0;
2260
2268
  return a && (t = (Math.pow(4, a) - 1) / 3), t + (nt(o) | nt(e) << 1);
2261
2269
  }
2262
- function Ia(o) {
2270
+ function pa(o) {
2263
2271
  return o = 153391689 & ((o = 51130563 & ((o = 50393103 & ((o = 4278190335 & ((o &= 1023) ^ o << 16)) ^ o << 8)) ^ o << 4)) ^ o << 2);
2264
2272
  }
2265
- function pa(o, e, a, t) {
2273
+ function Ca(o, e, a, t) {
2266
2274
  let A = 0;
2267
- return t && (A = (Math.pow(8, t) - 1) / 7), A + (Ia(o) | Ia(e) << 1 | Ia(a) << 2);
2275
+ return t && (A = (Math.pow(8, t) - 1) / 7), A + (pa(o) | pa(e) << 1 | pa(a) << 2);
2268
2276
  }
2269
2277
  const Te = /* @__PURE__ */ new Map();
2270
2278
  async function La(o, e) {
@@ -2394,7 +2402,7 @@ function Ui(o, e, a) {
2394
2402
  return C.set(B.subarray(u, u + d * l)), I(u - I(0)), C;
2395
2403
  }
2396
2404
  })();
2397
- var Kt = function() {
2405
+ var Vt = function() {
2398
2406
  var o = new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 3, 2, 0, 0, 5, 3, 1, 0, 1, 12, 1, 0, 10, 22, 2, 12, 0, 65, 0, 65, 0, 65, 0, 252, 10, 0, 0, 11, 7, 0, 65, 0, 253, 15, 26, 11]), e = new Uint8Array([32, 0, 65, 2, 1, 106, 34, 33, 3, 128, 11, 4, 13, 64, 6, 253, 10, 7, 15, 116, 127, 5, 8, 12, 40, 16, 19, 54, 20, 9, 27, 255, 113, 17, 42, 67, 24, 23, 146, 148, 18, 14, 22, 45, 70, 69, 56, 114, 101, 21, 25, 63, 75, 136, 108, 28, 118, 29, 73, 115]);
2399
2407
  if (typeof WebAssembly != "object") return { supported: !1 };
2400
2408
  var a, t = WebAssembly.validate(o) ? "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;b9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;e8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincbhHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAcd0hHalhOaAcefgAclSmdxekkcbhlaHceGTmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;tzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:wPliuo97eue978Jjjjjbca9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskdnalTmbcbhvabhdinadczfgxaxpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabalcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbadczfhdaeclfgeav6mbkkdnaval9pmbaialciGgecdtgdVcbc;abad9R;8kbaiabavcdtfgvad;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepklbkavaiad;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb" : "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq;d8Yqdbk:yzeHu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhlaicefhodnadTmbalc;WFbGglcjdalcjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfglcl4cifcd4hxdndndndnalc9WGgmTmbcbhPcehsawcjdfhzaohHinaraH9Rax6midnaraHaxfgo9RcK6mbczhlcbhOinalgic9WfgAawcj;cbffhldndndndndnaHaAco4fRbbaOcoG4ciGPlbedibkal9cb83ibalcwf9cb83ibxikalaoRblaoRbbgAco4gCaCciSgCE86bbawcj;cbfaifglcGfaoclfaCfgCRbbaAcl4ciGgXaXciSgXE86bbalcVfaCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc7faCaXfgCRbbaAciGgAaAciSgAE86bbalctfaCaAfgCRbbaoRbegAco4gXaXciSgXE86bbalc91faCaXfgCRbbaAcl4ciGgXaXciSgXE86bbalc4faCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc93faCaXfgCRbbaAciGgAaAciSgAE86bbalc94faCaAfgCRbbaoRbdgAco4gXaXciSgXE86bbalc95faCaXfgCRbbaAcl4ciGgXaXciSgXE86bbalc96faCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc97faCaXfgCRbbaAciGgAaAciSgAE86bbalc98faCaAfgARbbaoRbigoco4gCaCciSgCE86bbalc99faAaCfgARbbaocl4ciGgCaCciSgCE86bbalc9:faAaCfgARbbaocd4ciGgCaCciSgCE86bbalcufaAaCfglRbbaociGgoaociSgoE86bbalaofhoxdkalaoRbwaoRbbgAcl4gCaCcsSgCE86bbawcj;cbfaifglcGfaocwfaCfgCRbbaAcsGgAaAcsSgAE86bbalcVfaCaAfgARbbaoRbegCcl4gXaXcsSgXE86bbalc7faAaXfgARbbaCcsGgCaCcsSgCE86bbalctfaAaCfgARbbaoRbdgCcl4gXaXcsSgXE86bbalc91faAaXfgARbbaCcsGgCaCcsSgCE86bbalc4faAaCfgARbbaoRbigCcl4gXaXcsSgXE86bbalc93faAaXfgARbbaCcsGgCaCcsSgCE86bbalc94faAaCfgARbbaoRblgCcl4gXaXcsSgXE86bbalc95faAaXfgARbbaCcsGgCaCcsSgCE86bbalc96faAaCfgARbbaoRbvgCcl4gXaXcsSgXE86bbalc97faAaXfgARbbaCcsGgCaCcsSgCE86bbalc98faAaCfgARbbaoRbogCcl4gXaXcsSgXE86bbalc99faAaXfgARbbaCcsGgCaCcsSgCE86bbalc9:faAaCfgARbbaoRbrgocl4gCaCcsSgCE86bbalcufaAaCfglRbbaocsGgoaocsSgoE86bbalaofhoxekalao8Pbb83bbalcwfaocwf8Pbb83bbaoczfhokdnaiam9pmbaOcdfhOaiczfhlarao9RcL0mekkaiam6miaoTmidnakTmbawaPfRbbhOawcj;cbfhlazhiakhAinaialRbbgHce4cbaHceG9R7aOfgO86bbaiadfhialcefhlaAcufgAmbkkazcefhzaPcefgPad6hsaohHaPad9hmexvkkcbhoasceGmdxikaoaxad2fhXdnakTmbcbhmcehsawcjdfhCinarao9Rax6miaoTmdaoaxfhoawamfRbbhOawcj;cbfhlaChiakhAinaialRbbgHce4cbaHceG9R7aOfgO86bbaiadfhialcefhlaAcufgAmbkaCcefhCamcefgmad6hsamad9hmbkaXhoxikcbhlcehsinarao9Rax6mdaoTmeaoaxfhoalcefglad6hsadal9hmbkaXhoxdkcbhoasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqaombkc9:hoxekcbc99arao9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;xzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabaiavcefciGfcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabaiavcdfciGfcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabaiavcufciGfcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabaiavciGfcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb", A = WebAssembly.instantiate(i(t), {}).then(function(g) {
@@ -2453,8 +2461,8 @@ var Kt = function() {
2453
2461
  return n.length > 0 ? function(p, B, C, w, x) {
2454
2462
  for (var y = n[0], m = 1; m < n.length; ++m) n[m].pending < y.pending && (y = n[m]);
2455
2463
  return new Promise(function(Q, k) {
2456
- var D = new Uint8Array(C), F = ++b;
2457
- y.pending += p, y.requests[F] = { resolve: Q, reject: k }, y.object.postMessage({ id: F, count: p, size: B, source: D, mode: w, filter: x }, [D.buffer]);
2464
+ var D = new Uint8Array(C), v = ++b;
2465
+ y.pending += p, y.requests[v] = { resolve: Q, reject: k }, y.object.postMessage({ id: v, count: p, size: B, source: D, mode: w, filter: x }, [D.buffer]);
2458
2466
  });
2459
2467
  }(g, h, f, c[I], r[u]) : A.then(function() {
2460
2468
  var p = new Uint8Array(g * h);
@@ -2492,12 +2500,12 @@ var Kt = function() {
2492
2500
  }
2493
2501
  var s = { LockBorder: 1 };
2494
2502
  })();
2495
- let ae = 0;
2503
+ let te = 0;
2496
2504
  class Ni {
2497
2505
  constructor(e) {
2498
- if (this.renderer = e.renderer, this.zUpToYUpMatrix = new E.Matrix4(), this.zUpToYUpMatrix.set(1, 0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 1), this.maxCachedItems = 100, this.proxy = e.proxy, e && (this.meshCallback = e.meshCallback, this.pointsCallback = e.pointsCallback, e.maxCachedItems != null && (this.maxCachedItems = e.maxCachedItems)), this.gltfLoader = new Dt(), e && e.dracoLoader) this.gltfLoader.setDRACOLoader(e.dracoLoader), this.hasDracoLoader = !0;
2506
+ if (this.renderer = e.renderer, this.zUpToYUpMatrix = new E.Matrix4(), this.zUpToYUpMatrix.set(1, 0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 1), this.maxCachedItems = 100, this.proxy = e.proxy, e && (this.meshCallback = e.meshCallback, this.pointsCallback = e.pointsCallback, e.maxCachedItems != null && (this.maxCachedItems = e.maxCachedItems)), this.gltfLoader = new Mt(), e && e.dracoLoader) this.gltfLoader.setDRACOLoader(e.dracoLoader), this.hasDracoLoader = !0;
2499
2507
  else {
2500
- const a = new Rt();
2508
+ const a = new Ft();
2501
2509
  a.setDecoderPath("https://storage.googleapis.com/ogc-3d-tiles/draco/"), this.gltfLoader.setDRACOLoader(a), this.gltfLoader.hasDracoLoader = !0;
2502
2510
  }
2503
2511
  if (e && e.ktx2Loader) this.gltfLoader.setKTX2Loader(e.ktx2Loader), this.hasKTX2Loader = !0;
@@ -2505,11 +2513,11 @@ class Ni {
2505
2513
  const a = new P();
2506
2514
  a.setTranscoderPath("https://storage.googleapis.com/ogc-3d-tiles/basis/").detectSupport(e.renderer), this.gltfLoader.setKTX2Loader(a), this.gltfLoader.hasKTX2Loader = !0;
2507
2515
  }
2508
- this.gltfLoader.setMeshoptDecoder(Kt), this.hasMeshOptDecoder = !0, this.b3dmDecoder = new xt(this.gltfLoader), this.splatsDecoder = new XA(this.gltfLoader, this.renderer), this.cache = new yt(), this.register = {}, this.ready = [], this.downloads = [], this.nextReady = [], this.nextDownloads = [];
2516
+ this.gltfLoader.setMeshoptDecoder(Vt), this.hasMeshOptDecoder = !0, this.b3dmDecoder = new Dt(this.gltfLoader), this.splatsDecoder = new XA(this.gltfLoader, this.renderer), this.cache = new xt(), this.register = {}, this.ready = [], this.downloads = [], this.nextReady = [], this.nextDownloads = [];
2509
2517
  }
2510
2518
  update() {
2511
2519
  const e = this;
2512
- ae < 8 && e._download(), e._loadBatch();
2520
+ te < 8 && e._download(), e._loadBatch();
2513
2521
  }
2514
2522
  _scheduleDownload(e) {
2515
2523
  this.downloads.unshift(e);
@@ -2576,7 +2584,7 @@ class Ni {
2576
2584
  let f;
2577
2585
  t.includes(".b3dm") ? f = () => {
2578
2586
  var I;
2579
- I = l.proxy ? () => fetch(l.proxy, { method: "POST", body: t, signal: h.signal }) : () => fetch(t, { signal: h.signal }), ae++, I().then((u) => {
2587
+ I = l.proxy ? () => fetch(l.proxy, { method: "POST", body: t, signal: h.signal }) : () => fetch(t, { signal: h.signal }), te++, I().then((u) => {
2580
2588
  if (!u.ok) throw console.error("could not load tile with path : " + t), new Error(`couldn't load "${t}". Request failed with status ${u.status} : ${u.statusText}`);
2581
2589
  return u.arrayBuffer();
2582
2590
  }).then((u) => this.b3dmDecoder.parseB3DM(u, (p) => {
@@ -2585,22 +2593,22 @@ class Ni {
2585
2593
  l.cache.put(g, u), l._checkSize(), this._meshReceived(l.cache, l.register, g, i, s, r, a);
2586
2594
  }).catch((u) => {
2587
2595
  }).finally(() => {
2588
- ae--;
2596
+ te--;
2589
2597
  });
2590
2598
  } : t.includes(".glb") || t.includes(".gltf") ? f = d ? () => {
2591
2599
  var I;
2592
- I = l.proxy ? () => fetch(l.proxy, { method: "POST", body: t, signal: h.signal }) : () => fetch(t, { signal: h.signal }), ae++, I().then((u) => {
2600
+ I = l.proxy ? () => fetch(l.proxy, { method: "POST", body: t, signal: h.signal }) : () => fetch(t, { signal: h.signal }), te++, I().then((u) => {
2593
2601
  if (!u.ok) throw console.error("could not load tile with path : " + t), new Error(`couldn't load "${t}". Request failed with status ${u.status} : ${u.statusText}`);
2594
2602
  return u.arrayBuffer();
2595
2603
  }).then((u) => this.splatsDecoder.parseSplats(u, c, n, d)).then((u) => {
2596
2604
  l.cache.put(g, u), l._checkSize(), l._meshReceived(l.cache, l.register, g, i, s, r, a);
2597
2605
  }).catch((u) => {
2598
2606
  }).finally(() => {
2599
- ae--;
2607
+ te--;
2600
2608
  });
2601
2609
  } : () => {
2602
2610
  var I;
2603
- I = l.proxy ? () => fetch(l.proxy, { method: "POST", body: t, signal: h.signal }) : () => fetch(t, { signal: h.signal }), ae++, I().then((u) => {
2611
+ I = l.proxy ? () => fetch(l.proxy, { method: "POST", body: t, signal: h.signal }) : () => fetch(t, { signal: h.signal }), te++, I().then((u) => {
2604
2612
  if (!u.ok) throw console.error("could not load tile with path : " + t), new Error(`couldn't load "${t}". Request failed with status ${u.status} : ${u.statusText}`);
2605
2613
  return u.arrayBuffer();
2606
2614
  }).then(async (u) => {
@@ -2618,18 +2626,18 @@ class Ni {
2618
2626
  }).catch((u) => {
2619
2627
  u !== "user abort" && u.code;
2620
2628
  }).finally(() => {
2621
- ae--;
2629
+ te--;
2622
2630
  });
2623
2631
  } : t.includes(".json") && (f = () => {
2624
2632
  var I;
2625
- I = l.proxy ? () => fetch(l.proxy, { method: "POST", body: t, signal: h.signal }) : () => fetch(t, { signal: h.signal }), ae++, I().then((u) => {
2633
+ I = l.proxy ? () => fetch(l.proxy, { method: "POST", body: t, signal: h.signal }) : () => fetch(t, { signal: h.signal }), te++, I().then((u) => {
2626
2634
  if (!u.ok) throw console.error("could not load tile with path : " + t), new Error(`couldn't load "${t}". Request failed with status ${u.status} : ${u.statusText}`);
2627
2635
  return u.json();
2628
2636
  }).then((u) => La(u, t)).then((u) => {
2629
2637
  l.cache.put(g, u), l._checkSize(), l._meshReceived(l.cache, l.register, g);
2630
2638
  }).catch((u) => {
2631
2639
  }).finally(() => {
2632
- ae--;
2640
+ te--;
2633
2641
  });
2634
2642
  }), this._scheduleDownload({ shouldDoDownload: () => !e.signal.aborted && !!l.register[g] && Object.keys(l.register[g]).length > 0, doDownload: f, distanceFunction: i, getSiblings: s, level: r, uuid: a });
2635
2643
  }
@@ -3023,39 +3031,42 @@ class He extends _e {
3023
3031
  return i;
3024
3032
  }
3025
3033
  }
3026
- new Sa(), new S(), new S(), new S(), new S();
3027
- const Ve = new S(), _i = new S(), zt = new Ra();
3028
- zt.set(1, 0, 0, 0, 0, 1, 0, -1, 0);
3029
- class Hi extends xa {
3034
+ function _i(o) {
3035
+ return new Worker("" + new URL("assets/PointsManager.worker-5fpGpVvf.js", import.meta.url).href, { type: "module", name: o == null ? void 0 : o.name });
3036
+ }
3037
+ new Fa(), new M(), new M(), new M(), new M();
3038
+ const Ve = new M(), Hi = new M(), Yt = new Sa();
3039
+ Yt.set(1, 0, 0, 0, 0, 1, 0, -1, 0);
3040
+ class qi extends ka {
3030
3041
  constructor(e, a) {
3031
3042
  const A = Math.min(Math.ceil(8) * 512, Math.pow(512, 2));
3032
3043
  let i = 1 * Math.pow(512, 2);
3033
3044
  i = Math.floor(i / A) * A;
3034
- const s = new ne(512, 512, 1, { magFilter: M, minFilter: M, anisotropy: 0, depthBuffer: !1, resolveDepthBuffer: !1 });
3045
+ const s = new ne(512, 512, 1, { magFilter: R, minFilter: R, anisotropy: 0, depthBuffer: !1, resolveDepthBuffer: !1 });
3035
3046
  e.initRenderTarget(s);
3036
- const r = new ne(512, 512, 1, { magFilter: M, minFilter: M, anisotropy: 0, type: v, depthBuffer: !1, resolveDepthBuffer: !1 });
3037
- r.texture.type = v, e.initRenderTarget(r);
3038
- const c = new ne(512, 512, 1, { magFilter: M, minFilter: M, anisotropy: 0, type: v, depthBuffer: !1, resolveDepthBuffer: !1 });
3039
- c.texture.type = v, e.initRenderTarget(c);
3040
- const n = new ne(512, 512, 1, { magFilter: M, minFilter: M, anisotropy: 0, type: v, depthBuffer: !1, resolveDepthBuffer: !1 });
3041
- n.texture.type = v, e.initRenderTarget(n);
3042
- const b = new Aa({ uniforms: { textureSize: { value: 512 }, numSlices: { value: 1 }, cov1Texture: { value: c.texture }, cov2Texture: { value: n.texture }, colorTexture: { value: s.texture }, positionTexture: { value: r.texture }, zUpToYUpMatrix3x3: { value: zt }, sizeMultiplier: { value: 1 }, cropRadius: { value: Number.MAX_VALUE }, cameraNear: { value: 0.01 }, cameraFar: { value: 10 }, computeLinearDepth: { value: !0 } }, vertexShader: qi(), fragmentShader: a || Oi(), transparent: !0, side: Ze, depthTest: !1, depthWrite: !1 }), d = new Ja(), l = new Float32Array([-0.5, 0.5, 0, 0.5, 0.5, 0, -0.5, -0.5, 0, 0.5, -0.5, 0]);
3047
+ const r = new ne(512, 512, 1, { magFilter: R, minFilter: R, anisotropy: 0, type: F, depthBuffer: !1, resolveDepthBuffer: !1 });
3048
+ r.texture.type = F, e.initRenderTarget(r);
3049
+ const c = new ne(512, 512, 1, { magFilter: R, minFilter: R, anisotropy: 0, type: F, depthBuffer: !1, resolveDepthBuffer: !1 });
3050
+ c.texture.type = F, e.initRenderTarget(c);
3051
+ const n = new ne(512, 512, 1, { magFilter: R, minFilter: R, anisotropy: 0, type: F, depthBuffer: !1, resolveDepthBuffer: !1 });
3052
+ n.texture.type = F, e.initRenderTarget(n);
3053
+ const b = new ia({ uniforms: { textureSize: { value: 512 }, numSlices: { value: 1 }, cov1Texture: { value: c.texture }, cov2Texture: { value: n.texture }, colorTexture: { value: s.texture }, positionTexture: { value: r.texture }, zUpToYUpMatrix3x3: { value: Yt }, sizeMultiplier: { value: 1 }, cropRadius: { value: Number.MAX_VALUE }, cameraNear: { value: 0.01 }, cameraFar: { value: 10 }, computeLinearDepth: { value: !0 } }, vertexShader: Oi(), fragmentShader: a || Ji(), transparent: !0, side: Ze, depthTest: !1, depthWrite: !1 }), d = new Ja(), l = new Float32Array([-0.5, 0.5, 0, 0.5, 0.5, 0, -0.5, -0.5, 0, 0.5, -0.5, 0]);
3043
3054
  d.setIndex([0, 2, 1, 2, 3, 1]), d.setAttribute("position", new le(l, 3));
3044
- const g = new Uint32Array(i), h = new ya(g, 1, !1);
3055
+ const g = new Uint32Array(i), h = new wa(g, 1, !1);
3045
3056
  h.needsUpdate = !0, h.setUsage(Ka), d.setAttribute("order", h), d.instanceCount = 0, super(d, b), this.orderAttribute = h, this.textureSize = 512, this.numTextures = 1, this.batchSize = A, this.maxSplats = i, this.colorRenderTarget = s, this.positionRenderTarget = r, this.cov1RenderTarget = c, this.cov2RenderTarget = n, this.renderer = e, this.sortID = 0, this.freeAddresses = new He();
3046
3057
  for (let u = 0; u < this.maxSplats; u += A) this.freeAddresses.add(u);
3047
- this.worker = new Worker(new URL("" + new URL("assets/PointsManager.worker-5fpGpVvf.js", import.meta.url).href, import.meta.url), { type: "module" }), this.sortListeners = [], this.worker.onmessage = (u) => {
3058
+ this.worker = new _i({ type: "module" }), this.sortListeners = [], this.worker.onmessage = (u) => {
3048
3059
  const p = new Uint32Array(u.data.order);
3049
3060
  if (p.length > this.orderAttribute.count) {
3050
3061
  const B = new Ja(), C = new Float32Array([-0.5, 0.5, 0, 0.5, 0.5, 0, -0.5, -0.5, 0, 0.5, -0.5, 0]), w = [0, 2, 1, 2, 3, 1];
3051
3062
  B.setIndex(w), B.setAttribute("position", new le(C, 3));
3052
- const x = new Uint32Array(this.maxSplats), y = new ya(x, 1, !1);
3063
+ const x = new Uint32Array(this.maxSplats), y = new wa(x, 1, !1);
3053
3064
  y.needsUpdate = !0, y.setUsage(Ka), B.setAttribute("order", y), B.instanceCount = 0, this.geometry.dispose(), this.geometry = B, this.orderAttribute = y;
3054
3065
  }
3055
3066
  this.orderAttribute.clearUpdateRanges(), this.orderAttribute.set(p), this.orderAttribute.addUpdateRange(0, p.length), this.orderAttribute.needsUpdate = !0, this.geometry.instanceCount = u.data.count, this.geometry.needsUpdate = !0;
3056
3067
  for (let B = this.sortListeners.length - 1; B >= 0; B--)
3057
3068
  this.sortListeners[B](u.data.id) && this.sortListeners.splice(B, 1);
3058
- }, this.cameraPosition = new S(0, 0, 0), this.rotateOnAxis(new S(1, 0, 0), 0.5 * Math.PI), this.frustumCulled = !1, this.copyMaterial2D = new Aa({ uniforms: { sourceTexture: {} }, vertexShader: lt(), fragmentShader: `
3069
+ }, this.cameraPosition = new M(0, 0, 0), this.rotateOnAxis(new M(1, 0, 0), 0.5 * Math.PI), this.frustumCulled = !1, this.copyMaterial2D = new ia({ uniforms: { sourceTexture: {} }, vertexShader: lt(), fragmentShader: `
3059
3070
  precision highp float;
3060
3071
 
3061
3072
  uniform sampler2D sourceTexture;
@@ -3064,7 +3075,7 @@ in vec2 vUv;
3064
3075
 
3065
3076
  void main() {
3066
3077
  gl_FragColor = texture( sourceTexture, vUv );
3067
- }`, transparent: !1, side: Ze, depthTest: !1, depthWrite: !1 }), this.copyMaterial3D = new Aa({ uniforms: { sourceTexture: {}, w: { value: 0 } }, vertexShader: lt(), fragmentShader: `
3078
+ }`, transparent: !1, side: Ze, depthTest: !1, depthWrite: !1 }), this.copyMaterial3D = new ia({ uniforms: { sourceTexture: {}, w: { value: 0 } }, vertexShader: lt(), fragmentShader: `
3068
3079
  precision highp float;
3069
3080
 
3070
3081
  uniform sampler3D sourceTexture;
@@ -3074,9 +3085,9 @@ in vec2 vUv;
3074
3085
 
3075
3086
  void main() {
3076
3087
  gl_FragColor = texture( sourceTexture, vec3(vUv, w) );
3077
- }`, transparent: !1, side: Ze, depthTest: !1, depthWrite: !1 }), this.copyCamera = new mt(-0.5, 0.5, 0.5, -0.5, 0.1, 10), this.copyCamera.position.z = 1, this.copyScene = new qA();
3088
+ }`, transparent: !1, side: Ze, depthTest: !1, depthWrite: !1 }), this.copyCamera = new Qt(-0.5, 0.5, 0.5, -0.5, 0.1, 10), this.copyCamera.position.z = 1, this.copyScene = new qA();
3078
3089
  const f = new OA(1, 1);
3079
- this.copyQuad = new xa(f, this.copyMaterial2D), this.copyScene.add(this.copyQuad), this.copyScene.matrixAutoUpdate = !1, this.copyQuad.matrixAutoUpdate = !1;
3090
+ this.copyQuad = new ka(f, this.copyMaterial2D), this.copyScene.add(this.copyQuad), this.copyScene.matrixAutoUpdate = !1, this.copyQuad.matrixAutoUpdate = !1;
3080
3091
  const I = this;
3081
3092
  document.addEventListener("keyup", function(u) {
3082
3093
  u.key === "a" && (I.growTextures(), console.log(I.positionRenderTarget.depth));
@@ -3122,7 +3133,7 @@ void main() {
3122
3133
  const p = u * u;
3123
3134
  for (let B = 0; B < g.length; B += 3) {
3124
3135
  Ve.set(g[B], -g[B + 2], g[B + 1]);
3125
- const C = _i.copy(Ve).sub(f.origin).dot(f.direction);
3136
+ const C = Hi.copy(Ve).sub(f.origin).dot(f.direction);
3126
3137
  C > 0 && f.distanceSqToPoint(Ve) < p && I.push({ distance: C, point: Ve.clone(), type: "splat" });
3127
3138
  }
3128
3139
  }, n > this.freeAddresses.size && this.growTextures();
@@ -3153,29 +3164,29 @@ void main() {
3153
3164
  }
3154
3165
  const d = Math.floor(a / Math.pow(this.textureSize, 2)), l = Math.ceil(this.batchSize / this.textureSize), g = [0, a / this.textureSize - d * this.textureSize, this.textureSize];
3155
3166
  g.push(g[1] + l);
3156
- const h = new Ge(r, this.textureSize, l, $, v);
3157
- h.generateMipmaps = !1, h.magFilter = M, h.minFilter = M, h.anisotropy = 0, h.needsUpdate = !0, this.renderer.initTexture(h), this.renderer.initRenderTarget(this.positionRenderTarget), this.copyTex2D(h, this.positionRenderTarget, g, d), h.dispose();
3158
- const f = new Ge(c, this.textureSize, l, $, X);
3159
- f.generateMipmaps = !1, f.magFilter = M, f.minFilter = M, f.anisotropy = 0, f.needsUpdate = !0, this.renderer.initTexture(f), this.copyTex2D(f, this.colorRenderTarget, g, d), f.dispose();
3160
- const I = new Ge(n, this.textureSize, l, $, v);
3161
- I.generateMipmaps = !1, I.magFilter = M, I.minFilter = M, I.anisotropy = 0, I.needsUpdate = !0, this.renderer.initTexture(I), this.copyTex2D(I, this.cov1RenderTarget, g, d), I.dispose();
3162
- const u = new Ge(b, this.textureSize, l, $, v);
3163
- u.generateMipmaps = !1, u.magFilter = M, u.minFilter = M, u.anisotropy = 0, u.needsUpdate = !0, this.renderer.initTexture(u), this.copyTex2D(u, this.cov2RenderTarget, g, d), u.dispose();
3167
+ const h = new Ge(r, this.textureSize, l, ee, F);
3168
+ h.generateMipmaps = !1, h.magFilter = R, h.minFilter = R, h.anisotropy = 0, h.needsUpdate = !0, this.renderer.initTexture(h), this.renderer.initRenderTarget(this.positionRenderTarget), this.copyTex2D(h, this.positionRenderTarget, g, d), h.dispose();
3169
+ const f = new Ge(c, this.textureSize, l, ee, X);
3170
+ f.generateMipmaps = !1, f.magFilter = R, f.minFilter = R, f.anisotropy = 0, f.needsUpdate = !0, this.renderer.initTexture(f), this.copyTex2D(f, this.colorRenderTarget, g, d), f.dispose();
3171
+ const I = new Ge(n, this.textureSize, l, ee, F);
3172
+ I.generateMipmaps = !1, I.magFilter = R, I.minFilter = R, I.anisotropy = 0, I.needsUpdate = !0, this.renderer.initTexture(I), this.copyTex2D(I, this.cov1RenderTarget, g, d), I.dispose();
3173
+ const u = new Ge(b, this.textureSize, l, ee, F);
3174
+ u.generateMipmaps = !1, u.magFilter = R, u.minFilter = R, u.anisotropy = 0, u.needsUpdate = !0, this.renderer.initTexture(u), this.copyTex2D(u, this.cov2RenderTarget, g, d), u.dispose();
3164
3175
  }
3165
3176
  growTextures() {
3166
3177
  for (let s = this.maxSplats; s < this.maxSplats + this.textureSize * this.textureSize; s += this.batchSize) this.freeAddresses.add(s);
3167
3178
  this.maxSplats += this.textureSize * this.textureSize;
3168
- const e = this.numTextures + 1, a = new ne(this.textureSize, this.textureSize, e, { magFilter: M, minFilter: M, anisotropy: 0, depthBuffer: !1, resolveDepthBuffer: !1 });
3179
+ const e = this.numTextures + 1, a = new ne(this.textureSize, this.textureSize, e, { magFilter: R, minFilter: R, anisotropy: 0, depthBuffer: !1, resolveDepthBuffer: !1 });
3169
3180
  this.renderer.initRenderTarget(a), this.copyTex3D(this.colorRenderTarget.texture, a, this.numTextures), this.colorRenderTarget.dispose(), this.colorRenderTarget = a, this.material.uniforms.colorTexture.value = this.colorRenderTarget.texture;
3170
- const t = new ne(this.textureSize, this.textureSize, e, { magFilter: M, minFilter: M, anisotropy: 0, type: v, depthBuffer: !1, resolveDepthBuffer: !1 });
3171
- t.texture.type = v, this.renderer.initRenderTarget(t), this.copyTex3D(this.positionRenderTarget.texture, t, this.numTextures), this.positionRenderTarget.dispose(), this.positionRenderTarget = t, this.material.uniforms.positionTexture.value = this.positionRenderTarget.texture;
3172
- const A = new ne(this.textureSize, this.textureSize, e, { magFilter: M, minFilter: M, anisotropy: 0, type: v, depthBuffer: !1, resolveDepthBuffer: !1 });
3173
- A.texture.type = v, this.renderer.initRenderTarget(A), this.copyTex3D(this.cov1RenderTarget.texture, A, this.numTextures), this.cov1RenderTarget.dispose(), this.cov1RenderTarget = A, this.material.uniforms.cov1Texture.value = this.cov1RenderTarget.texture;
3174
- const i = new ne(this.textureSize, this.textureSize, e, { magFilter: M, minFilter: M, anisotropy: 0, type: v, depthBuffer: !1, resolveDepthBuffer: !1 });
3175
- i.texture.type = v, this.renderer.initRenderTarget(i), this.copyTex3D(this.cov2RenderTarget.texture, i, this.numTextures), this.cov2RenderTarget.dispose(), this.cov2RenderTarget = i, this.material.uniforms.cov2Texture.value = this.cov2RenderTarget.texture, this.numTextures = e, this.material.uniforms.numSlices.value = this.numTextures;
3181
+ const t = new ne(this.textureSize, this.textureSize, e, { magFilter: R, minFilter: R, anisotropy: 0, type: F, depthBuffer: !1, resolveDepthBuffer: !1 });
3182
+ t.texture.type = F, this.renderer.initRenderTarget(t), this.copyTex3D(this.positionRenderTarget.texture, t, this.numTextures), this.positionRenderTarget.dispose(), this.positionRenderTarget = t, this.material.uniforms.positionTexture.value = this.positionRenderTarget.texture;
3183
+ const A = new ne(this.textureSize, this.textureSize, e, { magFilter: R, minFilter: R, anisotropy: 0, type: F, depthBuffer: !1, resolveDepthBuffer: !1 });
3184
+ A.texture.type = F, this.renderer.initRenderTarget(A), this.copyTex3D(this.cov1RenderTarget.texture, A, this.numTextures), this.cov1RenderTarget.dispose(), this.cov1RenderTarget = A, this.material.uniforms.cov1Texture.value = this.cov1RenderTarget.texture;
3185
+ const i = new ne(this.textureSize, this.textureSize, e, { magFilter: R, minFilter: R, anisotropy: 0, type: F, depthBuffer: !1, resolveDepthBuffer: !1 });
3186
+ i.texture.type = F, this.renderer.initRenderTarget(i), this.copyTex3D(this.cov2RenderTarget.texture, i, this.numTextures), this.cov2RenderTarget.dispose(), this.cov2RenderTarget = i, this.material.uniforms.cov2Texture.value = this.cov2RenderTarget.texture, this.numTextures = e, this.material.uniforms.numSlices.value = this.numTextures;
3176
3187
  }
3177
3188
  }
3178
- function qi() {
3189
+ function Oi() {
3179
3190
  return `
3180
3191
  precision highp float;
3181
3192
  precision highp int;
@@ -3334,7 +3345,7 @@ void main() {
3334
3345
  }
3335
3346
  `;
3336
3347
  }
3337
- function Oi() {
3348
+ function Ji() {
3338
3349
  return `
3339
3350
  precision highp float;
3340
3351
 
@@ -3375,21 +3386,21 @@ void main() {
3375
3386
  }`;
3376
3387
  }
3377
3388
  var W;
3378
- const te = new E.Sphere(new E.Vector3(0, 0, 0), 1), ue = new se([0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1]);
3389
+ const Ae = new E.Sphere(new E.Vector3(0, 0, 0), 1), ue = new $([0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1]);
3379
3390
  new E.Box3();
3380
- const ce = new E.Vector3(0, 0, 0), we = new E.Vector3(0, 0, 0), Ji = new E.Vector3(0, 1, 0), Ye = new E.Ray(), We = new E.Matrix4();
3391
+ const ce = new E.Vector3(0, 0, 0), we = new E.Vector3(0, 0, 0), Ki = new E.Vector3(0, 1, 0), Ye = new E.Ray(), We = new E.Matrix4();
3381
3392
  new E.Matrix4(), new E.Frustum();
3382
- const Ca = new E.Vector3(), Xe = [], ht = new E.Quaternion(), Z = {};
3383
- function Ki() {
3393
+ const Ba = new E.Vector3(), Xe = [], ht = new E.Quaternion(), Z = {};
3394
+ function zi() {
3384
3395
  var o = [];
3385
3396
  for (let e in Z) Z.hasOwnProperty(e) && Z[e] > 0 && o.push(e);
3386
3397
  return o;
3387
3398
  }
3388
- class Vt extends E.Object3D {
3399
+ class Wt extends E.Object3D {
3389
3400
  constructor(e) {
3390
3401
  super();
3391
3402
  const a = this;
3392
- if (a.splatsMesh = e.splatsMesh, this.contentURL = [], e.domWidth && e.domHeight ? this.rendererSize = new E.Vector2(e.domWidth, e.domHeight) : this.rendererSize = new E.Vector2(1e3, 1e3), this.loadingStrategy = e.loadingStrategy ? e.loadingStrategy.toUpperCase() : "INCREMENTAL", this.distanceBias = Math.max(1e-4, e.distanceBias ? e.distanceBias : 1), this.proxy = e.proxy, this.drawBoundingVolume = !!e.drawBoundingVolume && e.drawBoundingVolume, this.displayErrors = e.displayErrors, this.displayCopyright = e.displayCopyright, e.queryParams && (this.queryParams = { ...e.queryParams }), this.uuid = kt(), e.tileLoader) this.tileLoader = e.tileLoader;
3403
+ if (a.splatsMesh = e.splatsMesh, this.contentURL = [], e.domWidth && e.domHeight ? this.rendererSize = new E.Vector2(e.domWidth, e.domHeight) : this.rendererSize = new E.Vector2(1e3, 1e3), this.loadingStrategy = e.loadingStrategy ? e.loadingStrategy.toUpperCase() : "INCREMENTAL", this.distanceBias = Math.max(1e-4, e.distanceBias ? e.distanceBias : 1), this.proxy = e.proxy, this.drawBoundingVolume = !!e.drawBoundingVolume && e.drawBoundingVolume, this.displayErrors = e.displayErrors, this.displayCopyright = e.displayCopyright, e.queryParams && (this.queryParams = { ...e.queryParams }), this.uuid = jt(), e.tileLoader) this.tileLoader = e.tileLoader;
3393
3404
  else {
3394
3405
  const i = {};
3395
3406
  i.meshCallback = e.meshCallback ? e.meshCallback : (s, r) => {
@@ -3436,11 +3447,11 @@ class Vt extends E.Object3D {
3436
3447
  }
3437
3448
  async _setup(e) {
3438
3449
  const a = this;
3439
- if (e.json.extensionsRequired && e.json.extensionsRequired.includes("JDULTRA_gaussian_splats") && (a.splatsMesh = new Hi(a.tileLoader.renderer), this.splatsMesh.setSplatsCropRadius(this.splatsCropRadius), this.splatsMesh.setSplatsSizeMultiplier(this.splatsSizeMultiplier), a.add(a.splatsMesh)), e.json.root ? (a.json = e.json.root, a.json.refine || (a.json.refine = e.json.refine), a.json.geometricError || (a.json.geometricError = e.json.geometricError), a.json.transform || (a.json.transform = e.json.transform), a.json.boundingVolume || (a.json.boundingVolume = e.json.boundingVolume)) : a.json = e.json, a.json.children || (a.json.getChildren ? a.json.children = await a.json.getChildren() : a.json.children = []), a.rootPath = e.json.rootPath ? e.json.rootPath : e.rootPath, a.json.refine ? a.refine = a.json.refine : a.refine = e.parentRefine, a.json.geometricError ? a.geometricError = a.json.geometricError : a.geometricError = e.parentGeometricError, a.json.transform) {
3450
+ if (e.json.extensionsRequired && e.json.extensionsRequired.includes("JDULTRA_gaussian_splats") && (a.splatsMesh = new qi(a.tileLoader.renderer), this.splatsMesh.setSplatsCropRadius(this.splatsCropRadius), this.splatsMesh.setSplatsSizeMultiplier(this.splatsSizeMultiplier), a.add(a.splatsMesh)), e.json.root ? (a.json = e.json.root, a.json.refine || (a.json.refine = e.json.refine), a.json.geometricError || (a.json.geometricError = e.json.geometricError), a.json.transform || (a.json.transform = e.json.transform), a.json.boundingVolume || (a.json.boundingVolume = e.json.boundingVolume)) : a.json = e.json, a.json.children || (a.json.getChildren ? a.json.children = await a.json.getChildren() : a.json.children = []), a.rootPath = e.json.rootPath ? e.json.rootPath : e.rootPath, a.json.refine ? a.refine = a.json.refine : a.refine = e.parentRefine, a.json.geometricError ? a.geometricError = a.json.geometricError : a.geometricError = e.parentGeometricError, a.json.transform) {
3440
3451
  let A = new E.Matrix4();
3441
3452
  A.elements = a.json.transform, a.applyMatrix4(A);
3442
3453
  }
3443
- if (a.json.boundingVolume) if (a.json.boundingVolume.box) a.boundingVolume = new se(a.json.boundingVolume.box);
3454
+ if (a.json.boundingVolume) if (a.json.boundingVolume.box) a.boundingVolume = new $(a.json.boundingVolume.box);
3444
3455
  else if (a.json.boundingVolume.region) {
3445
3456
  const A = a.json.boundingVolume.region;
3446
3457
  a._transformWGS84ToCartesian(A[0], A[1], A[4], ce), a._transformWGS84ToCartesian(A[2], A[3], A[5], we), ce.lerp(we, 0.5), a.boundingVolume = new E.Sphere(new E.Vector3(ce.x, ce.y, ce.z), ce.distanceTo(we));
@@ -3452,10 +3463,10 @@ class Vt extends E.Object3D {
3452
3463
  function t(A) {
3453
3464
  A.uri && A.uri.includes("json") || A.url && A.url.includes("json") ? a.hasUnloadedJSONContent++ : a.hasMeshContent++;
3454
3465
  }
3455
- if (a.json.content ? (t(a.json.content), a.hasMeshContent == 0 && (a.level = Math.max(0, a.parentTile ? a.parentTile.level + 0.01 : 0)), a.loadingStrategy === "IMMEDIATE" ? a._load(!0, !1) : a._load()) : a.json.contents && (a.json.contents.forEach((A) => t(A)), a.hasMeshContent == 0 && (a.level = Math.max(0, a.parentTile ? a.parentTile.level + 0.01 : 0)), a.loadingStrategy === "IMMEDIATE" ? a._load(!0, !1) : a._load()), a.centerModel && (we.copy(a.boundingVolume.center), this.json.boundingVolume.region && (this._transformWGS84ToCartesian(0.5 * (this.json.boundingVolume.region[0] + this.json.boundingVolume.region[2]), 0.5 * (this.json.boundingVolume.region[1] + this.json.boundingVolume.region[3]), 0.5 * (this.json.boundingVolume.region[4] + this.json.boundingVolume.region[5]), ce), ht.setFromUnitVectors(ce.normalize(), Ji.normalize()), a.applyQuaternion(ht)), we.applyMatrix4(a.matrix), a.position.sub(we), a.updateMatrices()), e.onLoadCallback && a.onLoadCallback(a), a.isSetup = !0, a.level > 0 && a.drawBoundingVolume && (a.bbox && console.log("double setup"), this.boundingVolume.aabb)) {
3466
+ if (a.json.content ? (t(a.json.content), a.hasMeshContent == 0 && (a.level = Math.max(0, a.parentTile ? a.parentTile.level + 0.01 : 0)), a.loadingStrategy === "IMMEDIATE" ? a._load(!0, !1) : a._load()) : a.json.contents && (a.json.contents.forEach((A) => t(A)), a.hasMeshContent == 0 && (a.level = Math.max(0, a.parentTile ? a.parentTile.level + 0.01 : 0)), a.loadingStrategy === "IMMEDIATE" ? a._load(!0, !1) : a._load()), a.centerModel && (we.copy(a.boundingVolume.center), this.json.boundingVolume.region && (this._transformWGS84ToCartesian(0.5 * (this.json.boundingVolume.region[0] + this.json.boundingVolume.region[2]), 0.5 * (this.json.boundingVolume.region[1] + this.json.boundingVolume.region[3]), 0.5 * (this.json.boundingVolume.region[4] + this.json.boundingVolume.region[5]), ce), ht.setFromUnitVectors(ce.normalize(), Ki.normalize()), a.applyQuaternion(ht)), we.applyMatrix4(a.matrix), a.position.sub(we), a.updateMatrices()), e.onLoadCallback && a.onLoadCallback(a), a.isSetup = !0, a.level > 0 && a.drawBoundingVolume) if (a.bbox && console.log("double setup"), this.boundingVolume.aabb) {
3456
3467
  let A = this.boundingVolume.aabb.clone();
3457
3468
  A.applyMatrix4(this.matrixWorld), a.bbox = new E.Box3Helper(A, new E.Color(Math.random(), Math.random(), Math.random())), a.add(a.bbox), a.bbox.material.visible = !1;
3458
- }
3469
+ } else a.boundingVolume instanceof $ && (a.bbox = a.boundingVolume.helper(), a.add(a.bbox), a.bbox.material.visible = !1);
3459
3470
  }
3460
3471
  _assembleURL(e, a) {
3461
3472
  e.endsWith("/") || (e += "/");
@@ -3498,7 +3509,7 @@ class Vt extends E.Object3D {
3498
3509
  t.tileLoader.get(t.abortController, t.uuid, n, (l) => {
3499
3510
  t.deleted || (l.asset && l.asset.copyright && (l.asset.copyright.split(";").forEach((g) => {
3500
3511
  Z[g] ? Z[g]++ : Z[g] = 1;
3501
- }), t.displayCopyright && Ba()), t.meshContent.push(l), t.splatsMesh || (l.traverse((g) => {
3512
+ }), t.displayCopyright && ma()), t.meshContent.push(l), t.splatsMesh || (l.traverse((g) => {
3502
3513
  if ((g.isMesh || g.isPoints) && g.layers.disable(0), g.isMesh && t.occlusionCullingService) {
3503
3514
  const h = g.geometry.attributes.position, f = [];
3504
3515
  for (let I = 0; I < h.count; I++) f.push(t.color.r, t.color.g, t.color.b);
@@ -3522,7 +3533,7 @@ class Vt extends E.Object3D {
3522
3533
  e.meshContent.forEach((a) => {
3523
3534
  a && a.asset && a.asset.copyright && (a.asset.copyright.split(";").forEach((t) => {
3524
3535
  Z[t] && Z[t]--;
3525
- }), e.displayCopyright && Ba());
3536
+ }), e.displayCopyright && ma());
3526
3537
  }), e.meshContent = [], e.bbox && e.bbox.dispose(), e.childrenTiles.forEach((a) => a.dispose()), e.deleted = !0, e.splatsMesh && (e.meshContent.forEach((a) => a.hide()), e.parentTile || e.splatsMesh.dispose()), e.contentURL && (e.contentURL.forEach((a) => {
3527
3538
  e.tileLoader.invalidate(a, e.uuid);
3528
3539
  }), e.contentURL = []), e.abortController && e.abortController.abort("tile not needed"), this.parent = null, this.dispatchEvent({ type: "removed" });
@@ -3535,7 +3546,7 @@ class Vt extends E.Object3D {
3535
3546
  const t = e.meshContent[a];
3536
3547
  t && t.asset && t.asset.copyright && (t.asset.copyright.split(";").forEach((A) => {
3537
3548
  Z[A] && Z[A]--;
3538
- }), e.displayCopyright && Ba()), e.remove(t);
3549
+ }), e.displayCopyright && ma()), e.remove(t);
3539
3550
  }
3540
3551
  e.splatsMesh && e.meshContent.forEach((a) => a.hide()), e.meshContent = [], e.contentURL.forEach((a) => {
3541
3552
  e.tileLoader.invalidate(a, e.uuid);
@@ -3552,7 +3563,7 @@ class Vt extends E.Object3D {
3552
3563
  if (this.splatsMesh) {
3553
3564
  Ye.copy(e.ray), We.copy(this.matrixWorld).invert(), Ye.applyMatrix4(We);
3554
3565
  let t = !1;
3555
- if (this.boundingVolume instanceof se) t = this.boundingVolume.intersectsRay(Ye);
3566
+ if (this.boundingVolume instanceof $) t = this.boundingVolume.intersectsRay(Ye);
3556
3567
  else {
3557
3568
  if (!(this.boundingVolume instanceof E.Sphere)) return !1;
3558
3569
  t = ray.intersectsSphere(this.boundingVolume);
@@ -3569,7 +3580,7 @@ class Vt extends E.Object3D {
3569
3580
  const a = new E.Frustum();
3570
3581
  a.setFromProjectionMatrix(new E.Matrix4().multiplyMatrices(e.projectionMatrix, e.matrixWorldInverse));
3571
3582
  let t = [0], A = [0], i = [0], s = [0];
3572
- return this.refine == "REPLACE" ? this.loadingStrategy === "IMMEDIATE" ? (this._updateImmediate(e, a), this._statsImmediate(i, t, s, A)) : (this._update(e, a), this._stats(i, t, s, A)) : (this._update(e, a), this._stats(i, t, s, A)), t > 0 && (s[0] /= t[0]), this.splatsMesh && (Ca.copy(e.position), We.copy(this.matrixWorld).invert(), Ca.applyMatrix4(We), this.splatsMesh.sort(Ca)), { numTilesLoaded: t[0], numTilesRendered: A[0], maxLOD: i[0], percentageLoaded: s[0] };
3583
+ return this.refine == "REPLACE" ? this.loadingStrategy === "IMMEDIATE" ? (this._updateImmediate(e, a), this._statsImmediate(i, t, s, A)) : (this._update(e, a), this._stats(i, t, s, A)) : (this._update(e, a), this._stats(i, t, s, A)), t > 0 && (s[0] /= t[0]), this.splatsMesh && (Ba.copy(e.position), We.copy(this.matrixWorld).invert(), Ba.applyMatrix4(We), this.splatsMesh.sort(Ba)), { numTilesLoaded: t[0], numTilesRendered: A[0], maxLOD: i[0], percentageLoaded: s[0] };
3573
3584
  }
3574
3585
  _updateImmediate(e, a) {
3575
3586
  this._computeMetricRecursive(e, a), this._updateNodeVisibilityImmediate(), this._expandTreeImmediate(e), this.shouldBeVisible = this.metric > 0 || !!this.loadOutsideView, this._shouldBeVisibleUpdateImmediate(), this._trimTreeImmediate(), this._loadMeshImmediate();
@@ -3687,7 +3698,7 @@ class Vt extends E.Object3D {
3687
3698
  const a = this;
3688
3699
  for (let t = a.json.children.length - 1; t >= 0; t--) a.json.children[t].root || a.json.children[t].children || a.json.children[t].getChildren || a.json.children[t].content || a.json.children[t].contents || a.json.children.splice(t, 1);
3689
3700
  a.json.children.forEach((t) => {
3690
- let A = new Vt({ parentTile: a, queryParams: a.queryParams, parentGeometricError: a.geometricError, parentBoundingVolume: a.boundingVolume, parentRefine: a.refine, json: t, rootPath: a.rootPath, geometricErrorMultiplier: a.geometricErrorMultiplier, loadOutsideView: a.loadOutsideView, level: Math.floor(a.level) + 1, tileLoader: a.tileLoader, cameraOnLoad: e, occlusionCullingService: a.occlusionCullingService, renderer: a.renderer, static: a.static, centerModel: !1, displayErrors: a.displayErrors, displayCopyright: a.displayCopyright, distanceBias: a.distanceBias, loadingStrategy: a.loadingStrategy, drawBoundingVolume: a.drawBoundingVolume, splatsMesh: a.splatsMesh });
3701
+ let A = new Wt({ parentTile: a, queryParams: a.queryParams, parentGeometricError: a.geometricError, parentBoundingVolume: a.boundingVolume, parentRefine: a.refine, json: t, rootPath: a.rootPath, geometricErrorMultiplier: a.geometricErrorMultiplier, loadOutsideView: a.loadOutsideView, level: Math.floor(a.level) + 1, tileLoader: a.tileLoader, cameraOnLoad: e, occlusionCullingService: a.occlusionCullingService, renderer: a.renderer, static: a.static, centerModel: !1, displayErrors: a.displayErrors, displayCopyright: a.displayCopyright, distanceBias: a.distanceBias, loadingStrategy: a.loadingStrategy, drawBoundingVolume: a.drawBoundingVolume, splatsMesh: a.splatsMesh });
3691
3702
  a.childrenTiles.push(A), a.add(A);
3692
3703
  }), a.updateMatrices(!0);
3693
3704
  }
@@ -3742,13 +3753,13 @@ class Vt extends E.Object3D {
3742
3753
  }
3743
3754
  _calculateUpdateMetric(e, a) {
3744
3755
  let t = 0;
3745
- if (this.boundingVolume instanceof se) {
3756
+ if (this.boundingVolume instanceof $) {
3746
3757
  if (ue.copy(this.boundingVolume), ue.applyMatrix4(this.matrixWorld), !ue.inFrustum(a)) return -1;
3747
3758
  t = Math.max(0, ue.distanceToPoint(e.position) - e.near);
3748
3759
  } else {
3749
3760
  if (!(this.boundingVolume instanceof E.Sphere)) return console.error("unsupported shape"), -1;
3750
- if (te.copy(this.boundingVolume), te.applyMatrix4(this.matrixWorld), !a.intersectsSphere(te)) return -1;
3751
- t = Math.max(0, e.position.distanceTo(te.center) - te.radius - e.near);
3761
+ if (Ae.copy(this.boundingVolume), Ae.applyMatrix4(this.matrixWorld), !a.intersectsSphere(Ae)) return -1;
3762
+ t = Math.max(0, e.position.distanceTo(Ae.center) - Ae.radius - e.near);
3752
3763
  }
3753
3764
  if (t = Math.pow(t, this.distanceBias), t == 0) return 0;
3754
3765
  const A = this.matrixWorld.getMaxScaleOnAxis();
@@ -3771,7 +3782,7 @@ class Vt extends E.Object3D {
3771
3782
  }), a;
3772
3783
  }
3773
3784
  _calculateDistanceToCamera(e) {
3774
- return this.boundingVolume instanceof se ? (ue.copy(this.boundingVolume), ue.applyMatrix4(this.matrixWorld), Math.max(0, ue.distanceToPoint(e.position))) : this.boundingVolume instanceof E.Sphere ? (te.copy(this.boundingVolume), te.applyMatrix4(this.matrixWorld), Math.max(0, e.position.distanceTo(te.center) - te.radius)) : (console.error("unsupported shape"), -1);
3785
+ return this.boundingVolume instanceof $ ? (ue.copy(this.boundingVolume), ue.applyMatrix4(this.matrixWorld), Math.max(0, ue.distanceToPoint(e.position))) : this.boundingVolume instanceof E.Sphere ? (Ae.copy(this.boundingVolume), Ae.applyMatrix4(this.matrixWorld), Math.max(0, e.position.distanceTo(Ae.center) - Ae.radius)) : (console.error("unsupported shape"), -1);
3775
3786
  }
3776
3787
  setGeometricErrorMultiplier(e) {
3777
3788
  this.geometricErrorMultiplier = e, this.splatsReady = !0, this.childrenTiles.forEach((a) => a.setGeometricErrorMultiplier(e));
@@ -3790,20 +3801,20 @@ function gt(o) {
3790
3801
  e.remove();
3791
3802
  }, 8e3);
3792
3803
  }
3793
- function Ba() {
3804
+ function ma() {
3794
3805
  W || ((W = document.createElement("div")).style.position = "fixed", W.style.bottom = "20px", W.style.left = "20px", W.style.color = "white", W.style.textShadow = "2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000", W.style.padding = "10px", W.style.backgroundColor = "rgba(0, 0, 0, 0.1)", document.body.appendChild(W));
3795
- const o = Ki();
3806
+ const o = zi();
3796
3807
  let e = "";
3797
3808
  o.forEach((a) => {
3798
3809
  e += a + ", ";
3799
3810
  }), e = e.slice(0, -2), W.textContent = e;
3800
3811
  }
3801
- const N = new E.Sphere(new E.Vector3(0, 0, 0), 1), de = new E.Vector3(0, 0, 0), ma = new E.Vector3(0, 0, 0), zi = new E.Vector3(0, 1, 0), Ea = new E.Vector2(), ft = new E.Quaternion(), ut = new E.Matrix4();
3812
+ const N = new E.Sphere(new E.Vector3(0, 0, 0), 1), de = new E.Vector3(0, 0, 0), Ea = new E.Vector3(0, 0, 0), Vi = new E.Vector3(0, 1, 0), Qa = new E.Vector2(), ft = new E.Quaternion(), ut = new E.Matrix4();
3802
3813
  class Ga extends E.Object3D {
3803
3814
  constructor(e) {
3804
3815
  super();
3805
3816
  const a = this;
3806
- if (e.queryParams && (this.queryParams = { ...e.queryParams }), this.uuid = kt(), e.tileLoader ? this.tileLoader = e.tileLoader : console.error("an instanced tileset must be provided an InstancedTilesetLoader"), this.master = e.master, this.loadOutsideView = e.loadOutsideView, this.cameraOnLoad = e.cameraOnLoad, this.parentTile = e.parentTile, this.distanceBias = Math.max(1e-4, e.distanceBias ? e.distanceBias : 1), this.childrenTiles = [], this.jsonChildren = [], this.meshContent = /* @__PURE__ */ new Set(), this.static = e.static, this.static && (this.matrixAutoUpdate = !1, this.matrixWorldAutoUpdate = !1), this.tileContent, this.refinement, this.rootPath, this.geometricError, this.boundingVolume, this.json, this.materialVisibility = !1, this.inFrustum = !0, this.level = e.level ? e.level : 0, this.hasMeshContent = 0, this.hasUnloadedJSONContent = 0, this.centerModel = e.centerModel, this.deleted = !1, this.abortController = new AbortController(), e.json) this.rootPath = e.json.rootPath ? e.json.rootPath : e.rootPath, e.json.children && (this.jsonChildren = e.json.children), a.setup(e);
3817
+ if (e.queryParams && (this.queryParams = { ...e.queryParams }), this.uuid = jt(), e.tileLoader ? this.tileLoader = e.tileLoader : console.error("an instanced tileset must be provided an InstancedTilesetLoader"), this.master = e.master, this.loadOutsideView = e.loadOutsideView, this.cameraOnLoad = e.cameraOnLoad, this.parentTile = e.parentTile, this.distanceBias = Math.max(1e-4, e.distanceBias ? e.distanceBias : 1), this.childrenTiles = [], this.jsonChildren = [], this.meshContent = /* @__PURE__ */ new Set(), this.static = e.static, this.static && (this.matrixAutoUpdate = !1, this.matrixWorldAutoUpdate = !1), this.tileContent, this.refinement, this.rootPath, this.geometricError, this.boundingVolume, this.json, this.materialVisibility = !1, this.inFrustum = !0, this.level = e.level ? e.level : 0, this.hasMeshContent = 0, this.hasUnloadedJSONContent = 0, this.centerModel = e.centerModel, this.deleted = !1, this.abortController = new AbortController(), e.json) this.rootPath = e.json.rootPath ? e.json.rootPath : e.rootPath, e.json.children && (this.jsonChildren = e.json.children), a.setup(e);
3807
3818
  else if (e.url) {
3808
3819
  this.loadJson = (i, s) => {
3809
3820
  const r = be.dirname(s);
@@ -3822,10 +3833,10 @@ class Ga extends E.Object3D {
3822
3833
  const a = this;
3823
3834
  e.json.root ? (a.json = e.json.root, !a.json.children && a.json.getChildren && (a.json.children = await a.json.getChildren()), a.jsonChildren = a.json.children, a.json.refinement || (a.json.refinement = e.json.refinement), a.json.geometricError || (a.json.geometricError = e.json.geometricError), a.json.transform || (a.json.transform = e.json.transform), a.json.boundingVolume || (a.json.boundingVolume = e.json.boundingVolume)) : (a.json = e.json, !a.json.children && a.json.getChildren && (a.json.children = await a.json.getChildren(), a.jsonChildren = a.json.children)), a.rootPath = e.json.rootPath ? e.json.rootPath : e.rootPath, a.json.refinement ? a.refinement = a.json.refinement : a.refinement = e.parentRefinement, a.json.geometricError ? a.geometricError = a.json.geometricError : a.geometricError = e.parentGeometricError;
3824
3835
  let t = new E.Matrix4();
3825
- if (a.json.transform && !a.centerModel && (t.elements = a.json.transform), a.applyMatrix4(t), a.parentTile && a.parentTile.matrix && (a.matrix.premultiply(a.parentTile.matrix), a.matrix.decompose(a.position, a.quaternion, a.scale)), a.matrixWorldNeedsUpdate = !0, a.updateWorldMatrix(!0, !0), a.json.boundingVolume) if (a.json.boundingVolume.box) a.boundingVolume = new se(a.json.boundingVolume.box);
3836
+ if (a.json.transform && !a.centerModel && (t.elements = a.json.transform), a.applyMatrix4(t), a.parentTile && a.parentTile.matrix && (a.matrix.premultiply(a.parentTile.matrix), a.matrix.decompose(a.position, a.quaternion, a.scale)), a.matrixWorldNeedsUpdate = !0, a.updateWorldMatrix(!0, !0), a.json.boundingVolume) if (a.json.boundingVolume.box) a.boundingVolume = new $(a.json.boundingVolume.box);
3826
3837
  else if (a.json.boundingVolume.region) {
3827
3838
  const i = a.json.boundingVolume.region;
3828
- a.transformWGS84ToCartesian(i[0], i[1], i[4], de), a.transformWGS84ToCartesian(i[2], i[3], i[5], ma), de.lerp(ma, 0.5), a.boundingVolume = new E.Sphere(new E.Vector3(de.x, de.y, de.z), de.distanceTo(ma));
3839
+ a.transformWGS84ToCartesian(i[0], i[1], i[4], de), a.transformWGS84ToCartesian(i[2], i[3], i[5], Ea), de.lerp(Ea, 0.5), a.boundingVolume = new E.Sphere(new E.Vector3(de.x, de.y, de.z), de.distanceTo(Ea));
3829
3840
  } else if (a.json.boundingVolume.sphere) {
3830
3841
  const i = a.json.boundingVolume.sphere;
3831
3842
  a.boundingVolume = new E.Sphere(new E.Vector3(i[0], i[1], i[2]), i[3]);
@@ -3836,7 +3847,7 @@ class Ga extends E.Object3D {
3836
3847
  }
3837
3848
  if (a.json.content ? (A(a.json.content), a.load()) : a.json.contents && (a.json.contents.forEach((i) => A(i)), a.load()), a.centerModel) {
3838
3849
  const i = new E.Sphere();
3839
- a.boundingVolume instanceof se ? i.copy(a.boundingVolume.sphere) : a.boundingVolume instanceof E.Sphere && i.copy(a.boundingVolume), this.json.boundingVolume.region && (a.transformWGS84ToCartesian(0.5 * (a.json.boundingVolume.region[0] + a.json.boundingVolume.region[2]), 0.5 * (a.json.boundingVolume.region[1] + a.json.boundingVolume.region[3]), 0.5 * (a.json.boundingVolume.region[4] + a.json.boundingVolume.region[5]), de), ft.setFromUnitVectors(de.normalize(), zi.normalize()), a.master.applyQuaternion(ft), a.master.updateWorldMatrix(!1, !1)), ut.makeTranslation(-i.center.x * a.scale.x, -i.center.y * a.scale.y, -i.center.z * a.scale.z), a.master.matrix.multiply(ut), a.master.matrix.decompose(a.master.position, a.master.quaternion, a.master.scale);
3850
+ a.boundingVolume instanceof $ ? i.copy(a.boundingVolume.sphere) : a.boundingVolume instanceof E.Sphere && i.copy(a.boundingVolume), this.json.boundingVolume.region && (a.transformWGS84ToCartesian(0.5 * (a.json.boundingVolume.region[0] + a.json.boundingVolume.region[2]), 0.5 * (a.json.boundingVolume.region[1] + a.json.boundingVolume.region[3]), 0.5 * (a.json.boundingVolume.region[4] + a.json.boundingVolume.region[5]), de), ft.setFromUnitVectors(de.normalize(), Vi.normalize()), a.master.applyQuaternion(ft), a.master.updateWorldMatrix(!1, !1)), ut.makeTranslation(-i.center.x * a.scale.x, -i.center.y * a.scale.y, -i.center.z * a.scale.z), a.master.matrix.multiply(ut), a.master.matrix.decompose(a.master.position, a.master.quaternion, a.master.scale);
3840
3851
  }
3841
3852
  a.isSetup = !0, e.onLoadCallback && e.onLoadCallback(a);
3842
3853
  }
@@ -3943,7 +3954,7 @@ class Ga extends E.Object3D {
3943
3954
  this.materialVisibility = e;
3944
3955
  }
3945
3956
  calculateUpdateMetric(e, a) {
3946
- if (this.boundingVolume instanceof se) {
3957
+ if (this.boundingVolume instanceof $) {
3947
3958
  if (N.copy(this.boundingVolume.sphere), N.applyMatrix4(this.matrixWorld), !a.intersectsSphere(N)) return -1;
3948
3959
  } else {
3949
3960
  if (!(this.boundingVolume instanceof E.Sphere)) return console.error("unsupported shape"), -1;
@@ -3952,9 +3963,9 @@ class Ga extends E.Object3D {
3952
3963
  let t = Math.max(0, e.position.distanceTo(N.center) - N.radius);
3953
3964
  if (t = Math.pow(t, this.distanceBias), t == 0) return 0;
3954
3965
  const A = this.matrixWorld.getMaxScaleOnAxis();
3955
- this.master._renderSize(Ea);
3956
- let i = Ea.y, s = e.fov;
3957
- e.aspect < 1 && (s *= e.aspect, i = Ea.x);
3966
+ this.master._renderSize(Qa);
3967
+ let i = Qa.y, s = e.fov;
3968
+ e.aspect < 1 && (s *= e.aspect, i = Qa.x);
3958
3969
  let r = 2 * Math.tan(0.5 * s * 0.017453292519943295) * t;
3959
3970
  return 16 * window.devicePixelRatio * r / (i * A);
3960
3971
  }
@@ -3971,7 +3982,7 @@ class Ga extends E.Object3D {
3971
3982
  }), a;
3972
3983
  }
3973
3984
  calculateDistanceToCamera(e) {
3974
- return this.boundingVolume instanceof se ? (N.copy(this.boundingVolume.sphere), N.applyMatrix4(this.matrixWorld)) : this.boundingVolume instanceof E.Sphere ? (N.copy(this.boundingVolume), N.applyMatrix4(this.matrixWorld)) : console.error("unsupported shape"), Math.max(0, e.position.distanceTo(N.center) - N.radius);
3985
+ return this.boundingVolume instanceof $ ? (N.copy(this.boundingVolume.sphere), N.applyMatrix4(this.matrixWorld)) : this.boundingVolume instanceof E.Sphere ? (N.copy(this.boundingVolume), N.applyMatrix4(this.matrixWorld)) : console.error("unsupported shape"), Math.max(0, e.position.distanceTo(N.center) - N.radius);
3975
3986
  }
3976
3987
  getWorldMatrix() {
3977
3988
  return this.matrixWorld;
@@ -3981,7 +3992,7 @@ class Ga extends E.Object3D {
3981
3992
  A.set(b, d, l);
3982
3993
  }
3983
3994
  }
3984
- class es extends E.Object3D {
3995
+ class as extends E.Object3D {
3985
3996
  constructor(e) {
3986
3997
  super(), e.master = this, e.domWidth && e.domHeight ? this.rendererSize = new E.Vector2(e.domWidth, e.domHeight) : this.rendererSize = new E.Vector2(1e3, 1e3), this.renderer = e.renderer, this.distanceBias = Math.max(1e-4, e.distanceBias ? e.distanceBias : 1), this.geometricErrorMultiplier = e.geometricErrorMultiplier ? e.geometricErrorMultiplier : 1, this.tileset = new Ga(e), e.static && (this.matrixAutoUpdate = !1), this.tileLoader = e.tileLoader;
3987
3998
  }
@@ -4002,7 +4013,7 @@ class es extends E.Object3D {
4002
4013
  this.geometricErrorMultiplier = e || 1;
4003
4014
  }
4004
4015
  }
4005
- class Vi {
4016
+ class Yi {
4006
4017
  constructor(e) {
4007
4018
  const a = this;
4008
4019
  a.scene = e, a.instancedTiles = [], a.instancedMesh, a.reuseableMatrix = new E.Matrix4();
@@ -4043,7 +4054,7 @@ class Vi {
4043
4054
  }), e.instancedMesh.dispose(), !0);
4044
4055
  }
4045
4056
  }
4046
- class Yi {
4057
+ class Wi {
4047
4058
  constructor() {
4048
4059
  const e = this;
4049
4060
  e.count = 0, e.json, e.instancedTiles = [];
@@ -4068,11 +4079,11 @@ class Yi {
4068
4079
  }
4069
4080
  }
4070
4081
  let Ie = 0;
4071
- class as {
4082
+ class ts {
4072
4083
  constructor(e, a) {
4073
- if (this.zUpToYUpMatrix = new E.Matrix4(), this.zUpToYUpMatrix.set(1, 0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 1), this.maxCachedItems = 100, this.maxInstances = 1, this.proxy = a.proxy, a && (this.meshCallback = a.meshCallback, this.pointsCallback = a.pointsCallback, a.maxCachedItems && (this.maxCachedItems = a.maxCachedItems), a.maxInstances && (this.maxInstances = a.maxInstances)), this.gltfLoader = new Dt(), a && a.dracoLoader) this.gltfLoader.setDRACOLoader(a.dracoLoader), this.hasDracoLoader = !0;
4084
+ if (this.zUpToYUpMatrix = new E.Matrix4(), this.zUpToYUpMatrix.set(1, 0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 1), this.maxCachedItems = 100, this.maxInstances = 1, this.proxy = a.proxy, a && (this.meshCallback = a.meshCallback, this.pointsCallback = a.pointsCallback, a.maxCachedItems && (this.maxCachedItems = a.maxCachedItems), a.maxInstances && (this.maxInstances = a.maxInstances)), this.gltfLoader = new Mt(), a && a.dracoLoader) this.gltfLoader.setDRACOLoader(a.dracoLoader), this.hasDracoLoader = !0;
4074
4085
  else {
4075
- const t = new Rt();
4086
+ const t = new Ft();
4076
4087
  t.setDecoderPath("https://www.gstatic.com/draco/versioned/decoders/1.4.3/"), this.gltfLoader.setDRACOLoader(t), this.gltfLoader.hasDracoLoader = !0;
4077
4088
  }
4078
4089
  if (a && a.ktx2Loader) this.gltfLoader.setKTX2Loader(a.ktx2Loader), this.hasKTX2Loader = !0;
@@ -4080,7 +4091,7 @@ class as {
4080
4091
  const t = new P();
4081
4092
  t.setTranscoderPath("https://storage.googleapis.com/ogc-3d-tiles/basis/").detectSupport(a.renderer), this.gltfLoader.setKTX2Loader(t), this.gltfLoader.hasKTX2Loader = !0;
4082
4093
  }
4083
- this.gltfLoader.setMeshoptDecoder(Kt), this.hasMeshOptDecoder = !0, this.b3dmDecoder = new xt(this.gltfLoader), this.cache = new yt(), this.scene = e, this.ready = [], this.downloads = [], this.nextReady = [], this.nextDownloads = [];
4094
+ this.gltfLoader.setMeshoptDecoder(Vt), this.hasMeshOptDecoder = !0, this.b3dmDecoder = new Dt(this.gltfLoader), this.cache = new xt(), this.scene = e, this.ready = [], this.downloads = [], this.nextReady = [], this.nextDownloads = [];
4084
4095
  }
4085
4096
  update() {
4086
4097
  const e = this;
@@ -4106,7 +4117,7 @@ class as {
4106
4117
  if (!A.ok) throw new Error("missing content");
4107
4118
  return A.arrayBuffer();
4108
4119
  }).then(async (A) => {
4109
- await Wi(this.gltfLoader), this.gltfLoader.parse(A, null, (i) => {
4120
+ await Xi(this.gltfLoader), this.gltfLoader.parse(A, null, (i) => {
4110
4121
  let s;
4111
4122
  i.scene.asset = i.asset, t.sceneZupToYup && i.scene.applyMatrix4(this.zUpToYUpMatrix), i.scene.traverse((r) => {
4112
4123
  r.geometricError = t.geometricError, r.isMesh && (t.meshZupToYup && r.applyMatrix4(this.zUpToYUpMatrix), e.meshCallback && e.meshCallback(r, r.geometricError)), r.isPoints && console.error("instanced point cloud is not supported");
@@ -4169,14 +4180,14 @@ class as {
4169
4180
  const g = d.cache.get(l);
4170
4181
  if (g) g.addInstance(A);
4171
4182
  else if (a.includes(".b3dm") || a.includes(".glb") || a.includes(".gltf")) {
4172
- const h = new Vi(d.scene);
4183
+ const h = new Yi(d.scene);
4173
4184
  h.addInstance(A), d.cache.put(l, h);
4174
4185
  const f = new AbortController();
4175
4186
  e.signal.addEventListener("abort", () => {
4176
4187
  h.getCount() == 0 && f.abort();
4177
4188
  }), this.downloads.push({ abortController: f, tile: h, key: l, path: a, distanceFunction: i, getSiblings: s, level: r, uuid: t, sceneZupToYup: c, meshZupToYup: n, geometricError: b, shouldDoDownload: () => !0 });
4178
4189
  } else if (a.includes(".json")) {
4179
- const h = new Yi();
4190
+ const h = new Wi();
4180
4191
  h.addInstance(A), d.cache.put(l, h);
4181
4192
  const f = new AbortController();
4182
4193
  e.signal.addEventListener("abort", () => {
@@ -4213,7 +4224,7 @@ class as {
4213
4224
  }
4214
4225
  }
4215
4226
  }
4216
- async function Wi(o) {
4227
+ async function Xi(o) {
4217
4228
  return new Promise((e) => {
4218
4229
  const a = setInterval(() => {
4219
4230
  o.hasDracoLoader && !o.dracoLoader || o.hasKTX2Loader && !o.ktx2Loader || (clearInterval(a), e());
@@ -4221,13 +4232,13 @@ async function Wi(o) {
4221
4232
  });
4222
4233
  }
4223
4234
  export {
4224
- es as InstancedOGC3DTile,
4225
- as as InstancedTileLoader,
4226
- Vt as OGC3DTile,
4227
- $i as OcclusionCullingService,
4235
+ as as InstancedOGC3DTile,
4236
+ ts as InstancedTileLoader,
4237
+ Wt as OGC3DTile,
4238
+ es as OcclusionCullingService,
4228
4239
  Ni as TileLoader,
4229
- Ki as getOGC3DTilesCopyrightInfo,
4230
- Oi as splatsFragmentShader,
4231
- qi as splatsVertexShader
4240
+ zi as getOGC3DTilesCopyrightInfo,
4241
+ Ji as splatsFragmentShader,
4242
+ Oi as splatsVertexShader
4232
4243
  };
4233
4244
  //# sourceMappingURL=threedtiles.es.js.map