@jdultra/threedtiles 13.0.7 → 13.0.9

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,21 @@
1
- var MA = Object.defineProperty;
2
- var vA = (o, e, t) => e in o ? MA(o, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[e] = t;
3
- var Je = (o, e, t) => vA(o, typeof e != "symbol" ? e + "" : e, t);
1
+ var GA = Object.defineProperty;
2
+ var NA = (o, e, t) => e in o ? GA(o, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[e] = t;
3
+ var Je = (o, e, t) => NA(o, typeof e != "symbol" ? e + "" : e, t);
4
4
  import * as j from "three";
5
- import { Matrix3 as ia, Vector3 as K, Box3 as sa, Matrix4 as st, Ray as TA, BufferGeometry as ra, BufferAttribute as Pe, TrianglesDrawMode as SA, TriangleFanDrawMode as Vt, TriangleStripDrawMode as za, Loader as na, LoaderUtils as bt, FileLoader as Ze, Color as He, LinearSRGBColorSpace as be, SpotLight as FA, PointLight as LA, DirectionalLight as UA, MeshBasicMaterial as ct, SRGBColorSpace as ve, MeshPhysicalMaterial as me, Vector2 as Va, Quaternion as Ya, InstancedMesh as GA, InstancedBufferAttribute as Yt, Object3D as Wa, TextureLoader as NA, ImageBitmapLoader as _A, InterleavedBuffer as PA, InterleavedBufferAttribute as HA, LinearFilter as We, LinearMipmapLinearFilter as yt, RepeatWrapping as Wt, NearestFilter as P, PointsMaterial as OA, Material as wt, LineBasicMaterial as qA, MeshStandardMaterial as ha, DoubleSide as JA, PropertyBinding as KA, SkinnedMesh as zA, Mesh as Xt, LineSegments as VA, Line as YA, LineLoop as WA, Points as XA, Group as xt, PerspectiveCamera as ZA, MathUtils as $A, OrthographicCamera as Xa, Skeleton as ei, AnimationClip as ti, Bone as ai, InterpolateLinear as Za, ColorManagement as Zt, NearestMipmapNearestFilter as Ai, LinearMipmapNearestFilter as ii, NearestMipmapLinearFilter as si, ClampToEdgeWrapping as ri, MirroredRepeatWrapping as ni, InterpolateDiscrete as oi, FrontSide as Ct, Texture as la, VectorKeyframeTrack as ba, NumberKeyframeTrack as ga, QuaternionKeyframeTrack as fa, Sphere as ci, Interpolant as di, CompressedCubeTexture as hi, CompressedArrayTexture as li, CompressedTexture as ua, RGBAFormat as Be, RGBA_ASTC_4x4_Format as $a, RGB_BPTC_UNSIGNED_Format as bi, RGBA_BPTC_Format as gi, RGBA_ETC2_EAC_Format as fi, RGBA_PVRTC_4BPPV1_Format as ui, RGBA_S3TC_DXT5_Format as Ii, RGB_ETC1_Format as pi, RGB_ETC2_Format as Bi, RGB_PVRTC_4BPPV1_Format as mi, RGBA_S3TC_DXT1_Format as Ei, UnsignedByteType as ue, HalfFloatType as tt, FloatType as W, DataTexture as dt, Data3DTexture as Ci, NoColorSpace as Qi, RGFormat as ht, RedFormat as lt, RGBA_ASTC_6x6_Format as Ia, WebGL3DRenderTarget as Ue, ShaderMaterial as kt, AlwaysDepth as yi, InstancedBufferGeometry as pa, DynamicDrawUsage as Ba, Scene as wi, PlaneGeometry as xi } from "three";
6
- class Ps {
5
+ import { Matrix3 as na, Vector3 as K, Box3 as oa, Matrix4 as it, Ray as _A, BufferGeometry as ca, BufferAttribute as Pe, TrianglesDrawMode as PA, TriangleFanDrawMode as Xt, TriangleStripDrawMode as eA, Loader as da, LoaderUtils as lt, FileLoader as Xe, Color as Oe, LinearSRGBColorSpace as be, SpotLight as OA, PointLight as HA, DirectionalLight as qA, MeshBasicMaterial as ot, SRGBColorSpace as ve, MeshPhysicalMaterial as me, Vector2 as tA, Quaternion as aA, InstancedMesh as JA, InstancedBufferAttribute as Zt, Object3D as AA, TextureLoader as KA, ImageBitmapLoader as zA, InterleavedBuffer as VA, InterleavedBufferAttribute as YA, LinearFilter as ut, LinearMipmapLinearFilter as ha, RepeatWrapping as $t, NearestFilter as P, PointsMaterial as WA, Material as jt, LineBasicMaterial as XA, MeshStandardMaterial as fa, DoubleSide as ZA, PropertyBinding as $A, SkinnedMesh as ei, Mesh as ea, LineSegments as ti, Line as ai, LineLoop as Ai, Points as ii, Group as Rt, PerspectiveCamera as si, MathUtils as ri, OrthographicCamera as iA, Skeleton as ni, AnimationClip as oi, Bone as ci, InterpolateLinear as sA, ColorManagement as ta, NearestMipmapNearestFilter as di, LinearMipmapNearestFilter as hi, NearestMipmapLinearFilter as li, ClampToEdgeWrapping as bi, MirroredRepeatWrapping as gi, InterpolateDiscrete as fi, FrontSide as wt, Texture as ua, VectorKeyframeTrack as Ia, NumberKeyframeTrack as pa, QuaternionKeyframeTrack as Ba, Sphere as ui, Interpolant as Ii, CompressedCubeTexture as pi, CompressedArrayTexture as Bi, CompressedTexture as ma, RGBAFormat as Be, RGBA_ASTC_4x4_Format as rA, RGB_BPTC_UNSIGNED_Format as mi, RGBA_BPTC_Format as Ci, RGBA_ETC2_EAC_Format as Ei, RGBA_PVRTC_4BPPV1_Format as Qi, RGBA_S3TC_DXT5_Format as yi, RGB_ETC1_Format as wi, RGB_ETC2_Format as xi, RGB_PVRTC_4BPPV1_Format as ki, RGBA_S3TC_DXT1_Format as Di, UnsignedByteType as ue, HalfFloatType as et, FloatType as W, DataTexture as ct, Data3DTexture as ji, NoColorSpace as Ri, RGFormat as dt, RedFormat as ht, RGBA_ASTC_6x6_Format as Ca, WebGL3DRenderTarget as Ue, ShaderMaterial as Mt, AlwaysDepth as Mi, InstancedBufferGeometry as Ea, DynamicDrawUsage as Qa, Scene as vi, PlaneGeometry as Ti } from "three";
6
+ function It(o, e) {
7
+ for (var t = 0; t < e.length; t++) {
8
+ const a = e[t];
9
+ if (typeof a != "string" && !Array.isArray(a)) {
10
+ for (const A in a) if (A !== "default" && !(A in o)) {
11
+ const s = Object.getOwnPropertyDescriptor(a, A);
12
+ s && Object.defineProperty(o, A, s.get ? s : { enumerable: !0, get: () => a[A] });
13
+ }
14
+ }
15
+ }
16
+ return Object.freeze(Object.defineProperty(o, Symbol.toStringTag, { value: "Module" }));
17
+ }
18
+ class $s {
7
19
  constructor() {
8
20
  this.cullMap = [], this.cullMaterial = new j.MeshBasicMaterial({ vertexColors: !0 }), this.cullMaterial.side = j.FrontSide, this.cullTarget = this._createCullTarget(), this.cullPixels = new Uint8Array(4 * this.cullTarget.width * this.cullTarget.height);
9
21
  }
@@ -26,10 +38,10 @@ class Ps {
26
38
  return this.cullMap[e];
27
39
  }
28
40
  }
29
- const le = new ia(), te = new K(), ma = new K(), Ea = new sa(), ut = new st(), Ca = new st(), Qa = new TA();
41
+ const le = new na(), te = new K(), ya = new K(), wa = new oa(), Bt = new it(), xa = new it(), ka = new _A();
30
42
  class Re {
31
43
  constructor(e) {
32
- this.center = new K(e[0], e[1], e[2]), this.e1 = new K(e[3], e[4], e[5]), this.e2 = new K(e[6], e[7], e[8]), this.e3 = new K(e[9], e[10], e[11]), this.halfSize = new K(this.e1.length(), this.e2.length(), this.e3.length()), this.e1.normalize(), this.e2.normalize(), this.e3.normalize(), this.rotationMatrix = new ia(), 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);
44
+ this.center = new K(e[0], e[1], e[2]), this.e1 = new K(e[3], e[4], e[5]), this.e2 = new K(e[6], e[7], e[8]), this.e3 = new K(e[9], e[10], e[11]), this.halfSize = new K(this.e1.length(), this.e2.length(), this.e3.length()), this.e1.normalize(), this.e2.normalize(), this.e3.normalize(), this.rotationMatrix = new na(), 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);
33
45
  }
34
46
  copy(e) {
35
47
  this.center.copy(e.center), this.rotationMatrix.copy(e.rotationMatrix), this.halfSize.copy(e.halfSize);
@@ -46,7 +58,7 @@ class Re {
46
58
  return le.elements[0] *= i, le.elements[1] *= i, le.elements[2] *= i, le.elements[3] *= n, le.elements[4] *= n, le.elements[5] *= n, le.elements[6] *= l, le.elements[7] *= l, le.elements[8] *= l, this.rotationMatrix.multiply(le), this.halfSize.x *= a, this.halfSize.y *= A, this.halfSize.z *= s, te.setFromMatrixPosition(e), this.center.applyMatrix4(e), this;
47
59
  }
48
60
  intersectRay(e, t) {
49
- return this.getSize(ma), Ea.setFromCenterAndSize(te.set(0, 0, 0), ma), ut.setFromMatrix3(this.rotationMatrix), ut.setPosition(this.center), Ca.copy(ut).invert(), Qa.copy(e).applyMatrix4(Ca), Qa.intersectBox(Ea, t) ? t.applyMatrix4(ut) : null;
61
+ return this.getSize(ya), wa.setFromCenterAndSize(te.set(0, 0, 0), ya), Bt.setFromMatrix3(this.rotationMatrix), Bt.setPosition(this.center), xa.copy(Bt).invert(), ka.copy(e).applyMatrix4(xa), ka.intersectBox(wa, t) ? t.applyMatrix4(Bt) : null;
50
62
  }
51
63
  intersectsRay(e) {
52
64
  return this.intersectRay(e, te) !== null;
@@ -69,9 +81,25 @@ class Re {
69
81
  return Math.sqrt(t * t + a * a + A * A);
70
82
  }
71
83
  }
72
- function ki(o) {
84
+ function Dt(o) {
73
85
  return o && o.__esModule && Object.prototype.hasOwnProperty.call(o, "default") ? o.default : o;
74
86
  }
87
+ function pt(o) {
88
+ if (o.__esModule) return o;
89
+ var e = o.default;
90
+ if (typeof e == "function") {
91
+ var t = function a() {
92
+ return this instanceof a ? Reflect.construct(e, arguments, this.constructor) : e.apply(this, arguments);
93
+ };
94
+ t.prototype = e.prototype;
95
+ } else t = {};
96
+ return Object.defineProperty(t, "__esModule", { value: !0 }), Object.keys(o).forEach(function(a) {
97
+ var A = Object.getOwnPropertyDescriptor(o, a);
98
+ Object.defineProperty(t, a, A.get ? A : { enumerable: !0, get: function() {
99
+ return o[a];
100
+ } });
101
+ }), t;
102
+ }
75
103
  /**
76
104
  * @copyright 2021 Aaron Zhao <yujianzhao2013@gmail.com>
77
105
  * @license MIT
@@ -80,7 +108,7 @@ function ki(o) {
80
108
  * Parent is math.floor((m - 1) / 2) where m is is the child index
81
109
  * @class Heap
82
110
  */
83
- var Di = class {
111
+ var Da = class {
84
112
  constructor(o, e) {
85
113
  if (this._data = [], this._comparator = function(t, a) {
86
114
  return t >= a;
@@ -128,13 +156,8 @@ var Di = class {
128
156
  this._comparator(this._data[o], this._data[a]) && (this.swap(o, a), this.heapifyDown(a));
129
157
  }
130
158
  };
131
- /**
132
- * @copyright 2021 Aaron Zhao <yujianzhao2013@gmail.com>
133
- * @license MIT
134
- * FIFO queue data structure
135
- * @class Queue
136
- */
137
- var ji = class {
159
+ const Si = pt(It({ __proto__: null, default: Dt(Da) }, [Da]));
160
+ var ja = class {
138
161
  constructor(o, e) {
139
162
  if (this._data = [], this._head = 0, this._cap = null, o != null) {
140
163
  if (!Array.isArray(o)) throw Error("Constructor expects data to be an array");
@@ -172,13 +195,8 @@ var ji = class {
172
195
  return this._data.slice(this._head);
173
196
  }
174
197
  };
175
- /**
176
- * @copyright 2021 Aaron Zhao <yujianzhao2013@gmail.com>
177
- * @license MIT
178
- * Linked hash map data structure
179
- * @class LinkedHashMap
180
- */
181
- var eA = { Heap: Di, Queue: ji, LinkedHashMap: class {
198
+ const Fi = pt(It({ __proto__: null, default: Dt(ja) }, [ja]));
199
+ var Ra = class {
182
200
  constructor() {
183
201
  this._data = /* @__PURE__ */ new Map(), this._link = /* @__PURE__ */ new Map(), this._head = void 0, this._tail = void 0;
184
202
  }
@@ -261,15 +279,15 @@ var eA = { Heap: Di, Queue: ji, LinkedHashMap: class {
261
279
  }
262
280
  return Array.from(this.keys()).map((e) => ({ key: e, value: this.get(e) }));
263
281
  }
264
- } };
265
- const Ri = new TextDecoder();
266
- class tA {
282
+ }, nA = { Heap: Si, Queue: Fi, LinkedHashMap: pt(It({ __proto__: null, default: Dt(Ra) }, [Ra])) };
283
+ const Li = new TextDecoder();
284
+ class oA {
267
285
  constructor(e, t, a, A) {
268
286
  this.buffer = e, this.binOffset = t + a, this.binLength = A;
269
287
  let s = null;
270
288
  if (a !== 0) try {
271
289
  const i = new Uint8Array(e, t, a);
272
- s = JSON.parse(Ri.decode(i));
290
+ s = JSON.parse(Li.decode(i));
273
291
  } catch {
274
292
  s = {};
275
293
  }
@@ -341,7 +359,7 @@ class tA {
341
359
  return i;
342
360
  }
343
361
  }
344
- class Mi extends tA {
362
+ class Ui extends oA {
345
363
  constructor(e, t, a, A, s) {
346
364
  super(e, a, A, s), this.batchSize = t;
347
365
  }
@@ -349,7 +367,7 @@ class Mi extends tA {
349
367
  return super.getData(e, this.batchSize, t, a);
350
368
  }
351
369
  }
352
- function ya(o) {
370
+ function Ma(o) {
353
371
  let e, t, a, A = -1, s = 0;
354
372
  for (let h = 0; h < o.length; ++h) {
355
373
  const b = o[h];
@@ -374,9 +392,9 @@ function ya(o) {
374
392
  }
375
393
  return A !== void 0 && (n.gpuType = A), n;
376
394
  }
377
- function wa(o, e) {
378
- if (e === SA) return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."), o;
379
- if (e === Vt || e === za) {
395
+ function va(o, e) {
396
+ if (e === PA) return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."), o;
397
+ if (e === Xt || e === eA) {
380
398
  let t = o.getIndex();
381
399
  if (t === null) {
382
400
  const i = [], n = o.getAttribute("position");
@@ -385,7 +403,7 @@ function wa(o, e) {
385
403
  o.setIndex(i), t = o.getIndex();
386
404
  }
387
405
  const a = t.count - 2, A = [];
388
- if (e === Vt) for (let i = 1; i <= a; i++) A.push(t.getX(0)), A.push(t.getX(i)), A.push(t.getX(i + 1));
406
+ if (e === Xt) for (let i = 1; i <= a; i++) A.push(t.getX(0)), A.push(t.getX(i)), A.push(t.getX(i + 1));
389
407
  else for (let i = 0; i < a; i++) i % 2 == 0 ? (A.push(t.getX(i)), A.push(t.getX(i + 1)), A.push(t.getX(i + 2))) : (A.push(t.getX(i + 2)), A.push(t.getX(i + 1)), A.push(t.getX(i)));
390
408
  A.length / 3 !== a && console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");
391
409
  const s = o.clone();
@@ -393,7 +411,7 @@ function wa(o, e) {
393
411
  }
394
412
  return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:", e), o;
395
413
  }
396
- class aA {
414
+ class cA {
397
415
  constructor(e) {
398
416
  Je(this, "checkLoaderInitialized", async () => new Promise((e) => {
399
417
  const t = setInterval(() => {
@@ -407,15 +425,15 @@ class aA {
407
425
  console.assert(n === "b3dm");
408
426
  const l = i.getUint32(8, !0);
409
427
  console.assert(l === e.byteLength);
410
- const h = i.getUint32(12, !0), b = i.getUint32(16, !0), g = i.getUint32(20, !0), f = i.getUint32(24, !0), I = new tA(e, 28, h, b), u = 28 + h + b;
411
- new Mi(e, I.getData("BATCH_LENGTH"), u, g, f);
428
+ const h = i.getUint32(12, !0), b = i.getUint32(16, !0), g = i.getUint32(20, !0), f = i.getUint32(24, !0), I = new oA(e, 28, h, b), u = 28 + h + b;
429
+ new Ui(e, I.getData("BATCH_LENGTH"), u, g, f);
412
430
  const p = u + g + f, m = new Uint8Array(e, p, l - p).slice().buffer;
413
- return new Promise(async (E, C) => {
431
+ return new Promise(async (C, E) => {
414
432
  await this.checkLoaderInitialized(), this.gltfLoader.parse(m, null, (x) => {
415
433
  const w = I.getData("RTC_CENTER");
416
434
  w ? (this.tempMatrix.makeTranslation(w[0], w[1], w[2]), x.scene.applyMatrix4(this.tempMatrix)) : x.userData.gltfExtensions && x.userData.gltfExtensions.CESIUM_RTC && (this.tempMatrix.makeTranslation(x.userData.gltfExtensions.CESIUM_RTC.center[0], x.userData.gltfExtensions.CESIUM_RTC.center[1], x.userData.gltfExtensions.CESIUM_RTC.center[2]), x.scene.applyMatrix4(this.tempMatrix)), a && x.scene.applyMatrix4(s.zUpToYUpMatrix), x.scene.asset = x.asset, x.scene.traverse((M) => {
417
435
  M.isMesh && (A && M.applyMatrix4(s.zUpToYUpMatrix), t && t(M));
418
- }), E(x.scene);
436
+ }), C(x.scene);
419
437
  }, (x) => {
420
438
  console.error(x);
421
439
  });
@@ -434,8 +452,8 @@ class aA {
434
452
  }), g.forEach((u) => {
435
453
  f.forEach((p) => {
436
454
  if (!u.attributes[p]) {
437
- const m = function(C) {
438
- switch (C) {
455
+ const m = function(E) {
456
+ switch (E) {
439
457
  case "position":
440
458
  case "normal":
441
459
  case "color":
@@ -444,27 +462,27 @@ class aA {
444
462
  case "uv2":
445
463
  return 2;
446
464
  default:
447
- throw new Error(`Unknown attribute ${C}`);
465
+ throw new Error(`Unknown attribute ${E}`);
448
466
  }
449
- }(p), E = new Float32Array(m * u.getAttribute("position").count).fill(0);
450
- u.setAttribute(p, new j.BufferAttribute(E, m));
467
+ }(p), C = new Float32Array(m * u.getAttribute("position").count).fill(0);
468
+ u.setAttribute(p, new j.BufferAttribute(C, m));
451
469
  }
452
470
  });
453
471
  }), function(u, p = !1) {
454
- const m = u[0].index !== null, E = new Set(Object.keys(u[0].attributes)), C = new Set(Object.keys(u[0].morphAttributes)), x = {}, w = {}, M = u[0].morphTargetsRelative, T = new ra();
472
+ const m = u[0].index !== null, C = new Set(Object.keys(u[0].attributes)), E = new Set(Object.keys(u[0].morphAttributes)), x = {}, w = {}, M = u[0].morphTargetsRelative, T = new ca();
455
473
  let v = 0;
456
474
  for (let k = 0; k < u.length; ++k) {
457
475
  const R = u[k];
458
476
  let S = 0;
459
477
  if (m !== (R.index !== null)) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + k + ". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."), null;
460
478
  for (const F in R.attributes) {
461
- if (!E.has(F)) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + k + '. All geometries must have compatible attributes; make sure "' + F + '" attribute exists among all geometries, or in none of them.'), null;
479
+ if (!C.has(F)) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + k + '. All geometries must have compatible attributes; make sure "' + F + '" attribute exists among all geometries, or in none of them.'), null;
462
480
  x[F] === void 0 && (x[F] = []), x[F].push(R.attributes[F]), S++;
463
481
  }
464
- if (S !== E.size) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + k + ". Make sure all geometries have the same number of attributes."), null;
482
+ if (S !== C.size) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + k + ". Make sure all geometries have the same number of attributes."), null;
465
483
  if (M !== R.morphTargetsRelative) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + k + ". .morphTargetsRelative must be consistent throughout all geometries."), null;
466
484
  for (const F in R.morphAttributes) {
467
- if (!C.has(F)) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + k + ". .morphAttributes must be consistent throughout all geometries."), null;
485
+ if (!E.has(F)) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + k + ". .morphAttributes must be consistent throughout all geometries."), null;
468
486
  w[F] === void 0 && (w[F] = []), w[F].push(R.morphAttributes[F]);
469
487
  }
470
488
  if (p) {
@@ -488,7 +506,7 @@ class aA {
488
506
  T.setIndex(R);
489
507
  }
490
508
  for (const k in x) {
491
- const R = ya(x[k]);
509
+ const R = Ma(x[k]);
492
510
  if (!R) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the " + k + " attribute."), null;
493
511
  T.setAttribute(k, R);
494
512
  }
@@ -499,7 +517,7 @@ class aA {
499
517
  for (let S = 0; S < R; ++S) {
500
518
  const F = [];
501
519
  for (let Ae = 0; Ae < w[k].length; ++Ae) F.push(w[k][Ae][S]);
502
- const z = ya(F);
520
+ const z = Ma(F);
503
521
  if (!z) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the " + k + " morphAttribute."), null;
504
522
  T.morphAttributes[k].push(z);
505
523
  }
@@ -511,25 +529,25 @@ class aA {
511
529
  });
512
530
  }
513
531
  }
514
- var Dt, vi = new Uint8Array(16);
515
- function Ti() {
516
- if (!Dt && !(Dt = 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");
517
- return Dt(vi);
532
+ var vt, Gi = new Uint8Array(16);
533
+ function Ni() {
534
+ if (!vt && !(vt = 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");
535
+ return vt(Gi);
518
536
  }
519
- const Si = /^(?:[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;
520
- for (var $ = [], jt = 0; jt < 256; ++jt) $.push((jt + 256).toString(16).substr(1));
521
- function Fi(o) {
537
+ const _i = /^(?:[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;
538
+ for (var $ = [], Tt = 0; Tt < 256; ++Tt) $.push((Tt + 256).toString(16).substr(1));
539
+ function Pi(o) {
522
540
  var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, t = ($[o[e + 0]] + $[o[e + 1]] + $[o[e + 2]] + $[o[e + 3]] + "-" + $[o[e + 4]] + $[o[e + 5]] + "-" + $[o[e + 6]] + $[o[e + 7]] + "-" + $[o[e + 8]] + $[o[e + 9]] + "-" + $[o[e + 10]] + $[o[e + 11]] + $[o[e + 12]] + $[o[e + 13]] + $[o[e + 14]] + $[o[e + 15]]).toLowerCase();
523
541
  if (!function(a) {
524
- return typeof a == "string" && Si.test(a);
542
+ return typeof a == "string" && _i.test(a);
525
543
  }(t)) throw TypeError("Stringified UUID is invalid");
526
544
  return t;
527
545
  }
528
- function AA(o, e, t) {
529
- var a = (o = o || {}).random || (o.rng || Ti)();
530
- return a[6] = 15 & a[6] | 64, a[8] = 63 & a[8] | 128, Fi(a);
546
+ function dA(o, e, t) {
547
+ var a = (o = o || {}).random || (o.rng || Ni)();
548
+ return a[6] = 15 & a[6] | 64, a[8] = 63 & a[8] | 128, Pi(a);
531
549
  }
532
- class Li {
550
+ class Oi {
533
551
  constructor(e, t) {
534
552
  Je(this, "checkLoaderInitialized", async () => {
535
553
  const e = this;
@@ -556,42 +574,42 @@ class Li {
556
574
  });
557
575
  }
558
576
  }
559
- class iA extends na {
577
+ class hA extends da {
560
578
  constructor(e) {
561
579
  super(e), this.dracoLoader = null, this.ktx2Loader = null, this.meshoptDecoder = null, this.pluginCallbacks = [], this.register(function(t) {
562
- return new Pi(t);
580
+ return new zi(t);
563
581
  }), this.register(function(t) {
564
- return new Hi(t);
582
+ return new Vi(t);
565
583
  }), this.register(function(t) {
566
- return new Xi(t);
584
+ return new As(t);
567
585
  }), this.register(function(t) {
568
- return new Zi(t);
586
+ return new is(t);
569
587
  }), this.register(function(t) {
570
- return new $i(t);
588
+ return new ss(t);
571
589
  }), this.register(function(t) {
572
- return new qi(t);
590
+ return new Wi(t);
573
591
  }), this.register(function(t) {
574
- return new Ji(t);
592
+ return new Xi(t);
575
593
  }), this.register(function(t) {
576
- return new Ki(t);
594
+ return new Zi(t);
577
595
  }), this.register(function(t) {
578
- return new zi(t);
596
+ return new $i(t);
579
597
  }), this.register(function(t) {
580
- return new _i(t);
598
+ return new Ki(t);
581
599
  }), this.register(function(t) {
582
- return new Vi(t);
600
+ return new es(t);
583
601
  }), this.register(function(t) {
584
- return new Oi(t);
602
+ return new Yi(t);
585
603
  }), this.register(function(t) {
586
- return new Wi(t);
604
+ return new as(t);
587
605
  }), this.register(function(t) {
588
- return new Yi(t);
606
+ return new ts(t);
589
607
  }), this.register(function(t) {
590
- return new Gi(t);
608
+ return new qi(t);
591
609
  }), this.register(function(t) {
592
- return new es(t);
610
+ return new rs(t);
593
611
  }), this.register(function(t) {
594
- return new ts(t);
612
+ return new ns(t);
595
613
  });
596
614
  }
597
615
  load(e, t, a, A) {
@@ -599,13 +617,13 @@ class iA extends na {
599
617
  let i;
600
618
  if (this.resourcePath !== "") i = this.resourcePath;
601
619
  else if (this.path !== "") {
602
- const h = bt.extractUrlBase(e);
603
- i = bt.resolveURL(h, this.path);
604
- } else i = bt.extractUrlBase(e);
620
+ const h = lt.extractUrlBase(e);
621
+ i = lt.resolveURL(h, this.path);
622
+ } else i = lt.extractUrlBase(e);
605
623
  this.manager.itemStart(e);
606
624
  const n = function(h) {
607
625
  A ? A(h) : console.error(h), s.manager.itemError(e), s.manager.itemEnd(e);
608
- }, l = new Ze(this.manager);
626
+ }, l = new Xe(this.manager);
609
627
  l.setPath(this.path), l.setResponseType("arraybuffer"), l.setRequestHeader(this.requestHeader), l.setWithCredentials(this.withCredentials), l.load(e, function(h) {
610
628
  try {
611
629
  s.parse(h, i, function(b) {
@@ -636,9 +654,9 @@ class iA extends na {
636
654
  const i = {}, n = {}, l = new TextDecoder();
637
655
  if (typeof e == "string") s = JSON.parse(e);
638
656
  else if (e instanceof ArrayBuffer)
639
- if (l.decode(new Uint8Array(e, 0, 4)) === sA) {
657
+ if (l.decode(new Uint8Array(e, 0, 4)) === lA) {
640
658
  try {
641
- i[U.KHR_BINARY_GLTF] = new is(e);
659
+ i[U.KHR_BINARY_GLTF] = new ds(e);
642
660
  } catch (b) {
643
661
  return void (A && A(b));
644
662
  }
@@ -646,7 +664,7 @@ class iA extends na {
646
664
  } else s = JSON.parse(l.decode(e));
647
665
  else s = e;
648
666
  if (s.asset === void 0 || s.asset.version[0] < 2) return void (A && A(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported.")));
649
- const h = new Is(s, { path: t || this.resourcePath || "", crossOrigin: this.crossOrigin, requestHeader: this.requestHeader, manager: this.manager, ktx2Loader: this.ktx2Loader, meshoptDecoder: this.meshoptDecoder });
667
+ const h = new Qs(s, { path: t || this.resourcePath || "", crossOrigin: this.crossOrigin, requestHeader: this.requestHeader, manager: this.manager, ktx2Loader: this.ktx2Loader, meshoptDecoder: this.meshoptDecoder });
650
668
  h.fileLoader.setRequestHeader(this.requestHeader);
651
669
  for (let b = 0; b < this.pluginCallbacks.length; b++) {
652
670
  const g = this.pluginCallbacks[b](h);
@@ -656,16 +674,16 @@ class iA extends na {
656
674
  const g = s.extensionsUsed[b], f = s.extensionsRequired || [];
657
675
  switch (g) {
658
676
  case U.KHR_MATERIALS_UNLIT:
659
- i[g] = new Ni();
677
+ i[g] = new Ji();
660
678
  break;
661
679
  case U.KHR_DRACO_MESH_COMPRESSION:
662
- i[g] = new ss(s, this.dracoLoader);
680
+ i[g] = new hs(s, this.dracoLoader);
663
681
  break;
664
682
  case U.KHR_TEXTURE_TRANSFORM:
665
- i[g] = new rs();
683
+ i[g] = new ls();
666
684
  break;
667
685
  case U.KHR_MESH_QUANTIZATION:
668
- i[g] = new ns();
686
+ i[g] = new bs();
669
687
  break;
670
688
  default:
671
689
  f.indexOf(g) >= 0 && n[g] === void 0 && console.warn('THREE.GLTFLoader: Unknown extension "' + g + '".');
@@ -680,7 +698,7 @@ class iA extends na {
680
698
  });
681
699
  }
682
700
  }
683
- function Ui() {
701
+ function Hi() {
684
702
  let o = {};
685
703
  return { get: function(e) {
686
704
  return o[e];
@@ -693,7 +711,7 @@ function Ui() {
693
711
  } };
694
712
  }
695
713
  const U = { KHR_BINARY_GLTF: "KHR_binary_glTF", KHR_DRACO_MESH_COMPRESSION: "KHR_draco_mesh_compression", KHR_LIGHTS_PUNCTUAL: "KHR_lights_punctual", KHR_MATERIALS_CLEARCOAT: "KHR_materials_clearcoat", KHR_MATERIALS_DISPERSION: "KHR_materials_dispersion", KHR_MATERIALS_IOR: "KHR_materials_ior", KHR_MATERIALS_SHEEN: "KHR_materials_sheen", KHR_MATERIALS_SPECULAR: "KHR_materials_specular", KHR_MATERIALS_TRANSMISSION: "KHR_materials_transmission", KHR_MATERIALS_IRIDESCENCE: "KHR_materials_iridescence", KHR_MATERIALS_ANISOTROPY: "KHR_materials_anisotropy", KHR_MATERIALS_UNLIT: "KHR_materials_unlit", KHR_MATERIALS_VOLUME: "KHR_materials_volume", KHR_TEXTURE_BASISU: "KHR_texture_basisu", KHR_TEXTURE_TRANSFORM: "KHR_texture_transform", KHR_MESH_QUANTIZATION: "KHR_mesh_quantization", KHR_MATERIALS_EMISSIVE_STRENGTH: "KHR_materials_emissive_strength", EXT_MATERIALS_BUMP: "EXT_materials_bump", EXT_TEXTURE_WEBP: "EXT_texture_webp", EXT_TEXTURE_AVIF: "EXT_texture_avif", EXT_MESHOPT_COMPRESSION: "EXT_meshopt_compression", EXT_MESH_GPU_INSTANCING: "EXT_mesh_gpu_instancing" };
696
- class Gi {
714
+ class qi {
697
715
  constructor(e) {
698
716
  this.parser = e, this.name = U.KHR_LIGHTS_PUNCTUAL, this.cache = { refs: {}, uses: {} };
699
717
  }
@@ -710,18 +728,18 @@ class Gi {
710
728
  if (A) return A;
711
729
  const s = t.json, i = ((s.extensions && s.extensions[this.name] || {}).lights || [])[e];
712
730
  let n;
713
- const l = new He(16777215);
731
+ const l = new Oe(16777215);
714
732
  i.color !== void 0 && l.setRGB(i.color[0], i.color[1], i.color[2], be);
715
733
  const h = i.range !== void 0 ? i.range : 0;
716
734
  switch (i.type) {
717
735
  case "directional":
718
- n = new UA(l), n.target.position.set(0, 0, -1), n.add(n.target);
736
+ n = new qA(l), n.target.position.set(0, 0, -1), n.add(n.target);
719
737
  break;
720
738
  case "point":
721
- n = new LA(l), n.distance = h;
739
+ n = new HA(l), n.distance = h;
722
740
  break;
723
741
  case "spot":
724
- n = new FA(l), n.distance = h, i.spot = i.spot || {}, i.spot.innerConeAngle = i.spot.innerConeAngle !== void 0 ? i.spot.innerConeAngle : 0, i.spot.outerConeAngle = i.spot.outerConeAngle !== void 0 ? i.spot.outerConeAngle : Math.PI / 4, n.angle = i.spot.outerConeAngle, n.penumbra = 1 - i.spot.innerConeAngle / i.spot.outerConeAngle, n.target.position.set(0, 0, -1), n.add(n.target);
742
+ n = new OA(l), n.distance = h, i.spot = i.spot || {}, i.spot.innerConeAngle = i.spot.innerConeAngle !== void 0 ? i.spot.innerConeAngle : 0, i.spot.outerConeAngle = i.spot.outerConeAngle !== void 0 ? i.spot.outerConeAngle : Math.PI / 4, n.angle = i.spot.outerConeAngle, n.penumbra = 1 - i.spot.innerConeAngle / i.spot.outerConeAngle, n.target.position.set(0, 0, -1), n.add(n.target);
725
743
  break;
726
744
  default:
727
745
  throw new Error("THREE.GLTFLoader: Unexpected light type: " + i.type);
@@ -738,16 +756,16 @@ class Gi {
738
756
  });
739
757
  }
740
758
  }
741
- class Ni {
759
+ class Ji {
742
760
  constructor() {
743
761
  this.name = U.KHR_MATERIALS_UNLIT;
744
762
  }
745
763
  getMaterialType() {
746
- return ct;
764
+ return ot;
747
765
  }
748
766
  extendParams(e, t, a) {
749
767
  const A = [];
750
- e.color = new He(1, 1, 1), e.opacity = 1;
768
+ e.color = new Oe(1, 1, 1), e.opacity = 1;
751
769
  const s = t.pbrMetallicRoughness;
752
770
  if (s) {
753
771
  if (Array.isArray(s.baseColorFactor)) {
@@ -759,7 +777,7 @@ class Ni {
759
777
  return Promise.all(A);
760
778
  }
761
779
  }
762
- class _i {
780
+ class Ki {
763
781
  constructor(e) {
764
782
  this.parser = e, this.name = U.KHR_MATERIALS_EMISSIVE_STRENGTH;
765
783
  }
@@ -770,7 +788,7 @@ class _i {
770
788
  return A !== void 0 && (t.emissiveIntensity = A), Promise.resolve();
771
789
  }
772
790
  }
773
- class Pi {
791
+ class zi {
774
792
  constructor(e) {
775
793
  this.parser = e, this.name = U.KHR_MATERIALS_CLEARCOAT;
776
794
  }
@@ -784,12 +802,12 @@ class Pi {
784
802
  const s = [], i = A.extensions[this.name];
785
803
  if (i.clearcoatFactor !== void 0 && (t.clearcoat = i.clearcoatFactor), i.clearcoatTexture !== void 0 && s.push(a.assignTexture(t, "clearcoatMap", i.clearcoatTexture)), i.clearcoatRoughnessFactor !== void 0 && (t.clearcoatRoughness = i.clearcoatRoughnessFactor), i.clearcoatRoughnessTexture !== void 0 && s.push(a.assignTexture(t, "clearcoatRoughnessMap", i.clearcoatRoughnessTexture)), i.clearcoatNormalTexture !== void 0 && (s.push(a.assignTexture(t, "clearcoatNormalMap", i.clearcoatNormalTexture)), i.clearcoatNormalTexture.scale !== void 0)) {
786
804
  const n = i.clearcoatNormalTexture.scale;
787
- t.clearcoatNormalScale = new Va(n, n);
805
+ t.clearcoatNormalScale = new tA(n, n);
788
806
  }
789
807
  return Promise.all(s);
790
808
  }
791
809
  }
792
- class Hi {
810
+ class Vi {
793
811
  constructor(e) {
794
812
  this.parser = e, this.name = U.KHR_MATERIALS_DISPERSION;
795
813
  }
@@ -804,7 +822,7 @@ class Hi {
804
822
  return t.dispersion = A.dispersion !== void 0 ? A.dispersion : 0, Promise.resolve();
805
823
  }
806
824
  }
807
- class Oi {
825
+ class Yi {
808
826
  constructor(e) {
809
827
  this.parser = e, this.name = U.KHR_MATERIALS_IRIDESCENCE;
810
828
  }
@@ -819,7 +837,7 @@ class Oi {
819
837
  return i.iridescenceFactor !== void 0 && (t.iridescence = i.iridescenceFactor), i.iridescenceTexture !== void 0 && s.push(a.assignTexture(t, "iridescenceMap", i.iridescenceTexture)), i.iridescenceIor !== void 0 && (t.iridescenceIOR = i.iridescenceIor), t.iridescenceThicknessRange === void 0 && (t.iridescenceThicknessRange = [100, 400]), i.iridescenceThicknessMinimum !== void 0 && (t.iridescenceThicknessRange[0] = i.iridescenceThicknessMinimum), i.iridescenceThicknessMaximum !== void 0 && (t.iridescenceThicknessRange[1] = i.iridescenceThicknessMaximum), i.iridescenceThicknessTexture !== void 0 && s.push(a.assignTexture(t, "iridescenceThicknessMap", i.iridescenceThicknessTexture)), Promise.all(s);
820
838
  }
821
839
  }
822
- class qi {
840
+ class Wi {
823
841
  constructor(e) {
824
842
  this.parser = e, this.name = U.KHR_MATERIALS_SHEEN;
825
843
  }
@@ -831,7 +849,7 @@ class qi {
831
849
  const a = this.parser, A = a.json.materials[e];
832
850
  if (!A.extensions || !A.extensions[this.name]) return Promise.resolve();
833
851
  const s = [];
834
- t.sheenColor = new He(0, 0, 0), t.sheenRoughness = 0, t.sheen = 1;
852
+ t.sheenColor = new Oe(0, 0, 0), t.sheenRoughness = 0, t.sheen = 1;
835
853
  const i = A.extensions[this.name];
836
854
  if (i.sheenColorFactor !== void 0) {
837
855
  const n = i.sheenColorFactor;
@@ -840,7 +858,7 @@ class qi {
840
858
  return i.sheenRoughnessFactor !== void 0 && (t.sheenRoughness = i.sheenRoughnessFactor), i.sheenColorTexture !== void 0 && s.push(a.assignTexture(t, "sheenColorMap", i.sheenColorTexture, ve)), i.sheenRoughnessTexture !== void 0 && s.push(a.assignTexture(t, "sheenRoughnessMap", i.sheenRoughnessTexture)), Promise.all(s);
841
859
  }
842
860
  }
843
- class Ji {
861
+ class Xi {
844
862
  constructor(e) {
845
863
  this.parser = e, this.name = U.KHR_MATERIALS_TRANSMISSION;
846
864
  }
@@ -855,7 +873,7 @@ class Ji {
855
873
  return i.transmissionFactor !== void 0 && (t.transmission = i.transmissionFactor), i.transmissionTexture !== void 0 && s.push(a.assignTexture(t, "transmissionMap", i.transmissionTexture)), Promise.all(s);
856
874
  }
857
875
  }
858
- class Ki {
876
+ class Zi {
859
877
  constructor(e) {
860
878
  this.parser = e, this.name = U.KHR_MATERIALS_VOLUME;
861
879
  }
@@ -869,10 +887,10 @@ class Ki {
869
887
  const s = [], i = A.extensions[this.name];
870
888
  t.thickness = i.thicknessFactor !== void 0 ? i.thicknessFactor : 0, i.thicknessTexture !== void 0 && s.push(a.assignTexture(t, "thicknessMap", i.thicknessTexture)), t.attenuationDistance = i.attenuationDistance || 1 / 0;
871
889
  const n = i.attenuationColor || [1, 1, 1];
872
- return t.attenuationColor = new He().setRGB(n[0], n[1], n[2], be), Promise.all(s);
890
+ return t.attenuationColor = new Oe().setRGB(n[0], n[1], n[2], be), Promise.all(s);
873
891
  }
874
892
  }
875
- class zi {
893
+ class $i {
876
894
  constructor(e) {
877
895
  this.parser = e, this.name = U.KHR_MATERIALS_IOR;
878
896
  }
@@ -887,7 +905,7 @@ class zi {
887
905
  return t.ior = A.ior !== void 0 ? A.ior : 1.5, Promise.resolve();
888
906
  }
889
907
  }
890
- class Vi {
908
+ class es {
891
909
  constructor(e) {
892
910
  this.parser = e, this.name = U.KHR_MATERIALS_SPECULAR;
893
911
  }
@@ -901,10 +919,10 @@ class Vi {
901
919
  const s = [], i = A.extensions[this.name];
902
920
  t.specularIntensity = i.specularFactor !== void 0 ? i.specularFactor : 1, i.specularTexture !== void 0 && s.push(a.assignTexture(t, "specularIntensityMap", i.specularTexture));
903
921
  const n = i.specularColorFactor || [1, 1, 1];
904
- return t.specularColor = new He().setRGB(n[0], n[1], n[2], be), i.specularColorTexture !== void 0 && s.push(a.assignTexture(t, "specularColorMap", i.specularColorTexture, ve)), Promise.all(s);
922
+ return t.specularColor = new Oe().setRGB(n[0], n[1], n[2], be), i.specularColorTexture !== void 0 && s.push(a.assignTexture(t, "specularColorMap", i.specularColorTexture, ve)), Promise.all(s);
905
923
  }
906
924
  }
907
- class Yi {
925
+ class ts {
908
926
  constructor(e) {
909
927
  this.parser = e, this.name = U.EXT_MATERIALS_BUMP;
910
928
  }
@@ -919,7 +937,7 @@ class Yi {
919
937
  return t.bumpScale = i.bumpFactor !== void 0 ? i.bumpFactor : 1, i.bumpTexture !== void 0 && s.push(a.assignTexture(t, "bumpMap", i.bumpTexture)), Promise.all(s);
920
938
  }
921
939
  }
922
- class Wi {
940
+ class as {
923
941
  constructor(e) {
924
942
  this.parser = e, this.name = U.KHR_MATERIALS_ANISOTROPY;
925
943
  }
@@ -934,7 +952,7 @@ class Wi {
934
952
  return i.anisotropyStrength !== void 0 && (t.anisotropy = i.anisotropyStrength), i.anisotropyRotation !== void 0 && (t.anisotropyRotation = i.anisotropyRotation), i.anisotropyTexture !== void 0 && s.push(a.assignTexture(t, "anisotropyMap", i.anisotropyTexture)), Promise.all(s);
935
953
  }
936
954
  }
937
- class Xi {
955
+ class As {
938
956
  constructor(e) {
939
957
  this.parser = e, this.name = U.KHR_TEXTURE_BASISU;
940
958
  }
@@ -949,7 +967,7 @@ class Xi {
949
967
  return t.loadTextureImage(e, s.source, i);
950
968
  }
951
969
  }
952
- class Zi {
970
+ class is {
953
971
  constructor(e) {
954
972
  this.parser = e, this.name = U.EXT_TEXTURE_WEBP, this.isSupported = null;
955
973
  }
@@ -977,7 +995,7 @@ class Zi {
977
995
  })), this.isSupported;
978
996
  }
979
997
  }
980
- class $i {
998
+ class ss {
981
999
  constructor(e) {
982
1000
  this.parser = e, this.name = U.EXT_TEXTURE_AVIF, this.isSupported = null;
983
1001
  }
@@ -1005,7 +1023,7 @@ class $i {
1005
1023
  })), this.isSupported;
1006
1024
  }
1007
1025
  }
1008
- class es {
1026
+ class rs {
1009
1027
  constructor(e) {
1010
1028
  this.name = U.EXT_MESHOPT_COMPRESSION, this.parser = e;
1011
1029
  }
@@ -1030,7 +1048,7 @@ class es {
1030
1048
  return null;
1031
1049
  }
1032
1050
  }
1033
- class ts {
1051
+ class ns {
1034
1052
  constructor(e) {
1035
1053
  this.name = U.EXT_MESH_GPU_INSTANCING, this.parser = e;
1036
1054
  }
@@ -1044,24 +1062,24 @@ class ts {
1044
1062
  return i.length < 1 ? null : (i.push(this.parser.createNodeMesh(e)), Promise.all(i).then((l) => {
1045
1063
  const h = l.pop(), b = h.isGroup ? h.children : [h], g = l[0].count, f = [];
1046
1064
  for (const I of b) {
1047
- const u = new st(), p = new K(), m = new Ya(), E = new K(1, 1, 1), C = new GA(I.geometry, I.material, g);
1048
- for (let x = 0; x < g; x++) n.TRANSLATION && p.fromBufferAttribute(n.TRANSLATION, x), n.ROTATION && m.fromBufferAttribute(n.ROTATION, x), n.SCALE && E.fromBufferAttribute(n.SCALE, x), C.setMatrixAt(x, u.compose(p, m, E));
1065
+ const u = new it(), p = new K(), m = new aA(), C = new K(1, 1, 1), E = new JA(I.geometry, I.material, g);
1066
+ for (let x = 0; x < g; x++) n.TRANSLATION && p.fromBufferAttribute(n.TRANSLATION, x), n.ROTATION && m.fromBufferAttribute(n.ROTATION, x), n.SCALE && C.fromBufferAttribute(n.SCALE, x), E.setMatrixAt(x, u.compose(p, m, C));
1049
1067
  for (const x in n) if (x === "_COLOR_0") {
1050
1068
  const w = n[x];
1051
- C.instanceColor = new Yt(w.array, w.itemSize, w.normalized);
1069
+ E.instanceColor = new Zt(w.array, w.itemSize, w.normalized);
1052
1070
  } else x !== "TRANSLATION" && x !== "ROTATION" && x !== "SCALE" && I.geometry.setAttribute(x, n[x]);
1053
- Wa.prototype.copy.call(C, I), this.parser.assignFinalMaterial(C), f.push(C);
1071
+ AA.prototype.copy.call(E, I), this.parser.assignFinalMaterial(E), f.push(E);
1054
1072
  }
1055
1073
  return h.isGroup ? (h.clear(), h.add(...f), h) : f[0];
1056
1074
  }));
1057
1075
  }
1058
1076
  }
1059
- const sA = "glTF", as = 1313821514, As = 5130562;
1060
- class is {
1077
+ const lA = "glTF", os = 1313821514, cs = 5130562;
1078
+ class ds {
1061
1079
  constructor(e) {
1062
1080
  this.name = U.KHR_BINARY_GLTF, this.content = null, this.body = null;
1063
1081
  const t = new DataView(e, 0, 12), a = new TextDecoder();
1064
- if (this.header = { magic: a.decode(new Uint8Array(e.slice(0, 4))), version: t.getUint32(4, !0), length: t.getUint32(8, !0) }, this.header.magic !== sA) throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");
1082
+ if (this.header = { magic: a.decode(new Uint8Array(e.slice(0, 4))), version: t.getUint32(4, !0), length: t.getUint32(8, !0) }, this.header.magic !== lA) throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");
1065
1083
  if (this.header.version < 2) throw new Error("THREE.GLTFLoader: Legacy binary file detected.");
1066
1084
  const A = this.header.length - 12, s = new DataView(e, 12);
1067
1085
  let i = 0;
@@ -1069,10 +1087,10 @@ class is {
1069
1087
  const n = s.getUint32(i, !0);
1070
1088
  i += 4;
1071
1089
  const l = s.getUint32(i, !0);
1072
- if (i += 4, l === as) {
1090
+ if (i += 4, l === os) {
1073
1091
  const h = new Uint8Array(e, 12 + i, n);
1074
1092
  this.content = a.decode(h);
1075
- } else if (l === As) {
1093
+ } else if (l === cs) {
1076
1094
  const h = 12 + i;
1077
1095
  this.body = e.slice(h, h + n);
1078
1096
  }
@@ -1081,7 +1099,7 @@ class is {
1081
1099
  if (this.content === null) throw new Error("THREE.GLTFLoader: JSON content not found.");
1082
1100
  }
1083
1101
  }
1084
- class ss {
1102
+ class hs {
1085
1103
  constructor(e, t) {
1086
1104
  if (!t) throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");
1087
1105
  this.name = U.KHR_DRACO_MESH_COMPRESSION, this.json = e, this.dracoLoader = t, this.dracoLoader.preload();
@@ -1089,13 +1107,13 @@ class ss {
1089
1107
  decodePrimitive(e, t) {
1090
1108
  const a = this.json, A = this.dracoLoader, s = e.extensions[this.name].bufferView, i = e.extensions[this.name].attributes, n = {}, l = {}, h = {};
1091
1109
  for (const b in i) {
1092
- const g = $t[b] || b.toLowerCase();
1110
+ const g = aa[b] || b.toLowerCase();
1093
1111
  n[g] = i[b];
1094
1112
  }
1095
1113
  for (const b in e.attributes) {
1096
- const g = $t[b] || b.toLowerCase();
1114
+ const g = aa[b] || b.toLowerCase();
1097
1115
  if (i[b] !== void 0) {
1098
- const f = a.accessors[e.attributes[b]], I = at[f.componentType];
1116
+ const f = a.accessors[e.attributes[b]], I = tt[f.componentType];
1099
1117
  h[g] = I.name, l[g] = f.normalized === !0;
1100
1118
  }
1101
1119
  }
@@ -1112,7 +1130,7 @@ class ss {
1112
1130
  });
1113
1131
  }
1114
1132
  }
1115
- class rs {
1133
+ class ls {
1116
1134
  constructor() {
1117
1135
  this.name = U.KHR_TEXTURE_TRANSFORM;
1118
1136
  }
@@ -1120,12 +1138,12 @@ class rs {
1120
1138
  return (t.texCoord !== void 0 && t.texCoord !== e.channel || t.offset !== void 0 || t.rotation !== void 0 || t.scale !== void 0) && (e = e.clone(), t.texCoord !== void 0 && (e.channel = t.texCoord), t.offset !== void 0 && e.offset.fromArray(t.offset), t.rotation !== void 0 && (e.rotation = t.rotation), t.scale !== void 0 && e.repeat.fromArray(t.scale), e.needsUpdate = !0), e;
1121
1139
  }
1122
1140
  }
1123
- class ns {
1141
+ class bs {
1124
1142
  constructor() {
1125
1143
  this.name = U.KHR_MESH_QUANTIZATION;
1126
1144
  }
1127
1145
  }
1128
- class rA extends di {
1146
+ class bA extends Ii {
1129
1147
  constructor(e, t, a, A) {
1130
1148
  super(e, t, a, A);
1131
1149
  }
@@ -1135,29 +1153,29 @@ class rA extends di {
1135
1153
  return t;
1136
1154
  }
1137
1155
  interpolate_(e, t, a, A) {
1138
- const s = this.resultBuffer, i = this.sampleValues, n = this.valueSize, l = 2 * n, h = 3 * n, b = A - t, g = (a - t) / b, f = g * g, I = f * g, u = e * h, p = u - h, m = -2 * I + 3 * f, E = I - f, C = 1 - m, x = E - f + g;
1156
+ const s = this.resultBuffer, i = this.sampleValues, n = this.valueSize, l = 2 * n, h = 3 * n, b = A - t, g = (a - t) / b, f = g * g, I = f * g, u = e * h, p = u - h, m = -2 * I + 3 * f, C = I - f, E = 1 - m, x = C - f + g;
1139
1157
  for (let w = 0; w !== n; w++) {
1140
1158
  const M = i[p + w + n], T = i[p + w + l] * b, v = i[u + w + n], k = i[u + w] * b;
1141
- s[w] = C * M + x * T + m * v + E * k;
1159
+ s[w] = E * M + x * T + m * v + C * k;
1142
1160
  }
1143
1161
  return s;
1144
1162
  }
1145
1163
  }
1146
- const os = new Ya();
1147
- class cs extends rA {
1164
+ const gs = new aA();
1165
+ class fs extends bA {
1148
1166
  interpolate_(e, t, a, A) {
1149
1167
  const s = super.interpolate_(e, t, a, A);
1150
- return os.fromArray(s).normalize().toArray(s), s;
1168
+ return gs.fromArray(s).normalize().toArray(s), s;
1151
1169
  }
1152
1170
  }
1153
- const ce = { 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 }, at = { 5120: Int8Array, 5121: Uint8Array, 5122: Int16Array, 5123: Uint16Array, 5125: Uint32Array, 5126: Float32Array }, xa = { 9728: P, 9729: We, 9984: Ai, 9985: ii, 9986: si, 9987: yt }, ka = { 33071: ri, 33648: ni, 10497: Wt }, Rt = { SCALAR: 1, VEC2: 2, VEC3: 3, VEC4: 4, MAT2: 4, MAT3: 9, MAT4: 16 }, $t = { 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" }, Ge = { scale: "scale", translation: "position", rotation: "quaternion", weights: "morphTargetInfluences" }, ds = { CUBICSPLINE: void 0, LINEAR: Za, STEP: oi }, hs = "OPAQUE", ls = "MASK", bs = "BLEND";
1171
+ const ce = { 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 }, tt = { 5120: Int8Array, 5121: Uint8Array, 5122: Int16Array, 5123: Uint16Array, 5125: Uint32Array, 5126: Float32Array }, Ta = { 9728: P, 9729: ut, 9984: di, 9985: hi, 9986: li, 9987: ha }, Sa = { 33071: bi, 33648: gi, 10497: $t }, St = { SCALAR: 1, VEC2: 2, VEC3: 3, VEC4: 4, MAT2: 4, MAT3: 9, MAT4: 16 }, aa = { 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" }, Ge = { scale: "scale", translation: "position", rotation: "quaternion", weights: "morphTargetInfluences" }, us = { CUBICSPLINE: void 0, LINEAR: sA, STEP: fi }, Is = "OPAQUE", ps = "MASK", Bs = "BLEND";
1154
1172
  function Ke(o, e, t) {
1155
1173
  for (const a in t.extensions) o[a] === void 0 && (e.userData.gltfExtensions = e.userData.gltfExtensions || {}, e.userData.gltfExtensions[a] = t.extensions[a]);
1156
1174
  }
1157
1175
  function ke(o, e) {
1158
1176
  e.extras !== void 0 && (typeof e.extras == "object" ? Object.assign(o.userData, e.extras) : console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, " + e.extras));
1159
1177
  }
1160
- function gs(o, e) {
1178
+ function ms(o, e) {
1161
1179
  if (o.updateMorphTargets(), e.weights !== void 0) for (let t = 0, a = e.weights.length; t < a; t++) o.morphTargetInfluences[t] = e.weights[t];
1162
1180
  if (e.extras && Array.isArray(e.extras.targetNames)) {
1163
1181
  const t = e.extras.targetNames;
@@ -1167,19 +1185,19 @@ function gs(o, e) {
1167
1185
  } else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.");
1168
1186
  }
1169
1187
  }
1170
- function fs(o) {
1188
+ function Cs(o) {
1171
1189
  let e;
1172
1190
  const t = o.extensions && o.extensions[U.KHR_DRACO_MESH_COMPRESSION];
1173
- if (e = t ? "draco:" + t.bufferView + ":" + t.indices + ":" + Mt(t.attributes) : o.indices + ":" + Mt(o.attributes) + ":" + o.mode, o.targets !== void 0) for (let a = 0, A = o.targets.length; a < A; a++) e += ":" + Mt(o.targets[a]);
1191
+ if (e = t ? "draco:" + t.bufferView + ":" + t.indices + ":" + Ft(t.attributes) : o.indices + ":" + Ft(o.attributes) + ":" + o.mode, o.targets !== void 0) for (let a = 0, A = o.targets.length; a < A; a++) e += ":" + Ft(o.targets[a]);
1174
1192
  return e;
1175
1193
  }
1176
- function Mt(o) {
1194
+ function Ft(o) {
1177
1195
  let e = "";
1178
1196
  const t = Object.keys(o).sort();
1179
1197
  for (let a = 0, A = t.length; a < A; a++) e += t[a] + ":" + o[t[a]] + ";";
1180
1198
  return e;
1181
1199
  }
1182
- function ea(o) {
1200
+ function Aa(o) {
1183
1201
  switch (o) {
1184
1202
  case Int8Array:
1185
1203
  return 1 / 127;
@@ -1193,10 +1211,10 @@ function ea(o) {
1193
1211
  throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.");
1194
1212
  }
1195
1213
  }
1196
- const us = new st();
1197
- class Is {
1214
+ const Es = new it();
1215
+ class Qs {
1198
1216
  constructor(e = {}, t = {}) {
1199
- this.json = e, this.extensions = {}, this.plugins = {}, this.options = t, this.cache = new Ui(), this.associations = /* @__PURE__ */ new Map(), this.primitiveCache = {}, this.nodeCache = {}, this.meshCache = { refs: {}, uses: {} }, this.cameraCache = { refs: {}, uses: {} }, this.lightCache = { refs: {}, uses: {} }, this.sourceCache = {}, this.textureCache = {}, this.nodeNamesUsed = {};
1217
+ this.json = e, this.extensions = {}, this.plugins = {}, this.options = t, this.cache = new Hi(), this.associations = /* @__PURE__ */ new Map(), this.primitiveCache = {}, this.nodeCache = {}, this.meshCache = { refs: {}, uses: {} }, this.cameraCache = { refs: {}, uses: {} }, this.lightCache = { refs: {}, uses: {} }, this.sourceCache = {}, this.textureCache = {}, this.nodeNamesUsed = {};
1200
1218
  let a = !1, A = -1, s = !1, i = -1;
1201
1219
  if (typeof navigator < "u") {
1202
1220
  const n = navigator.userAgent;
@@ -1204,7 +1222,7 @@ class Is {
1204
1222
  const l = n.match(/Version\/(\d+)/);
1205
1223
  A = a && l ? parseInt(l[1], 10) : -1, s = n.indexOf("Firefox") > -1, i = s ? n.match(/Firefox\/([0-9]+)\./)[1] : -1;
1206
1224
  }
1207
- typeof createImageBitmap > "u" || a && A < 17 || s && i < 98 ? this.textureLoader = new NA(this.options.manager) : this.textureLoader = new _A(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.textureLoader.setRequestHeader(this.options.requestHeader), this.fileLoader = new Ze(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
1225
+ typeof createImageBitmap > "u" || a && A < 17 || s && i < 98 ? this.textureLoader = new KA(this.options.manager) : this.textureLoader = new zA(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.textureLoader.setRequestHeader(this.options.requestHeader), this.fileLoader = new Xe(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
1208
1226
  }
1209
1227
  setExtensions(e) {
1210
1228
  this.extensions = e;
@@ -1347,7 +1365,7 @@ class Is {
1347
1365
  if (t.uri === void 0 && e === 0) return Promise.resolve(this.extensions[U.KHR_BINARY_GLTF].body);
1348
1366
  const A = this.options;
1349
1367
  return new Promise(function(s, i) {
1350
- a.load(bt.resolveURL(t.uri, A.path), s, void 0, function() {
1368
+ a.load(lt.resolveURL(t.uri, A.path), s, void 0, function() {
1351
1369
  i(new Error('THREE.GLTFLoader: Failed to load buffer "' + t.uri + '".'));
1352
1370
  });
1353
1371
  });
@@ -1362,20 +1380,20 @@ class Is {
1362
1380
  loadAccessor(e) {
1363
1381
  const t = this, a = this.json, A = this.json.accessors[e];
1364
1382
  if (A.bufferView === void 0 && A.sparse === void 0) {
1365
- const i = Rt[A.type], n = at[A.componentType], l = A.normalized === !0, h = new n(A.count * i);
1383
+ const i = St[A.type], n = tt[A.componentType], l = A.normalized === !0, h = new n(A.count * i);
1366
1384
  return Promise.resolve(new Pe(h, i, l));
1367
1385
  }
1368
1386
  const s = [];
1369
1387
  return A.bufferView !== void 0 ? s.push(this.getDependency("bufferView", A.bufferView)) : s.push(null), A.sparse !== void 0 && (s.push(this.getDependency("bufferView", A.sparse.indices.bufferView)), s.push(this.getDependency("bufferView", A.sparse.values.bufferView))), Promise.all(s).then(function(i) {
1370
- const n = i[0], l = Rt[A.type], h = at[A.componentType], b = h.BYTES_PER_ELEMENT, g = b * l, f = A.byteOffset || 0, I = A.bufferView !== void 0 ? a.bufferViews[A.bufferView].byteStride : void 0, u = A.normalized === !0;
1388
+ const n = i[0], l = St[A.type], h = tt[A.componentType], b = h.BYTES_PER_ELEMENT, g = b * l, f = A.byteOffset || 0, I = A.bufferView !== void 0 ? a.bufferViews[A.bufferView].byteStride : void 0, u = A.normalized === !0;
1371
1389
  let p, m;
1372
1390
  if (I && I !== g) {
1373
- const E = Math.floor(f / I), C = "InterleavedBuffer:" + A.bufferView + ":" + A.componentType + ":" + E + ":" + A.count;
1374
- let x = t.cache.get(C);
1375
- x || (p = new h(n, E * I, A.count * I / b), x = new PA(p, I / b), t.cache.add(C, x)), m = new HA(x, l, f % I / b, u);
1391
+ const C = Math.floor(f / I), E = "InterleavedBuffer:" + A.bufferView + ":" + A.componentType + ":" + C + ":" + A.count;
1392
+ let x = t.cache.get(E);
1393
+ x || (p = new h(n, C * I, A.count * I / b), x = new VA(p, I / b), t.cache.add(E, x)), m = new YA(x, l, f % I / b, u);
1376
1394
  } else p = n === null ? new h(A.count * l) : new h(n, f, A.count * l), m = new Pe(p, l, u);
1377
1395
  if (A.sparse !== void 0) {
1378
- const E = Rt.SCALAR, C = at[A.sparse.indices.componentType], x = A.sparse.indices.byteOffset || 0, w = A.sparse.values.byteOffset || 0, M = new C(i[1], x, A.sparse.count * E), T = new h(i[2], w, A.sparse.count * l);
1396
+ const C = St.SCALAR, E = tt[A.sparse.indices.componentType], x = A.sparse.indices.byteOffset || 0, w = A.sparse.values.byteOffset || 0, M = new E(i[1], x, A.sparse.count * C), T = new h(i[2], w, A.sparse.count * l);
1379
1397
  n !== null && (m = new Pe(m.array.slice(), m.itemSize, m.normalized)), m.normalized = !1;
1380
1398
  for (let v = 0, k = M.length; v < k; v++) {
1381
1399
  const R = M[v];
@@ -1401,7 +1419,7 @@ class Is {
1401
1419
  const h = this.loadImageSource(t, a).then(function(b) {
1402
1420
  b.flipY = !1, b.name = i.name || n.name || "", b.name === "" && typeof n.uri == "string" && n.uri.startsWith("data:image/") === !1 && (b.name = n.uri);
1403
1421
  const g = (s.samplers || {})[i.sampler] || {};
1404
- return b.magFilter = xa[g.magFilter] || We, b.minFilter = xa[g.minFilter] || yt, b.wrapS = ka[g.wrapS] || Wt, b.wrapT = ka[g.wrapT] || Wt, b.generateMipmaps = !b.isCompressedTexture && b.minFilter !== P && b.minFilter !== We, A.associations.set(b, { textures: e }), b;
1422
+ return b.magFilter = Ta[g.magFilter] || ut, b.minFilter = Ta[g.minFilter] || ha, b.wrapS = Sa[g.wrapS] || $t, b.wrapT = Sa[g.wrapT] || $t, b.generateMipmaps = !b.isCompressedTexture && b.minFilter !== P && b.minFilter !== ut, A.associations.set(b, { textures: e }), b;
1405
1423
  }).catch(function() {
1406
1424
  return null;
1407
1425
  });
@@ -1422,9 +1440,9 @@ class Is {
1422
1440
  return new Promise(function(f, I) {
1423
1441
  let u = f;
1424
1442
  t.isImageBitmapLoader === !0 && (u = function(p) {
1425
- const m = new la(p);
1443
+ const m = new ua(p);
1426
1444
  m.needsUpdate = !0, f(m);
1427
- }), t.load(bt.resolveURL(g, s.path), u, void 0, I);
1445
+ }), t.load(lt.resolveURL(g, s.path), u, void 0, I);
1428
1446
  });
1429
1447
  }).then(function(g) {
1430
1448
  var f;
@@ -1455,11 +1473,11 @@ class Is {
1455
1473
  if (e.isPoints) {
1456
1474
  const n = "PointsMaterial:" + a.uuid;
1457
1475
  let l = this.cache.get(n);
1458
- l || (l = new OA(), wt.prototype.copy.call(l, a), l.color.copy(a.color), l.map = a.map, l.sizeAttenuation = !1, this.cache.add(n, l)), a = l;
1476
+ l || (l = new WA(), jt.prototype.copy.call(l, a), l.color.copy(a.color), l.map = a.map, l.sizeAttenuation = !1, this.cache.add(n, l)), a = l;
1459
1477
  } else if (e.isLine) {
1460
1478
  const n = "LineBasicMaterial:" + a.uuid;
1461
1479
  let l = this.cache.get(n);
1462
- l || (l = new qA(), wt.prototype.copy.call(l, a), l.color.copy(a.color), l.map = a.map, this.cache.add(n, l)), a = l;
1480
+ l || (l = new XA(), jt.prototype.copy.call(l, a), l.color.copy(a.color), l.map = a.map, this.cache.add(n, l)), a = l;
1463
1481
  }
1464
1482
  if (A || s || i) {
1465
1483
  let n = "ClonedMaterial:" + a.uuid + ":";
@@ -1470,7 +1488,7 @@ class Is {
1470
1488
  e.material = a;
1471
1489
  }
1472
1490
  getMaterialType() {
1473
- return ha;
1491
+ return fa;
1474
1492
  }
1475
1493
  loadMaterial(e) {
1476
1494
  const t = this, a = this.json, A = this.extensions, s = a.materials[e];
@@ -1481,7 +1499,7 @@ class Is {
1481
1499
  i = b.getMaterialType(), l.push(b.extendParams(n, s, t));
1482
1500
  } else {
1483
1501
  const b = s.pbrMetallicRoughness || {};
1484
- if (n.color = new He(1, 1, 1), n.opacity = 1, Array.isArray(b.baseColorFactor)) {
1502
+ if (n.color = new Oe(1, 1, 1), n.opacity = 1, Array.isArray(b.baseColorFactor)) {
1485
1503
  const g = b.baseColorFactor;
1486
1504
  n.color.setRGB(g[0], g[1], g[2], be), n.opacity = g[3];
1487
1505
  }
@@ -1491,39 +1509,39 @@ class Is {
1491
1509
  return g.extendMaterialParams && g.extendMaterialParams(e, n);
1492
1510
  })));
1493
1511
  }
1494
- s.doubleSided === !0 && (n.side = JA);
1495
- const h = s.alphaMode || hs;
1496
- if (h === bs ? (n.transparent = !0, n.depthWrite = !1) : (n.transparent = !1, h === ls && (n.alphaTest = s.alphaCutoff !== void 0 ? s.alphaCutoff : 0.5)), s.normalTexture !== void 0 && i !== ct && (l.push(t.assignTexture(n, "normalMap", s.normalTexture)), n.normalScale = new Va(1, 1), s.normalTexture.scale !== void 0)) {
1512
+ s.doubleSided === !0 && (n.side = ZA);
1513
+ const h = s.alphaMode || Is;
1514
+ if (h === Bs ? (n.transparent = !0, n.depthWrite = !1) : (n.transparent = !1, h === ps && (n.alphaTest = s.alphaCutoff !== void 0 ? s.alphaCutoff : 0.5)), s.normalTexture !== void 0 && i !== ot && (l.push(t.assignTexture(n, "normalMap", s.normalTexture)), n.normalScale = new tA(1, 1), s.normalTexture.scale !== void 0)) {
1497
1515
  const b = s.normalTexture.scale;
1498
1516
  n.normalScale.set(b, b);
1499
1517
  }
1500
- if (s.occlusionTexture !== void 0 && i !== ct && (l.push(t.assignTexture(n, "aoMap", s.occlusionTexture)), s.occlusionTexture.strength !== void 0 && (n.aoMapIntensity = s.occlusionTexture.strength)), s.emissiveFactor !== void 0 && i !== ct) {
1518
+ if (s.occlusionTexture !== void 0 && i !== ot && (l.push(t.assignTexture(n, "aoMap", s.occlusionTexture)), s.occlusionTexture.strength !== void 0 && (n.aoMapIntensity = s.occlusionTexture.strength)), s.emissiveFactor !== void 0 && i !== ot) {
1501
1519
  const b = s.emissiveFactor;
1502
- n.emissive = new He().setRGB(b[0], b[1], b[2], be);
1520
+ n.emissive = new Oe().setRGB(b[0], b[1], b[2], be);
1503
1521
  }
1504
- return s.emissiveTexture !== void 0 && i !== ct && l.push(t.assignTexture(n, "emissiveMap", s.emissiveTexture, ve)), Promise.all(l).then(function() {
1522
+ return s.emissiveTexture !== void 0 && i !== ot && l.push(t.assignTexture(n, "emissiveMap", s.emissiveTexture, ve)), Promise.all(l).then(function() {
1505
1523
  const b = new i(n);
1506
1524
  return s.name && (b.name = s.name), ke(b, s), t.associations.set(b, { materials: e }), s.extensions && Ke(A, b, s), b;
1507
1525
  });
1508
1526
  }
1509
1527
  createUniqueName(e) {
1510
- const t = KA.sanitizeNodeName(e || "");
1528
+ const t = $A.sanitizeNodeName(e || "");
1511
1529
  return t in this.nodeNamesUsed ? t + "_" + ++this.nodeNamesUsed[t] : (this.nodeNamesUsed[t] = 0, t);
1512
1530
  }
1513
1531
  loadGeometries(e) {
1514
1532
  const t = this, a = this.extensions, A = this.primitiveCache;
1515
1533
  function s(n) {
1516
1534
  return a[U.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(n, t).then(function(l) {
1517
- return Da(l, n, t);
1535
+ return Fa(l, n, t);
1518
1536
  });
1519
1537
  }
1520
1538
  const i = [];
1521
1539
  for (let n = 0, l = e.length; n < l; n++) {
1522
- const h = e[n], b = fs(h), g = A[b];
1540
+ const h = e[n], b = Cs(h), g = A[b];
1523
1541
  if (g) i.push(g.promise);
1524
1542
  else {
1525
1543
  let f;
1526
- f = h.extensions && h.extensions[U.KHR_DRACO_MESH_COMPRESSION] ? s(h) : Da(new ra(), h, t), A[b] = { primitive: h, promise: f }, i.push(f);
1544
+ f = h.extensions && h.extensions[U.KHR_DRACO_MESH_COMPRESSION] ? s(h) : Fa(new ca(), h, t), A[b] = { primitive: h, promise: f }, i.push(f);
1527
1545
  }
1528
1546
  }
1529
1547
  return Promise.all(i);
@@ -1531,29 +1549,29 @@ class Is {
1531
1549
  loadMesh(e) {
1532
1550
  const t = this, a = this.json, A = this.extensions, s = a.meshes[e], i = s.primitives, n = [];
1533
1551
  for (let h = 0, b = i.length; h < b; h++) {
1534
- const g = i[h].material === void 0 ? ((l = this.cache).DefaultMaterial === void 0 && (l.DefaultMaterial = new ha({ color: 16777215, emissive: 0, metalness: 1, roughness: 1, transparent: !1, depthTest: !0, side: Ct })), l.DefaultMaterial) : this.getDependency("material", i[h].material);
1552
+ const g = i[h].material === void 0 ? ((l = this.cache).DefaultMaterial === void 0 && (l.DefaultMaterial = new fa({ color: 16777215, emissive: 0, metalness: 1, roughness: 1, transparent: !1, depthTest: !0, side: wt })), l.DefaultMaterial) : this.getDependency("material", i[h].material);
1535
1553
  n.push(g);
1536
1554
  }
1537
1555
  var l;
1538
1556
  return n.push(t.loadGeometries(i)), Promise.all(n).then(function(h) {
1539
1557
  const b = h.slice(0, h.length - 1), g = h[h.length - 1], f = [];
1540
1558
  for (let u = 0, p = g.length; u < p; u++) {
1541
- const m = g[u], E = i[u];
1542
- let C;
1559
+ const m = g[u], C = i[u];
1560
+ let E;
1543
1561
  const x = b[u];
1544
- if (E.mode === ce.TRIANGLES || E.mode === ce.TRIANGLE_STRIP || E.mode === ce.TRIANGLE_FAN || E.mode === void 0) C = s.isSkinnedMesh === !0 ? new zA(m, x) : new Xt(m, x), C.isSkinnedMesh === !0 && C.normalizeSkinWeights(), E.mode === ce.TRIANGLE_STRIP ? C.geometry = wa(C.geometry, za) : E.mode === ce.TRIANGLE_FAN && (C.geometry = wa(C.geometry, Vt));
1545
- else if (E.mode === ce.LINES) C = new VA(m, x);
1546
- else if (E.mode === ce.LINE_STRIP) C = new YA(m, x);
1547
- else if (E.mode === ce.LINE_LOOP) C = new WA(m, x);
1562
+ if (C.mode === ce.TRIANGLES || C.mode === ce.TRIANGLE_STRIP || C.mode === ce.TRIANGLE_FAN || C.mode === void 0) E = s.isSkinnedMesh === !0 ? new ei(m, x) : new ea(m, x), E.isSkinnedMesh === !0 && E.normalizeSkinWeights(), C.mode === ce.TRIANGLE_STRIP ? E.geometry = va(E.geometry, eA) : C.mode === ce.TRIANGLE_FAN && (E.geometry = va(E.geometry, Xt));
1563
+ else if (C.mode === ce.LINES) E = new ti(m, x);
1564
+ else if (C.mode === ce.LINE_STRIP) E = new ai(m, x);
1565
+ else if (C.mode === ce.LINE_LOOP) E = new Ai(m, x);
1548
1566
  else {
1549
- if (E.mode !== ce.POINTS) throw new Error("THREE.GLTFLoader: Primitive mode unsupported: " + E.mode);
1550
- C = new XA(m, x);
1567
+ if (C.mode !== ce.POINTS) throw new Error("THREE.GLTFLoader: Primitive mode unsupported: " + C.mode);
1568
+ E = new ii(m, x);
1551
1569
  }
1552
- Object.keys(C.geometry.morphAttributes).length > 0 && gs(C, s), C.name = t.createUniqueName(s.name || "mesh_" + e), ke(C, s), E.extensions && Ke(A, C, E), t.assignFinalMaterial(C), f.push(C);
1570
+ Object.keys(E.geometry.morphAttributes).length > 0 && ms(E, s), E.name = t.createUniqueName(s.name || "mesh_" + e), ke(E, s), C.extensions && Ke(A, E, C), t.assignFinalMaterial(E), f.push(E);
1553
1571
  }
1554
1572
  for (let u = 0, p = f.length; u < p; u++) t.associations.set(f[u], { meshes: e, primitives: u });
1555
1573
  if (f.length === 1) return s.extensions && Ke(A, f[0], s), f[0];
1556
- const I = new xt();
1574
+ const I = new Rt();
1557
1575
  s.extensions && Ke(A, I, s), t.associations.set(I, { meshes: e });
1558
1576
  for (let u = 0, p = f.length; u < p; u++) I.add(f[u]);
1559
1577
  return I;
@@ -1562,7 +1580,7 @@ class Is {
1562
1580
  loadCamera(e) {
1563
1581
  let t;
1564
1582
  const a = this.json.cameras[e], A = a[a.type];
1565
- if (A) return a.type === "perspective" ? t = new ZA($A.radToDeg(A.yfov), A.aspectRatio || 1, A.znear || 1, A.zfar || 2e6) : a.type === "orthographic" && (t = new Xa(-A.xmag, A.xmag, A.ymag, -A.ymag, A.znear, A.zfar)), a.name && (t.name = this.createUniqueName(a.name)), ke(t, a), Promise.resolve(t);
1583
+ if (A) return a.type === "perspective" ? t = new si(ri.radToDeg(A.yfov), A.aspectRatio || 1, A.znear || 1, A.zfar || 2e6) : a.type === "orthographic" && (t = new iA(-A.xmag, A.xmag, A.ymag, -A.ymag, A.znear, A.zfar)), a.name && (t.name = this.createUniqueName(a.name)), ke(t, a), Promise.resolve(t);
1566
1584
  console.warn("THREE.GLTFLoader: Missing camera parameters.");
1567
1585
  }
1568
1586
  loadSkin(e) {
@@ -1574,29 +1592,29 @@ class Is {
1574
1592
  const g = i[h];
1575
1593
  if (g) {
1576
1594
  n.push(g);
1577
- const f = new st();
1595
+ const f = new it();
1578
1596
  s !== null && f.fromArray(s.array, 16 * h), l.push(f);
1579
1597
  } else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.', t.joints[h]);
1580
1598
  }
1581
- return new ei(n, l);
1599
+ return new ni(n, l);
1582
1600
  });
1583
1601
  }
1584
1602
  loadAnimation(e) {
1585
1603
  const t = this.json, a = this, A = t.animations[e], s = A.name ? A.name : "animation_" + e, i = [], n = [], l = [], h = [], b = [];
1586
1604
  for (let g = 0, f = A.channels.length; g < f; g++) {
1587
- const I = A.channels[g], u = A.samplers[I.sampler], p = I.target, m = p.node, E = A.parameters !== void 0 ? A.parameters[u.input] : u.input, C = A.parameters !== void 0 ? A.parameters[u.output] : u.output;
1588
- p.node !== void 0 && (i.push(this.getDependency("node", m)), n.push(this.getDependency("accessor", E)), l.push(this.getDependency("accessor", C)), h.push(u), b.push(p));
1605
+ const I = A.channels[g], u = A.samplers[I.sampler], p = I.target, m = p.node, C = A.parameters !== void 0 ? A.parameters[u.input] : u.input, E = A.parameters !== void 0 ? A.parameters[u.output] : u.output;
1606
+ p.node !== void 0 && (i.push(this.getDependency("node", m)), n.push(this.getDependency("accessor", C)), l.push(this.getDependency("accessor", E)), h.push(u), b.push(p));
1589
1607
  }
1590
1608
  return Promise.all([Promise.all(i), Promise.all(n), Promise.all(l), Promise.all(h), Promise.all(b)]).then(function(g) {
1591
- const f = g[0], I = g[1], u = g[2], p = g[3], m = g[4], E = [];
1592
- for (let C = 0, x = f.length; C < x; C++) {
1593
- const w = f[C], M = I[C], T = u[C], v = p[C], k = m[C];
1609
+ const f = g[0], I = g[1], u = g[2], p = g[3], m = g[4], C = [];
1610
+ for (let E = 0, x = f.length; E < x; E++) {
1611
+ const w = f[E], M = I[E], T = u[E], v = p[E], k = m[E];
1594
1612
  if (w === void 0) continue;
1595
1613
  w.updateMatrix && w.updateMatrix();
1596
1614
  const R = a._createAnimationTracks(w, M, T, v, k);
1597
- if (R) for (let S = 0; S < R.length; S++) E.push(R[S]);
1615
+ if (R) for (let S = 0; S < R.length; S++) C.push(R[S]);
1598
1616
  }
1599
- return new ti(s, void 0, E);
1617
+ return new oi(s, void 0, C);
1600
1618
  });
1601
1619
  }
1602
1620
  createNodeMesh(e) {
@@ -1615,7 +1633,7 @@ class Is {
1615
1633
  return Promise.all([A, Promise.all(s), n]).then(function(l) {
1616
1634
  const h = l[0], b = l[1], g = l[2];
1617
1635
  g !== null && h.traverse(function(f) {
1618
- f.isSkinnedMesh && f.bind(g, us);
1636
+ f.isSkinnedMesh && f.bind(g, Es);
1619
1637
  });
1620
1638
  for (let f = 0, I = b.length; f < I; f++) h.add(b[f]);
1621
1639
  return h;
@@ -1635,16 +1653,16 @@ class Is {
1635
1653
  n.push(h);
1636
1654
  }), this.nodeCache[e] = Promise.all(n).then(function(h) {
1637
1655
  let b;
1638
- if (b = s.isBone === !0 ? new ai() : h.length > 1 ? new xt() : h.length === 1 ? h[0] : new Wa(), b !== h[0]) for (let g = 0, f = h.length; g < f; g++) b.add(h[g]);
1656
+ if (b = s.isBone === !0 ? new ci() : h.length > 1 ? new Rt() : h.length === 1 ? h[0] : new AA(), b !== h[0]) for (let g = 0, f = h.length; g < f; g++) b.add(h[g]);
1639
1657
  if (s.name && (b.userData.name = s.name, b.name = i), ke(b, s), s.extensions && Ke(a, b, s), s.matrix !== void 0) {
1640
- const g = new st();
1658
+ const g = new it();
1641
1659
  g.fromArray(s.matrix), b.applyMatrix4(g);
1642
1660
  } else s.translation !== void 0 && b.position.fromArray(s.translation), s.rotation !== void 0 && b.quaternion.fromArray(s.rotation), s.scale !== void 0 && b.scale.fromArray(s.scale);
1643
1661
  return A.associations.has(b) || A.associations.set(b, {}), A.associations.get(b).nodes = e, b;
1644
1662
  }), this.nodeCache[e];
1645
1663
  }
1646
1664
  loadScene(e) {
1647
- const t = this.extensions, a = this.json.scenes[e], A = this, s = new xt();
1665
+ const t = this.extensions, a = this.json.scenes[e], A = this, s = new Rt();
1648
1666
  a.name && (s.name = A.createUniqueName(a.name)), ke(s, a), a.extensions && Ke(t, s, a);
1649
1667
  const i = a.nodes || [], n = [];
1650
1668
  for (let l = 0, h = i.length; l < h; l++) n.push(A.getDependency("node", i[l]));
@@ -1652,7 +1670,7 @@ class Is {
1652
1670
  for (let h = 0, b = l.length; h < b; h++) s.add(l[h]);
1653
1671
  return A.associations = ((h) => {
1654
1672
  const b = /* @__PURE__ */ new Map();
1655
- for (const [g, f] of A.associations) (g instanceof wt || g instanceof la) && b.set(g, f);
1673
+ for (const [g, f] of A.associations) (g instanceof jt || g instanceof ua) && b.set(g, f);
1656
1674
  return h.traverse((g) => {
1657
1675
  const f = A.associations.get(g);
1658
1676
  f != null && b.set(g, f);
@@ -1667,19 +1685,19 @@ class Is {
1667
1685
  f.morphTargetInfluences && l.push(f.name ? f.name : f.uuid);
1668
1686
  }) : l.push(n), Ge[s.path]) {
1669
1687
  case Ge.weights:
1670
- h = ga;
1688
+ h = pa;
1671
1689
  break;
1672
1690
  case Ge.rotation:
1673
- h = fa;
1691
+ h = Ba;
1674
1692
  break;
1675
1693
  case Ge.position:
1676
1694
  case Ge.scale:
1677
- h = ba;
1695
+ h = Ia;
1678
1696
  break;
1679
1697
  default:
1680
- a.itemSize === 1 ? h = ga : h = ba;
1698
+ a.itemSize === 1 ? h = pa : h = Ia;
1681
1699
  }
1682
- const b = A.interpolation !== void 0 ? ds[A.interpolation] : Za, g = this._getArrayFromAccessor(a);
1700
+ const b = A.interpolation !== void 0 ? us[A.interpolation] : sA, g = this._getArrayFromAccessor(a);
1683
1701
  for (let f = 0, I = l.length; f < I; f++) {
1684
1702
  const u = new h(l[f] + "." + Ge[s.path], t.array, g, b);
1685
1703
  A.interpolation === "CUBICSPLINE" && this._createCubicSplineTrackInterpolant(u), i.push(u);
@@ -1689,7 +1707,7 @@ class Is {
1689
1707
  _getArrayFromAccessor(e) {
1690
1708
  let t = e.array;
1691
1709
  if (e.normalized) {
1692
- const a = ea(t.constructor), A = new Float32Array(t.length);
1710
+ const a = Aa(t.constructor), A = new Float32Array(t.length);
1693
1711
  for (let s = 0, i = t.length; s < i; s++) A[s] = t[s] * a;
1694
1712
  t = A;
1695
1713
  }
@@ -1697,11 +1715,11 @@ class Is {
1697
1715
  }
1698
1716
  _createCubicSplineTrackInterpolant(e) {
1699
1717
  e.createInterpolant = function(t) {
1700
- return new (this instanceof fa ? cs : rA)(this.times, this.values, this.getValueSize() / 3, t);
1718
+ return new (this instanceof Ba ? fs : bA)(this.times, this.values, this.getValueSize() / 3, t);
1701
1719
  }, e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline = !0;
1702
1720
  }
1703
1721
  }
1704
- function Da(o, e, t) {
1722
+ function Fa(o, e, t) {
1705
1723
  const a = e.attributes, A = [];
1706
1724
  function s(i, n) {
1707
1725
  return t.getDependency("accessor", i).then(function(l) {
@@ -1709,7 +1727,7 @@ function Da(o, e, t) {
1709
1727
  });
1710
1728
  }
1711
1729
  for (const i in a) {
1712
- const n = $t[i] || i.toLowerCase();
1730
+ const n = aa[i] || i.toLowerCase();
1713
1731
  n in o.attributes || A.push(s(a[i], n));
1714
1732
  }
1715
1733
  if (e.indices !== void 0 && !o.index) {
@@ -1718,14 +1736,14 @@ function Da(o, e, t) {
1718
1736
  });
1719
1737
  A.push(i);
1720
1738
  }
1721
- return Zt.workingColorSpace !== be && "COLOR_0" in a && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${Zt.workingColorSpace}" not supported.`), ke(o, e), function(i, n, l) {
1722
- const h = n.attributes, b = new sa();
1739
+ return ta.workingColorSpace !== be && "COLOR_0" in a && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${ta.workingColorSpace}" not supported.`), ke(o, e), function(i, n, l) {
1740
+ const h = n.attributes, b = new oa();
1723
1741
  if (h.POSITION === void 0) return;
1724
1742
  {
1725
1743
  const I = l.json.accessors[h.POSITION], u = I.min, p = I.max;
1726
1744
  if (u === void 0 || p === void 0) return void console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");
1727
1745
  if (b.set(new K(u[0], u[1], u[2]), new K(p[0], p[1], p[2])), I.normalized) {
1728
- const m = ea(at[I.componentType]);
1746
+ const m = Aa(tt[I.componentType]);
1729
1747
  b.min.multiplyScalar(m), b.max.multiplyScalar(m);
1730
1748
  }
1731
1749
  }
@@ -1733,12 +1751,12 @@ function Da(o, e, t) {
1733
1751
  if (g !== void 0) {
1734
1752
  const I = new K(), u = new K();
1735
1753
  for (let p = 0, m = g.length; p < m; p++) {
1736
- const E = g[p];
1737
- if (E.POSITION !== void 0) {
1738
- const C = l.json.accessors[E.POSITION], x = C.min, w = C.max;
1754
+ const C = g[p];
1755
+ if (C.POSITION !== void 0) {
1756
+ const E = l.json.accessors[C.POSITION], x = E.min, w = E.max;
1739
1757
  if (x !== void 0 && w !== void 0) {
1740
- if (u.setX(Math.max(Math.abs(x[0]), Math.abs(w[0]))), u.setY(Math.max(Math.abs(x[1]), Math.abs(w[1]))), u.setZ(Math.max(Math.abs(x[2]), Math.abs(w[2]))), C.normalized) {
1741
- const M = ea(at[C.componentType]);
1758
+ if (u.setX(Math.max(Math.abs(x[0]), Math.abs(w[0]))), u.setY(Math.max(Math.abs(x[1]), Math.abs(w[1]))), u.setZ(Math.max(Math.abs(x[2]), Math.abs(w[2]))), E.normalized) {
1759
+ const M = Aa(tt[E.componentType]);
1742
1760
  u.multiplyScalar(M);
1743
1761
  }
1744
1762
  I.max(u);
@@ -1748,41 +1766,41 @@ function Da(o, e, t) {
1748
1766
  b.expandByVector(I);
1749
1767
  }
1750
1768
  i.boundingBox = b;
1751
- const f = new ci();
1769
+ const f = new ui();
1752
1770
  b.getCenter(f.center), f.radius = b.min.distanceTo(b.max) / 2, i.boundingSphere = f;
1753
1771
  }(o, e, t), Promise.all(A).then(function() {
1754
1772
  return e.targets !== void 0 ? function(i, n, l) {
1755
1773
  let h = !1, b = !1, g = !1;
1756
1774
  for (let p = 0, m = n.length; p < m; p++) {
1757
- const E = n[p];
1758
- if (E.POSITION !== void 0 && (h = !0), E.NORMAL !== void 0 && (b = !0), E.COLOR_0 !== void 0 && (g = !0), h && b && g) break;
1775
+ const C = n[p];
1776
+ if (C.POSITION !== void 0 && (h = !0), C.NORMAL !== void 0 && (b = !0), C.COLOR_0 !== void 0 && (g = !0), h && b && g) break;
1759
1777
  }
1760
1778
  if (!h && !b && !g) return Promise.resolve(i);
1761
1779
  const f = [], I = [], u = [];
1762
1780
  for (let p = 0, m = n.length; p < m; p++) {
1763
- const E = n[p];
1781
+ const C = n[p];
1764
1782
  if (h) {
1765
- const C = E.POSITION !== void 0 ? l.getDependency("accessor", E.POSITION) : i.attributes.position;
1766
- f.push(C);
1783
+ const E = C.POSITION !== void 0 ? l.getDependency("accessor", C.POSITION) : i.attributes.position;
1784
+ f.push(E);
1767
1785
  }
1768
1786
  if (b) {
1769
- const C = E.NORMAL !== void 0 ? l.getDependency("accessor", E.NORMAL) : i.attributes.normal;
1770
- I.push(C);
1787
+ const E = C.NORMAL !== void 0 ? l.getDependency("accessor", C.NORMAL) : i.attributes.normal;
1788
+ I.push(E);
1771
1789
  }
1772
1790
  if (g) {
1773
- const C = E.COLOR_0 !== void 0 ? l.getDependency("accessor", E.COLOR_0) : i.attributes.color;
1774
- u.push(C);
1791
+ const E = C.COLOR_0 !== void 0 ? l.getDependency("accessor", C.COLOR_0) : i.attributes.color;
1792
+ u.push(E);
1775
1793
  }
1776
1794
  }
1777
1795
  return Promise.all([Promise.all(f), Promise.all(I), Promise.all(u)]).then(function(p) {
1778
- const m = p[0], E = p[1], C = p[2];
1779
- return h && (i.morphAttributes.position = m), b && (i.morphAttributes.normal = E), g && (i.morphAttributes.color = C), i.morphTargetsRelative = !0, i;
1796
+ const m = p[0], C = p[1], E = p[2];
1797
+ return h && (i.morphAttributes.position = m), b && (i.morphAttributes.normal = C), g && (i.morphAttributes.color = E), i.morphTargetsRelative = !0, i;
1780
1798
  });
1781
1799
  }(o, e.targets, t) : o;
1782
1800
  });
1783
1801
  }
1784
- const vt = /* @__PURE__ */ new WeakMap();
1785
- class nA extends na {
1802
+ const Lt = /* @__PURE__ */ new WeakMap();
1803
+ class gA extends da {
1786
1804
  constructor(e) {
1787
1805
  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" };
1788
1806
  }
@@ -1796,7 +1814,7 @@ class nA extends na {
1796
1814
  return this.workerLimit = e, this;
1797
1815
  }
1798
1816
  load(e, t, a, A) {
1799
- const s = new Ze(this.manager);
1817
+ const s = new Xe(this.manager);
1800
1818
  s.setPath(this.path), s.setResponseType("arraybuffer"), s.setRequestHeader(this.requestHeader), s.setWithCredentials(this.withCredentials), s.load(e, (i) => {
1801
1819
  this.parse(i, t, A);
1802
1820
  }, a, A);
@@ -1812,8 +1830,8 @@ class nA extends na {
1812
1830
  }
1813
1831
  decodeGeometry(e, t) {
1814
1832
  const a = JSON.stringify(t);
1815
- if (vt.has(e)) {
1816
- const l = vt.get(e);
1833
+ if (Lt.has(e)) {
1834
+ const l = Lt.get(e);
1817
1835
  if (l.key === a) return l.promise;
1818
1836
  if (e.byteLength === 0) throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.");
1819
1837
  }
@@ -1823,10 +1841,10 @@ class nA extends na {
1823
1841
  }))).then((l) => this._createGeometry(l.geometry));
1824
1842
  return n.catch(() => !0).then(() => {
1825
1843
  A && s && this._releaseTask(A, s);
1826
- }), vt.set(e, { key: a, promise: n }), n;
1844
+ }), Lt.set(e, { key: a, promise: n }), n;
1827
1845
  }
1828
1846
  _createGeometry(e) {
1829
- const t = new ra();
1847
+ const t = new ca();
1830
1848
  e.index && t.setIndex(new Pe(e.index.array, 1));
1831
1849
  for (let a = 0; a < e.attributes.length; a++) {
1832
1850
  const A = e.attributes[a], s = A.name, i = A.array, n = A.itemSize, l = new Pe(i, n);
@@ -1836,11 +1854,11 @@ class nA extends na {
1836
1854
  }
1837
1855
  _assignVertexColorSpace(e, t) {
1838
1856
  if (t !== ve) return;
1839
- const a = new He();
1840
- for (let A = 0, s = e.count; A < s; A++) a.fromBufferAttribute(e, A), Zt.toWorkingColorSpace(a, ve), e.setXYZ(A, a.r, a.g, a.b);
1857
+ const a = new Oe();
1858
+ for (let A = 0, s = e.count; A < s; A++) a.fromBufferAttribute(e, A), ta.toWorkingColorSpace(a, ve), e.setXYZ(A, a.r, a.g, a.b);
1841
1859
  }
1842
1860
  _loadLibrary(e, t) {
1843
- const a = new Ze(this.manager);
1861
+ const a = new Xe(this.manager);
1844
1862
  return a.setPath(this.decoderPath), a.setResponseType(t), a.setWithCredentials(this.withCredentials), new Promise((A, s) => {
1845
1863
  a.load(e, A, void 0, s);
1846
1864
  });
@@ -1854,7 +1872,7 @@ class nA extends na {
1854
1872
  return e ? t.push(this._loadLibrary("draco_decoder.js", "text")) : (t.push(this._loadLibrary("draco_wasm_wrapper.js", "text")), t.push(this._loadLibrary("draco_decoder.wasm", "arraybuffer"))), this.decoderPending = Promise.all(t).then((a) => {
1855
1873
  const A = a[0];
1856
1874
  e || (this.decoderConfig.wasmBinary = a[1]);
1857
- const s = ps.toString(), i = ["/* draco decoder */", A, "", "/* worker */", s.substring(s.indexOf("{") + 1, s.lastIndexOf("}"))].join(`
1875
+ const s = ys.toString(), i = ["/* draco decoder */", A, "", "/* worker */", s.substring(s.indexOf("{") + 1, s.lastIndexOf("}"))].join(`
1858
1876
  `);
1859
1877
  this.workerSourceURL = URL.createObjectURL(new Blob([i]));
1860
1878
  }), this.decoderPending;
@@ -1894,7 +1912,7 @@ class nA extends na {
1894
1912
  return this.workerPool.length = 0, this.workerSourceURL !== "" && URL.revokeObjectURL(this.workerSourceURL), this;
1895
1913
  }
1896
1914
  }
1897
- function ps() {
1915
+ function ys() {
1898
1916
  let o, e;
1899
1917
  function t(a, A, s, i, n, l) {
1900
1918
  const h = l.num_components(), b = s.num_points() * h, g = b * n.BYTES_PER_ELEMENT, f = function(p, m) {
@@ -1935,25 +1953,25 @@ function ps() {
1935
1953
  const l = n.draco, h = new l.Decoder();
1936
1954
  try {
1937
1955
  const b = function(f, I, u, p) {
1938
- const m = p.attributeIDs, E = p.attributeTypes;
1939
- let C, x;
1956
+ const m = p.attributeIDs, C = p.attributeTypes;
1957
+ let E, x;
1940
1958
  const w = I.GetEncodedGeometryType(u);
1941
- if (w === f.TRIANGULAR_MESH) C = new f.Mesh(), x = I.DecodeArrayToMesh(u, u.byteLength, C);
1959
+ if (w === f.TRIANGULAR_MESH) E = new f.Mesh(), x = I.DecodeArrayToMesh(u, u.byteLength, E);
1942
1960
  else {
1943
1961
  if (w !== f.POINT_CLOUD) throw new Error("THREE.DRACOLoader: Unexpected geometry type.");
1944
- C = new f.PointCloud(), x = I.DecodeArrayToPointCloud(u, u.byteLength, C);
1962
+ E = new f.PointCloud(), x = I.DecodeArrayToPointCloud(u, u.byteLength, E);
1945
1963
  }
1946
- if (!x.ok() || C.ptr === 0) throw new Error("THREE.DRACOLoader: Decoding failed: " + x.error_msg());
1964
+ if (!x.ok() || E.ptr === 0) throw new Error("THREE.DRACOLoader: Decoding failed: " + x.error_msg());
1947
1965
  const M = { index: null, attributes: [] };
1948
1966
  for (const T in m) {
1949
- const v = self[E[T]];
1967
+ const v = self[C[T]];
1950
1968
  let k, R;
1951
- if (p.useUniqueIDs) R = m[T], k = I.GetAttributeByUniqueId(C, R);
1969
+ if (p.useUniqueIDs) R = m[T], k = I.GetAttributeByUniqueId(E, R);
1952
1970
  else {
1953
- if (R = I.GetAttributeId(C, f[m[T]]), R === -1) continue;
1954
- k = I.GetAttribute(C, R);
1971
+ if (R = I.GetAttributeId(E, f[m[T]]), R === -1) continue;
1972
+ k = I.GetAttribute(E, R);
1955
1973
  }
1956
- const S = t(f, I, C, T, v, k);
1974
+ const S = t(f, I, E, T, v, k);
1957
1975
  T === "color" && (S.vertexColorSpace = p.vertexColorSpace), M.attributes.push(S);
1958
1976
  }
1959
1977
  return w === f.TRIANGULAR_MESH && (M.index = function(T, v, k) {
@@ -1961,7 +1979,7 @@ function ps() {
1961
1979
  v.GetTrianglesUInt32Array(k, F, z);
1962
1980
  const Ae = new Uint32Array(T.HEAPF32.buffer, z, S).slice();
1963
1981
  return T._free(z), { array: Ae, itemSize: 1 };
1964
- }(f, I, C)), f.destroy(C), M;
1982
+ }(f, I, E)), f.destroy(E), M;
1965
1983
  }(l, h, new Int8Array(s), i), g = b.attributes.map((f) => f.array.buffer);
1966
1984
  b.index && g.push(b.index.array.buffer), self.postMessage({ type: "decode", id: A.id, geometry: b }, g);
1967
1985
  } catch (b) {
@@ -1973,7 +1991,7 @@ function ps() {
1973
1991
  }
1974
1992
  };
1975
1993
  }
1976
- class Bs {
1994
+ class ws {
1977
1995
  constructor(e = 4) {
1978
1996
  this.pool = e, this.queue = [], this.workers = [], this.workersResolve = [], this.workerStatus = 0;
1979
1997
  }
@@ -2010,13 +2028,13 @@ class Bs {
2010
2028
  this.workers.forEach((e) => e.terminate()), this.workersResolve.length = 0, this.workers.length = 0, this.queue.length = 0, this.workerStatus = 0;
2011
2029
  }
2012
2030
  }
2013
- const oA = 9, cA = 15, dA = 16, hA = 22, lA = 37, bA = 43, gA = 76, fA = 83, uA = 97, IA = 100, pA = 103, BA = 109, mA = 165, EA = 166, oa = 1000066e3;
2014
- class ms {
2031
+ const fA = 9, uA = 15, IA = 16, pA = 22, BA = 37, mA = 43, CA = 76, EA = 83, QA = 97, yA = 100, wA = 103, xA = 109, kA = 165, DA = 166, la = 1000066e3;
2032
+ class xs {
2015
2033
  constructor() {
2016
2034
  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;
2017
2035
  }
2018
2036
  }
2019
- class nt {
2037
+ class rt {
2020
2038
  constructor(e, t, a, A) {
2021
2039
  this._dataView = void 0, this._littleEndian = void 0, this._offset = void 0, this._dataView = new DataView(e.buffer, e.byteOffset + t, a), this._littleEndian = A, this._offset = 0;
2022
2040
  }
@@ -2056,37 +2074,35 @@ class nt {
2056
2074
  }
2057
2075
  }
2058
2076
  const ae = [171, 75, 84, 88, 32, 50, 48, 187, 13, 10, 26, 10];
2059
- function ja(o) {
2077
+ function La(o) {
2060
2078
  return new TextDecoder().decode(o);
2061
2079
  }
2062
- for (var CA = {}, Es = { byteLength: function(o) {
2063
- var e = Ma(o), t = e[0], a = e[1];
2080
+ for (var jA = {}, bt = {}, ks = bt.byteLength = function(o) {
2081
+ var e = Ga(o), t = e[0], a = e[1];
2064
2082
  return 3 * (t + a) / 4 - a;
2065
- }, toByteArray: function(o) {
2066
- var e, t, a = Ma(o), A = a[0], s = a[1], i = new Cs(function(h, b, g) {
2083
+ }, Ds = bt.toByteArray = function(o) {
2084
+ var e, t, a = Ga(o), A = a[0], s = a[1], i = new Rs(function(h, b, g) {
2067
2085
  return 3 * (b + g) / 4 - g;
2068
2086
  }(0, A, s)), n = 0, l = s > 0 ? A - 4 : A;
2069
2087
  for (t = 0; t < l; t += 4) e = oe[o.charCodeAt(t)] << 18 | oe[o.charCodeAt(t + 1)] << 12 | oe[o.charCodeAt(t + 2)] << 6 | oe[o.charCodeAt(t + 3)], i[n++] = e >> 16 & 255, i[n++] = e >> 8 & 255, i[n++] = 255 & e;
2070
2088
  return s === 2 && (e = oe[o.charCodeAt(t)] << 2 | oe[o.charCodeAt(t + 1)] >> 4, i[n++] = 255 & e), s === 1 && (e = oe[o.charCodeAt(t)] << 10 | oe[o.charCodeAt(t + 1)] << 4 | oe[o.charCodeAt(t + 2)] >> 2, i[n++] = e >> 8 & 255, i[n++] = 255 & e), i;
2071
- }, fromByteArray: function(o) {
2072
- for (var e, t = o.length, a = t % 3, A = [], s = 16383, i = 0, n = t - a; i < n; i += s) A.push(Qs(o, i, i + s > n ? n : i + s));
2089
+ }, js = bt.fromByteArray = function(o) {
2090
+ for (var e, t = o.length, a = t % 3, A = [], s = 16383, i = 0, n = t - a; i < n; i += s) A.push(Ms(o, i, i + s > n ? n : i + s));
2073
2091
  return a === 1 ? (e = o[t - 1], A.push(pe[e >> 2] + pe[e << 4 & 63] + "==")) : a === 2 && (e = (o[t - 2] << 8) + o[t - 1], A.push(pe[e >> 10] + pe[e >> 4 & 63] + pe[e << 2 & 63] + "=")), A.join("");
2074
- } }, pe = [], oe = [], Cs = typeof Uint8Array < "u" ? Uint8Array : Array, Ra = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", $e = 0; $e < 64; ++$e) pe[$e] = Ra[$e], oe[Ra.charCodeAt($e)] = $e;
2075
- function Ma(o) {
2092
+ }, pe = [], oe = [], Rs = typeof Uint8Array < "u" ? Uint8Array : Array, Ua = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", Ze = 0; Ze < 64; ++Ze) pe[Ze] = Ua[Ze], oe[Ua.charCodeAt(Ze)] = Ze;
2093
+ function Ga(o) {
2076
2094
  var e = o.length;
2077
2095
  if (e % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4");
2078
2096
  var t = o.indexOf("=");
2079
2097
  return t === -1 && (t = e), [t, t === e ? 0 : 4 - t % 4];
2080
2098
  }
2081
- function Qs(o, e, t) {
2099
+ function Ms(o, e, t) {
2082
2100
  for (var a, A, s = [], i = e; i < t; i += 3) a = (o[i] << 16 & 16711680) + (o[i + 1] << 8 & 65280) + (255 & o[i + 2]), s.push(pe[(A = a) >> 18 & 63] + pe[A >> 12 & 63] + pe[A >> 6 & 63] + pe[63 & A]);
2083
2101
  return s.join("");
2084
2102
  }
2085
2103
  oe[45] = 62, oe[95] = 63;
2086
- var Tt = {};
2087
- /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
2088
- let St, xe, ta;
2089
- Tt.read = function(o, e, t, a, A) {
2104
+ const vs = pt(It({ __proto__: null, byteLength: ks, default: bt, fromByteArray: js, toByteArray: Ds }, [bt]));
2105
+ var kt = {}, Ts = kt.read = function(o, e, t, a, A) {
2090
2106
  var s, i, n = 8 * A - a - 1, l = (1 << n) - 1, h = l >> 1, b = -7, g = t ? A - 1 : 0, f = t ? -1 : 1, I = o[e + g];
2091
2107
  for (g += f, s = I & (1 << -b) - 1, I >>= -b, b += n; b > 0; s = 256 * s + o[e + g], g += f, b -= 8) ;
2092
2108
  for (i = s & (1 << -b) - 1, s >>= -b, b += a; b > 0; i = 256 * i + o[e + g], g += f, b -= 8) ;
@@ -2096,19 +2112,23 @@ Tt.read = function(o, e, t, a, A) {
2096
2112
  i += Math.pow(2, a), s -= h;
2097
2113
  }
2098
2114
  return (I ? -1 : 1) * i * Math.pow(2, s - a);
2099
- }, Tt.write = function(o, e, t, a, A, s) {
2115
+ }, Ss = kt.write = function(o, e, t, a, A, s) {
2100
2116
  var i, n, l, h = 8 * s - A - 1, b = (1 << h) - 1, g = b >> 1, f = A === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0, I = a ? 0 : s - 1, u = a ? 1 : -1, p = e < 0 || e === 0 && 1 / e < 0 ? 1 : 0;
2101
2117
  for (e = Math.abs(e), isNaN(e) || e === 1 / 0 ? (n = isNaN(e) ? 1 : 0, i = b) : (i = Math.floor(Math.log(e) / Math.LN2), e * (l = Math.pow(2, -i)) < 1 && (i--, l *= 2), (e += i + g >= 1 ? f / l : f * Math.pow(2, 1 - g)) * l >= 2 && (i++, l /= 2), i + g >= b ? (n = 0, i = b) : i + g >= 1 ? (n = (e * l - 1) * Math.pow(2, A), i += g) : (n = e * Math.pow(2, g - 1) * Math.pow(2, A), i = 0)); A >= 8; o[t + I] = 255 & n, I += u, n /= 256, A -= 8) ;
2102
2118
  for (i = i << A | n, h += A; h > 0; o[t + I] = 255 & i, I += u, i /= 256, h -= 8) ;
2103
2119
  o[t + I - u] |= 128 * p;
2104
- }, /*!
2120
+ };
2121
+ /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
2122
+ const Fs = pt(It({ __proto__: null, default: kt, read: Ts, write: Ss }, [kt]));
2123
+ let Ut, xe, ia;
2124
+ /*!
2105
2125
  * The buffer module from node.js, for the browser.
2106
2126
  *
2107
2127
  * @author Feross Aboukhadijeh <https://feross.org>
2108
2128
  * @license MIT
2109
2129
  */
2110
- function(o) {
2111
- const e = Es, t = Tt, a = typeof Symbol == "function" && typeof Symbol.for == "function" ? Symbol.for("nodejs.util.inspect.custom") : null;
2130
+ (function(o) {
2131
+ const e = vs, t = Fs, a = typeof Symbol == "function" && typeof Symbol.for == "function" ? Symbol.for("nodejs.util.inspect.custom") : null;
2112
2132
  o.Buffer = i, o.SlowBuffer = function(r) {
2113
2133
  return +r != r && (r = 0), i.alloc(+r);
2114
2134
  }, o.INSPECT_MAX_BYTES = 50;
@@ -2150,7 +2170,7 @@ function(o) {
2150
2170
  const D = 0 | f(y.length), L = s(D);
2151
2171
  return L.length === 0 || y.copy(L, 0, 0, D), L;
2152
2172
  }
2153
- if (y.length !== void 0) return typeof y.length != "number" || rt(y.length) ? s(0) : b(y);
2173
+ if (y.length !== void 0) return typeof y.length != "number" || st(y.length) ? s(0) : b(y);
2154
2174
  if (y.type === "Buffer" && Array.isArray(y.data)) return b(y.data);
2155
2175
  }(r);
2156
2176
  if (Q) return Q;
@@ -2202,7 +2222,7 @@ function(o) {
2202
2222
  case "hex":
2203
2223
  return d >>> 1;
2204
2224
  case "base64":
2205
- return Ce(r).length;
2225
+ return Ee(r).length;
2206
2226
  default:
2207
2227
  if (Q) return B ? -1 : ee(r).length;
2208
2228
  c = ("" + c).toLowerCase(), Q = !0;
@@ -2240,18 +2260,18 @@ function(o) {
2240
2260
  }
2241
2261
  function m(r, c, d, B, Q) {
2242
2262
  if (r.length === 0) return -1;
2243
- if (typeof d == "string" ? (B = d, d = 0) : d > 2147483647 ? d = 2147483647 : d < -2147483648 && (d = -2147483648), rt(d = +d) && (d = Q ? 0 : r.length - 1), d < 0 && (d = r.length + d), d >= r.length) {
2263
+ if (typeof d == "string" ? (B = d, d = 0) : d > 2147483647 ? d = 2147483647 : d < -2147483648 && (d = -2147483648), st(d = +d) && (d = Q ? 0 : r.length - 1), d < 0 && (d = r.length + d), d >= r.length) {
2244
2264
  if (Q) return -1;
2245
2265
  d = r.length - 1;
2246
2266
  } else if (d < 0) {
2247
2267
  if (!Q) return -1;
2248
2268
  d = 0;
2249
2269
  }
2250
- if (typeof c == "string" && (c = i.from(c, B)), i.isBuffer(c)) return c.length === 0 ? -1 : E(r, c, d, B, Q);
2251
- if (typeof c == "number") return c &= 255, typeof Uint8Array.prototype.indexOf == "function" ? Q ? Uint8Array.prototype.indexOf.call(r, c, d) : Uint8Array.prototype.lastIndexOf.call(r, c, d) : E(r, [c], d, B, Q);
2270
+ if (typeof c == "string" && (c = i.from(c, B)), i.isBuffer(c)) return c.length === 0 ? -1 : C(r, c, d, B, Q);
2271
+ if (typeof c == "number") return c &= 255, typeof Uint8Array.prototype.indexOf == "function" ? Q ? Uint8Array.prototype.indexOf.call(r, c, d) : Uint8Array.prototype.lastIndexOf.call(r, c, d) : C(r, [c], d, B, Q);
2252
2272
  throw new TypeError("val must be string, number or Buffer");
2253
2273
  }
2254
- function E(r, c, d, B, Q) {
2274
+ function C(r, c, d, B, Q) {
2255
2275
  let y, D = 1, L = r.length, G = c.length;
2256
2276
  if (B !== void 0 && ((B = String(B).toLowerCase()) === "ucs2" || B === "ucs-2" || B === "utf16le" || B === "utf-16le")) {
2257
2277
  if (r.length < 2 || c.length < 2) return -1;
@@ -2275,7 +2295,7 @@ function(o) {
2275
2295
  }
2276
2296
  return -1;
2277
2297
  }
2278
- function C(r, c, d, B) {
2298
+ function E(r, c, d, B) {
2279
2299
  d = Number(d) || 0;
2280
2300
  const Q = r.length - d;
2281
2301
  B ? (B = Number(B)) > Q && (B = Q) : B = Q;
@@ -2283,7 +2303,7 @@ function(o) {
2283
2303
  let D;
2284
2304
  for (B > y / 2 && (B = y / 2), D = 0; D < B; ++D) {
2285
2305
  const L = parseInt(c.substr(2 * D, 2), 16);
2286
- if (rt(L)) return D;
2306
+ if (st(L)) return D;
2287
2307
  r[d + D] = L;
2288
2308
  }
2289
2309
  return D;
@@ -2299,7 +2319,7 @@ function(o) {
2299
2319
  }(c), r, d, B);
2300
2320
  }
2301
2321
  function M(r, c, d, B) {
2302
- return he(Ce(c), r, d, B);
2322
+ return he(Ee(c), r, d, B);
2303
2323
  }
2304
2324
  function T(r, c, d, B) {
2305
2325
  return he(function(Q, y) {
@@ -2471,7 +2491,7 @@ function(o) {
2471
2491
  let y = !1;
2472
2492
  for (; ; ) switch (B) {
2473
2493
  case "hex":
2474
- return C(this, r, c, d);
2494
+ return E(this, r, c, d);
2475
2495
  case "utf8":
2476
2496
  case "utf-8":
2477
2497
  return x(this, r, c, d);
@@ -2510,7 +2530,7 @@ function(o) {
2510
2530
  const B = r.length;
2511
2531
  (!c || c < 0) && (c = 0), (!d || d < 0 || d > B) && (d = B);
2512
2532
  let Q = "";
2513
- for (let y = c; y < d; ++y) Q += jA[r[y]];
2533
+ for (let y = c; y < d; ++y) Q += LA[r[y]];
2514
2534
  return Q;
2515
2535
  }
2516
2536
  function Ae(r, c, d) {
@@ -2519,7 +2539,7 @@ function(o) {
2519
2539
  for (let y = 0; y < B.length - 1; y += 2) Q += String.fromCharCode(B[y] + 256 * B[y + 1]);
2520
2540
  return Q;
2521
2541
  }
2522
- function O(r, c, d) {
2542
+ function H(r, c, d) {
2523
2543
  if (r % 1 != 0 || r < 0) throw new RangeError("offset is not uint");
2524
2544
  if (r + c > d) throw new RangeError("Trying to access beyond buffer length");
2525
2545
  }
@@ -2528,7 +2548,7 @@ function(o) {
2528
2548
  if (c > Q || c < y) throw new RangeError('"value" argument is out of bounds');
2529
2549
  if (d + B > r.length) throw new RangeError("Index out of range");
2530
2550
  }
2531
- function Oe(r, c, d, B, Q) {
2551
+ function He(r, c, d, B, Q) {
2532
2552
  _(c, B, Q, r, d, 7);
2533
2553
  let y = Number(c & BigInt(4294967295));
2534
2554
  r[d++] = y, y >>= 8, r[d++] = y, y >>= 8, r[d++] = y, y >>= 8, r[d++] = y;
@@ -2558,81 +2578,81 @@ function(o) {
2558
2578
  const B = this.subarray(r, c);
2559
2579
  return Object.setPrototypeOf(B, i.prototype), B;
2560
2580
  }, i.prototype.readUintLE = i.prototype.readUIntLE = function(r, c, d) {
2561
- r >>>= 0, c >>>= 0, d || O(r, c, this.length);
2581
+ r >>>= 0, c >>>= 0, d || H(r, c, this.length);
2562
2582
  let B = this[r], Q = 1, y = 0;
2563
2583
  for (; ++y < c && (Q *= 256); ) B += this[r + y] * Q;
2564
2584
  return B;
2565
2585
  }, i.prototype.readUintBE = i.prototype.readUIntBE = function(r, c, d) {
2566
- r >>>= 0, c >>>= 0, d || O(r, c, this.length);
2586
+ r >>>= 0, c >>>= 0, d || H(r, c, this.length);
2567
2587
  let B = this[r + --c], Q = 1;
2568
2588
  for (; c > 0 && (Q *= 256); ) B += this[r + --c] * Q;
2569
2589
  return B;
2570
2590
  }, i.prototype.readUint8 = i.prototype.readUInt8 = function(r, c) {
2571
- return r >>>= 0, c || O(r, 1, this.length), this[r];
2591
+ return r >>>= 0, c || H(r, 1, this.length), this[r];
2572
2592
  }, i.prototype.readUint16LE = i.prototype.readUInt16LE = function(r, c) {
2573
- return r >>>= 0, c || O(r, 2, this.length), this[r] | this[r + 1] << 8;
2593
+ return r >>>= 0, c || H(r, 2, this.length), this[r] | this[r + 1] << 8;
2574
2594
  }, i.prototype.readUint16BE = i.prototype.readUInt16BE = function(r, c) {
2575
- return r >>>= 0, c || O(r, 2, this.length), this[r] << 8 | this[r + 1];
2595
+ return r >>>= 0, c || H(r, 2, this.length), this[r] << 8 | this[r + 1];
2576
2596
  }, i.prototype.readUint32LE = i.prototype.readUInt32LE = function(r, c) {
2577
- return r >>>= 0, c || O(r, 4, this.length), (this[r] | this[r + 1] << 8 | this[r + 2] << 16) + 16777216 * this[r + 3];
2597
+ return r >>>= 0, c || H(r, 4, this.length), (this[r] | this[r + 1] << 8 | this[r + 2] << 16) + 16777216 * this[r + 3];
2578
2598
  }, i.prototype.readUint32BE = i.prototype.readUInt32BE = function(r, c) {
2579
- return r >>>= 0, c || O(r, 4, this.length), 16777216 * this[r] + (this[r + 1] << 16 | this[r + 2] << 8 | this[r + 3]);
2599
+ return r >>>= 0, c || H(r, 4, this.length), 16777216 * this[r] + (this[r + 1] << 16 | this[r + 2] << 8 | this[r + 3]);
2580
2600
  }, i.prototype.readBigUInt64LE = Le(function(r) {
2581
- H(r >>>= 0, "offset");
2601
+ O(r >>>= 0, "offset");
2582
2602
  const c = this[r], d = this[r + 7];
2583
2603
  c !== void 0 && d !== void 0 || X(r, this.length - 8);
2584
2604
  const B = c + 256 * this[++r] + 65536 * this[++r] + this[++r] * 2 ** 24, Q = this[++r] + 256 * this[++r] + 65536 * this[++r] + d * 2 ** 24;
2585
2605
  return BigInt(B) + (BigInt(Q) << BigInt(32));
2586
2606
  }), i.prototype.readBigUInt64BE = Le(function(r) {
2587
- H(r >>>= 0, "offset");
2607
+ O(r >>>= 0, "offset");
2588
2608
  const c = this[r], d = this[r + 7];
2589
2609
  c !== void 0 && d !== void 0 || X(r, this.length - 8);
2590
2610
  const B = c * 2 ** 24 + 65536 * this[++r] + 256 * this[++r] + this[++r], Q = this[++r] * 2 ** 24 + 65536 * this[++r] + 256 * this[++r] + d;
2591
2611
  return (BigInt(B) << BigInt(32)) + BigInt(Q);
2592
2612
  }), i.prototype.readIntLE = function(r, c, d) {
2593
- r >>>= 0, c >>>= 0, d || O(r, c, this.length);
2613
+ r >>>= 0, c >>>= 0, d || H(r, c, this.length);
2594
2614
  let B = this[r], Q = 1, y = 0;
2595
2615
  for (; ++y < c && (Q *= 256); ) B += this[r + y] * Q;
2596
2616
  return Q *= 128, B >= Q && (B -= Math.pow(2, 8 * c)), B;
2597
2617
  }, i.prototype.readIntBE = function(r, c, d) {
2598
- r >>>= 0, c >>>= 0, d || O(r, c, this.length);
2618
+ r >>>= 0, c >>>= 0, d || H(r, c, this.length);
2599
2619
  let B = c, Q = 1, y = this[r + --B];
2600
2620
  for (; B > 0 && (Q *= 256); ) y += this[r + --B] * Q;
2601
2621
  return Q *= 128, y >= Q && (y -= Math.pow(2, 8 * c)), y;
2602
2622
  }, i.prototype.readInt8 = function(r, c) {
2603
- return r >>>= 0, c || O(r, 1, this.length), 128 & this[r] ? -1 * (255 - this[r] + 1) : this[r];
2623
+ return r >>>= 0, c || H(r, 1, this.length), 128 & this[r] ? -1 * (255 - this[r] + 1) : this[r];
2604
2624
  }, i.prototype.readInt16LE = function(r, c) {
2605
- r >>>= 0, c || O(r, 2, this.length);
2625
+ r >>>= 0, c || H(r, 2, this.length);
2606
2626
  const d = this[r] | this[r + 1] << 8;
2607
2627
  return 32768 & d ? 4294901760 | d : d;
2608
2628
  }, i.prototype.readInt16BE = function(r, c) {
2609
- r >>>= 0, c || O(r, 2, this.length);
2629
+ r >>>= 0, c || H(r, 2, this.length);
2610
2630
  const d = this[r + 1] | this[r] << 8;
2611
2631
  return 32768 & d ? 4294901760 | d : d;
2612
2632
  }, i.prototype.readInt32LE = function(r, c) {
2613
- return r >>>= 0, c || O(r, 4, this.length), this[r] | this[r + 1] << 8 | this[r + 2] << 16 | this[r + 3] << 24;
2633
+ return r >>>= 0, c || H(r, 4, this.length), this[r] | this[r + 1] << 8 | this[r + 2] << 16 | this[r + 3] << 24;
2614
2634
  }, i.prototype.readInt32BE = function(r, c) {
2615
- return r >>>= 0, c || O(r, 4, this.length), this[r] << 24 | this[r + 1] << 16 | this[r + 2] << 8 | this[r + 3];
2635
+ return r >>>= 0, c || H(r, 4, this.length), this[r] << 24 | this[r + 1] << 16 | this[r + 2] << 8 | this[r + 3];
2616
2636
  }, i.prototype.readBigInt64LE = Le(function(r) {
2617
- H(r >>>= 0, "offset");
2637
+ O(r >>>= 0, "offset");
2618
2638
  const c = this[r], d = this[r + 7];
2619
2639
  c !== void 0 && d !== void 0 || X(r, this.length - 8);
2620
2640
  const B = this[r + 4] + 256 * this[r + 5] + 65536 * this[r + 6] + (d << 24);
2621
2641
  return (BigInt(B) << BigInt(32)) + BigInt(c + 256 * this[++r] + 65536 * this[++r] + this[++r] * 2 ** 24);
2622
2642
  }), i.prototype.readBigInt64BE = Le(function(r) {
2623
- H(r >>>= 0, "offset");
2643
+ O(r >>>= 0, "offset");
2624
2644
  const c = this[r], d = this[r + 7];
2625
2645
  c !== void 0 && d !== void 0 || X(r, this.length - 8);
2626
2646
  const B = (c << 24) + 65536 * this[++r] + 256 * this[++r] + this[++r];
2627
2647
  return (BigInt(B) << BigInt(32)) + BigInt(this[++r] * 2 ** 24 + 65536 * this[++r] + 256 * this[++r] + d);
2628
2648
  }), i.prototype.readFloatLE = function(r, c) {
2629
- return r >>>= 0, c || O(r, 4, this.length), t.read(this, r, !0, 23, 4);
2649
+ return r >>>= 0, c || H(r, 4, this.length), t.read(this, r, !0, 23, 4);
2630
2650
  }, i.prototype.readFloatBE = function(r, c) {
2631
- return r >>>= 0, c || O(r, 4, this.length), t.read(this, r, !1, 23, 4);
2651
+ return r >>>= 0, c || H(r, 4, this.length), t.read(this, r, !1, 23, 4);
2632
2652
  }, i.prototype.readDoubleLE = function(r, c) {
2633
- return r >>>= 0, c || O(r, 8, this.length), t.read(this, r, !0, 52, 8);
2653
+ return r >>>= 0, c || H(r, 8, this.length), t.read(this, r, !0, 52, 8);
2634
2654
  }, i.prototype.readDoubleBE = function(r, c) {
2635
- return r >>>= 0, c || O(r, 8, this.length), t.read(this, r, !1, 52, 8);
2655
+ return r >>>= 0, c || H(r, 8, this.length), t.read(this, r, !1, 52, 8);
2636
2656
  }, i.prototype.writeUintLE = i.prototype.writeUIntLE = function(r, c, d, B) {
2637
2657
  r = +r, c >>>= 0, d >>>= 0, !B && V(this, r, c, d, Math.pow(2, 8 * d) - 1, 0);
2638
2658
  let Q = 1, y = 0;
@@ -2654,7 +2674,7 @@ function(o) {
2654
2674
  }, i.prototype.writeUint32BE = i.prototype.writeUInt32BE = function(r, c, d) {
2655
2675
  return r = +r, c >>>= 0, d || V(this, r, c, 4, 4294967295, 0), this[c] = r >>> 24, this[c + 1] = r >>> 16, this[c + 2] = r >>> 8, this[c + 3] = 255 & r, c + 4;
2656
2676
  }, i.prototype.writeBigUInt64LE = Le(function(r, c = 0) {
2657
- return Oe(this, r, c, BigInt(0), BigInt("0xffffffffffffffff"));
2677
+ return He(this, r, c, BigInt(0), BigInt("0xffffffffffffffff"));
2658
2678
  }), i.prototype.writeBigUInt64BE = Le(function(r, c = 0) {
2659
2679
  return Te(this, r, c, BigInt(0), BigInt("0xffffffffffffffff"));
2660
2680
  }), i.prototype.writeIntLE = function(r, c, d, B) {
@@ -2684,7 +2704,7 @@ function(o) {
2684
2704
  }, i.prototype.writeInt32BE = function(r, c, d) {
2685
2705
  return r = +r, c >>>= 0, d || V(this, r, c, 4, 2147483647, -2147483648), r < 0 && (r = 4294967295 + r + 1), this[c] = r >>> 24, this[c + 1] = r >>> 16, this[c + 2] = r >>> 8, this[c + 3] = 255 & r, c + 4;
2686
2706
  }, i.prototype.writeBigInt64LE = Le(function(r, c = 0) {
2687
- return Oe(this, r, c, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));
2707
+ return He(this, r, c, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));
2688
2708
  }), i.prototype.writeBigInt64BE = Le(function(r, c = 0) {
2689
2709
  return Te(this, r, c, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));
2690
2710
  }), i.prototype.writeFloatLE = function(r, c, d) {
@@ -2741,7 +2761,7 @@ function(o) {
2741
2761
  }
2742
2762
  };
2743
2763
  }
2744
- function Ee(r) {
2764
+ function Ce(r) {
2745
2765
  let c = "", d = r.length;
2746
2766
  const B = r[0] === "-" ? 1 : 0;
2747
2767
  for (; d >= B + 4; d -= 3) c = `_${r.slice(d - 3, d)}${c}`;
@@ -2754,14 +2774,14 @@ function(o) {
2754
2774
  throw L = c === 0 || c === BigInt(0) ? `>= 0${D} and < 2${D} ** ${8 * (y + 1)}${D}` : `>= -(2${D} ** ${8 * (y + 1) - 1}${D}) and < 2 ** ${8 * (y + 1) - 1}${D}`, new de.ERR_OUT_OF_RANGE("value", L, r);
2755
2775
  }
2756
2776
  (function(D, L, G) {
2757
- H(L, "offset"), D[L] !== void 0 && D[L + G] !== void 0 || X(L, D.length - (G + 1));
2777
+ O(L, "offset"), D[L] !== void 0 && D[L + G] !== void 0 || X(L, D.length - (G + 1));
2758
2778
  })(B, Q, y);
2759
2779
  }
2760
- function H(r, c) {
2780
+ function O(r, c) {
2761
2781
  if (typeof r != "number") throw new de.ERR_INVALID_ARG_TYPE(c, "number", r);
2762
2782
  }
2763
2783
  function X(r, c, d) {
2764
- throw Math.floor(r) !== r ? (H(r, d), new de.ERR_OUT_OF_RANGE("offset", "an integer", r)) : c < 0 ? new de.ERR_BUFFER_OUT_OF_BOUNDS() : new de.ERR_OUT_OF_RANGE("offset", `>= 0 and <= ${c}`, r);
2784
+ throw Math.floor(r) !== r ? (O(r, d), new de.ERR_OUT_OF_RANGE("offset", "an integer", r)) : c < 0 ? new de.ERR_BUFFER_OUT_OF_BOUNDS() : new de.ERR_OUT_OF_RANGE("offset", `>= 0 and <= ${c}`, r);
2765
2785
  }
2766
2786
  ie("ERR_BUFFER_OUT_OF_BOUNDS", function(r) {
2767
2787
  return r ? `${r} is outside of buffer bounds` : "Attempt to access memory outside buffer bounds";
@@ -2769,7 +2789,7 @@ function(o) {
2769
2789
  return `The "${r}" argument must be of type number. Received type ${typeof c}`;
2770
2790
  }, TypeError), ie("ERR_OUT_OF_RANGE", function(r, c, d) {
2771
2791
  let B = `The value of "${r}" is out of range.`, Q = d;
2772
- return Number.isInteger(d) && Math.abs(d) > 2 ** 32 ? Q = Ee(String(d)) : typeof d == "bigint" && (Q = String(d), (d > BigInt(2) ** BigInt(32) || d < -(BigInt(2) ** BigInt(32))) && (Q = Ee(Q)), Q += "n"), B += ` It must be ${c}. Received ${Q}`, B;
2792
+ return Number.isInteger(d) && Math.abs(d) > 2 ** 32 ? Q = Ce(String(d)) : typeof d == "bigint" && (Q = String(d), (d > BigInt(2) ** BigInt(32) || d < -(BigInt(2) ** BigInt(32))) && (Q = Ce(Q)), Q += "n"), B += ` It must be ${c}. Received ${Q}`, B;
2773
2793
  }, RangeError);
2774
2794
  const ne = /[^+/0-9A-Za-z-_]/g;
2775
2795
  function ee(r, c) {
@@ -2815,7 +2835,7 @@ function(o) {
2815
2835
  }
2816
2836
  return y;
2817
2837
  }
2818
- function Ce(r) {
2838
+ function Ee(r) {
2819
2839
  return e.toByteArray(function(c) {
2820
2840
  if ((c = (c = c.split("=")[0]).trim().replace(ne, "")).length < 2) return "";
2821
2841
  for (; c.length % 4 != 0; ) c += "=";
@@ -2830,10 +2850,10 @@ function(o) {
2830
2850
  function Z(r, c) {
2831
2851
  return r instanceof c || r != null && r.constructor != null && r.constructor.name != null && r.constructor.name === c.name;
2832
2852
  }
2833
- function rt(r) {
2853
+ function st(r) {
2834
2854
  return r != r;
2835
2855
  }
2836
- const jA = function() {
2856
+ const LA = function() {
2837
2857
  const r = "0123456789abcdef", c = new Array(256);
2838
2858
  for (let d = 0; d < 16; ++d) {
2839
2859
  const B = 16 * d;
@@ -2842,35 +2862,35 @@ function(o) {
2842
2862
  return c;
2843
2863
  }();
2844
2864
  function Le(r) {
2845
- return typeof BigInt > "u" ? RA : r;
2865
+ return typeof BigInt > "u" ? UA : r;
2846
2866
  }
2847
- function RA() {
2867
+ function UA() {
2848
2868
  throw new Error("BigInt not supported");
2849
2869
  }
2850
- }(CA);
2851
- const Ft = { env: { emscripten_notify_memory_growth: function(o) {
2852
- ta = new Uint8Array(xe.exports.memory.buffer);
2870
+ })(jA);
2871
+ const Gt = { env: { emscripten_notify_memory_growth: function(o) {
2872
+ ia = new Uint8Array(xe.exports.memory.buffer);
2853
2873
  } } };
2854
- class ys {
2874
+ class Ls {
2855
2875
  init() {
2856
- return St || (St = typeof fetch < "u" ? fetch("data:application/wasm;base64," + va).then((e) => e.arrayBuffer()).then((e) => WebAssembly.instantiate(e, Ft)).then(this._init) : WebAssembly.instantiate(CA.Buffer.from(va, "base64"), Ft).then(this._init), St);
2876
+ return Ut || (Ut = typeof fetch < "u" ? fetch("data:application/wasm;base64," + Na).then((e) => e.arrayBuffer()).then((e) => WebAssembly.instantiate(e, Gt)).then(this._init) : WebAssembly.instantiate(jA.Buffer.from(Na, "base64"), Gt).then(this._init), Ut);
2857
2877
  }
2858
2878
  _init(e) {
2859
- xe = e.instance, Ft.env.emscripten_notify_memory_growth(0);
2879
+ xe = e.instance, Gt.env.emscripten_notify_memory_growth(0);
2860
2880
  }
2861
2881
  decode(e, t = 0) {
2862
2882
  if (!xe) throw new Error("ZSTDDecoder: Await .init() before decoding.");
2863
2883
  const a = e.byteLength, A = xe.exports.malloc(a);
2864
- ta.set(e, A), t = t || Number(xe.exports.ZSTD_findDecompressedSize(A, a));
2865
- const s = xe.exports.malloc(t), i = xe.exports.ZSTD_decompress(s, t, A, a), n = ta.slice(s, s + i);
2884
+ ia.set(e, A), t = t || Number(xe.exports.ZSTD_findDecompressedSize(A, a));
2885
+ const s = xe.exports.malloc(t), i = xe.exports.ZSTD_decompress(s, t, A, a), n = ia.slice(s, s + i);
2866
2886
  return xe.exports.free(A), xe.exports.free(s), n;
2867
2887
  }
2868
2888
  }
2869
- const va = "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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+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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", Lt = /* @__PURE__ */ new WeakMap();
2870
- let Ut, Gt = 0;
2871
- class re extends na {
2889
+ const Na = "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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+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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", Nt = /* @__PURE__ */ new WeakMap();
2890
+ let _t, Pt = 0;
2891
+ class re extends da {
2872
2892
  constructor(e) {
2873
- super(e), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new Bs(), 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+.');
2893
+ super(e), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new ws(), 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+.');
2874
2894
  }
2875
2895
  setTranscoderPath(e) {
2876
2896
  return this.transcoderPath = e, this;
@@ -2886,9 +2906,9 @@ class re extends na {
2886
2906
  }
2887
2907
  init() {
2888
2908
  if (!this.transcoderPending) {
2889
- const e = new Ze(this.manager);
2909
+ const e = new Xe(this.manager);
2890
2910
  e.setPath(this.transcoderPath), e.setWithCredentials(this.withCredentials);
2891
- const t = e.loadAsync("basis_transcoder.js"), a = new Ze(this.manager);
2911
+ const t = e.loadAsync("basis_transcoder.js"), a = new Xe(this.manager);
2892
2912
  a.setPath(this.transcoderPath), a.setResponseType("arraybuffer"), a.setWithCredentials(this.withCredentials);
2893
2913
  const A = a.loadAsync("basis_transcoder.wasm");
2894
2914
  this.transcoderPending = Promise.all([t, A]).then(([s, i]) => {
@@ -2898,100 +2918,100 @@ class re extends na {
2898
2918
  const h = new Worker(this.workerSourceURL), b = this.transcoderBinary.slice(0);
2899
2919
  return h.postMessage({ type: "init", config: this.workerConfig, transcoderBinary: b }, [b]), h;
2900
2920
  });
2901
- }), Gt > 0 && console.warn("THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."), Gt++;
2921
+ }), Pt > 0 && console.warn("THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."), Pt++;
2902
2922
  }
2903
2923
  return this.transcoderPending;
2904
2924
  }
2905
2925
  load(e, t, a, A) {
2906
2926
  if (this.workerConfig === null) throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");
2907
- const s = new Ze(this.manager);
2927
+ const s = new Xe(this.manager);
2908
2928
  s.setResponseType("arraybuffer"), s.setWithCredentials(this.withCredentials), s.load(e, (i) => {
2909
2929
  this.parse(i, t, A);
2910
2930
  }, a, A);
2911
2931
  }
2912
2932
  parse(e, t, a) {
2913
2933
  if (this.workerConfig === null) throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");
2914
- if (Lt.has(e))
2915
- return Lt.get(e).promise.then(t).catch(a);
2934
+ if (Nt.has(e))
2935
+ return Nt.get(e).promise.then(t).catch(a);
2916
2936
  this._createTexture(e).then((A) => t ? t(A) : null).catch(a);
2917
2937
  }
2918
2938
  _createTextureFrom(e, t) {
2919
2939
  const { type: a, error: A, data: { faces: s, width: i, height: n, format: l, type: h, dfdFlags: b } } = e;
2920
2940
  if (a === "error") return Promise.reject(A);
2921
2941
  let g;
2922
- if (t.faceCount === 6) g = new hi(s, l, h);
2942
+ if (t.faceCount === 6) g = new pi(s, l, h);
2923
2943
  else {
2924
2944
  const f = s[0].mipmaps;
2925
- g = t.layerCount > 1 ? new li(f, i, n, t.layerCount, l, h) : new ua(f, i, n, l, h);
2945
+ g = t.layerCount > 1 ? new Bi(f, i, n, t.layerCount, l, h) : new ma(f, i, n, l, h);
2926
2946
  }
2927
- return g.minFilter = s[0].mipmaps.length === 1 ? We : yt, g.magFilter = We, g.generateMipmaps = !1, g.needsUpdate = !0, g.colorSpace = Ta(t), g.premultiplyAlpha = !!(1 & b), g;
2947
+ return g.minFilter = s[0].mipmaps.length === 1 ? ut : ha, g.magFilter = ut, g.generateMipmaps = !1, g.needsUpdate = !0, g.colorSpace = _a(t), g.premultiplyAlpha = !!(1 & b), g;
2928
2948
  }
2929
2949
  async _createTexture(e, t = {}) {
2930
2950
  const a = function(n) {
2931
2951
  const l = new Uint8Array(n.buffer, n.byteOffset, ae.length);
2932
2952
  if (l[0] !== ae[0] || l[1] !== ae[1] || l[2] !== ae[2] || l[3] !== ae[3] || l[4] !== ae[4] || l[5] !== ae[5] || l[6] !== ae[6] || l[7] !== ae[7] || l[8] !== ae[8] || l[9] !== ae[9] || l[10] !== ae[10] || l[11] !== ae[11]) throw new Error("Missing KTX 2.0 identifier.");
2933
- const h = new ms(), b = 17 * Uint32Array.BYTES_PER_ELEMENT, g = new nt(n, ae.length, b, !0);
2953
+ const h = new xs(), b = 17 * Uint32Array.BYTES_PER_ELEMENT, g = new rt(n, ae.length, b, !0);
2934
2954
  h.vkFormat = g._nextUint32(), h.typeSize = g._nextUint32(), h.pixelWidth = g._nextUint32(), h.pixelHeight = g._nextUint32(), h.pixelDepth = g._nextUint32(), h.layerCount = g._nextUint32(), h.faceCount = g._nextUint32();
2935
2955
  const f = g._nextUint32();
2936
2956
  h.supercompressionScheme = g._nextUint32();
2937
- const I = g._nextUint32(), u = g._nextUint32(), p = g._nextUint32(), m = g._nextUint32(), E = g._nextUint64(), C = g._nextUint64(), x = new nt(n, ae.length + b, 3 * f * 8, !0);
2957
+ const I = g._nextUint32(), u = g._nextUint32(), p = g._nextUint32(), m = g._nextUint32(), C = g._nextUint64(), E = g._nextUint64(), x = new rt(n, ae.length + b, 3 * f * 8, !0);
2938
2958
  for (let _ = 0; _ < f; _++) h.levels.push({ levelData: new Uint8Array(n.buffer, n.byteOffset + x._nextUint64(), x._nextUint64()), uncompressedByteLength: x._nextUint64() });
2939
- const w = new nt(n, I, u, !0), M = { vendorId: w._skip(4)._nextUint16(), descriptorType: w._nextUint16(), versionNumber: w._nextUint16(), descriptorBlockSize: w._nextUint16(), colorModel: w._nextUint8(), colorPrimaries: w._nextUint8(), transferFunction: w._nextUint8(), flags: w._nextUint8(), texelBlockDimension: [w._nextUint8(), w._nextUint8(), w._nextUint8(), w._nextUint8()], bytesPlane: [w._nextUint8(), w._nextUint8(), w._nextUint8(), w._nextUint8(), w._nextUint8(), w._nextUint8(), w._nextUint8(), w._nextUint8()], samples: [] }, T = (M.descriptorBlockSize / 4 - 6) / 4;
2959
+ const w = new rt(n, I, u, !0), M = { vendorId: w._skip(4)._nextUint16(), descriptorType: w._nextUint16(), versionNumber: w._nextUint16(), descriptorBlockSize: w._nextUint16(), colorModel: w._nextUint8(), colorPrimaries: w._nextUint8(), transferFunction: w._nextUint8(), flags: w._nextUint8(), texelBlockDimension: [w._nextUint8(), w._nextUint8(), w._nextUint8(), w._nextUint8()], bytesPlane: [w._nextUint8(), w._nextUint8(), w._nextUint8(), w._nextUint8(), w._nextUint8(), w._nextUint8(), w._nextUint8(), w._nextUint8()], samples: [] }, T = (M.descriptorBlockSize / 4 - 6) / 4;
2940
2960
  for (let _ = 0; _ < T; _++) {
2941
- const H = { bitOffset: w._nextUint16(), bitLength: w._nextUint8(), channelType: w._nextUint8(), samplePosition: [w._nextUint8(), w._nextUint8(), w._nextUint8(), w._nextUint8()], sampleLower: -1 / 0, sampleUpper: 1 / 0 };
2942
- 64 & H.channelType ? (H.sampleLower = w._nextInt32(), H.sampleUpper = w._nextInt32()) : (H.sampleLower = w._nextUint32(), H.sampleUpper = w._nextUint32()), M.samples[_] = H;
2961
+ const O = { bitOffset: w._nextUint16(), bitLength: w._nextUint8(), channelType: w._nextUint8(), samplePosition: [w._nextUint8(), w._nextUint8(), w._nextUint8(), w._nextUint8()], sampleLower: -1 / 0, sampleUpper: 1 / 0 };
2962
+ 64 & O.channelType ? (O.sampleLower = w._nextInt32(), O.sampleUpper = w._nextInt32()) : (O.sampleLower = w._nextUint32(), O.sampleUpper = w._nextUint32()), M.samples[_] = O;
2943
2963
  }
2944
2964
  h.dataFormatDescriptor.length = 0, h.dataFormatDescriptor.push(M);
2945
- const v = new nt(n, p, m, !0);
2965
+ const v = new rt(n, p, m, !0);
2946
2966
  for (; v._offset < m; ) {
2947
- const _ = v._nextUint32(), H = v._scan(_), X = ja(H);
2948
- if (h.keyValue[X] = v._nextUint8Array(_ - H.byteLength - 1), X.match(/^ktx/i)) {
2949
- const ne = ja(h.keyValue[X]);
2967
+ const _ = v._nextUint32(), O = v._scan(_), X = La(O);
2968
+ if (h.keyValue[X] = v._nextUint8Array(_ - O.byteLength - 1), X.match(/^ktx/i)) {
2969
+ const ne = La(h.keyValue[X]);
2950
2970
  h.keyValue[X] = ne.substring(0, ne.lastIndexOf("\0"));
2951
2971
  }
2952
2972
  v._skip(_ % 4 ? 4 - _ % 4 : 0);
2953
2973
  }
2954
- if (C <= 0) return h;
2955
- const k = new nt(n, E, C, !0), R = k._nextUint16(), S = k._nextUint16(), F = k._nextUint32(), z = k._nextUint32(), Ae = k._nextUint32(), O = k._nextUint32(), V = [];
2974
+ if (E <= 0) return h;
2975
+ const k = new rt(n, C, E, !0), R = k._nextUint16(), S = k._nextUint16(), F = k._nextUint32(), z = k._nextUint32(), Ae = k._nextUint32(), H = k._nextUint32(), V = [];
2956
2976
  for (let _ = 0; _ < f; _++) V.push({ imageFlags: k._nextUint32(), rgbSliceByteOffset: k._nextUint32(), rgbSliceByteLength: k._nextUint32(), alphaSliceByteOffset: k._nextUint32(), alphaSliceByteLength: k._nextUint32() });
2957
- const Oe = E + k._offset, Te = Oe + F, Se = Te + z, Fe = Se + Ae, qe = new Uint8Array(n.buffer, n.byteOffset + Oe, F), de = new Uint8Array(n.buffer, n.byteOffset + Te, z), ie = new Uint8Array(n.buffer, n.byteOffset + Se, Ae), Ee = new Uint8Array(n.buffer, n.byteOffset + Fe, O);
2958
- return h.globalData = { endpointCount: R, selectorCount: S, imageDescs: V, endpointsData: qe, selectorsData: de, tablesData: ie, extendedData: Ee }, h;
2959
- }(new Uint8Array(e)), A = a.vkFormat === oa && a.dataFormatDescriptor[0].colorModel === 167;
2977
+ const He = C + k._offset, Te = He + F, Se = Te + z, Fe = Se + Ae, qe = new Uint8Array(n.buffer, n.byteOffset + He, F), de = new Uint8Array(n.buffer, n.byteOffset + Te, z), ie = new Uint8Array(n.buffer, n.byteOffset + Se, Ae), Ce = new Uint8Array(n.buffer, n.byteOffset + Fe, H);
2978
+ return h.globalData = { endpointCount: R, selectorCount: S, imageDescs: V, endpointsData: qe, selectorsData: de, tablesData: ie, extendedData: Ce }, h;
2979
+ }(new Uint8Array(e)), A = a.vkFormat === la && a.dataFormatDescriptor[0].colorModel === 167;
2960
2980
  if (!(a.vkFormat === 0 || A && !this.workerConfig.astcHDRSupported)) return async function(n) {
2961
2981
  const { vkFormat: l } = n;
2962
- if (Nt[l] === void 0) throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");
2982
+ if (Ot[l] === void 0) throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");
2963
2983
  let h;
2964
- n.supercompressionScheme === 2 && (Ut || (Ut = new Promise(async (f) => {
2965
- const I = new ys();
2984
+ n.supercompressionScheme === 2 && (_t || (_t = new Promise(async (f) => {
2985
+ const I = new Ls();
2966
2986
  await I.init(), f(I);
2967
- })), h = await Ut);
2987
+ })), h = await _t);
2968
2988
  const b = [];
2969
2989
  for (let f = 0; f < n.levels.length; f++) {
2970
2990
  const I = Math.max(1, n.pixelWidth >> f), u = Math.max(1, n.pixelHeight >> f), p = n.pixelDepth ? Math.max(1, n.pixelDepth >> f) : 0, m = n.levels[f];
2971
- let E, C;
2972
- if (n.supercompressionScheme === 0) E = m.levelData;
2991
+ let C, E;
2992
+ if (n.supercompressionScheme === 0) C = m.levelData;
2973
2993
  else {
2974
2994
  if (n.supercompressionScheme !== 2) throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");
2975
- E = h.decode(m.levelData, m.uncompressedByteLength);
2995
+ C = h.decode(m.levelData, m.uncompressedByteLength);
2976
2996
  }
2977
- C = _t[l] === W ? new Float32Array(E.buffer, E.byteOffset, E.byteLength / Float32Array.BYTES_PER_ELEMENT) : _t[l] === tt ? new Uint16Array(E.buffer, E.byteOffset, E.byteLength / Uint16Array.BYTES_PER_ELEMENT) : E, b.push({ data: C, width: I, height: u, depth: p });
2997
+ E = Ht[l] === W ? new Float32Array(C.buffer, C.byteOffset, C.byteLength / Float32Array.BYTES_PER_ELEMENT) : Ht[l] === et ? new Uint16Array(C.buffer, C.byteOffset, C.byteLength / Uint16Array.BYTES_PER_ELEMENT) : C, b.push({ data: E, width: I, height: u, depth: p });
2978
2998
  }
2979
2999
  let g;
2980
- if (ws.has(Nt[l])) g = n.pixelDepth === 0 ? new dt(b[0].data, n.pixelWidth, n.pixelHeight) : new Ci(b[0].data, n.pixelWidth, n.pixelHeight, n.pixelDepth);
3000
+ if (Us.has(Ot[l])) g = n.pixelDepth === 0 ? new ct(b[0].data, n.pixelWidth, n.pixelHeight) : new ji(b[0].data, n.pixelWidth, n.pixelHeight, n.pixelDepth);
2981
3001
  else {
2982
3002
  if (n.pixelDepth > 0) throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");
2983
- g = new ua(b, n.pixelWidth, n.pixelHeight), g.minFilter = b.length === 1 ? We : yt, g.magFilter = We;
3003
+ g = new ma(b, n.pixelWidth, n.pixelHeight);
2984
3004
  }
2985
- return g.mipmaps = b, g.type = _t[l], g.format = Nt[l], g.colorSpace = Ta(n), g.needsUpdate = !0, Promise.resolve(g);
3005
+ return g.mipmaps = b, g.type = Ht[l], g.format = Ot[l], g.colorSpace = _a(n), g.needsUpdate = !0, Promise.resolve(g);
2986
3006
  }(a);
2987
3007
  const s = t, i = this.init().then(() => this.workerPool.postMessage({ type: "transcode", buffer: e, taskConfig: s }, [e])).then((n) => this._createTextureFrom(n.data, a));
2988
- return Lt.set(e, { promise: i }), i;
3008
+ return Nt.set(e, { promise: i }), i;
2989
3009
  }
2990
3010
  dispose() {
2991
- return this.workerPool.dispose(), this.workerSourceURL && URL.revokeObjectURL(this.workerSourceURL), Gt--, this;
3011
+ return this.workerPool.dispose(), this.workerSourceURL && URL.revokeObjectURL(this.workerSourceURL), Pt--, this;
2992
3012
  }
2993
3013
  }
2994
- re.BasisFormat = { ETC1S: 0, UASTC: 1, UASTC_HDR: 2 }, re.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 }, re.EngineFormat = { RGBAFormat: Be, RGBA_ASTC_4x4_Format: $a, RGB_BPTC_UNSIGNED_Format: bi, RGBA_BPTC_Format: gi, RGBA_ETC2_EAC_Format: fi, RGBA_PVRTC_4BPPV1_Format: ui, RGBA_S3TC_DXT5_Format: Ii, RGB_ETC1_Format: pi, RGB_ETC2_Format: Bi, RGB_PVRTC_4BPPV1_Format: mi, RGBA_S3TC_DXT1_Format: Ei }, re.EngineType = { UnsignedByteType: ue, HalfFloatType: tt, FloatType: W }, re.BasisWorker = function() {
3014
+ re.BasisFormat = { ETC1S: 0, UASTC: 1, UASTC_HDR: 2 }, re.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 }, re.EngineFormat = { RGBAFormat: Be, RGBA_ASTC_4x4_Format: rA, RGB_BPTC_UNSIGNED_Format: mi, RGBA_BPTC_Format: Ci, RGBA_ETC2_EAC_Format: Ei, RGBA_PVRTC_4BPPV1_Format: Qi, RGBA_S3TC_DXT5_Format: yi, RGB_ETC1_Format: wi, RGB_ETC2_Format: xi, RGB_PVRTC_4BPPV1_Format: ki, RGBA_S3TC_DXT1_Format: Di }, re.EngineType = { UnsignedByteType: ue, HalfFloatType: et, FloatType: W }, re.BasisWorker = function() {
2995
3015
  let o, e, t;
2996
3016
  const a = _EngineFormat, A = _EngineType, s = _TranscoderFormat, i = _BasisFormat;
2997
3017
  self.addEventListener("message", function(g) {
@@ -3007,7 +3027,7 @@ re.BasisFormat = { ETC1S: 0, UASTC: 1, UASTC_HDR: 2 }, re.TranscoderFormat = { E
3007
3027
  case "transcode":
3008
3028
  e.then(() => {
3009
3029
  try {
3010
- const { faces: u, buffers: p, width: m, height: E, hasAlpha: C, format: x, type: w, dfdFlags: M } = function(T) {
3030
+ const { faces: u, buffers: p, width: m, height: C, hasAlpha: E, format: x, type: w, dfdFlags: M } = function(T) {
3011
3031
  const v = new t.KTX2File(new Uint8Array(T));
3012
3032
  function k() {
3013
3033
  v.close(), v.delete();
@@ -3020,39 +3040,39 @@ re.BasisFormat = { ETC1S: 0, UASTC: 1, UASTC_HDR: 2 }, re.TranscoderFormat = { E
3020
3040
  if (!v.isHDR()) throw new Error("THREE.KTX2Loader: Unknown Basis encoding");
3021
3041
  R = i.UASTC_HDR;
3022
3042
  }
3023
- const S = v.getWidth(), F = v.getHeight(), z = v.getLayers() || 1, Ae = v.getLevels(), O = v.getFaces(), V = v.getHasAlpha(), Oe = v.getDFDFlags(), { transcoderFormat: Te, engineFormat: Se, engineType: Fe } = function(ie, Ee, _, H) {
3043
+ const S = v.getWidth(), F = v.getHeight(), z = v.getLayers() || 1, Ae = v.getLevels(), H = v.getFaces(), V = v.getHasAlpha(), He = v.getDFDFlags(), { transcoderFormat: Te, engineFormat: Se, engineType: Fe } = function(ie, Ce, _, O) {
3024
3044
  const X = l[ie];
3025
3045
  for (let ne = 0; ne < X.length; ne++) {
3026
3046
  const ee = X[ne];
3027
- if (!(ee.if && !o[ee.if]) && ee.basisFormat.includes(ie) && !(H && ee.transcoderFormat.length < 2) && !(ee.needsPowerOfTwo && (!h(Ee) || !h(_))))
3028
- return { transcoderFormat: ee.transcoderFormat[H ? 1 : 0], engineFormat: ee.engineFormat[H ? 1 : 0], engineType: ee.engineType[0] };
3047
+ if (!(ee.if && !o[ee.if]) && ee.basisFormat.includes(ie) && !(O && ee.transcoderFormat.length < 2) && !(ee.needsPowerOfTwo && (!h(Ce) || !h(_))))
3048
+ return { transcoderFormat: ee.transcoderFormat[O ? 1 : 0], engineFormat: ee.engineFormat[O ? 1 : 0], engineType: ee.engineType[0] };
3029
3049
  }
3030
3050
  throw new Error("THREE.KTX2Loader: Failed to identify transcoding target.");
3031
3051
  }(R, S, F, V);
3032
3052
  if (!S || !F || !Ae) throw k(), new Error("THREE.KTX2Loader: Invalid texture");
3033
3053
  if (!v.startTranscoding()) throw k(), new Error("THREE.KTX2Loader: .startTranscoding failed");
3034
3054
  const qe = [], de = [];
3035
- for (let ie = 0; ie < O; ie++) {
3036
- const Ee = [];
3055
+ for (let ie = 0; ie < H; ie++) {
3056
+ const Ce = [];
3037
3057
  for (let _ = 0; _ < Ae; _++) {
3038
- const H = [];
3058
+ const O = [];
3039
3059
  let X, ne;
3040
- for (let Ce = 0; Ce < z; Ce++) {
3041
- const he = v.getImageLevelInfo(_, Ce, ie);
3042
- ie !== 0 || _ !== 0 || Ce !== 0 || he.origWidth % 4 == 0 && he.origHeight % 4 == 0 || console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."), Ae > 1 ? (X = he.origWidth, ne = he.origHeight) : (X = he.width, ne = he.height);
3043
- let Z = new Uint8Array(v.getImageTranscodedSizeInBytes(_, Ce, 0, Te));
3044
- const rt = v.transcodeImage(Z, _, Ce, ie, Te, 0, -1, -1);
3045
- if (Fe === A.HalfFloatType && (Z = new Uint16Array(Z.buffer, Z.byteOffset, Z.byteLength / Uint16Array.BYTES_PER_ELEMENT)), !rt) throw k(), new Error("THREE.KTX2Loader: .transcodeImage failed.");
3046
- H.push(Z);
3060
+ for (let Ee = 0; Ee < z; Ee++) {
3061
+ const he = v.getImageLevelInfo(_, Ee, ie);
3062
+ ie !== 0 || _ !== 0 || Ee !== 0 || he.origWidth % 4 == 0 && he.origHeight % 4 == 0 || console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."), Ae > 1 ? (X = he.origWidth, ne = he.origHeight) : (X = he.width, ne = he.height);
3063
+ let Z = new Uint8Array(v.getImageTranscodedSizeInBytes(_, Ee, 0, Te));
3064
+ const st = v.transcodeImage(Z, _, Ee, ie, Te, 0, -1, -1);
3065
+ if (Fe === A.HalfFloatType && (Z = new Uint16Array(Z.buffer, Z.byteOffset, Z.byteLength / Uint16Array.BYTES_PER_ELEMENT)), !st) throw k(), new Error("THREE.KTX2Loader: .transcodeImage failed.");
3066
+ O.push(Z);
3047
3067
  }
3048
- const ee = b(H);
3049
- Ee.push({ data: ee, width: X, height: ne }), de.push(ee.buffer);
3068
+ const ee = b(O);
3069
+ Ce.push({ data: ee, width: X, height: ne }), de.push(ee.buffer);
3050
3070
  }
3051
- qe.push({ mipmaps: Ee, width: S, height: F, format: Se, type: Fe });
3071
+ qe.push({ mipmaps: Ce, width: S, height: F, format: Se, type: Fe });
3052
3072
  }
3053
- return k(), { faces: qe, buffers: de, width: S, height: F, hasAlpha: V, dfdFlags: Oe, format: Se, type: Fe };
3073
+ return k(), { faces: qe, buffers: de, width: S, height: F, hasAlpha: V, dfdFlags: He, format: Se, type: Fe };
3054
3074
  }(f.buffer);
3055
- self.postMessage({ type: "transcode", id: f.id, data: { faces: u, width: m, height: E, hasAlpha: C, format: x, type: w, dfdFlags: M } }, p);
3075
+ self.postMessage({ type: "transcode", id: f.id, data: { faces: u, width: m, height: C, hasAlpha: E, format: x, type: w, dfdFlags: M } }, p);
3056
3076
  } catch (u) {
3057
3077
  console.error(u), self.postMessage({ type: "error", id: f.id, error: u.message });
3058
3078
  }
@@ -3078,31 +3098,31 @@ re.BasisFormat = { ETC1S: 0, UASTC: 1, UASTC_HDR: 2 }, re.TranscoderFormat = { E
3078
3098
  return I;
3079
3099
  }
3080
3100
  };
3081
- const ws = /* @__PURE__ */ new Set([Be, ht, lt]), Nt = { [BA]: Be, [uA]: Be, [lA]: Be, [bA]: Be, [pA]: ht, [fA]: ht, [dA]: ht, [hA]: ht, [IA]: lt, [gA]: lt, [cA]: lt, [oA]: lt, [oa]: $a, [EA]: Ia, [mA]: Ia }, _t = { [BA]: W, [uA]: tt, [lA]: ue, [bA]: ue, [pA]: W, [fA]: tt, [dA]: ue, [hA]: ue, [IA]: W, [gA]: tt, [cA]: ue, [oA]: ue, [oa]: tt, [EA]: ue, [mA]: ue };
3082
- function Ta(o) {
3101
+ const Us = /* @__PURE__ */ new Set([Be, dt, ht]), Ot = { [xA]: Be, [QA]: Be, [BA]: Be, [mA]: Be, [wA]: dt, [EA]: dt, [IA]: dt, [pA]: dt, [yA]: ht, [CA]: ht, [uA]: ht, [fA]: ht, [la]: rA, [DA]: Ca, [kA]: Ca }, Ht = { [xA]: W, [QA]: et, [BA]: ue, [mA]: ue, [wA]: W, [EA]: et, [IA]: ue, [pA]: ue, [yA]: W, [CA]: et, [uA]: ue, [fA]: ue, [la]: et, [DA]: ue, [kA]: ue };
3102
+ function _a(o) {
3083
3103
  const e = o.dataFormatDescriptor[0];
3084
- return e.colorPrimaries === 1 ? e.transferFunction === 2 ? ve : be : e.colorPrimaries === 10 ? e.transferFunction === 2 ? "display-p3" : "display-p3-linear" : (e.colorPrimaries === 0 || console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${e.colorPrimaries}"`), Qi);
3104
+ return e.colorPrimaries === 1 ? e.transferFunction === 2 ? ve : be : e.colorPrimaries === 10 ? e.transferFunction === 2 ? "display-p3" : "display-p3-linear" : (e.colorPrimaries === 0 || console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${e.colorPrimaries}"`), Ri);
3085
3105
  }
3086
- async function Sa(o) {
3106
+ async function Pa(o) {
3087
3107
  const e = o.split("?")[0].split(".").pop(), t = await fetch(o);
3088
3108
  if (!t.ok) throw new Error(`Failed to fetch ${o}: ${t.statusText}`);
3089
3109
  if (e === "json") {
3090
3110
  const a = await t.json();
3091
- return handleJSONSubtree(a, Fa(o));
3111
+ return handleJSONSubtree(a, Oa(o));
3092
3112
  }
3093
3113
  if (e === "subtree")
3094
3114
  return async function(a, A) {
3095
3115
  const s = new DataView(a), i = s.getBigUint64(8, !0), n = s.getBigUint64(16, !0), l = 24, h = l + Number(i), b = h + (8 - h % 8) % 8, g = b + Number(n), f = a.slice(l, h), I = new TextDecoder().decode(f).trim(), u = JSON.parse(I);
3096
3116
  if (!u.buffers) throw new Error("subtree has no buffers");
3097
- const p = u.buffers.map(async (E) => {
3098
- if (E.uri) {
3099
- const C = new URL(E.uri, A).href, x = await fetch(C);
3100
- if (!x.ok) throw new Error(`Failed to fetch binary file ${C}: ${x.statusText}`);
3117
+ const p = u.buffers.map(async (C) => {
3118
+ if (C.uri) {
3119
+ const E = new URL(C.uri, A).href, x = await fetch(E);
3120
+ if (!x.ok) throw new Error(`Failed to fetch binary file ${E}: ${x.statusText}`);
3101
3121
  return new Uint8Array(await x.arrayBuffer());
3102
3122
  }
3103
3123
  return new Uint8Array(a.slice(b, g));
3104
3124
  }), m = await Promise.all(p);
3105
- return /* @__PURE__ */ function(E, C) {
3125
+ return /* @__PURE__ */ function(C, E) {
3106
3126
  function x(k, R) {
3107
3127
  if (!k) throw new Error("incomplete json subtree");
3108
3128
  if (k.constant) {
@@ -3110,9 +3130,9 @@ async function Sa(o) {
3110
3130
  if (k.constant == 1) return !0;
3111
3131
  }
3112
3132
  if (k.bitstream == null) throw new Error('json subtree "tileAvailability" does not specify a bitstream');
3113
- if (!E.bufferViews || !E.bufferViews[k.bitstream]) throw new Error('json subtree "bufferViews" does not specify a bitstream');
3114
- const S = E.bufferViews[k.bitstream];
3115
- return w(C[S.buffer], S.byteOffset, R);
3133
+ if (!C.bufferViews || !C.bufferViews[k.bitstream]) throw new Error('json subtree "bufferViews" does not specify a bitstream');
3134
+ const S = C.bufferViews[k.bitstream];
3135
+ return w(E[S.buffer], S.byteOffset, R);
3116
3136
  }
3117
3137
  function w(k, R, S) {
3118
3138
  const F = S % 8;
@@ -3120,45 +3140,45 @@ async function Sa(o) {
3120
3140
  }
3121
3141
  function M(k) {
3122
3142
  let R = 0;
3123
- return R = k.z == null ? Pt(k.x, k.y, k.level) : Ot(k.x, k.y, k.z, k.level), x(E.tileAvailability, R);
3143
+ return R = k.z == null ? qt(k.x, k.y, k.level) : Kt(k.x, k.y, k.z, k.level), x(C.tileAvailability, R);
3124
3144
  }
3125
3145
  function T(k) {
3126
3146
  let R = 0;
3127
- R = k.z == null ? Pt(k.x, k.y, k.level) : Ot(k.x, k.y, k.z, k.level);
3147
+ R = k.z == null ? qt(k.x, k.y, k.level) : Kt(k.x, k.y, k.z, k.level);
3128
3148
  const S = [];
3129
- return E.contentAvailability.forEach((F) => {
3149
+ return C.contentAvailability.forEach((F) => {
3130
3150
  S.push(x(F, R));
3131
3151
  }), S;
3132
3152
  }
3133
3153
  function v(k) {
3134
3154
  let R = 0;
3135
- return R = k.z == null ? Pt(k.x, k.y) : Ot(k.x, k.y, k.z), x(E.childSubtreeAvailability, R);
3155
+ return R = k.z == null ? qt(k.x, k.y) : Kt(k.x, k.y, k.z), x(C.childSubtreeAvailability, R);
3136
3156
  }
3137
3157
  return { isTileAvailable: M, isContentAvailable: T, isChildSubtreeAvailable: v };
3138
3158
  }(u, m);
3139
- }(await t.arrayBuffer(), Fa(o));
3159
+ }(await t.arrayBuffer(), Oa(o));
3140
3160
  throw new Error(`Unsupported file extension: ${e}`);
3141
3161
  }
3142
- function Fa(o) {
3162
+ function Oa(o) {
3143
3163
  const e = o.split("?")[0];
3144
3164
  return e.substring(0, e.lastIndexOf("/") + 1);
3145
3165
  }
3146
- function La(o) {
3166
+ function Ha(o) {
3147
3167
  return o = 1431655765 & ((o = 858993459 & ((o = 252645135 & ((o = 16711935 & ((o &= 65535) ^ o << 8)) ^ o << 4)) ^ o << 2)) ^ o << 1);
3148
3168
  }
3149
- function Pt(o, e, t) {
3169
+ function qt(o, e, t) {
3150
3170
  let a = 0;
3151
- return t && (a = (Math.pow(4, t) - 1) / 3), a + (La(o) | La(e) << 1);
3171
+ return t && (a = (Math.pow(4, t) - 1) / 3), a + (Ha(o) | Ha(e) << 1);
3152
3172
  }
3153
- function Ht(o) {
3173
+ function Jt(o) {
3154
3174
  return o = 153391689 & ((o = 51130563 & ((o = 50393103 & ((o = 4278190335 & ((o &= 1023) ^ o << 16)) ^ o << 8)) ^ o << 4)) ^ o << 2);
3155
3175
  }
3156
- function Ot(o, e, t, a) {
3176
+ function Kt(o, e, t, a) {
3157
3177
  let A = 0;
3158
- return a && (A = (Math.pow(8, a) - 1) / 7), A + (Ht(o) | Ht(e) << 1 | Ht(t) << 2);
3178
+ return a && (A = (Math.pow(8, a) - 1) / 7), A + (Jt(o) | Jt(e) << 1 | Jt(t) << 2);
3159
3179
  }
3160
- const ot = /* @__PURE__ */ new Map();
3161
- async function ca(o, e) {
3180
+ const nt = /* @__PURE__ */ new Map();
3181
+ async function ba(o, e) {
3162
3182
  if (!o.root || !o.root.implicitTiling) return o;
3163
3183
  if (!o.root.content && !o.root.contents) throw new Error("implicit tiling requires a Template URI");
3164
3184
  let t = !0;
@@ -3176,8 +3196,8 @@ async function ca(o, e) {
3176
3196
  let i;
3177
3197
  t && (i = a.replace("{level}", 0).replace("{x}", 0).replace("{y}", 0)), t || (i = a.replace("{level}", 0).replace("{x}", 0).replace("{y}", 0).replace("{z}", 0));
3178
3198
  const n = { level: 0, x: 0, y: 0 }, l = { level: 0, x: 0, y: 0 };
3179
- t || (n.z = 0, l.z = 0), ot.set(i, await Sa(s + i));
3180
- const h = ot.get(i), b = [];
3199
+ t || (n.z = 0, l.z = 0), nt.set(i, await Pa(s + i));
3200
+ const h = nt.get(i), b = [];
3181
3201
  h.isContentAvailable(l) && A.forEach((I) => {
3182
3202
  let u;
3183
3203
  t && (u = I.replace("{level}", n.level).replace("{x}", n.x).replace("{y}", n.y)), t || (u = I.replace("{level}", n.level).replace("{x}", n.x).replace("{y}", n.y).replace("{z}", n.z)), b.push({ uri: u });
@@ -3188,24 +3208,24 @@ async function ca(o, e) {
3188
3208
  const u = [];
3189
3209
  if (I.localAddress.level == o.root.implicitTiling.availableLevels - 1) return u;
3190
3210
  if ((I.localAddress.level + 1) % o.root.implicitTiling.subtreeLevels == 0) {
3191
- const p = It(I.localAddress), m = It(I.globalAddress), E = Ua(t, o.root.boundingVolume, m);
3192
- for (let C = 0; C < p.length; C++) {
3193
- const x = p[C], w = m[C];
3194
- I.subtree.isChildSubtreeAvailable(x) && (t && a.replace("{level}", w.level).replace("{x}", w.x).replace("{y}", w.y), t || a.replace("{level}", w.level).replace("{x}", w.x).replace("{y}", w.y).replace("{z}", w.z)), ot.has(i) || ot.set(i, await Sa(s + i));
3195
- const M = ot.get(i), T = { level: 0, x: 0, y: 0 };
3211
+ const p = mt(I.localAddress), m = mt(I.globalAddress), C = qa(t, o.root.boundingVolume, m);
3212
+ for (let E = 0; E < p.length; E++) {
3213
+ const x = p[E], w = m[E];
3214
+ I.subtree.isChildSubtreeAvailable(x) && (t && a.replace("{level}", w.level).replace("{x}", w.x).replace("{y}", w.y), t || a.replace("{level}", w.level).replace("{x}", w.x).replace("{y}", w.y).replace("{z}", w.z)), nt.has(i) || nt.set(i, await Pa(s + i));
3215
+ const M = nt.get(i), T = { level: 0, x: 0, y: 0 };
3196
3216
  t || (T.z = 0);
3197
3217
  const v = [];
3198
3218
  M.isContentAvailable(T) && A.forEach((R) => {
3199
3219
  let S;
3200
3220
  t && (S = R.replace("{level}", w.level).replace("{x}", w.x).replace("{y}", w.y)), t || (S = R.replace("{level}", w.level).replace("{x}", w.x).replace("{y}", w.y).replace("{z}", w.z)), v.push({ uri: S });
3201
3221
  });
3202
- const k = { geometricError: I.geometricError / 2, boundingVolume: E[C], refine: o.root.refine, globalAddress: w, localAddress: T, subtree: M, contents: v, getChildren: async () => f(k) };
3222
+ const k = { geometricError: I.geometricError / 2, boundingVolume: C[E], refine: o.root.refine, globalAddress: w, localAddress: T, subtree: M, contents: v, getChildren: async () => f(k) };
3203
3223
  u.push(k);
3204
3224
  }
3205
3225
  } else {
3206
- const p = It(I.localAddress), m = It(I.globalAddress), E = Ua(t, o.root.boundingVolume, m);
3207
- for (let C = 0; C < p.length; C++) {
3208
- const x = p[C], w = m[C];
3226
+ const p = mt(I.localAddress), m = mt(I.globalAddress), C = qa(t, o.root.boundingVolume, m);
3227
+ for (let E = 0; E < p.length; E++) {
3228
+ const x = p[E], w = m[E];
3209
3229
  if (!I.subtree.isTileAvailable(x)) continue;
3210
3230
  const M = [], T = I.subtree.isContentAvailable(x);
3211
3231
  for (let k = 0; k < A.length; k++) {
@@ -3214,27 +3234,27 @@ async function ca(o, e) {
3214
3234
  let S;
3215
3235
  t && (S = R.replace("{level}", w.level).replace("{x}", w.x).replace("{y}", w.y)), t || (S = R.replace("{level}", w.level).replace("{x}", w.x).replace("{y}", w.y).replace("{z}", w.z)), M.push({ uri: S });
3216
3236
  }
3217
- const v = { geometricError: I.geometricError / 2, boundingVolume: E[C], refine: o.root.refine, globalAddress: w, localAddress: x, subtree: I.subtree, contents: M, getChildren: async () => f(v) };
3237
+ const v = { geometricError: I.geometricError / 2, boundingVolume: C[E], refine: o.root.refine, globalAddress: w, localAddress: x, subtree: I.subtree, contents: M, getChildren: async () => f(v) };
3218
3238
  u.push(v);
3219
3239
  }
3220
3240
  }
3221
3241
  return u.length > 0 ? u : void 0;
3222
3242
  }
3223
3243
  }
3224
- function It(o) {
3244
+ function mt(o) {
3225
3245
  const { level: e, x: t, y: a, z: A } = o, s = e + 1;
3226
3246
  let i = [];
3227
3247
  return i = A === void 0 ? [{ level: s, x: 2 * t, y: 2 * a }, { level: s, x: 2 * t + 1, y: 2 * a }, { level: s, x: 2 * t, y: 2 * a + 1 }, { level: s, x: 2 * t + 1, y: 2 * a + 1 }] : [{ level: s, x: 2 * t, y: 2 * a, z: 2 * A }, { level: s, x: 2 * t + 1, y: 2 * a, z: 2 * A }, { level: s, x: 2 * t, y: 2 * a + 1, z: 2 * A }, { level: s, x: 2 * t + 1, y: 2 * a + 1, z: 2 * A }, { level: s, x: 2 * t, y: 2 * a, z: 2 * A + 1 }, { level: s, x: 2 * t + 1, y: 2 * a, z: 2 * A + 1 }, { level: s, x: 2 * t, y: 2 * a + 1, z: 2 * A + 1 }, { level: s, x: 2 * t + 1, y: 2 * a + 1, z: 2 * A + 1 }], i;
3228
3248
  }
3229
- function Ua(o, e, t) {
3249
+ function qa(o, e, t) {
3230
3250
  const a = [];
3231
- for (let A = 0; A < t.length; A++) a.push(xs(o, e, t[A]));
3251
+ for (let A = 0; A < t.length; A++) a.push(Gs(o, e, t[A]));
3232
3252
  return a;
3233
3253
  }
3234
- function xs(o, e, t) {
3254
+ function Gs(o, e, t) {
3235
3255
  if (e.region) return function(a, A, s) {
3236
- const [i, n, l, h, b, g] = A, f = (l - i) / 2 ** s.level, I = (h - n) / 2 ** s.level, u = a ? 0 : (g - b) / 2 ** s.level, p = i + f * s.x, m = n + I * s.y, E = p + f, C = m + I, x = a ? b : b + u * s.z, w = a ? g : x + u;
3237
- return { region: [p, m, E, C, x, w] };
3256
+ const [i, n, l, h, b, g] = A, f = (l - i) / 2 ** s.level, I = (h - n) / 2 ** s.level, u = a ? 0 : (g - b) / 2 ** s.level, p = i + f * s.x, m = n + I * s.y, C = p + f, E = m + I, x = a ? b : b + u * s.z, w = a ? g : x + u;
3257
+ return { region: [p, m, C, E, x, w] };
3238
3258
  }(o, e.region, t);
3239
3259
  if (e.box) return function(a, A, s) {
3240
3260
  const i = A.slice(0, 3), n = [A.slice(3, 6), A.slice(6, 9), A.slice(9, 12)], l = 1 / Math.pow(2, s.level), h = [l, l, a ? 1 : l], b = n.map((I, u) => I.map((p) => p * h[u])), g = [i[0] - n[0][0] - n[1][0] - n[2][0], i[1] - n[0][1] - n[1][1] - n[2][1], i[2] - n[0][2] - n[1][2] - n[2][2]];
@@ -3263,10 +3283,10 @@ function xs(o, e, t) {
3263
3283
  return new Uint8Array(h.buffer, h.byteOffset, h.byteLength);
3264
3284
  }
3265
3285
  function s(h, b, g, f, I) {
3266
- var u = o.exports.sbrk, p = u(b), m = u(f * I), E = new Uint8Array(o.exports.memory.buffer);
3267
- E.set(A(g), m);
3268
- var C = h(p, b, m, f, I), x = new Uint8Array(C);
3269
- return x.set(E.subarray(p, p + C)), u(p - u(0)), x;
3286
+ var u = o.exports.sbrk, p = u(b), m = u(f * I), C = new Uint8Array(o.exports.memory.buffer);
3287
+ C.set(A(g), m);
3288
+ var E = h(p, b, m, f, I), x = new Uint8Array(E);
3289
+ return x.set(C.subarray(p, p + E)), u(p - u(0)), x;
3270
3290
  }
3271
3291
  function i(h) {
3272
3292
  for (var b = 0, g = 0; g < h.length; ++g)
@@ -3279,13 +3299,13 @@ function xs(o, e, t) {
3279
3299
  return new Uint32Array(g);
3280
3300
  }
3281
3301
  function l(h, b, g, f, I, u, p) {
3282
- var m = o.exports.sbrk, E = m(g * f), C = m(g * u), x = new Uint8Array(o.exports.memory.buffer);
3283
- x.set(A(b), C), h(E, g, f, I, C, p);
3302
+ var m = o.exports.sbrk, C = m(g * f), E = m(g * u), x = new Uint8Array(o.exports.memory.buffer);
3303
+ x.set(A(b), E), h(C, g, f, I, E, p);
3284
3304
  var w = new Uint8Array(g * f);
3285
- return w.set(x.subarray(E, E + g * f)), m(E - m(0)), w;
3305
+ return w.set(x.subarray(C, C + g * f)), m(C - m(0)), w;
3286
3306
  }
3287
3307
  })();
3288
- var QA = function() {
3308
+ var RA = function() {
3289
3309
  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]);
3290
3310
  if (typeof WebAssembly != "object") return { supported: !1 };
3291
3311
  var t, a = 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(s(a), {}).then(function(I) {
@@ -3296,15 +3316,15 @@ var QA = function() {
3296
3316
  var m = I.charCodeAt(p);
3297
3317
  u[p] = m > 96 ? m - 97 : m > 64 ? m - 39 : m + 4;
3298
3318
  }
3299
- var E = 0;
3300
- for (p = 0; p < I.length; ++p) u[E++] = u[p] < 60 ? e[u[p]] : 64 * (u[p] - 60) + u[++p];
3301
- return u.buffer.slice(0, E);
3319
+ var C = 0;
3320
+ for (p = 0; p < I.length; ++p) u[C++] = u[p] < 60 ? e[u[p]] : 64 * (u[p] - 60) + u[++p];
3321
+ return u.buffer.slice(0, C);
3302
3322
  }
3303
- function i(I, u, p, m, E, C, x) {
3304
- var w = I.exports.sbrk, M = m + 3 & -4, T = w(M * E), v = w(C.length), k = new Uint8Array(I.exports.memory.buffer);
3305
- k.set(C, v);
3306
- var R = u(T, m, E, v, C.length);
3307
- if (R == 0 && x && x(T, M, E), p.set(k.subarray(T, T + m * E)), w(T - w(0)), R != 0) throw new Error("Malformed buffer data: " + R);
3323
+ function i(I, u, p, m, C, E, x) {
3324
+ var w = I.exports.sbrk, M = m + 3 & -4, T = w(M * C), v = w(E.length), k = new Uint8Array(I.exports.memory.buffer);
3325
+ k.set(E, v);
3326
+ var R = u(T, m, C, v, E.length);
3327
+ if (R == 0 && x && x(T, M, C), p.set(k.subarray(T, T + m * C)), w(T - w(0)), R != 0) throw new Error("Malformed buffer data: " + R);
3308
3328
  }
3309
3329
  var n = { NONE: "", OCTAHEDRAL: "meshopt_decodeFilterOct", QUATERNION: "meshopt_decodeFilterQuat", EXPONENTIAL: "meshopt_decodeFilterExp" }, l = { ATTRIBUTES: "meshopt_decodeVertexBuffer", TRIANGLES: "meshopt_decodeIndexBuffer", INDICES: "meshopt_decodeIndexSequence" }, h = [], b = 0;
3310
3330
  function g(I) {
@@ -3321,35 +3341,35 @@ var QA = function() {
3321
3341
  try {
3322
3342
  var m = new Uint8Array(u.count * u.size);
3323
3343
  i(p, p.exports[u.mode], m, u.count, u.size, u.source, p.exports[u.filter]), self.postMessage({ id: u.id, count: u.count, action: "resolve", value: m }, [m.buffer]);
3324
- } catch (E) {
3325
- self.postMessage({ id: u.id, count: u.count, action: "reject", value: E });
3344
+ } catch (C) {
3345
+ self.postMessage({ id: u.id, count: u.count, action: "reject", value: C });
3326
3346
  }
3327
3347
  });
3328
3348
  }
3329
3349
  return { ready: A, supported: !0, useWorkers: function(I) {
3330
3350
  (function(u) {
3331
- for (var p = "self.ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(s(a)) + "]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = " + f.name + ";" + i.toString() + f.toString(), m = new Blob([p], { type: "text/javascript" }), E = URL.createObjectURL(m), C = h.length; C < u; ++C) h[C] = g(E);
3332
- for (C = u; C < h.length; ++C) h[C].object.postMessage({});
3333
- h.length = u, URL.revokeObjectURL(E);
3351
+ for (var p = "self.ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(s(a)) + "]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = " + f.name + ";" + i.toString() + f.toString(), m = new Blob([p], { type: "text/javascript" }), C = URL.createObjectURL(m), E = h.length; E < u; ++E) h[E] = g(C);
3352
+ for (E = u; E < h.length; ++E) h[E].object.postMessage({});
3353
+ h.length = u, URL.revokeObjectURL(C);
3334
3354
  })(I);
3335
- }, decodeVertexBuffer: function(I, u, p, m, E) {
3336
- i(t, t.exports.meshopt_decodeVertexBuffer, I, u, p, m, t.exports[n[E]]);
3355
+ }, decodeVertexBuffer: function(I, u, p, m, C) {
3356
+ i(t, t.exports.meshopt_decodeVertexBuffer, I, u, p, m, t.exports[n[C]]);
3337
3357
  }, decodeIndexBuffer: function(I, u, p, m) {
3338
3358
  i(t, t.exports.meshopt_decodeIndexBuffer, I, u, p, m);
3339
3359
  }, decodeIndexSequence: function(I, u, p, m) {
3340
3360
  i(t, t.exports.meshopt_decodeIndexSequence, I, u, p, m);
3341
- }, decodeGltfBuffer: function(I, u, p, m, E, C) {
3342
- i(t, t.exports[l[E]], I, u, p, m, t.exports[n[C]]);
3343
- }, decodeGltfBufferAsync: function(I, u, p, m, E) {
3344
- return h.length > 0 ? function(C, x, w, M, T) {
3361
+ }, decodeGltfBuffer: function(I, u, p, m, C, E) {
3362
+ i(t, t.exports[l[C]], I, u, p, m, t.exports[n[E]]);
3363
+ }, decodeGltfBufferAsync: function(I, u, p, m, C) {
3364
+ return h.length > 0 ? function(E, x, w, M, T) {
3345
3365
  for (var v = h[0], k = 1; k < h.length; ++k) h[k].pending < v.pending && (v = h[k]);
3346
3366
  return new Promise(function(R, S) {
3347
3367
  var F = new Uint8Array(w), z = ++b;
3348
- v.pending += C, v.requests[z] = { resolve: R, reject: S }, v.object.postMessage({ id: z, count: C, size: x, source: F, mode: M, filter: T }, [F.buffer]);
3368
+ v.pending += E, v.requests[z] = { resolve: R, reject: S }, v.object.postMessage({ id: z, count: E, size: x, source: F, mode: M, filter: T }, [F.buffer]);
3349
3369
  });
3350
- }(I, u, p, l[m], n[E]) : A.then(function() {
3351
- var C = new Uint8Array(I * u);
3352
- return i(t, t.exports[l[m]], C, I, u, p, t.exports[n[E]]), C;
3370
+ }(I, u, p, l[m], n[C]) : A.then(function() {
3371
+ var E = new Uint8Array(I * u);
3372
+ return i(t, t.exports[l[m]], E, I, u, p, t.exports[n[C]]), E;
3353
3373
  });
3354
3374
  } };
3355
3375
  }();
@@ -3374,9 +3394,9 @@ var QA = function() {
3374
3394
  return new Uint8Array(n.buffer, n.byteOffset, n.byteLength);
3375
3395
  }
3376
3396
  function s(n, l, h, b, g, f, I, u) {
3377
- var p = o.exports.sbrk, m = p(4 * u), E = p(h * b), C = p(h * f), x = new Uint8Array(o.exports.memory.buffer);
3378
- x.set(A(l), E), g && x.set(A(g), C);
3379
- var w = n(m, E, h, b, C, f, I, u);
3397
+ var p = o.exports.sbrk, m = p(4 * u), C = p(h * b), E = p(h * f), x = new Uint8Array(o.exports.memory.buffer);
3398
+ x.set(A(l), C), g && x.set(A(g), E);
3399
+ var w = n(m, C, h, b, E, f, I, u);
3380
3400
  new Uint8Array(o.exports.memory.buffer);
3381
3401
  var M = new Uint32Array(w);
3382
3402
  return A(M).set(x.subarray(m, m + 4 * w)), p(m - p(0)), M;
@@ -3384,11 +3404,11 @@ var QA = function() {
3384
3404
  var i = { LockBorder: 1 };
3385
3405
  })();
3386
3406
  let Qe = 0;
3387
- class ks {
3407
+ class Ns {
3388
3408
  constructor(e) {
3389
- if (this.renderer = e.renderer, this.zUpToYUpMatrix = new j.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 iA(), e && e.dracoLoader) this.gltfLoader.setDRACOLoader(e.dracoLoader), this.hasDracoLoader = !0;
3409
+ if (this.renderer = e.renderer, this.zUpToYUpMatrix = new j.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 hA(), e && e.dracoLoader) this.gltfLoader.setDRACOLoader(e.dracoLoader), this.hasDracoLoader = !0;
3390
3410
  else {
3391
- const t = new nA();
3411
+ const t = new gA();
3392
3412
  t.setDecoderPath("https://storage.googleapis.com/ogc-3d-tiles/draco/"), this.gltfLoader.setDRACOLoader(t), this.gltfLoader.hasDracoLoader = !0;
3393
3413
  }
3394
3414
  if (e && e.ktx2Loader) this.gltfLoader.setKTX2Loader(e.ktx2Loader), this.hasKTX2Loader = !0;
@@ -3396,7 +3416,7 @@ class ks {
3396
3416
  const t = new re();
3397
3417
  t.setTranscoderPath("https://storage.googleapis.com/ogc-3d-tiles/basis/").detectSupport(e.renderer), this.gltfLoader.setKTX2Loader(t), this.gltfLoader.hasKTX2Loader = !0;
3398
3418
  }
3399
- this.gltfLoader.setMeshoptDecoder(QA), this.hasMeshOptDecoder = !0, this.b3dmDecoder = new aA(this.gltfLoader), this.splatsDecoder = new Li(this.gltfLoader, this.renderer), this.cache = new eA.LinkedHashMap(), this.register = {}, this.ready = [], this.downloads = [], this.nextReady = [], this.nextDownloads = [];
3419
+ this.gltfLoader.setMeshoptDecoder(RA), this.hasMeshOptDecoder = !0, this.b3dmDecoder = new cA(this.gltfLoader), this.splatsDecoder = new Oi(this.gltfLoader, this.renderer), this.cache = new nA.LinkedHashMap(), this.register = {}, this.ready = [], this.downloads = [], this.nextReady = [], this.nextDownloads = [];
3400
3420
  }
3401
3421
  update() {
3402
3422
  const e = this;
@@ -3458,7 +3478,7 @@ class ks {
3458
3478
  }
3459
3479
  }
3460
3480
  get(e, t, a, A, s, i, n, l, h, b, g) {
3461
- const f = this, I = Ga(a), u = new AbortController();
3481
+ const f = this, I = Ja(a), u = new AbortController();
3462
3482
  if (e.signal.addEventListener("abort", () => {
3463
3483
  f.register[I] && Object.keys(f.register[I]).length != 0 || u.abort("user abort");
3464
3484
  }), !(a.includes(".b3dm") || a.includes(".json") || a.includes(".gltf") || a.includes(".glb"))) return void console.error("the 3DTiles cache can only be used to load B3DM, gltf and json data");
@@ -3467,58 +3487,58 @@ class ks {
3467
3487
  let p;
3468
3488
  a.includes(".b3dm") ? p = () => {
3469
3489
  var m;
3470
- m = f.proxy ? () => fetch(f.proxy, { method: "POST", body: a, signal: u.signal }) : () => fetch(a, { signal: u.signal }), Qe++, m().then((E) => {
3471
- if (!E.ok) throw console.error("could not load tile with path : " + a), new Error(`couldn't load "${a}". Request failed with status ${E.status} : ${E.statusText}`);
3472
- return E.arrayBuffer();
3473
- }).then((E) => this.b3dmDecoder.parseB3DM(E, (C) => {
3474
- f.meshCallback(C, b);
3475
- }, l, h)).then((E) => {
3476
- f.cache.put(I, E), f._checkSize(), this._meshReceived(f.cache, f.register, I, s, i, n, t);
3477
- }).catch((E) => {
3490
+ m = f.proxy ? () => fetch(f.proxy, { method: "POST", body: a, signal: u.signal }) : () => fetch(a, { signal: u.signal }), Qe++, m().then((C) => {
3491
+ if (!C.ok) throw console.error("could not load tile with path : " + a), new Error(`couldn't load "${a}". Request failed with status ${C.status} : ${C.statusText}`);
3492
+ return C.arrayBuffer();
3493
+ }).then((C) => this.b3dmDecoder.parseB3DM(C, (E) => {
3494
+ f.meshCallback(E, b);
3495
+ }, l, h)).then((C) => {
3496
+ f.cache.put(I, C), f._checkSize(), this._meshReceived(f.cache, f.register, I, s, i, n, t);
3497
+ }).catch((C) => {
3478
3498
  }).finally(() => {
3479
3499
  Qe--;
3480
3500
  });
3481
3501
  } : a.includes(".glb") || a.includes(".gltf") ? p = g ? () => {
3482
3502
  var m;
3483
- m = f.proxy ? () => fetch(f.proxy, { method: "POST", body: a, signal: u.signal }) : () => fetch(a, { signal: u.signal }), Qe++, m().then((E) => {
3484
- if (!E.ok) throw console.error("could not load tile with path : " + a), new Error(`couldn't load "${a}". Request failed with status ${E.status} : ${E.statusText}`);
3485
- return E.arrayBuffer();
3486
- }).then((E) => this.splatsDecoder.parseSplats(E, l, h, g)).then((E) => {
3487
- f.cache.put(I, E), f._checkSize(), f._meshReceived(f.cache, f.register, I, s, i, n, t);
3488
- }).catch((E) => {
3503
+ m = f.proxy ? () => fetch(f.proxy, { method: "POST", body: a, signal: u.signal }) : () => fetch(a, { signal: u.signal }), Qe++, m().then((C) => {
3504
+ if (!C.ok) throw console.error("could not load tile with path : " + a), new Error(`couldn't load "${a}". Request failed with status ${C.status} : ${C.statusText}`);
3505
+ return C.arrayBuffer();
3506
+ }).then((C) => this.splatsDecoder.parseSplats(C, l, h, g)).then((C) => {
3507
+ f.cache.put(I, C), f._checkSize(), f._meshReceived(f.cache, f.register, I, s, i, n, t);
3508
+ }).catch((C) => {
3489
3509
  }).finally(() => {
3490
3510
  Qe--;
3491
3511
  });
3492
3512
  } : () => {
3493
3513
  var m;
3494
- m = f.proxy ? () => fetch(f.proxy, { method: "POST", body: a, signal: u.signal }) : () => fetch(a, { signal: u.signal }), Qe++, m().then((E) => {
3495
- if (!E.ok) throw console.error("could not load tile with path : " + a), new Error(`couldn't load "${a}". Request failed with status ${E.status} : ${E.statusText}`);
3496
- return E.arrayBuffer();
3497
- }).then(async (E) => {
3498
- await async function(C) {
3514
+ m = f.proxy ? () => fetch(f.proxy, { method: "POST", body: a, signal: u.signal }) : () => fetch(a, { signal: u.signal }), Qe++, m().then((C) => {
3515
+ if (!C.ok) throw console.error("could not load tile with path : " + a), new Error(`couldn't load "${a}". Request failed with status ${C.status} : ${C.statusText}`);
3516
+ return C.arrayBuffer();
3517
+ }).then(async (C) => {
3518
+ await async function(E) {
3499
3519
  return new Promise((x) => {
3500
3520
  const w = setInterval(() => {
3501
- C.hasDracoLoader && !C.dracoLoader || C.hasKTX2Loader && !C.ktx2Loader || (clearInterval(w), x());
3521
+ E.hasDracoLoader && !E.dracoLoader || E.hasKTX2Loader && !E.ktx2Loader || (clearInterval(w), x());
3502
3522
  }, 10);
3503
3523
  });
3504
- }(this.gltfLoader), this.gltfLoader.parse(E, null, (C) => {
3505
- C.scene.asset = C.asset, l && C.scene.applyMatrix4(this.zUpToYUpMatrix), C.scene.traverse((x) => {
3524
+ }(this.gltfLoader), this.gltfLoader.parse(C, null, (E) => {
3525
+ E.scene.asset = E.asset, l && E.scene.applyMatrix4(this.zUpToYUpMatrix), E.scene.traverse((x) => {
3506
3526
  x.isMesh && (h && x.applyMatrix4(this.zUpToYUpMatrix), f.meshCallback && f.meshCallback(x, b)), x.isPoints && f.pointsCallback && f.pointsCallback(x, b);
3507
- }), f.cache.put(I, C.scene), f._checkSize(), f._meshReceived(f.cache, f.register, I, s, i, n, t);
3527
+ }), f.cache.put(I, E.scene), f._checkSize(), f._meshReceived(f.cache, f.register, I, s, i, n, t);
3508
3528
  });
3509
- }).catch((E) => {
3510
- E !== "user abort" && E.code;
3529
+ }).catch((C) => {
3530
+ C !== "user abort" && C.code;
3511
3531
  }).finally(() => {
3512
3532
  Qe--;
3513
3533
  });
3514
3534
  } : a.includes(".json") && (p = () => {
3515
3535
  var m;
3516
- m = f.proxy ? () => fetch(f.proxy, { method: "POST", body: a, signal: u.signal }) : () => fetch(a, { signal: u.signal }), Qe++, m().then((E) => {
3517
- if (!E.ok) throw console.error("could not load tile with path : " + a), new Error(`couldn't load "${a}". Request failed with status ${E.status} : ${E.statusText}`);
3518
- return E.json();
3519
- }).then((E) => ca(E, a)).then((E) => {
3520
- f.cache.put(I, E), f._checkSize(), f._meshReceived(f.cache, f.register, I);
3521
- }).catch((E) => {
3536
+ m = f.proxy ? () => fetch(f.proxy, { method: "POST", body: a, signal: u.signal }) : () => fetch(a, { signal: u.signal }), Qe++, m().then((C) => {
3537
+ if (!C.ok) throw console.error("could not load tile with path : " + a), new Error(`couldn't load "${a}". Request failed with status ${C.status} : ${C.statusText}`);
3538
+ return C.json();
3539
+ }).then((C) => ba(C, a)).then((C) => {
3540
+ f.cache.put(I, C), f._checkSize(), f._meshReceived(f.cache, f.register, I);
3541
+ }).catch((C) => {
3522
3542
  }).finally(() => {
3523
3543
  Qe--;
3524
3544
  });
@@ -3530,7 +3550,7 @@ class ks {
3530
3550
  this.maxCachedItems = 0, this._checkSize(), this.maxCachedItems = e;
3531
3551
  }
3532
3552
  invalidate(e, t) {
3533
- const a = Ga(e);
3553
+ const a = Ja(e);
3534
3554
  this.register[a] && (delete this.register[a][t], this._checkSize());
3535
3555
  }
3536
3556
  _checkSize() {
@@ -3547,7 +3567,7 @@ class ks {
3547
3567
  }
3548
3568
  }
3549
3569
  }
3550
- function Ga(o) {
3570
+ function Ja(o) {
3551
3571
  for (var e = o.split("/"), t = [], a = 0, A = 0; A < e.length; A++) {
3552
3572
  var s = e[A];
3553
3573
  s !== "." && s !== "" && s !== ".." ? t[a++] = s : s === ".." && a > 0 && a--;
@@ -3557,16 +3577,16 @@ function Ga(o) {
3557
3577
  for (A = 0; A < a; A++) i += "/" + t[A];
3558
3578
  return i;
3559
3579
  }
3560
- var De, je, yA = { exports: {} }, J = yA.exports = {};
3561
- function aa() {
3580
+ var De, je, MA = { exports: {} }, J = MA.exports = {};
3581
+ function sa() {
3562
3582
  throw new Error("setTimeout has not been defined");
3563
3583
  }
3564
- function Aa() {
3584
+ function ra() {
3565
3585
  throw new Error("clearTimeout has not been defined");
3566
3586
  }
3567
- function wA(o) {
3587
+ function vA(o) {
3568
3588
  if (De === setTimeout) return setTimeout(o, 0);
3569
- if ((De === aa || !De) && setTimeout) return De = setTimeout, setTimeout(o, 0);
3589
+ if ((De === sa || !De) && setTimeout) return De = setTimeout, setTimeout(o, 0);
3570
3590
  try {
3571
3591
  return De(o, 0);
3572
3592
  } catch {
@@ -3579,31 +3599,31 @@ function wA(o) {
3579
3599
  }
3580
3600
  (function() {
3581
3601
  try {
3582
- De = typeof setTimeout == "function" ? setTimeout : aa;
3602
+ De = typeof setTimeout == "function" ? setTimeout : sa;
3583
3603
  } catch {
3584
- De = aa;
3604
+ De = sa;
3585
3605
  }
3586
3606
  try {
3587
- je = typeof clearTimeout == "function" ? clearTimeout : Aa;
3607
+ je = typeof clearTimeout == "function" ? clearTimeout : ra;
3588
3608
  } catch {
3589
- je = Aa;
3609
+ je = ra;
3590
3610
  }
3591
3611
  })();
3592
- var Xe, Me = [], At = !1, Qt = -1;
3593
- function Ds() {
3594
- At && Xe && (At = !1, Xe.length ? Me = Xe.concat(Me) : Qt = -1, Me.length && xA());
3612
+ var We, Me = [], at = !1, xt = -1;
3613
+ function _s() {
3614
+ at && We && (at = !1, We.length ? Me = We.concat(Me) : xt = -1, Me.length && TA());
3595
3615
  }
3596
- function xA() {
3597
- if (!At) {
3598
- var o = wA(Ds);
3599
- At = !0;
3616
+ function TA() {
3617
+ if (!at) {
3618
+ var o = vA(_s);
3619
+ at = !0;
3600
3620
  for (var e = Me.length; e; ) {
3601
- for (Xe = Me, Me = []; ++Qt < e; ) Xe && Xe[Qt].run();
3602
- Qt = -1, e = Me.length;
3621
+ for (We = Me, Me = []; ++xt < e; ) We && We[xt].run();
3622
+ xt = -1, e = Me.length;
3603
3623
  }
3604
- Xe = null, At = !1, function(t) {
3624
+ We = null, at = !1, function(t) {
3605
3625
  if (je === clearTimeout) return clearTimeout(t);
3606
- if ((je === Aa || !je) && clearTimeout) return je = clearTimeout, clearTimeout(t);
3626
+ if ((je === ra || !je) && clearTimeout) return je = clearTimeout, clearTimeout(t);
3607
3627
  try {
3608
3628
  return je(t);
3609
3629
  } catch {
@@ -3616,7 +3636,7 @@ function xA() {
3616
3636
  }(o);
3617
3637
  }
3618
3638
  }
3619
- function Na(o, e) {
3639
+ function Ka(o, e) {
3620
3640
  this.fun = o, this.array = e;
3621
3641
  }
3622
3642
  function ye() {
@@ -3624,8 +3644,8 @@ function ye() {
3624
3644
  J.nextTick = function(o) {
3625
3645
  var e = new Array(arguments.length - 1);
3626
3646
  if (arguments.length > 1) for (var t = 1; t < arguments.length; t++) e[t - 1] = arguments[t];
3627
- Me.push(new Na(o, e)), Me.length !== 1 || At || wA(xA);
3628
- }, Na.prototype.run = function() {
3647
+ Me.push(new Ka(o, e)), Me.length !== 1 || at || vA(TA);
3648
+ }, Ka.prototype.run = function() {
3629
3649
  this.fun.apply(null, this.array);
3630
3650
  }, J.title = "browser", J.browser = !0, J.env = {}, J.argv = [], J.version = "", J.versions = {}, J.on = ye, J.addListener = ye, J.once = ye, J.off = ye, J.removeListener = ye, J.removeAllListeners = ye, J.emit = ye, J.prependListener = ye, J.prependOnceListener = ye, J.listeners = function(o) {
3631
3651
  return [];
@@ -3638,11 +3658,11 @@ J.nextTick = function(o) {
3638
3658
  }, J.umask = function() {
3639
3659
  return 0;
3640
3660
  };
3641
- const js = ki(yA.exports);
3661
+ const Ps = Dt(MA.exports);
3642
3662
  function ge(o) {
3643
3663
  if (typeof o != "string") throw new TypeError("Path must be a string. Received " + JSON.stringify(o));
3644
3664
  }
3645
- function _a(o, e) {
3665
+ function za(o, e) {
3646
3666
  for (var t, a = "", A = 0, s = -1, i = 0, n = 0; n <= o.length; ++n) {
3647
3667
  if (n < o.length) t = o.charCodeAt(n);
3648
3668
  else {
@@ -3670,16 +3690,16 @@ function _a(o, e) {
3670
3690
  }
3671
3691
  return a;
3672
3692
  }
3673
- var Pa, it = { resolve: function() {
3693
+ var Va, At = { resolve: function() {
3674
3694
  for (var o, e = "", t = !1, a = arguments.length - 1; a >= -1 && !t; a--) {
3675
3695
  var A;
3676
- a >= 0 ? A = arguments[a] : (o === void 0 && (o = js.cwd()), A = o), ge(A), A.length !== 0 && (e = A + "/" + e, t = A.charCodeAt(0) === 47);
3696
+ a >= 0 ? A = arguments[a] : (o === void 0 && (o = Ps.cwd()), A = o), ge(A), A.length !== 0 && (e = A + "/" + e, t = A.charCodeAt(0) === 47);
3677
3697
  }
3678
- return e = _a(e, !t), t ? e.length > 0 ? "/" + e : "/" : e.length > 0 ? e : ".";
3698
+ return e = za(e, !t), t ? e.length > 0 ? "/" + e : "/" : e.length > 0 ? e : ".";
3679
3699
  }, normalize: function(o) {
3680
3700
  if (ge(o), o.length === 0) return ".";
3681
3701
  var e = o.charCodeAt(0) === 47, t = o.charCodeAt(o.length - 1) === 47;
3682
- return (o = _a(o, !e)).length !== 0 || e || (o = "."), o.length > 0 && t && (o += "/"), e ? "/" + o : o;
3702
+ return (o = za(o, !e)).length !== 0 || e || (o = "."), o.length > 0 && t && (o += "/"), e ? "/" + o : o;
3683
3703
  }, isAbsolute: function(o) {
3684
3704
  return ge(o), o.length > 0 && o.charCodeAt(0) === 47;
3685
3705
  }, join: function() {
@@ -3688,9 +3708,9 @@ var Pa, it = { resolve: function() {
3688
3708
  var t = arguments[e];
3689
3709
  ge(t), t.length > 0 && (o === void 0 ? o = t : o += "/" + t);
3690
3710
  }
3691
- return o === void 0 ? "." : it.normalize(o);
3711
+ return o === void 0 ? "." : At.normalize(o);
3692
3712
  }, relative: function(o, e) {
3693
- if (ge(o), ge(e), o === e || (o = it.resolve(o)) === (e = it.resolve(e))) return "";
3713
+ if (ge(o), ge(e), o === e || (o = At.resolve(o)) === (e = At.resolve(e))) return "";
3694
3714
  for (var t = 1; t < o.length && o.charCodeAt(t) === 47; ++t) ;
3695
3715
  for (var a = o.length, A = a - t, s = 1; s < e.length && e.charCodeAt(s) === 47; ++s) ;
3696
3716
  for (var i = e.length - s, n = A < i ? A : i, l = -1, h = 0; h <= n; ++h) {
@@ -3774,8 +3794,8 @@ var Pa, it = { resolve: function() {
3774
3794
  }
3775
3795
  return s === -1 || n === -1 || b === 0 || b === 1 && s === n - 1 && s === i + 1 ? n !== -1 && (e.base = e.name = i === 0 && A ? o.slice(1, n) : o.slice(i, n)) : (i === 0 && A ? (e.name = o.slice(1, s), e.base = o.slice(1, n)) : (e.name = o.slice(i, s), e.base = o.slice(i, n)), e.ext = o.slice(s, n)), i > 0 ? e.dir = o.slice(0, i - 1) : A && (e.dir = "/"), e;
3776
3796
  }, sep: "/", delimiter: ":", win32: null, posix: null };
3777
- it.posix = it, module.exports = it;
3778
- class Rs {
3797
+ At.posix = At, module.exports = At;
3798
+ class Os {
3779
3799
  constructor(e) {
3780
3800
  Je(this, "_toElementFn");
3781
3801
  if (e) {
@@ -3833,7 +3853,7 @@ class Rs {
3833
3853
  * @copyright Copyright (c) 2022 Kirk Qi <qilinaus@gmail.com>
3834
3854
  * @license MIT License
3835
3855
  */
3836
- class Ye extends Rs {
3856
+ class Ye extends Os {
3837
3857
  constructor(t = [], a) {
3838
3858
  super(a);
3839
3859
  Je(this, "_elements", []);
@@ -3954,7 +3974,7 @@ class Ye extends Rs {
3954
3974
  }
3955
3975
  (function(o) {
3956
3976
  o[o.VISIT = 0] = "VISIT", o[o.PROCESS = 1] = "PROCESS";
3957
- })(Pa || (Pa = {}));
3977
+ })(Va || (Va = {}));
3958
3978
  class gt extends Ye {
3959
3979
  constructor(e = [], t) {
3960
3980
  super(e, t);
@@ -3995,10 +4015,10 @@ class ft extends gt {
3995
4015
  return s;
3996
4016
  }
3997
4017
  }
3998
- new sa(), new K(), new K(), new K(), new K();
3999
- const pt = new K(), Ms = new K(), kA = new ia();
4000
- kA.set(1, 0, 0, 0, 0, 1, 0, -1, 0);
4001
- class vs extends Xt {
4018
+ new oa(), new K(), new K(), new K(), new K();
4019
+ const Ct = new K(), Hs = new K(), SA = new na();
4020
+ SA.set(1, 0, 0, 0, 0, 1, 0, -1, 0);
4021
+ class qs extends ea {
4002
4022
  constructor(e) {
4003
4023
  const a = Math.min(Math.ceil(8) * 512, Math.pow(512, 2));
4004
4024
  let A = 1 * Math.pow(512, 2);
@@ -4011,7 +4031,7 @@ class vs extends Xt {
4011
4031
  n.texture.type = W, e.initRenderTarget(n);
4012
4032
  const l = new Ue(512, 512, 1, { magFilter: P, minFilter: P, anisotropy: 0, type: W, depthBuffer: !1, resolveDepthBuffer: !1 });
4013
4033
  l.texture.type = W, e.initRenderTarget(l);
4014
- const h = new kt({ uniforms: { textureSize: { value: 512 }, numSlices: { value: 1 }, cov1Texture: { value: n.texture }, cov2Texture: { value: l.texture }, colorTexture: { value: s.texture }, positionTexture: { value: i.texture }, zUpToYUpMatrix3x3: { value: kA }, sizeMultiplier: { value: 1 }, cropRadius: { value: Number.MAX_VALUE } }, vertexShader: `
4034
+ const h = new Mt({ uniforms: { textureSize: { value: 512 }, numSlices: { value: 1 }, cov1Texture: { value: n.texture }, cov2Texture: { value: l.texture }, colorTexture: { value: s.texture }, positionTexture: { value: i.texture }, zUpToYUpMatrix3x3: { value: SA }, sizeMultiplier: { value: 1 }, cropRadius: { value: Number.MAX_VALUE } }, vertexShader: `
4015
4035
  precision highp float;
4016
4036
  precision highp int;
4017
4037
 
@@ -4170,23 +4190,23 @@ void main() {
4170
4190
 
4171
4191
  gl_FragColor = vec4(pow(color.xyz,vec3(1.0/2.2)), color.w * pow(alpha, 1.8));
4172
4192
 
4173
- }`, transparent: !0, side: Ct, depthTest: !0, depthWrite: !0, depthFunc: yi }), b = new pa(), g = new Float32Array([-0.5, 0.5, 0, 0.5, 0.5, 0, -0.5, -0.5, 0, 0.5, -0.5, 0]);
4193
+ }`, transparent: !0, side: wt, depthTest: !0, depthWrite: !0, depthFunc: Mi }), b = new Ea(), g = new Float32Array([-0.5, 0.5, 0, 0.5, 0.5, 0, -0.5, -0.5, 0, 0.5, -0.5, 0]);
4174
4194
  b.setIndex([0, 2, 1, 2, 3, 1]), b.setAttribute("position", new Pe(g, 3));
4175
- const f = new Uint32Array(A), I = new Yt(f, 1, !1);
4176
- I.needsUpdate = !0, I.setUsage(Ba), b.setAttribute("order", I), b.instanceCount = 0, super(b, h), this.orderAttribute = I, this.textureSize = 512, this.numTextures = 1, this.batchSize = a, this.maxSplats = A, this.colorRenderTarget = s, this.positionRenderTarget = i, this.cov1RenderTarget = n, this.cov2RenderTarget = l, this.renderer = e, this.sortID = 0, this.freeAddresses = new ft();
4195
+ const f = new Uint32Array(A), I = new Zt(f, 1, !1);
4196
+ I.needsUpdate = !0, I.setUsage(Qa), b.setAttribute("order", I), b.instanceCount = 0, super(b, h), this.orderAttribute = I, this.textureSize = 512, this.numTextures = 1, this.batchSize = a, this.maxSplats = A, this.colorRenderTarget = s, this.positionRenderTarget = i, this.cov1RenderTarget = n, this.cov2RenderTarget = l, this.renderer = e, this.sortID = 0, this.freeAddresses = new ft();
4177
4197
  for (let m = 0; m < this.maxSplats; m += a) this.freeAddresses.add(m);
4178
4198
  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 = (m) => {
4179
- const E = new Uint32Array(m.data.order);
4180
- if (E.length > this.orderAttribute.count) {
4181
- const C = new pa(), x = 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];
4182
- C.setIndex(w), C.setAttribute("position", new Pe(x, 3));
4183
- const M = new Uint32Array(this.maxSplats), T = new Yt(M, 1, !1);
4184
- T.needsUpdate = !0, T.setUsage(Ba), C.setAttribute("order", T), C.instanceCount = 0, this.geometry.dispose(), this.geometry = C, this.orderAttribute = T;
4199
+ const C = new Uint32Array(m.data.order);
4200
+ if (C.length > this.orderAttribute.count) {
4201
+ const E = new Ea(), x = 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];
4202
+ E.setIndex(w), E.setAttribute("position", new Pe(x, 3));
4203
+ const M = new Uint32Array(this.maxSplats), T = new Zt(M, 1, !1);
4204
+ T.needsUpdate = !0, T.setUsage(Qa), E.setAttribute("order", T), E.instanceCount = 0, this.geometry.dispose(), this.geometry = E, this.orderAttribute = T;
4185
4205
  }
4186
- this.orderAttribute.clearUpdateRanges(), this.orderAttribute.set(E), this.orderAttribute.addUpdateRange(0, E.length), this.orderAttribute.needsUpdate = !0, this.geometry.instanceCount = m.data.count, this.geometry.needsUpdate = !0;
4187
- for (let C = this.sortListeners.length - 1; C >= 0; C--)
4188
- this.sortListeners[C](m.data.id) && this.sortListeners.splice(C, 1);
4189
- }, this.cameraPosition = new K(0, 0, 0), this.rotateOnAxis(new K(1, 0, 0), 0.5 * Math.PI), this.frustumCulled = !1, this.copyMaterial2D = new kt({ uniforms: { sourceTexture: {} }, vertexShader: Ha(), fragmentShader: `
4206
+ this.orderAttribute.clearUpdateRanges(), this.orderAttribute.set(C), this.orderAttribute.addUpdateRange(0, C.length), this.orderAttribute.needsUpdate = !0, this.geometry.instanceCount = m.data.count, this.geometry.needsUpdate = !0;
4207
+ for (let E = this.sortListeners.length - 1; E >= 0; E--)
4208
+ this.sortListeners[E](m.data.id) && this.sortListeners.splice(E, 1);
4209
+ }, this.cameraPosition = new K(0, 0, 0), this.rotateOnAxis(new K(1, 0, 0), 0.5 * Math.PI), this.frustumCulled = !1, this.copyMaterial2D = new Mt({ uniforms: { sourceTexture: {} }, vertexShader: Ya(), fragmentShader: `
4190
4210
  precision highp float;
4191
4211
 
4192
4212
  uniform sampler2D sourceTexture;
@@ -4195,7 +4215,7 @@ in vec2 vUv;
4195
4215
 
4196
4216
  void main() {
4197
4217
  gl_FragColor = texture( sourceTexture, vUv );
4198
- }`, transparent: !1, side: Ct, depthTest: !1, depthWrite: !1 }), this.copyMaterial3D = new kt({ uniforms: { sourceTexture: {}, w: { value: 0 } }, vertexShader: Ha(), fragmentShader: `
4218
+ }`, transparent: !1, side: wt, depthTest: !1, depthWrite: !1 }), this.copyMaterial3D = new Mt({ uniforms: { sourceTexture: {}, w: { value: 0 } }, vertexShader: Ya(), fragmentShader: `
4199
4219
  precision highp float;
4200
4220
 
4201
4221
  uniform sampler3D sourceTexture;
@@ -4205,9 +4225,9 @@ in vec2 vUv;
4205
4225
 
4206
4226
  void main() {
4207
4227
  gl_FragColor = texture( sourceTexture, vec3(vUv, w) );
4208
- }`, transparent: !1, side: Ct, depthTest: !1, depthWrite: !1 }), this.copyCamera = new Xa(-0.5, 0.5, 0.5, -0.5, 0.1, 10), this.copyCamera.position.z = 1, this.copyScene = new wi();
4209
- const u = new xi(1, 1);
4210
- this.copyQuad = new Xt(u, this.copyMaterial2D), this.copyScene.add(this.copyQuad), this.copyScene.matrixAutoUpdate = !1, this.copyQuad.matrixAutoUpdate = !1;
4228
+ }`, transparent: !1, side: wt, depthTest: !1, depthWrite: !1 }), this.copyCamera = new iA(-0.5, 0.5, 0.5, -0.5, 0.1, 10), this.copyCamera.position.z = 1, this.copyScene = new vi();
4229
+ const u = new Ti(1, 1);
4230
+ this.copyQuad = new ea(u, this.copyMaterial2D), this.copyScene.add(this.copyQuad), this.copyScene.matrixAutoUpdate = !1, this.copyQuad.matrixAutoUpdate = !1;
4211
4231
  const p = this;
4212
4232
  document.addEventListener("keyup", function(m) {
4213
4233
  m.key === "a" && (p.growTextures(), console.log(p.positionRenderTarget.depth));
@@ -4249,19 +4269,19 @@ void main() {
4249
4269
  };
4250
4270
  const I = new Float32Array(i.length / n * 3);
4251
4271
  for (let p = 0; p < i.length / 3; p++) I[3 * p] = i[p * n + l], I[3 * p + 1] = i[p * n + l + 1], I[3 * p + 2] = i[p * n + l + 2];
4252
- f = (p, m, E) => {
4253
- const C = E * E;
4272
+ f = (p, m, C) => {
4273
+ const E = C * C;
4254
4274
  for (let x = 0; x < I.length; x += 3) {
4255
- pt.set(I[x], -I[x + 2], I[x + 1]);
4256
- const w = Ms.copy(pt).sub(p.origin).dot(p.direction);
4257
- w > 0 && p.distanceSqToPoint(pt) < C && m.push({ distance: w, point: pt.clone(), type: "splat" });
4275
+ Ct.set(I[x], -I[x + 2], I[x + 1]);
4276
+ const w = Hs.copy(Ct).sub(p.origin).dot(p.direction);
4277
+ w > 0 && p.distanceSqToPoint(Ct) < E && m.push({ distance: w, point: Ct.clone(), type: "splat" });
4258
4278
  }
4259
4279
  }, h > this.freeAddresses.size && this.growTextures();
4260
4280
  for (let p = 0; p < h; p++) {
4261
4281
  const m = this.freeAddresses.poll();
4262
4282
  isNaN(m) && console.log("insuficient texture size to store splats info"), b.push(m), g.push(3 * m);
4263
- const E = p * this.batchSize;
4264
- this.addSplatsBatch(E, m, e, t, a, A);
4283
+ const C = p * this.batchSize;
4284
+ this.addSplatsBatch(C, m, e, t, a, A);
4265
4285
  }
4266
4286
  s.worker.postMessage({ method: "addBatches", insertionIndexes: g, positions: i.buffer, offset: l, stride: n, batchSize: s.batchSize }, [i.buffer]);
4267
4287
  let u = !1;
@@ -4270,28 +4290,28 @@ void main() {
4270
4290
  }, show: (p) => {
4271
4291
  u == 0 && (u = !0);
4272
4292
  const m = s.sortID;
4273
- s.sortListeners.push((E) => E >= m && (p(), !0)), s.worker.postMessage({ method: "showBatches", insertionIndexes: g, xyz: [s.cameraPosition.x, s.cameraPosition.z, -s.cameraPosition.y], id: s.sortID++ });
4293
+ s.sortListeners.push((C) => C >= m && (p(), !0)), s.worker.postMessage({ method: "showBatches", insertionIndexes: g, xyz: [s.cameraPosition.x, s.cameraPosition.z, -s.cameraPosition.y], id: s.sortID++ });
4274
4294
  }, remove: () => {
4275
4295
  f = void 0, s.worker.postMessage({ method: "removeBatches", insertionIndexes: g, xyz: [s.cameraPosition.x, s.cameraPosition.z, -s.cameraPosition.y], id: s.sortID++ }), b.forEach((p) => s.freeAddresses.add(p));
4276
4296
  }, sort: this.sort, raycast: f, isSplatsBatch: !0 };
4277
4297
  }
4278
4298
  addSplatsBatch(e, t, a, A, s, i) {
4279
4299
  const n = new Float32Array(4 * this.batchSize), l = new Uint8Array(4 * this.batchSize), h = new Float32Array(4 * this.batchSize), b = new Float32Array(4 * this.batchSize);
4280
- for (let C = t; C < t + this.batchSize; C++) {
4281
- const x = C - t, w = 4 * x, M = e + x;
4300
+ for (let E = t; E < t + this.batchSize; E++) {
4301
+ const x = E - t, w = 4 * x, M = e + x;
4282
4302
  if (M >= a.count) break;
4283
4303
  n[w] = a.getX(M), n[w + 1] = a.getY(M), n[w + 2] = a.getZ(M), Math.floor(255 * A.getX(M)), Math.floor(255 * A.getY(M)), Math.floor(255 * A.getZ(M)), Math.floor(255 * A.getW(M)), l[w] = Math.floor(255 * A.getX(M)), l[w + 1] = Math.floor(255 * A.getY(M)), l[w + 2] = Math.floor(255 * A.getZ(M)), l[w + 3] = Math.floor(255 * A.getW(M)), h[w] = s.getX(M), h[w + 1] = s.getY(M), h[w + 2] = s.getZ(M), b[w] = i.getX(M), b[w + 1] = i.getY(M), b[w + 2] = i.getZ(M);
4284
4304
  }
4285
4305
  const g = Math.floor(t / Math.pow(this.textureSize, 2)), f = Math.ceil(this.batchSize / this.textureSize), I = [0, t / this.textureSize - g * this.textureSize, this.textureSize];
4286
4306
  I.push(I[1] + f);
4287
- const u = new dt(n, this.textureSize, f, Be, W);
4307
+ const u = new ct(n, this.textureSize, f, Be, W);
4288
4308
  u.generateMipmaps = !1, u.magFilter = P, u.minFilter = P, u.anisotropy = 0, u.needsUpdate = !0, this.renderer.initTexture(u), this.renderer.initRenderTarget(this.positionRenderTarget), this.copyTex2D(u, this.positionRenderTarget, I, g), u.dispose();
4289
- const p = new dt(l, this.textureSize, f, Be, ue);
4309
+ const p = new ct(l, this.textureSize, f, Be, ue);
4290
4310
  p.generateMipmaps = !1, p.magFilter = P, p.minFilter = P, p.anisotropy = 0, p.needsUpdate = !0, this.renderer.initTexture(p), this.copyTex2D(p, this.colorRenderTarget, I, g), p.dispose();
4291
- const m = new dt(h, this.textureSize, f, Be, W);
4311
+ const m = new ct(h, this.textureSize, f, Be, W);
4292
4312
  m.generateMipmaps = !1, m.magFilter = P, m.minFilter = P, m.anisotropy = 0, m.needsUpdate = !0, this.renderer.initTexture(m), this.copyTex2D(m, this.cov1RenderTarget, I, g), m.dispose();
4293
- const E = new dt(b, this.textureSize, f, Be, W);
4294
- E.generateMipmaps = !1, E.magFilter = P, E.minFilter = P, E.anisotropy = 0, E.needsUpdate = !0, this.renderer.initTexture(E), this.copyTex2D(E, this.cov2RenderTarget, I, g), E.dispose();
4313
+ const C = new ct(b, this.textureSize, f, Be, W);
4314
+ C.generateMipmaps = !1, C.magFilter = P, C.minFilter = P, C.anisotropy = 0, C.needsUpdate = !0, this.renderer.initTexture(C), this.copyTex2D(C, this.cov2RenderTarget, I, g), C.dispose();
4295
4315
  }
4296
4316
  growTextures() {
4297
4317
  for (let i = this.maxSplats; i < this.maxSplats + this.textureSize * this.textureSize; i += this.batchSize) this.freeAddresses.add(i);
@@ -4306,7 +4326,7 @@ void main() {
4306
4326
  s.texture.type = W, this.renderer.initRenderTarget(s), this.copyTex3D(this.cov2RenderTarget.texture, s, this.numTextures), this.cov2RenderTarget.dispose(), this.cov2RenderTarget = s, this.material.uniforms.cov2Texture.value = this.cov2RenderTarget.texture, this.numTextures = e, this.material.uniforms.numSlices.value = this.numTextures;
4307
4327
  }
4308
4328
  }
4309
- function Ha() {
4329
+ function Ya() {
4310
4330
  return `
4311
4331
 
4312
4332
  out vec2 vUv;
@@ -4319,26 +4339,26 @@ void main() {
4319
4339
  var fe;
4320
4340
  const we = new j.Sphere(new j.Vector3(0, 0, 0), 1), ze = new Re([0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1]);
4321
4341
  new j.Box3();
4322
- const Ne = new j.Vector3(0, 0, 0), et = new j.Vector3(0, 0, 0), Ts = new j.Vector3(0, 1, 0), Bt = new j.Ray(), mt = new j.Matrix4();
4342
+ const Ne = new j.Vector3(0, 0, 0), $e = new j.Vector3(0, 0, 0), Js = new j.Vector3(0, 1, 0), Et = new j.Ray(), Qt = new j.Matrix4();
4323
4343
  new j.Matrix4(), new j.Frustum();
4324
- const qt = new j.Vector3(), Et = [], Oa = new j.Quaternion(), Ie = {};
4325
- function Ss() {
4344
+ const zt = new j.Vector3(), yt = [], Wa = new j.Quaternion(), Ie = {};
4345
+ function Ks() {
4326
4346
  var o = [];
4327
4347
  for (let e in Ie) Ie.hasOwnProperty(e) && Ie[e] > 0 && o.push(e);
4328
4348
  return o;
4329
4349
  }
4330
- class DA extends j.Object3D {
4350
+ class FA extends j.Object3D {
4331
4351
  constructor(e) {
4332
4352
  super();
4333
4353
  const t = this;
4334
- if (t.splatsMesh = e.splatsMesh, this.contentURL = [], e.domWidth && e.domHeight ? this.rendererSize = new j.Vector2(e.domWidth, e.domHeight) : this.rendererSize = new j.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 = AA(), e.tileLoader) this.tileLoader = e.tileLoader;
4354
+ if (t.splatsMesh = e.splatsMesh, this.contentURL = [], e.domWidth && e.domHeight ? this.rendererSize = new j.Vector2(e.domWidth, e.domHeight) : this.rendererSize = new j.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 = dA(), e.tileLoader) this.tileLoader = e.tileLoader;
4335
4355
  else {
4336
4356
  const s = {};
4337
4357
  s.meshCallback = e.meshCallback ? e.meshCallback : (i, n) => {
4338
4358
  i.material.wireframe = !1, i.material.side = j.DoubleSide;
4339
4359
  }, s.pointsCallback = e.pointsCallback ? e.pointsCallback : (i, n) => {
4340
4360
  i.material.size = Math.pow(n, 0.33), i.material.sizeAttenuation = !0;
4341
- }, s.proxy = this.proxy, s.renderer = e.renderer, s.dracoLoader = e.dracoLoader, s.ktx2Loader = e.ktx2Loader, this.tileLoader = new ks(s), this.update = (i) => {
4361
+ }, s.proxy = this.proxy, s.renderer = e.renderer, s.dracoLoader = e.dracoLoader, s.ktx2Loader = e.ktx2Loader, this.tileLoader = new Ns(s), this.update = (i) => {
4342
4362
  this.update(i), this.tileLoader.update();
4343
4363
  };
4344
4364
  }
@@ -4352,11 +4372,11 @@ class DA extends j.Object3D {
4352
4372
  }
4353
4373
  (t.proxy ? () => fetch(t.proxy, { method: "POST", body: a, signal: t.abortController.signal }) : () => fetch(a, { signal: t.abortController.signal }))().then((s) => {
4354
4374
  if (!s.ok) throw new Error(`couldn't load "${e.url}". Request failed with status ${s.status} : ${s.statusText}`);
4355
- s.json().then((i) => ca(i, a)).then((i) => {
4375
+ s.json().then((i) => ba(i, a)).then((i) => {
4356
4376
  t._setup({ rootPath: (void 0)(e.url), json: i });
4357
4377
  });
4358
4378
  }).catch((s) => {
4359
- t.displayErrors && qa(s);
4379
+ t.displayErrors && Xa(s);
4360
4380
  });
4361
4381
  }
4362
4382
  }
@@ -4378,14 +4398,14 @@ class DA extends j.Object3D {
4378
4398
  }
4379
4399
  async _setup(e) {
4380
4400
  const t = this;
4381
- if (e.json.extensionsRequired && e.json.extensionsRequired.includes("JDULTRA_gaussian_splats") && (t.splatsMesh = new vs(t.tileLoader.renderer), this.splatsMesh.setSplatsCropRadius(this.splatsCropRadius), this.splatsMesh.setSplatsSizeMultiplier(this.splatsSizeMultiplier), t.add(t.splatsMesh)), e.json.root ? (t.json = e.json.root, t.json.refine || (t.json.refine = e.json.refine), t.json.geometricError || (t.json.geometricError = e.json.geometricError), t.json.transform || (t.json.transform = e.json.transform), t.json.boundingVolume || (t.json.boundingVolume = e.json.boundingVolume)) : t.json = e.json, t.json.children || (t.json.getChildren ? t.json.children = await t.json.getChildren() : t.json.children = []), t.rootPath = e.json.rootPath ? e.json.rootPath : e.rootPath, t.json.refine ? t.refine = t.json.refine : t.refine = e.parentRefine, t.json.geometricError ? t.geometricError = t.json.geometricError : t.geometricError = e.parentGeometricError, t.json.transform) {
4401
+ if (e.json.extensionsRequired && e.json.extensionsRequired.includes("JDULTRA_gaussian_splats") && (t.splatsMesh = new qs(t.tileLoader.renderer), this.splatsMesh.setSplatsCropRadius(this.splatsCropRadius), this.splatsMesh.setSplatsSizeMultiplier(this.splatsSizeMultiplier), t.add(t.splatsMesh)), e.json.root ? (t.json = e.json.root, t.json.refine || (t.json.refine = e.json.refine), t.json.geometricError || (t.json.geometricError = e.json.geometricError), t.json.transform || (t.json.transform = e.json.transform), t.json.boundingVolume || (t.json.boundingVolume = e.json.boundingVolume)) : t.json = e.json, t.json.children || (t.json.getChildren ? t.json.children = await t.json.getChildren() : t.json.children = []), t.rootPath = e.json.rootPath ? e.json.rootPath : e.rootPath, t.json.refine ? t.refine = t.json.refine : t.refine = e.parentRefine, t.json.geometricError ? t.geometricError = t.json.geometricError : t.geometricError = e.parentGeometricError, t.json.transform) {
4382
4402
  let A = new j.Matrix4();
4383
4403
  A.elements = t.json.transform, t.applyMatrix4(A);
4384
4404
  }
4385
4405
  if (t.json.boundingVolume) if (t.json.boundingVolume.box) t.boundingVolume = new Re(t.json.boundingVolume.box);
4386
4406
  else if (t.json.boundingVolume.region) {
4387
4407
  const A = t.json.boundingVolume.region;
4388
- t._transformWGS84ToCartesian(A[0], A[1], A[4], Ne), t._transformWGS84ToCartesian(A[2], A[3], A[5], et), Ne.lerp(et, 0.5), t.boundingVolume = new j.Sphere(new j.Vector3(Ne.x, Ne.y, Ne.z), Ne.distanceTo(et));
4408
+ t._transformWGS84ToCartesian(A[0], A[1], A[4], Ne), t._transformWGS84ToCartesian(A[2], A[3], A[5], $e), Ne.lerp($e, 0.5), t.boundingVolume = new j.Sphere(new j.Vector3(Ne.x, Ne.y, Ne.z), Ne.distanceTo($e));
4389
4409
  } else if (t.json.boundingVolume.sphere) {
4390
4410
  const A = t.json.boundingVolume.sphere;
4391
4411
  t.boundingVolume = new j.Sphere(new j.Vector3(A[0], A[1], A[2]), A[3]);
@@ -4394,7 +4414,7 @@ class DA extends j.Object3D {
4394
4414
  function a(A) {
4395
4415
  A.uri && A.uri.includes("json") || A.url && A.url.includes("json") ? t.hasUnloadedJSONContent++ : t.hasMeshContent++;
4396
4416
  }
4397
- if (t.json.content ? (a(t.json.content), t.hasMeshContent == 0 && (t.level = Math.max(0, t.parentTile ? t.parentTile.level + 0.01 : 0)), t.loadingStrategy === "IMMEDIATE" ? t._load(!0, !1) : t._load()) : t.json.contents && (t.json.contents.forEach((A) => a(A)), t.hasMeshContent == 0 && (t.level = Math.max(0, t.parentTile ? t.parentTile.level + 0.01 : 0)), t.loadingStrategy === "IMMEDIATE" ? t._load(!0, !1) : t._load()), t.centerModel && (et.copy(t.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]), Ne), Oa.setFromUnitVectors(Ne.normalize(), Ts.normalize()), t.applyQuaternion(Oa)), et.applyMatrix4(t.matrix), t.position.sub(et), t.updateMatrices()), e.onLoadCallback && t.onLoadCallback(t), t.isSetup = !0, t.level > 0 && t.drawBoundingVolume && (t.bbox && console.log("double setup"), this.boundingVolume.aabb)) {
4417
+ if (t.json.content ? (a(t.json.content), t.hasMeshContent == 0 && (t.level = Math.max(0, t.parentTile ? t.parentTile.level + 0.01 : 0)), t.loadingStrategy === "IMMEDIATE" ? t._load(!0, !1) : t._load()) : t.json.contents && (t.json.contents.forEach((A) => a(A)), t.hasMeshContent == 0 && (t.level = Math.max(0, t.parentTile ? t.parentTile.level + 0.01 : 0)), t.loadingStrategy === "IMMEDIATE" ? t._load(!0, !1) : t._load()), t.centerModel && ($e.copy(t.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]), Ne), Wa.setFromUnitVectors(Ne.normalize(), Js.normalize()), t.applyQuaternion(Wa)), $e.applyMatrix4(t.matrix), t.position.sub($e), t.updateMatrices()), e.onLoadCallback && t.onLoadCallback(t), t.isSetup = !0, t.level > 0 && t.drawBoundingVolume && (t.bbox && console.log("double setup"), this.boundingVolume.aabb)) {
4398
4418
  let A = this.boundingVolume.aabb.clone();
4399
4419
  A.applyMatrix4(this.matrixWorld), t.bbox = new j.Box3Helper(A, new j.Color(Math.random(), Math.random(), Math.random())), t.add(t.bbox), t.bbox.material.visible = !1;
4400
4420
  }
@@ -4440,7 +4460,7 @@ class DA extends j.Object3D {
4440
4460
  a.tileLoader.get(a.abortController, a.uuid, h, (f) => {
4441
4461
  a.deleted || (f.asset && f.asset.copyright && (f.asset.copyright.split(";").forEach((I) => {
4442
4462
  Ie[I] ? Ie[I]++ : Ie[I] = 1;
4443
- }), a.displayCopyright && Jt()), a.meshContent.push(f), a.splatsMesh || (f.traverse((I) => {
4463
+ }), a.displayCopyright && Vt()), a.meshContent.push(f), a.splatsMesh || (f.traverse((I) => {
4444
4464
  if ((I.isMesh || I.isPoints) && I.layers.disable(0), I.isMesh && a.occlusionCullingService) {
4445
4465
  const u = I.geometry.attributes.position, p = [];
4446
4466
  for (let m = 0; m < u.count; m++) p.push(a.color.r, a.color.g, a.color.b);
@@ -4452,7 +4472,7 @@ class DA extends j.Object3D {
4452
4472
  return (a.metric && a.metric < 0 || a.deleted) && (f = 2), a.parentTile ? a.parentTile._calculateDistanceToCamera(a.cameraOnLoad) * f * a.level : a._calculateDistanceToCamera(a.cameraOnLoad) * f * a.level;
4453
4473
  } : () => 0, () => a._getSiblings(), a.level, !a.json.boundingVolume.region, !!a.json.boundingVolume.region, a.geometricError, a.splatsMesh);
4454
4474
  } catch (f) {
4455
- a.displayErrors && qa(f);
4475
+ a.displayErrors && Xa(f);
4456
4476
  }
4457
4477
  } else n && h.includes(".json") && (a.jsonRequested = h, a.tileLoader.get(a.abortController, a.uuid, h, async (f) => {
4458
4478
  a.deleted || (f.rootPath = (void 0)(h), a.json.children.push(f), i == null ? delete a.json.content : a.json.contents.splice(i, 1), a.hasUnloadedJSONContent--);
@@ -4464,7 +4484,7 @@ class DA extends j.Object3D {
4464
4484
  e.meshContent.forEach((t) => {
4465
4485
  t && t.asset && t.asset.copyright && (t.asset.copyright.split(";").forEach((a) => {
4466
4486
  Ie[a] && Ie[a]--;
4467
- }), e.displayCopyright && Jt());
4487
+ }), e.displayCopyright && Vt());
4468
4488
  }), e.meshContent = [], e.bbox && e.bbox.dispose(), e.childrenTiles.forEach((t) => t.dispose()), e.deleted = !0, e.splatsMesh && (e.meshContent.forEach((t) => t.hide()), e.parentTile || e.splatsMesh.dispose()), e.contentURL && (e.contentURL.forEach((t) => {
4469
4489
  e.tileLoader.invalidate(t, e.uuid);
4470
4490
  }), e.contentURL = []), e.abortController && e.abortController.abort("tile not needed"), this.parent = null, this.dispatchEvent({ type: "removed" });
@@ -4477,7 +4497,7 @@ class DA extends j.Object3D {
4477
4497
  const a = e.meshContent[t];
4478
4498
  a && a.asset && a.asset.copyright && (a.asset.copyright.split(";").forEach((A) => {
4479
4499
  Ie[A] && Ie[A]--;
4480
- }), e.displayCopyright && Jt()), e.remove(a);
4500
+ }), e.displayCopyright && Vt()), e.remove(a);
4481
4501
  }
4482
4502
  e.splatsMesh && e.meshContent.forEach((t) => t.hide()), e.meshContent = [], e.contentURL.forEach((t) => {
4483
4503
  e.tileLoader.invalidate(t, e.uuid);
@@ -4492,17 +4512,17 @@ class DA extends j.Object3D {
4492
4512
  }
4493
4513
  raycast(e, t) {
4494
4514
  if (this.splatsMesh) {
4495
- Bt.copy(e.ray), mt.copy(this.matrixWorld).invert(), Bt.applyMatrix4(mt);
4515
+ Et.copy(e.ray), Qt.copy(this.matrixWorld).invert(), Et.applyMatrix4(Qt);
4496
4516
  let a = !1;
4497
- if (this.boundingVolume instanceof Re) a = this.boundingVolume.intersectsRay(Bt);
4517
+ if (this.boundingVolume instanceof Re) a = this.boundingVolume.intersectsRay(Et);
4498
4518
  else {
4499
4519
  if (!(this.boundingVolume instanceof j.Sphere)) return !1;
4500
4520
  a = ray.intersectsSphere(this.boundingVolume);
4501
4521
  }
4502
- return a && this.materialVisibility && this.splatsReady && (Et.length = 0, this.meshContent.forEach((A) => {
4503
- A.isSplatsBatch && (A.raycast(Bt, Et, e.params.Points.threshold), Et.forEach((s) => {
4522
+ return a && this.materialVisibility && this.splatsReady && (yt.length = 0, this.meshContent.forEach((A) => {
4523
+ A.isSplatsBatch && (A.raycast(Et, yt, e.params.Points.threshold), yt.forEach((s) => {
4504
4524
  s.point.applyMatrix4(this.matrixWorld);
4505
- }), t.push(...Et));
4525
+ }), t.push(...yt));
4506
4526
  })), a;
4507
4527
  }
4508
4528
  return super.raycast(e, t);
@@ -4511,7 +4531,7 @@ class DA extends j.Object3D {
4511
4531
  const t = new j.Frustum();
4512
4532
  t.setFromProjectionMatrix(new j.Matrix4().multiplyMatrices(e.projectionMatrix, e.matrixWorldInverse));
4513
4533
  let a = [0], A = [0], s = [0], i = [0];
4514
- return this.refine == "REPLACE" ? this.loadingStrategy === "IMMEDIATE" ? (this._updateImmediate(e, t), this._statsImmediate(s, a, i, A)) : (this._update(e, t), this._stats(s, a, i, A)) : (this._update(e, t), this._stats(s, a, i, A)), a > 0 && (i[0] /= a[0]), this.splatsMesh && (qt.copy(e.position), mt.copy(this.matrixWorld).invert(), qt.applyMatrix4(mt), this.splatsMesh.sort(qt)), { numTilesLoaded: a[0], numTilesRendered: A[0], maxLOD: s[0], percentageLoaded: i[0] };
4534
+ return this.refine == "REPLACE" ? this.loadingStrategy === "IMMEDIATE" ? (this._updateImmediate(e, t), this._statsImmediate(s, a, i, A)) : (this._update(e, t), this._stats(s, a, i, A)) : (this._update(e, t), this._stats(s, a, i, A)), a > 0 && (i[0] /= a[0]), this.splatsMesh && (zt.copy(e.position), Qt.copy(this.matrixWorld).invert(), zt.applyMatrix4(Qt), this.splatsMesh.sort(zt)), { numTilesLoaded: a[0], numTilesRendered: A[0], maxLOD: s[0], percentageLoaded: i[0] };
4515
4535
  }
4516
4536
  _updateImmediate(e, t) {
4517
4537
  this._computeMetricRecursive(e, t), this._updateNodeVisibilityImmediate(), this._expandTreeImmediate(e), this.shouldBeVisible = this.metric > 0 || !!this.loadOutsideView, this._shouldBeVisibleUpdateImmediate(), this._trimTreeImmediate(), this._loadMeshImmediate();
@@ -4629,7 +4649,7 @@ class DA extends j.Object3D {
4629
4649
  const t = this;
4630
4650
  for (let a = t.json.children.length - 1; a >= 0; a--) t.json.children[a].root || t.json.children[a].children || t.json.children[a].getChildren || t.json.children[a].content || t.json.children[a].contents || t.json.children.splice(a, 1);
4631
4651
  t.json.children.forEach((a) => {
4632
- let A = new DA({ parentTile: t, queryParams: t.queryParams, parentGeometricError: t.geometricError, parentBoundingVolume: t.boundingVolume, parentRefine: t.refine, json: a, rootPath: t.rootPath, geometricErrorMultiplier: t.geometricErrorMultiplier, loadOutsideView: t.loadOutsideView, level: Math.floor(t.level) + 1, tileLoader: t.tileLoader, cameraOnLoad: e, occlusionCullingService: t.occlusionCullingService, renderer: t.renderer, static: t.static, centerModel: !1, displayErrors: t.displayErrors, displayCopyright: t.displayCopyright, distanceBias: t.distanceBias, loadingStrategy: t.loadingStrategy, drawBoundingVolume: t.drawBoundingVolume, splatsMesh: t.splatsMesh });
4652
+ let A = new FA({ parentTile: t, queryParams: t.queryParams, parentGeometricError: t.geometricError, parentBoundingVolume: t.boundingVolume, parentRefine: t.refine, json: a, rootPath: t.rootPath, geometricErrorMultiplier: t.geometricErrorMultiplier, loadOutsideView: t.loadOutsideView, level: Math.floor(t.level) + 1, tileLoader: t.tileLoader, cameraOnLoad: e, occlusionCullingService: t.occlusionCullingService, renderer: t.renderer, static: t.static, centerModel: !1, displayErrors: t.displayErrors, displayCopyright: t.displayCopyright, distanceBias: t.distanceBias, loadingStrategy: t.loadingStrategy, drawBoundingVolume: t.drawBoundingVolume, splatsMesh: t.splatsMesh });
4633
4653
  t.childrenTiles.push(A), t.add(A);
4634
4654
  }), t.updateMatrices(!0);
4635
4655
  }
@@ -4726,26 +4746,26 @@ class DA extends j.Object3D {
4726
4746
  A.set(b, g, f);
4727
4747
  }
4728
4748
  }
4729
- function qa(o) {
4749
+ function Xa(o) {
4730
4750
  var e = document.createElement("div");
4731
4751
  e.textContent = o, e.style.position = "fixed", e.style.top = "10px", e.style.left = "50%", e.style.transform = "translateX(-50%)", e.style.padding = "10px", e.style.backgroundColor = "#ff8800", e.style.color = "#ffffff", e.style.zIndex = "9999", document.body.appendChild(e), setTimeout(function() {
4732
4752
  e.remove();
4733
4753
  }, 8e3);
4734
4754
  }
4735
- function Jt() {
4755
+ function Vt() {
4736
4756
  fe || ((fe = document.createElement("div")).style.position = "fixed", fe.style.bottom = "20px", fe.style.left = "20px", fe.style.color = "white", fe.style.textShadow = "2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000", fe.style.padding = "10px", fe.style.backgroundColor = "rgba(0, 0, 0, 0.1)", document.body.appendChild(fe));
4737
- const o = Ss();
4757
+ const o = Ks();
4738
4758
  let e = "";
4739
4759
  o.forEach((t) => {
4740
4760
  e += t + ", ";
4741
4761
  }), e = e.slice(0, -2), fe.textContent = e;
4742
4762
  }
4743
- const se = new j.Sphere(new j.Vector3(0, 0, 0), 1), _e = new j.Vector3(0, 0, 0), Kt = new j.Vector3(0, 0, 0), Fs = new j.Vector3(0, 1, 0), zt = new j.Vector2(), Ja = new j.Quaternion(), Ka = new j.Matrix4();
4744
- class da extends j.Object3D {
4763
+ const se = new j.Sphere(new j.Vector3(0, 0, 0), 1), _e = new j.Vector3(0, 0, 0), Yt = new j.Vector3(0, 0, 0), zs = new j.Vector3(0, 1, 0), Wt = new j.Vector2(), Za = new j.Quaternion(), $a = new j.Matrix4();
4764
+ class ga extends j.Object3D {
4745
4765
  constructor(e) {
4746
4766
  super();
4747
4767
  const t = this;
4748
- if (e.queryParams && (this.queryParams = { ...e.queryParams }), this.uuid = AA(), 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), t.setup(e);
4768
+ if (e.queryParams && (this.queryParams = { ...e.queryParams }), this.uuid = dA(), 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), t.setup(e);
4749
4769
  else if (e.url) {
4750
4770
  this.loadJson = (s, i) => {
4751
4771
  const n = (void 0)(i);
@@ -4767,7 +4787,7 @@ class da extends j.Object3D {
4767
4787
  if (t.json.transform && !t.centerModel && (a.elements = t.json.transform), t.applyMatrix4(a), t.parentTile && t.parentTile.matrix && (t.matrix.premultiply(t.parentTile.matrix), t.matrix.decompose(t.position, t.quaternion, t.scale)), t.matrixWorldNeedsUpdate = !0, t.updateWorldMatrix(!0, !0), t.json.boundingVolume) if (t.json.boundingVolume.box) t.boundingVolume = new Re(t.json.boundingVolume.box);
4768
4788
  else if (t.json.boundingVolume.region) {
4769
4789
  const s = t.json.boundingVolume.region;
4770
- t.transformWGS84ToCartesian(s[0], s[1], s[4], _e), t.transformWGS84ToCartesian(s[2], s[3], s[5], Kt), _e.lerp(Kt, 0.5), t.boundingVolume = new j.Sphere(new j.Vector3(_e.x, _e.y, _e.z), _e.distanceTo(Kt));
4790
+ t.transformWGS84ToCartesian(s[0], s[1], s[4], _e), t.transformWGS84ToCartesian(s[2], s[3], s[5], Yt), _e.lerp(Yt, 0.5), t.boundingVolume = new j.Sphere(new j.Vector3(_e.x, _e.y, _e.z), _e.distanceTo(Yt));
4771
4791
  } else if (t.json.boundingVolume.sphere) {
4772
4792
  const s = t.json.boundingVolume.sphere;
4773
4793
  t.boundingVolume = new j.Sphere(new j.Vector3(s[0], s[1], s[2]), s[3]);
@@ -4778,7 +4798,7 @@ class da extends j.Object3D {
4778
4798
  }
4779
4799
  if (t.json.content ? (A(t.json.content), t.load()) : t.json.contents && (t.json.contents.forEach((s) => A(s)), t.load()), t.centerModel) {
4780
4800
  const s = new j.Sphere();
4781
- t.boundingVolume instanceof Re ? s.copy(t.boundingVolume.sphere) : t.boundingVolume instanceof j.Sphere && s.copy(t.boundingVolume), this.json.boundingVolume.region && (t.transformWGS84ToCartesian(0.5 * (t.json.boundingVolume.region[0] + t.json.boundingVolume.region[2]), 0.5 * (t.json.boundingVolume.region[1] + t.json.boundingVolume.region[3]), 0.5 * (t.json.boundingVolume.region[4] + t.json.boundingVolume.region[5]), _e), Ja.setFromUnitVectors(_e.normalize(), Fs.normalize()), t.master.applyQuaternion(Ja), t.master.updateWorldMatrix(!1, !1)), Ka.makeTranslation(-s.center.x * t.scale.x, -s.center.y * t.scale.y, -s.center.z * t.scale.z), t.master.matrix.multiply(Ka), t.master.matrix.decompose(t.master.position, t.master.quaternion, t.master.scale);
4801
+ t.boundingVolume instanceof Re ? s.copy(t.boundingVolume.sphere) : t.boundingVolume instanceof j.Sphere && s.copy(t.boundingVolume), this.json.boundingVolume.region && (t.transformWGS84ToCartesian(0.5 * (t.json.boundingVolume.region[0] + t.json.boundingVolume.region[2]), 0.5 * (t.json.boundingVolume.region[1] + t.json.boundingVolume.region[3]), 0.5 * (t.json.boundingVolume.region[4] + t.json.boundingVolume.region[5]), _e), Za.setFromUnitVectors(_e.normalize(), zs.normalize()), t.master.applyQuaternion(Za), t.master.updateWorldMatrix(!1, !1)), $a.makeTranslation(-s.center.x * t.scale.x, -s.center.y * t.scale.y, -s.center.z * t.scale.z), t.master.matrix.multiply($a), t.master.matrix.decompose(t.master.position, t.master.quaternion, t.master.scale);
4782
4802
  }
4783
4803
  t.isSetup = !0, e.onLoadCallback && e.onLoadCallback(t);
4784
4804
  }
@@ -4848,7 +4868,7 @@ class da extends j.Object3D {
4848
4868
  a.isSetup && (a.materialVisibility, a.boundingVolume && a.geometricError && (a.metric = a.calculateUpdateMetric(e, t)), a.childrenTiles.forEach((s) => s._update(e, t)), A(a.metric), function(s) {
4849
4869
  s < 0 && a.hasMeshContent || (!a.hasMeshContent && a.rootPath || s < a.master.geometricErrorMultiplier * a.geometricError && a.meshContent.size > 0) && a.json && a.jsonChildren && a.childrenTiles.length != a.jsonChildren.length && a.jsonChildren.forEach((i) => {
4850
4870
  if (!(i.root || i.children || i.getChildren || i.content || i.contents)) return;
4851
- let n = new da({ parentTile: a, queryParams: a.queryParams, parentGeometricError: a.geometricError, parentBoundingVolume: a.boundingVolume, parentRefinement: a.refinement, json: i, rootPath: a.rootPath, loadOutsideView: a.loadOutsideView, level: a.level + 1, tileLoader: a.tileLoader, cameraOnLoad: e, master: a.master, centerModel: !1 });
4871
+ let n = new ga({ parentTile: a, queryParams: a.queryParams, parentGeometricError: a.geometricError, parentBoundingVolume: a.boundingVolume, parentRefinement: a.refinement, json: i, rootPath: a.rootPath, loadOutsideView: a.loadOutsideView, level: a.level + 1, tileLoader: a.tileLoader, cameraOnLoad: e, master: a.master, centerModel: !1 });
4852
4872
  a.childrenTiles.push(n);
4853
4873
  });
4854
4874
  }(a.metric), function(s) {
@@ -4894,9 +4914,9 @@ class da extends j.Object3D {
4894
4914
  let a = Math.max(0, e.position.distanceTo(se.center) - se.radius);
4895
4915
  if (a = Math.pow(a, this.distanceBias), a == 0) return 0;
4896
4916
  const A = this.matrixWorld.getMaxScaleOnAxis();
4897
- this.master._renderSize(zt);
4898
- let s = zt.y, i = e.fov;
4899
- e.aspect < 1 && (i *= e.aspect, s = zt.x);
4917
+ this.master._renderSize(Wt);
4918
+ let s = Wt.y, i = e.fov;
4919
+ e.aspect < 1 && (i *= e.aspect, s = Wt.x);
4900
4920
  let n = 2 * Math.tan(0.5 * i * 0.017453292519943295) * a;
4901
4921
  return 16 * window.devicePixelRatio * n / (s * A);
4902
4922
  }
@@ -4923,9 +4943,9 @@ class da extends j.Object3D {
4923
4943
  A.set(b, g, f);
4924
4944
  }
4925
4945
  }
4926
- class Hs extends j.Object3D {
4946
+ class er extends j.Object3D {
4927
4947
  constructor(e) {
4928
- super(), e.master = this, e.domWidth && e.domHeight ? this.rendererSize = new j.Vector2(e.domWidth, e.domHeight) : this.rendererSize = new j.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 da(e), e.static && (this.matrixAutoUpdate = !1), this.tileLoader = e.tileLoader;
4948
+ super(), e.master = this, e.domWidth && e.domHeight ? this.rendererSize = new j.Vector2(e.domWidth, e.domHeight) : this.rendererSize = new j.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;
4929
4949
  }
4930
4950
  _renderSize(e) {
4931
4951
  this.renderer ? this.renderer.getDrawingBufferSize(e) : e.copy(this.rendererSize);
@@ -4944,7 +4964,7 @@ class Hs extends j.Object3D {
4944
4964
  this.geometricErrorMultiplier = e || 1;
4945
4965
  }
4946
4966
  }
4947
- class Ls {
4967
+ class Vs {
4948
4968
  constructor(e) {
4949
4969
  const t = this;
4950
4970
  t.scene = e, t.instancedTiles = [], t.instancedMesh, t.reuseableMatrix = new j.Matrix4();
@@ -4985,7 +5005,7 @@ class Ls {
4985
5005
  }), e.instancedMesh.dispose(), !0);
4986
5006
  }
4987
5007
  }
4988
- class Us {
5008
+ class Ys {
4989
5009
  constructor() {
4990
5010
  const e = this;
4991
5011
  e.count = 0, e.json, e.instancedTiles = [];
@@ -5010,11 +5030,11 @@ class Us {
5010
5030
  }
5011
5031
  }
5012
5032
  let Ve = 0;
5013
- class Os {
5033
+ class tr {
5014
5034
  constructor(e, t) {
5015
- if (this.zUpToYUpMatrix = new j.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 = t.proxy, t && (this.meshCallback = t.meshCallback, this.pointsCallback = t.pointsCallback, t.maxCachedItems && (this.maxCachedItems = t.maxCachedItems), t.maxInstances && (this.maxInstances = t.maxInstances)), this.gltfLoader = new iA(), t && t.dracoLoader) this.gltfLoader.setDRACOLoader(t.dracoLoader), this.hasDracoLoader = !0;
5035
+ if (this.zUpToYUpMatrix = new j.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 = t.proxy, t && (this.meshCallback = t.meshCallback, this.pointsCallback = t.pointsCallback, t.maxCachedItems && (this.maxCachedItems = t.maxCachedItems), t.maxInstances && (this.maxInstances = t.maxInstances)), this.gltfLoader = new hA(), t && t.dracoLoader) this.gltfLoader.setDRACOLoader(t.dracoLoader), this.hasDracoLoader = !0;
5016
5036
  else {
5017
- const a = new nA();
5037
+ const a = new gA();
5018
5038
  a.setDecoderPath("https://www.gstatic.com/draco/versioned/decoders/1.4.3/"), this.gltfLoader.setDRACOLoader(a), this.gltfLoader.hasDracoLoader = !0;
5019
5039
  }
5020
5040
  if (t && t.ktx2Loader) this.gltfLoader.setKTX2Loader(t.ktx2Loader), this.hasKTX2Loader = !0;
@@ -5022,7 +5042,7 @@ class Os {
5022
5042
  const a = new re();
5023
5043
  a.setTranscoderPath("https://storage.googleapis.com/ogc-3d-tiles/basis/").detectSupport(t.renderer), this.gltfLoader.setKTX2Loader(a), this.gltfLoader.hasKTX2Loader = !0;
5024
5044
  }
5025
- this.gltfLoader.setMeshoptDecoder(QA), this.hasMeshOptDecoder = !0, this.b3dmDecoder = new aA(this.gltfLoader), this.cache = new eA.LinkedHashMap(), this.scene = e, this.ready = [], this.downloads = [], this.nextReady = [], this.nextDownloads = [];
5045
+ this.gltfLoader.setMeshoptDecoder(RA), this.hasMeshOptDecoder = !0, this.b3dmDecoder = new cA(this.gltfLoader), this.cache = new nA.LinkedHashMap(), this.scene = e, this.ready = [], this.downloads = [], this.nextReady = [], this.nextDownloads = [];
5026
5046
  }
5027
5047
  update() {
5028
5048
  const e = this;
@@ -5048,7 +5068,7 @@ class Os {
5048
5068
  if (!A.ok) throw new Error("missing content");
5049
5069
  return A.arrayBuffer();
5050
5070
  }).then(async (A) => {
5051
- await Gs(this.gltfLoader), this.gltfLoader.parse(A, null, (s) => {
5071
+ await Ws(this.gltfLoader), this.gltfLoader.parse(A, null, (s) => {
5052
5072
  let i;
5053
5073
  s.scene.asset = s.asset, a.sceneZupToYup && s.scene.applyMatrix4(this.zUpToYUpMatrix), s.scene.traverse((n) => {
5054
5074
  n.geometricError = a.geometricError, n.isMesh && (a.meshZupToYup && n.applyMatrix4(this.zUpToYUpMatrix), e.meshCallback && e.meshCallback(n, n.geometricError)), n.isPoints && console.error("instanced point cloud is not supported");
@@ -5068,7 +5088,7 @@ class Os {
5068
5088
  t = e.proxy ? () => fetch(e.proxy, { method: "POST", body: a.path }) : () => fetch(a.path), Ve++, t().then((A) => {
5069
5089
  if (!A.ok) throw console.error("could not load tile with path : " + a.path), new Error(`couldn't load "${a.path}". Request failed with status ${A.status} : ${A.statusText}`);
5070
5090
  return A.json();
5071
- }).then((A) => ca(A, a.path)).then((A) => {
5091
+ }).then((A) => ba(A, a.path)).then((A) => {
5072
5092
  a.tile.setObject(A, a.path), e.ready.unshift(a);
5073
5093
  }).catch((A) => console.error(A)).finally(() => {
5074
5094
  Ve--;
@@ -5098,27 +5118,27 @@ class Os {
5098
5118
  }
5099
5119
  get(e, t, a, A, s, i, n, l, h, b) {
5100
5120
  const g = this, f = function(u) {
5101
- for (var p = u.split("/"), m = [], E = 0, C = 0; C < p.length; C++) {
5102
- var x = p[C];
5103
- x !== "." && x !== "" && x !== ".." ? m[E++] = x : x === ".." && E > 0 && E--;
5121
+ for (var p = u.split("/"), m = [], C = 0, E = 0; E < p.length; E++) {
5122
+ var x = p[E];
5123
+ x !== "." && x !== "" && x !== ".." ? m[C++] = x : x === ".." && C > 0 && C--;
5104
5124
  }
5105
- if (E === 0) return "/";
5125
+ if (C === 0) return "/";
5106
5126
  var w = "";
5107
- for (C = 0; C < E; C++) w += "/" + m[C];
5127
+ for (E = 0; E < C; E++) w += "/" + m[E];
5108
5128
  return w;
5109
5129
  }(t);
5110
5130
  if (!(t.includes(".b3dm") || t.includes(".json") || t.includes(".glb") || t.includes(".gltf"))) return void console.error("the 3DTiles cache can only be used to load B3DM, gltf and json data");
5111
5131
  const I = g.cache.get(f);
5112
5132
  if (I) I.addInstance(A);
5113
5133
  else if (t.includes(".b3dm") || t.includes(".glb") || t.includes(".gltf")) {
5114
- const u = new Ls(g.scene);
5134
+ const u = new Vs(g.scene);
5115
5135
  u.addInstance(A), g.cache.put(f, u);
5116
5136
  const p = new AbortController();
5117
5137
  e.signal.addEventListener("abort", () => {
5118
5138
  u.getCount() == 0 && p.abort();
5119
5139
  }), this.downloads.push({ abortController: p, tile: u, key: f, path: t, distanceFunction: s, getSiblings: i, level: n, uuid: a, sceneZupToYup: l, meshZupToYup: h, geometricError: b, shouldDoDownload: () => !0 });
5120
5140
  } else if (t.includes(".json")) {
5121
- const u = new Us();
5141
+ const u = new Ys();
5122
5142
  u.addInstance(A), g.cache.put(f, u);
5123
5143
  const p = new AbortController();
5124
5144
  e.signal.addEventListener("abort", () => {
@@ -5155,7 +5175,7 @@ class Os {
5155
5175
  }
5156
5176
  }
5157
5177
  }
5158
- async function Gs(o) {
5178
+ async function Ws(o) {
5159
5179
  return new Promise((e) => {
5160
5180
  const t = setInterval(() => {
5161
5181
  o.hasDracoLoader && !o.dracoLoader || o.hasKTX2Loader && !o.ktx2Loader || (clearInterval(t), e());
@@ -5163,11 +5183,11 @@ async function Gs(o) {
5163
5183
  });
5164
5184
  }
5165
5185
  export {
5166
- Hs as InstancedOGC3DTile,
5167
- Os as InstancedTileLoader,
5168
- DA as OGC3DTile,
5169
- Ps as OcclusionCullingService,
5170
- ks as TileLoader,
5171
- Ss as getOGC3DTilesCopyrightInfo
5186
+ er as InstancedOGC3DTile,
5187
+ tr as InstancedTileLoader,
5188
+ FA as OGC3DTile,
5189
+ $s as OcclusionCullingService,
5190
+ Ns as TileLoader,
5191
+ Ks as getOGC3DTilesCopyrightInfo
5172
5192
  };
5173
5193
  //# sourceMappingURL=threedtiles.es.js.map