aptechka 0.4.43 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/en3/index.js CHANGED
@@ -1,26 +1,26 @@
1
- var Qs = Object.defineProperty, hs = Object.defineProperties;
2
- var ls = Object.getOwnPropertyDescriptors;
3
- var Qt = Object.getOwnPropertySymbols;
4
- var ds = Object.prototype.hasOwnProperty, us = Object.prototype.propertyIsEnumerable;
5
- var ht = (C, A, e) => A in C ? Qs(C, A, { enumerable: !0, configurable: !0, writable: !0, value: e }) : C[A] = e, sA = (C, A) => {
1
+ var is = Object.defineProperty, os = Object.defineProperties;
2
+ var Bs = Object.getOwnPropertyDescriptors;
3
+ var nt = Object.getOwnPropertySymbols;
4
+ var rs = Object.prototype.hasOwnProperty, Cs = Object.prototype.propertyIsEnumerable;
5
+ var it = (a, A, e) => A in a ? is(a, A, { enumerable: !0, configurable: !0, writable: !0, value: e }) : a[A] = e, FA = (a, A) => {
6
6
  for (var e in A || (A = {}))
7
- ds.call(A, e) && ht(C, e, A[e]);
8
- if (Qt)
9
- for (var e of Qt(A))
10
- us.call(A, e) && ht(C, e, A[e]);
11
- return C;
12
- }, we = (C, A) => hs(C, ls(A));
13
- var be = (C, A, e) => {
14
- if (!A.has(C))
7
+ rs.call(A, e) && it(a, e, A[e]);
8
+ if (nt)
9
+ for (var e of nt(A))
10
+ Cs.call(A, e) && it(a, e, A[e]);
11
+ return a;
12
+ }, ue = (a, A) => os(a, Bs(A));
13
+ var ye = (a, A, e) => {
14
+ if (!A.has(a))
15
15
  throw TypeError("Cannot " + e);
16
16
  };
17
- var g = (C, A, e) => (be(C, A, "read from private field"), e ? e.call(C) : A.get(C)), f = (C, A, e) => {
18
- if (A.has(C))
17
+ var g = (a, A, e) => (ye(a, A, "read from private field"), e ? e.call(a) : A.get(a)), F = (a, A, e) => {
18
+ if (A.has(a))
19
19
  throw TypeError("Cannot add the same private member more than once");
20
- A instanceof WeakSet ? A.add(C) : A.set(C, e);
21
- }, G = (C, A, e, s) => (be(C, A, "write to private field"), s ? s.call(C, e) : A.set(C, e), e);
22
- var hA = (C, A, e) => (be(C, A, "access private method"), e);
23
- var PA = (C, A, e) => new Promise((s, t) => {
20
+ A instanceof WeakSet ? A.add(a) : A.set(a, e);
21
+ }, G = (a, A, e, s) => (ye(a, A, "write to private field"), s ? s.call(a, e) : A.set(a, e), e);
22
+ var fe = (a, A, e) => (ye(a, A, "access private method"), e);
23
+ var KA = (a, A, e) => new Promise((s, t) => {
24
24
  var n = (o) => {
25
25
  try {
26
26
  B(e.next(o));
@@ -34,19 +34,20 @@ var PA = (C, A, e) => new Promise((s, t) => {
34
34
  t(r);
35
35
  }
36
36
  }, B = (o) => o.done ? s(o.value) : Promise.resolve(o.value).then(n, i);
37
- B((e = e.apply(C, A)).next());
37
+ B((e = e.apply(a, A)).next());
38
38
  });
39
- import { Ladder as lt } from "../ladder/index.js";
40
- import { LayoutBox as kt } from "../layout-box/index.js";
41
- import { RESIZE_ORDER as bt, TICK_ORDER as rt } from "../order/index.js";
42
- import { windowResizer as kA } from "../window-resizer/index.js";
43
- import { ticker as bA } from "../ticker/index.js";
44
- import { Mesh as Re, Vector2 as at, Raycaster as fs, REVISION as Ds, OrthographicCamera as Te, PerspectiveCamera as At, Scene as Fs, WebGLRenderer as Gs, TextureLoader as Kt, TrianglesDrawMode as Rs, TriangleFanDrawMode as et, TriangleStripDrawMode as Ot, Loader as Ct, LoaderUtils as jA, FileLoader as DA, Color as cA, LinearSRGBColorSpace as _, SpotLight as ps, PointLight as ms, DirectionalLight as Ms, MeshBasicMaterial as vA, SRGBColorSpace as AA, MeshPhysicalMaterial as eA, Matrix4 as KA, Vector3 as y, Quaternion as It, InstancedMesh as ws, InstancedBufferAttribute as ys, Object3D as gt, ImageBitmapLoader as Ss, BufferAttribute as ZA, InterleavedBuffer as Ls, InterleavedBufferAttribute as Hs, LinearFilter as Ue, LinearMipmapLinearFilter as Et, RepeatWrapping as tt, PointsMaterial as Js, Material as Ke, LineBasicMaterial as Ts, MeshStandardMaterial as _t, DoubleSide as Us, PropertyBinding as Ns, BufferGeometry as Pt, SkinnedMesh as xs, LineSegments as ks, Line as bs, LineLoop as Ks, Points as Os, Group as zA, MathUtils as _s, Skeleton as Ps, AnimationClip as Ys, Bone as qs, InterpolateLinear as Yt, ColorManagement as dt, NearestFilter as Xs, NearestMipmapNearestFilter as vs, LinearMipmapNearestFilter as Ws, NearestMipmapLinearFilter as Vs, ClampToEdgeWrapping as js, MirroredRepeatWrapping as Zs, InterpolateDiscrete as zs, FrontSide as $s, Texture as ut, VectorKeyframeTrack as ft, NumberKeyframeTrack as Dt, QuaternionKeyframeTrack as Ft, Box3 as An, Sphere as en, Interpolant as tn, CompressedCubeTexture as sn, UnsignedByteType as O, CompressedArrayTexture as nn, CompressedTexture as qt, RGBAFormat as GA, RGBA_ASTC_4x4_Format as on, RGBA_BPTC_Format as Bn, RGBA_ETC2_EAC_Format as rn, RGBA_PVRTC_4BPPV1_Format as an, RGBA_S3TC_DXT5_Format as Cn, RGB_ETC1_Format as In, RGB_ETC2_Format as gn, RGB_PVRTC_4BPPV1_Format as En, RGB_S3TC_DXT1_Format as cn, FloatType as He, HalfFloatType as Je, DataTexture as Qn, Data3DTexture as hn, DisplayP3ColorSpace as ln, LinearDisplayP3ColorSpace as dn, NoColorSpace as Gt, RGFormat as WA, RedFormat as VA, RGBA_ASTC_6x6_Format as Rt, Plane as ye, PlaneHelper as Se, BoxGeometry as un, VideoTexture as fn } from "three";
45
- import { loading as Oe } from "../loading/index.js";
46
- import { S as Dn } from "../SourceManager-D_8MZ3bR.js";
39
+ import { RESIZE_ORDER as Mt, TICK_ORDER as ze } from "../order/index.js";
40
+ import { windowResizer as UA } from "../window-resizer/index.js";
41
+ import { ticker as NA } from "../ticker/index.js";
42
+ import { g as wt } from "../dom-0S_WDL4g.js";
47
43
  import "../path-data-polyfill-DgeDWYeI.js";
48
- import { S as pt } from "../Store-Cd-E5W1z.js";
49
- function Xt(C) {
44
+ import { Mesh as Qe, OrthographicCamera as me, PerspectiveCamera as qe, Scene as as, REVISION as Is, WebGLRenderer as gs, TextureLoader as St, TrianglesDrawMode as Es, TriangleFanDrawMode as Xe, TriangleStripDrawMode as yt, Loader as $e, LoaderUtils as vA, FileLoader as fA, Color as EA, LinearSRGBColorSpace as _, SpotLight as cs, PointLight as Qs, DirectionalLight as hs, MeshBasicMaterial as YA, SRGBColorSpace as $, MeshPhysicalMaterial as AA, Vector2 as Lt, Matrix4 as xA, Vector3 as w, Quaternion as At, InstancedMesh as ls, InstancedBufferAttribute as ds, Object3D as et, ImageBitmapLoader as us, BufferAttribute as WA, InterleavedBuffer as fs, InterleavedBufferAttribute as Ds, LinearFilter as Me, LinearMipmapLinearFilter as tt, RepeatWrapping as ve, PointsMaterial as Fs, Material as Le, LineBasicMaterial as Gs, MeshStandardMaterial as Jt, DoubleSide as Rs, PropertyBinding as ps, BufferGeometry as Ht, SkinnedMesh as ms, LineSegments as Ms, Line as ws, LineLoop as Ss, Points as ys, Group as VA, MathUtils as Ls, Skeleton as Js, AnimationClip as Hs, Bone as Ts, InterpolateLinear as Tt, ColorManagement as ot, NearestFilter as Us, NearestMipmapNearestFilter as Ns, LinearMipmapNearestFilter as xs, NearestMipmapLinearFilter as ks, ClampToEdgeWrapping as bs, MirroredRepeatWrapping as Ks, InterpolateDiscrete as Os, FrontSide as _s, Texture as Bt, VectorKeyframeTrack as rt, NumberKeyframeTrack as Ct, QuaternionKeyframeTrack as at, Box3 as Ps, Sphere as Ys, Interpolant as qs, CompressedCubeTexture as Xs, UnsignedByteType as O, CompressedArrayTexture as vs, CompressedTexture as Ut, RGBAFormat as GA, RGBA_ASTC_4x4_Format as Ws, RGBA_BPTC_Format as Vs, RGBA_ETC2_EAC_Format as js, RGBA_PVRTC_4BPPV1_Format as Zs, RGBA_S3TC_DXT5_Format as zs, RGB_ETC1_Format as $s, RGB_ETC2_Format as An, RGB_PVRTC_4BPPV1_Format as en, RGB_S3TC_DXT1_Format as tn, FloatType as Re, HalfFloatType as pe, DataTexture as sn, Data3DTexture as nn, DisplayP3ColorSpace as on, LinearDisplayP3ColorSpace as Bn, NoColorSpace as It, RGFormat as qA, RedFormat as XA, RGBA_ASTC_6x6_Format as gt, Plane as De, PlaneHelper as Fe, BoxGeometry as rn, VideoTexture as Cn } from "three";
45
+ import { LayoutBox as Nt } from "../layout-box/index.js";
46
+ import { a as an, g as In } from "../layout-HoBT_Da2.js";
47
+ import { loading as Je } from "../loading/index.js";
48
+ import { S as gn } from "../SourceManager-D_8MZ3bR.js";
49
+ import { S as Et } from "../Store-Cd-E5W1z.js";
50
+ function xt(a) {
50
51
  const A = (e) => {
51
52
  e.dispose();
52
53
  for (const s of Object.keys(e)) {
@@ -54,8 +55,8 @@ function Xt(C) {
54
55
  t && typeof t == "object" && "minFilter" in t && t.dispose();
55
56
  }
56
57
  };
57
- C.traverse((e) => {
58
- if (e instanceof Re) {
58
+ a.traverse((e) => {
59
+ if (e instanceof Qe) {
59
60
  if (e.geometry.dispose(), !Array.isArray(e.material) && e.material.isMaterial)
60
61
  A(e.material);
61
62
  else if (Array.isArray(e.material))
@@ -64,307 +65,237 @@ function Xt(C) {
64
65
  }
65
66
  });
66
67
  }
67
- var pA, $A, Ae, oA, ee;
68
- class Fn {
69
- constructor(A) {
70
- f(this, pA, void 0);
71
- f(this, $A, void 0);
72
- f(this, Ae, void 0);
73
- f(this, oA, void 0);
74
- f(this, ee, void 0);
75
- G(this, pA, A.targetName || void 0), G(this, $A, A.eventDispatcher || A.object3D), G(this, Ae, A.propagation || !1), G(this, oA, A.object3D), G(this, ee, g(this, pA) ? () => g(this, oA).getObjectByName(g(this, pA)) || g(this, oA) : () => g(this, oA));
76
- }
77
- get object3D() {
68
+ var jA, L, hA, nA, iA, pA, j, oA, Z, ZA, zA;
69
+ class ct {
70
+ constructor(A, e) {
71
+ F(this, jA, void 0);
72
+ F(this, L, void 0);
73
+ F(this, hA, void 0);
74
+ F(this, nA, void 0);
75
+ F(this, iA, void 0);
76
+ F(this, pA, void 0);
77
+ F(this, j, void 0);
78
+ F(this, oA, 0);
79
+ F(this, Z, 0);
80
+ F(this, ZA, 0);
81
+ F(this, zA, 0);
82
+ G(this, jA, A), G(this, L, (e == null ? void 0 : e.cameraType) === "orthographic" ? new me() : new qe()), G(this, hA, new as()), G(this, nA, []), G(this, iA, (e == null ? void 0 : e.cameraDistance) || 1e3), g(this, L).near = (e == null ? void 0 : e.cameraNear) || 1, g(this, L).far = (e == null ? void 0 : e.cameraFar) || 11e3, G(this, pA, (e == null ? void 0 : e.cameraFov) || "auto"), G(this, j, wt(e == null ? void 0 : e.sizeElement) || document.documentElement), this.beforeRenderCallback = e == null ? void 0 : e.beforeRender;
83
+ }
84
+ get name() {
85
+ return g(this, jA);
86
+ }
87
+ get camera() {
88
+ return g(this, L);
89
+ }
90
+ get scene() {
91
+ return g(this, hA);
92
+ }
93
+ get width() {
78
94
  return g(this, oA);
79
95
  }
80
- get eventDispatcher() {
81
- return g(this, $A);
96
+ get height() {
97
+ return g(this, Z);
82
98
  }
83
- get propagation() {
84
- return g(this, Ae);
99
+ get top() {
100
+ return g(this, ZA);
85
101
  }
86
- get target() {
87
- return g(this, ee).call(this);
102
+ get left() {
103
+ return g(this, zA);
88
104
  }
89
- dispatch(A, e) {
90
- this.eventDispatcher.dispatchEvent(sA({
91
- originalEvent: e,
92
- type: A
93
- }, this.intersection));
105
+ get cameraDistance() {
106
+ return g(this, iA);
94
107
  }
95
- }
96
- pA = new WeakMap(), $A = new WeakMap(), Ae = new WeakMap(), oA = new WeakMap(), ee = new WeakMap();
97
- var BA, T, mA, te, se, ne, ie;
98
- class Gn {
99
- constructor() {
100
- f(this, BA, []);
101
- f(this, T, []);
102
- f(this, mA, new at());
103
- f(this, te, new fs());
104
- f(this, se, (A) => {
105
- for (let e = 0; e < g(this, T).length; e++)
106
- g(this, T)[e].dispatch("en3PointerDown", A);
107
- });
108
- f(this, ne, (A) => {
109
- for (let e = 0; e < g(this, T).length; e++)
110
- g(this, T)[e].dispatch("en3PointerUp", A);
111
- });
112
- f(this, ie, (A) => {
113
- g(this, mA).x = A.clientX / M.width * 2 - 1, g(this, mA).y = -(A.clientY / M.height) * 2 + 1, M.camera && g(this, te).setFromCamera(g(this, mA), M.camera);
114
- const e = [];
115
- for (const o of g(this, BA)) {
116
- const r = g(this, te).intersectObject(o.target);
117
- r.length && (o.intersection = r[0], e.push(o));
118
- }
119
- let s = !1;
120
- const t = g(this, T).filter(
121
- (o) => !e.find((r) => r.object3D.uuid === o.object3D.uuid)
122
- ), i = e.sort(
123
- (o, r) => r.object3D.position.z - o.object3D.position.z
124
- ).filter((o, r) => s ? (t.push(o), !1) : (s = !o.propagation, !0)), B = i.filter(
125
- (o) => !g(this, T).find((r) => r.object3D.uuid === o.object3D.uuid)
126
- );
127
- for (let o = 0; o < t.length; o++)
128
- t[o].dispatch("en3PointerLeave", A);
129
- for (let o = 0; o < B.length; o++)
130
- B[o].dispatch("en3PointerEnter", A);
131
- G(this, T, i);
132
- for (let o = 0; o < g(this, T).length; o++)
133
- g(this, T)[o].dispatch("en3PointerMove", A);
134
- });
135
- M.containerElement.addEventListener(
136
- "pointerdown",
137
- g(this, se)
138
- ), M.containerElement.addEventListener("pointerup", g(this, ne)), M.containerElement.addEventListener(
139
- "pointermove",
140
- g(this, ie)
141
- );
108
+ set cameraDistance(A) {
109
+ G(this, iA, A), this.resize();
110
+ }
111
+ resize() {
112
+ G(this, oA, g(this, j).offsetWidth), G(this, Z, g(this, j).offsetHeight), G(this, ZA, an(g(this, j))), G(this, zA, In(g(this, j))), g(this, L).position.z = g(this, iA), g(this, L) instanceof qe ? (g(this, L).aspect = g(this, oA) / g(this, Z), g(this, L).fov = g(this, pA) === "auto" ? 2 * Math.atan(g(this, Z) / 2 / g(this, iA)) * (180 / Math.PI) : g(this, pA)) : g(this, L) instanceof me && (g(this, L).left = g(this, oA) / -2, g(this, L).right = g(this, oA) / 2, g(this, L).top = g(this, Z) / 2, g(this, L).bottom = g(this, Z) / -2), g(this, L).updateProjectionMatrix();
142
113
  }
143
114
  destroy() {
144
- M.containerElement.removeEventListener(
145
- "pointerdown",
146
- g(this, se)
147
- ), M.containerElement.removeEventListener(
148
- "pointerup",
149
- g(this, ne)
150
- ), M.containerElement.removeEventListener(
151
- "pointermove",
152
- g(this, ie)
153
- );
115
+ g(this, nA).forEach((A) => {
116
+ A.userData.box.destroy();
117
+ }), g(this, hA).clear(), xt(g(this, hA)), K.removeView(this);
154
118
  }
155
- add(A, e) {
156
- if (g(this, BA).find((t) => t.object3D.uuid === A.uuid))
157
- return;
158
- const s = new Fn(sA({
159
- object3D: A
160
- }, e));
161
- g(this, BA).push(s);
119
+ attachToHTMLElement(A, e, s) {
120
+ const t = new Nt(A, ue(FA({}, s), {
121
+ containerElement: g(this, j),
122
+ cartesian: !0
123
+ }));
124
+ return t.bindObject(e), e.userData.box = t, g(this, nA).push(e), e;
125
+ }
126
+ detachFromHTMLElement(A) {
127
+ G(this, nA, g(this, nA).filter((e) => e === A ? (A.userData.box.destroy(), !1) : !0));
162
128
  }
163
- remove(A) {
164
- G(this, BA, g(this, BA).filter(
165
- (e) => e.object3D.uuid !== A.uuid
166
- )), G(this, T, g(this, T).filter((e) => e.object3D.uuid !== A.uuid));
129
+ add(...A) {
130
+ const e = A[0], s = A[1], t = A[2];
131
+ return this.scene.add(e), s ? this.attachToHTMLElement(s, e, t) : e;
132
+ }
133
+ remove(A, e) {
134
+ this.scene.remove(A), e && this.detachFromHTMLElement(A);
167
135
  }
168
136
  }
169
- BA = new WeakMap(), T = new WeakMap(), mA = new WeakMap(), te = new WeakMap(), se = new WeakMap(), ne = new WeakMap(), ie = new WeakMap();
170
- var Ne, rA, U, q, MA, wA, aA, K, yA, SA, z, X, LA, oe, Be, dA, xe, vt, re, st, ae, Ce;
171
- class Rn {
137
+ jA = new WeakMap(), L = new WeakMap(), hA = new WeakMap(), nA = new WeakMap(), iA = new WeakMap(), pA = new WeakMap(), j = new WeakMap(), oA = new WeakMap(), Z = new WeakMap(), ZA = new WeakMap(), zA = new WeakMap();
138
+ var we, BA, S, U, mA, MA, wA, $A, lA, Ae, ee;
139
+ class En {
172
140
  constructor() {
173
- f(this, xe);
174
- f(this, re);
175
- f(this, Ne, `https://unpkg.com/three@0.${Ds}.x`);
176
- f(this, rA, null);
177
- f(this, U, null);
178
- f(this, q, null);
179
- f(this, MA, null);
180
- f(this, wA, null);
181
- f(this, aA, []);
182
- f(this, K, new lt({
183
- x: 0,
184
- y: 0,
185
- z: 0
186
- }));
187
- f(this, yA, new lt({
188
- x: 0,
189
- y: 0,
190
- z: 0
191
- }));
192
- f(this, SA, "auto");
193
- f(this, z, 0);
194
- f(this, X, 0);
195
- f(this, LA, 0);
196
- f(this, oe, 2);
197
- f(this, Be, !0);
198
- f(this, dA, !1);
199
- f(this, ae, () => {
141
+ F(this, we, `https://unpkg.com/three@0.${Is}.x`);
142
+ F(this, BA, null);
143
+ F(this, S, null);
144
+ F(this, U, /* @__PURE__ */ new Map());
145
+ F(this, mA, 0);
146
+ F(this, MA, 0);
147
+ F(this, wA, 0);
148
+ F(this, $A, 2);
149
+ F(this, lA, !1);
150
+ F(this, Ae, () => {
200
151
  var A;
201
- G(this, z, g(this, rA).clientWidth), G(this, X, g(this, rA).clientHeight), G(this, LA, Math.min(g(this, oe), devicePixelRatio || 1)), g(this, U).setPixelRatio(g(this, LA)), g(this, U).setSize(g(this, z), g(this, X)), hA(this, re, st).call(this), (A = this.onResize) == null || A.call(this);
152
+ G(this, mA, g(this, BA).clientWidth), G(this, MA, g(this, BA).clientHeight), G(this, wA, Math.min(g(this, $A), devicePixelRatio || 1)), g(this, S).setPixelRatio(g(this, wA)), g(this, S).setSize(g(this, mA), g(this, MA)), g(this, U).forEach((e) => {
153
+ e.resize();
154
+ }), (A = this.onResize) == null || A.call(this);
202
155
  });
203
- f(this, Ce, () => {
204
- hA(this, xe, vt).call(this), this.render(g(this, MA), g(this, q));
156
+ F(this, ee, () => {
157
+ g(this, S).setRenderTarget(null), g(this, U).forEach((A) => {
158
+ this.render(A);
159
+ });
205
160
  });
206
161
  }
207
162
  get CDNVersion() {
208
- return g(this, Ne);
163
+ return g(this, we);
209
164
  }
210
165
  get containerElement() {
211
- return g(this, rA);
166
+ return g(this, BA);
212
167
  }
213
168
  get webglRenderer() {
214
- return g(this, U);
215
- }
216
- get camera() {
217
- return g(this, q);
218
- }
219
- get scene() {
220
- return g(this, MA);
221
- }
222
- get raycaster() {
223
- return g(this, wA);
224
- }
225
- get attachedObjects() {
226
- return g(this, aA);
169
+ return g(this, S);
227
170
  }
228
- get cameraPosition() {
229
- return g(this, K);
171
+ get views() {
172
+ return g(this, U);
230
173
  }
231
- get cameraRotation() {
232
- return g(this, yA);
174
+ get view() {
175
+ return this.getView("default");
233
176
  }
234
177
  get width() {
235
- return g(this, z);
178
+ return g(this, mA);
236
179
  }
237
180
  get height() {
238
- return g(this, X);
181
+ return g(this, MA);
239
182
  }
240
183
  get pixelRatio() {
241
- return g(this, LA);
242
- }
243
- get cameraDistance() {
244
- return g(this, K).getStepValue("_initial").z;
245
- }
246
- set cameraDistance(A) {
247
- g(this, K).setStep("_initial", "+", {
248
- z: A
249
- }), g(this, K).calculate(), hA(this, re, st).call(this);
250
- }
251
- attachToHTMLElement(A, e, s) {
252
- const t = new kt(A, we(sA({}, s), {
253
- containerElement: this.containerElement,
254
- cartesian: !0
255
- }));
256
- return t.bindObject(e), e.userData.box = t, g(this, aA).push(e), e;
257
- }
258
- detachFromHTMLElement(A) {
259
- G(this, aA, g(this, aA).filter((e) => e === A ? (A.userData.box.destroy(), !1) : !0));
260
- }
261
- add(...A) {
262
- const e = A[0], s = A[1], t = A[2];
263
- return this.scene.add(e), s ? this.attachToHTMLElement(s, e, t) : e;
264
- }
265
- remove(A, e) {
266
- this.scene.remove(A), e && this.detachFromHTMLElement(A);
184
+ return g(this, wA);
267
185
  }
268
186
  setup(A) {
269
- if (g(this, dA)) {
187
+ if (g(this, lA)) {
270
188
  console.warn("[en3.setup]: You are trying to setup en3 again.");
271
189
  return;
272
190
  }
273
- G(this, rA, (A == null ? void 0 : A.containerElement) || document.body), G(this, q, (A == null ? void 0 : A.cameraType) === "orthographic" ? new Te() : new At()), g(this, K).bind(g(this, q).position), g(this, yA).bind(g(this, q).rotation), g(this, K).setStep("_initial", "+", {
274
- z: (A == null ? void 0 : A.cameraDistance) || 1e3
275
- }), g(this, K).calculate(), g(this, q).near = (A == null ? void 0 : A.cameraNear) || 1, g(this, q).far = (A == null ? void 0 : A.cameraFar) || 11e3, G(this, SA, (A == null ? void 0 : A.cameraFov) || "auto"), G(this, MA, new Fs()), G(this, oe, (A == null ? void 0 : A.maxPixelRatio) || 2), G(this, Be, (A == null ? void 0 : A.cameraAutoUpdate) !== !1), G(this, U, new Gs(A == null ? void 0 : A.webGLRendererParameters)), g(this, U).domElement.style.cssText = `
191
+ G(this, BA, wt(A == null ? void 0 : A.containerElement) || document.body), G(this, $A, (A == null ? void 0 : A.maxPixelRatio) || 2), G(this, S, new gs(A == null ? void 0 : A.webGLRendererParameters)), g(this, S).domElement.style.cssText = `
276
192
  position: fixed;
277
193
  left: 0;
278
194
  top: 0;
279
195
  width: 100%;
280
196
  height: 100%;
281
197
  z-index: -1;
282
- `, g(this, rA).append(g(this, U).domElement), G(this, wA, new Gn()), G(this, dA, !0), kA.subscribe(g(this, ae), bt.EN3), bA.subscribe(g(this, Ce), { order: rt.EN3 });
198
+ `, g(this, BA).append(g(this, S).domElement), g(this, U).set("default", new ct("default", A == null ? void 0 : A.view)), G(this, lA, !0), UA.subscribe(g(this, Ae), Mt.EN3), NA.subscribe(g(this, ee), { order: ze.EN3 });
283
199
  }
284
200
  destroy() {
285
- if (!g(this, dA)) {
201
+ if (!g(this, lA)) {
286
202
  console.warn(
287
203
  "[en3.setup]: You are trying to destory en3 but it has not been initialized."
288
204
  );
289
205
  return;
290
206
  }
291
- g(this, aA).forEach((A) => {
292
- A.userData.box.destroy();
293
- }), kA.unsubscribe(g(this, ae)), bA.unsubscribe(g(this, Ce)), this.scene.clear(), Xt(this.scene), g(this, U).dispose(), g(this, U).domElement.remove(), G(this, U, null), g(this, wA).destroy(), G(this, dA, !1);
294
- }
295
- render(A, e) {
296
- g(this, U).setRenderTarget(null), g(this, U).render(A, e);
297
- }
298
- }
299
- Ne = new WeakMap(), rA = new WeakMap(), U = new WeakMap(), q = new WeakMap(), MA = new WeakMap(), wA = new WeakMap(), aA = new WeakMap(), K = new WeakMap(), yA = new WeakMap(), SA = new WeakMap(), z = new WeakMap(), X = new WeakMap(), LA = new WeakMap(), oe = new WeakMap(), Be = new WeakMap(), dA = new WeakMap(), xe = new WeakSet(), vt = function() {
300
- g(this, Be) && (g(this, K).calculate(), g(this, yA).calculate());
301
- }, re = new WeakSet(), st = function() {
302
- this.camera instanceof At ? (this.camera.aspect = g(this, z) / g(this, X), this.camera.fov = g(this, SA) === "auto" ? 2 * Math.atan(
303
- g(this, X) / 2 / g(this, K).getStepValue("_initial").z
304
- ) * (180 / Math.PI) : g(this, SA)) : this.camera instanceof Te && (this.camera.left = g(this, z) / -2, this.camera.right = g(this, z) / 2, this.camera.top = g(this, X) / 2, this.camera.bottom = g(this, X) / -2), this.camera.updateProjectionMatrix();
305
- }, ae = new WeakMap(), Ce = new WeakMap();
306
- const M = new Rn(), pn = new Kt();
307
- function mt(C, A) {
308
- if (A === Rs)
309
- return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."), C;
310
- if (A === et || A === Ot) {
311
- let e = C.getIndex();
207
+ UA.unsubscribe(g(this, Ae)), NA.unsubscribe(g(this, ee)), g(this, U).forEach((A) => {
208
+ A.destroy();
209
+ }), g(this, S).dispose(), g(this, S).domElement.remove(), G(this, S, null), G(this, lA, !1);
210
+ }
211
+ createView(A, e) {
212
+ const s = g(this, U).size, t = new ct(A, e);
213
+ return g(this, U).set(A, t), t.resize(), s <= 1 && g(this, S).setScissorTest(!0), t;
214
+ }
215
+ getView(A) {
216
+ return g(this, U).get(A);
217
+ }
218
+ removeView(A) {
219
+ g(this, U).delete(A.name), g(this, U).size <= 1 && g(this, S).setScissorTest(!1);
220
+ }
221
+ render(A) {
222
+ var e;
223
+ g(this, U).size > 1 && (g(this, S).setScissor(
224
+ A.left,
225
+ A.top,
226
+ A.width,
227
+ A.height
228
+ ), g(this, S).setViewport(
229
+ A.left,
230
+ A.top,
231
+ A.width,
232
+ A.height
233
+ )), (e = A.beforeRenderCallback) == null || e.call(A), g(this, S).render(A.scene, A.camera);
234
+ }
235
+ }
236
+ we = new WeakMap(), BA = new WeakMap(), S = new WeakMap(), U = new WeakMap(), mA = new WeakMap(), MA = new WeakMap(), wA = new WeakMap(), $A = new WeakMap(), lA = new WeakMap(), Ae = new WeakMap(), ee = new WeakMap();
237
+ const K = new En(), cn = new St();
238
+ function Qt(a, A) {
239
+ if (A === Es)
240
+ return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."), a;
241
+ if (A === Xe || A === yt) {
242
+ let e = a.getIndex();
312
243
  if (e === null) {
313
- const i = [], B = C.getAttribute("position");
244
+ const i = [], B = a.getAttribute("position");
314
245
  if (B !== void 0) {
315
246
  for (let o = 0; o < B.count; o++)
316
247
  i.push(o);
317
- C.setIndex(i), e = C.getIndex();
248
+ a.setIndex(i), e = a.getIndex();
318
249
  } else
319
- return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."), C;
250
+ return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."), a;
320
251
  }
321
252
  const s = e.count - 2, t = [];
322
- if (A === et)
253
+ if (A === Xe)
323
254
  for (let i = 1; i <= s; i++)
324
255
  t.push(e.getX(0)), t.push(e.getX(i)), t.push(e.getX(i + 1));
325
256
  else
326
257
  for (let i = 0; i < s; i++)
327
258
  i % 2 === 0 ? (t.push(e.getX(i)), t.push(e.getX(i + 1)), t.push(e.getX(i + 2))) : (t.push(e.getX(i + 2)), t.push(e.getX(i + 1)), t.push(e.getX(i)));
328
259
  t.length / 3 !== s && console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");
329
- const n = C.clone();
260
+ const n = a.clone();
330
261
  return n.setIndex(t), n.clearGroups(), n;
331
262
  } else
332
- return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:", A), C;
263
+ return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:", A), a;
333
264
  }
334
- class mn extends Ct {
265
+ class Qn extends $e {
335
266
  constructor(A) {
336
267
  super(A), this.dracoLoader = null, this.ktx2Loader = null, this.meshoptDecoder = null, this.pluginCallbacks = [], this.register(function(e) {
337
- return new Ln(e);
268
+ return new fn(e);
338
269
  }), this.register(function(e) {
339
- return new Kn(e);
270
+ return new Sn(e);
340
271
  }), this.register(function(e) {
341
- return new On(e);
272
+ return new yn(e);
342
273
  }), this.register(function(e) {
343
- return new _n(e);
274
+ return new Ln(e);
344
275
  }), this.register(function(e) {
345
- return new Jn(e);
276
+ return new Fn(e);
346
277
  }), this.register(function(e) {
347
- return new Tn(e);
278
+ return new Gn(e);
348
279
  }), this.register(function(e) {
349
- return new Un(e);
280
+ return new Rn(e);
350
281
  }), this.register(function(e) {
351
- return new Nn(e);
282
+ return new pn(e);
352
283
  }), this.register(function(e) {
353
- return new Sn(e);
284
+ return new un(e);
354
285
  }), this.register(function(e) {
355
- return new xn(e);
286
+ return new mn(e);
356
287
  }), this.register(function(e) {
357
- return new Hn(e);
288
+ return new Dn(e);
358
289
  }), this.register(function(e) {
359
- return new bn(e);
290
+ return new wn(e);
360
291
  }), this.register(function(e) {
361
- return new kn(e);
292
+ return new Mn(e);
362
293
  }), this.register(function(e) {
363
- return new wn(e);
294
+ return new ln(e);
364
295
  }), this.register(function(e) {
365
- return new Pn(e);
296
+ return new Jn(e);
366
297
  }), this.register(function(e) {
367
- return new Yn(e);
298
+ return new Hn(e);
368
299
  });
369
300
  }
370
301
  load(A, e, s, t) {
@@ -373,14 +304,14 @@ class mn extends Ct {
373
304
  if (this.resourcePath !== "")
374
305
  i = this.resourcePath;
375
306
  else if (this.path !== "") {
376
- const r = jA.extractUrlBase(A);
377
- i = jA.resolveURL(r, this.path);
307
+ const r = vA.extractUrlBase(A);
308
+ i = vA.resolveURL(r, this.path);
378
309
  } else
379
- i = jA.extractUrlBase(A);
310
+ i = vA.extractUrlBase(A);
380
311
  this.manager.itemStart(A);
381
312
  const B = function(r) {
382
313
  t ? t(r) : console.error(r), n.manager.itemError(A), n.manager.itemEnd(A);
383
- }, o = new DA(this.manager);
314
+ }, o = new fA(this.manager);
384
315
  o.setPath(this.path), o.setResponseType("arraybuffer"), o.setRequestHeader(this.requestHeader), o.setWithCredentials(this.withCredentials), o.load(A, function(r) {
385
316
  try {
386
317
  n.parse(r, i, function(I) {
@@ -417,11 +348,11 @@ class mn extends Ct {
417
348
  if (typeof A == "string")
418
349
  n = JSON.parse(A);
419
350
  else if (A instanceof ArrayBuffer)
420
- if (o.decode(new Uint8Array(A, 0, 4)) === Wt) {
351
+ if (o.decode(new Uint8Array(A, 0, 4)) === kt) {
421
352
  try {
422
- i[R.KHR_BINARY_GLTF] = new qn(A);
423
- } catch (a) {
424
- t && t(a);
353
+ i[R.KHR_BINARY_GLTF] = new Tn(A);
354
+ } catch (C) {
355
+ t && t(C);
425
356
  return;
426
357
  }
427
358
  n = JSON.parse(i[R.KHR_BINARY_GLTF].content);
@@ -433,7 +364,7 @@ class mn extends Ct {
433
364
  t && t(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));
434
365
  return;
435
366
  }
436
- const r = new ni(n, {
367
+ const r = new vn(n, {
437
368
  path: e || this.resourcePath || "",
438
369
  crossOrigin: this.crossOrigin,
439
370
  requestHeader: this.requestHeader,
@@ -443,27 +374,27 @@ class mn extends Ct {
443
374
  });
444
375
  r.fileLoader.setRequestHeader(this.requestHeader);
445
376
  for (let I = 0; I < this.pluginCallbacks.length; I++) {
446
- const a = this.pluginCallbacks[I](r);
447
- a.name || console.error("THREE.GLTFLoader: Invalid plugin found: missing name"), B[a.name] = a, i[a.name] = !0;
377
+ const C = this.pluginCallbacks[I](r);
378
+ C.name || console.error("THREE.GLTFLoader: Invalid plugin found: missing name"), B[C.name] = C, i[C.name] = !0;
448
379
  }
449
380
  if (n.extensionsUsed)
450
381
  for (let I = 0; I < n.extensionsUsed.length; ++I) {
451
- const a = n.extensionsUsed[I], c = n.extensionsRequired || [];
452
- switch (a) {
382
+ const C = n.extensionsUsed[I], c = n.extensionsRequired || [];
383
+ switch (C) {
453
384
  case R.KHR_MATERIALS_UNLIT:
454
- i[a] = new yn();
385
+ i[C] = new dn();
455
386
  break;
456
387
  case R.KHR_DRACO_MESH_COMPRESSION:
457
- i[a] = new Xn(n, this.dracoLoader);
388
+ i[C] = new Un(n, this.dracoLoader);
458
389
  break;
459
390
  case R.KHR_TEXTURE_TRANSFORM:
460
- i[a] = new vn();
391
+ i[C] = new Nn();
461
392
  break;
462
393
  case R.KHR_MESH_QUANTIZATION:
463
- i[a] = new Wn();
394
+ i[C] = new xn();
464
395
  break;
465
396
  default:
466
- c.indexOf(a) >= 0 && B[a] === void 0 && console.warn('THREE.GLTFLoader: Unknown extension "' + a + '".');
397
+ c.indexOf(C) >= 0 && B[C] === void 0 && console.warn('THREE.GLTFLoader: Unknown extension "' + C + '".');
467
398
  }
468
399
  }
469
400
  r.setExtensions(i), r.setPlugins(B), r.parse(s, t);
@@ -475,20 +406,20 @@ class mn extends Ct {
475
406
  });
476
407
  }
477
408
  }
478
- function Mn() {
479
- let C = {};
409
+ function hn() {
410
+ let a = {};
480
411
  return {
481
412
  get: function(A) {
482
- return C[A];
413
+ return a[A];
483
414
  },
484
415
  add: function(A, e) {
485
- C[A] = e;
416
+ a[A] = e;
486
417
  },
487
418
  remove: function(A) {
488
- delete C[A];
419
+ delete a[A];
489
420
  },
490
421
  removeAll: function() {
491
- C = {};
422
+ a = {};
492
423
  }
493
424
  };
494
425
  }
@@ -515,7 +446,7 @@ const R = {
515
446
  EXT_MESHOPT_COMPRESSION: "EXT_meshopt_compression",
516
447
  EXT_MESH_GPU_INSTANCING: "EXT_mesh_gpu_instancing"
517
448
  };
518
- class wn {
449
+ class ln {
519
450
  constructor(A) {
520
451
  this.parser = A, this.name = R.KHR_LIGHTS_PUNCTUAL, this.cache = { refs: {}, uses: {} };
521
452
  }
@@ -533,23 +464,23 @@ class wn {
533
464
  return t;
534
465
  const n = e.json, o = ((n.extensions && n.extensions[this.name] || {}).lights || [])[A];
535
466
  let r;
536
- const I = new cA(16777215);
467
+ const I = new EA(16777215);
537
468
  o.color !== void 0 && I.setRGB(o.color[0], o.color[1], o.color[2], _);
538
- const a = o.range !== void 0 ? o.range : 0;
469
+ const C = o.range !== void 0 ? o.range : 0;
539
470
  switch (o.type) {
540
471
  case "directional":
541
- r = new Ms(I), r.target.position.set(0, 0, -1), r.add(r.target);
472
+ r = new hs(I), r.target.position.set(0, 0, -1), r.add(r.target);
542
473
  break;
543
474
  case "point":
544
- r = new ms(I), r.distance = a;
475
+ r = new Qs(I), r.distance = C;
545
476
  break;
546
477
  case "spot":
547
- r = new ps(I), r.distance = a, o.spot = o.spot || {}, o.spot.innerConeAngle = o.spot.innerConeAngle !== void 0 ? o.spot.innerConeAngle : 0, o.spot.outerConeAngle = o.spot.outerConeAngle !== void 0 ? o.spot.outerConeAngle : Math.PI / 4, r.angle = o.spot.outerConeAngle, r.penumbra = 1 - o.spot.innerConeAngle / o.spot.outerConeAngle, r.target.position.set(0, 0, -1), r.add(r.target);
478
+ r = new cs(I), r.distance = C, o.spot = o.spot || {}, o.spot.innerConeAngle = o.spot.innerConeAngle !== void 0 ? o.spot.innerConeAngle : 0, o.spot.outerConeAngle = o.spot.outerConeAngle !== void 0 ? o.spot.outerConeAngle : Math.PI / 4, r.angle = o.spot.outerConeAngle, r.penumbra = 1 - o.spot.innerConeAngle / o.spot.outerConeAngle, r.target.position.set(0, 0, -1), r.add(r.target);
548
479
  break;
549
480
  default:
550
481
  throw new Error("THREE.GLTFLoader: Unexpected light type: " + o.type);
551
482
  }
552
- return r.position.set(0, 0, 0), r.decay = 2, iA(r, o), o.intensity !== void 0 && (r.intensity = o.intensity), r.name = e.createUniqueName(o.name || "light_" + A), t = Promise.resolve(r), e.cache.add(s, t), t;
483
+ return r.position.set(0, 0, 0), r.decay = 2, sA(r, o), o.intensity !== void 0 && (r.intensity = o.intensity), r.name = e.createUniqueName(o.name || "light_" + A), t = Promise.resolve(r), e.cache.add(s, t), t;
553
484
  }
554
485
  getDependency(A, e) {
555
486
  if (A === "light")
@@ -562,28 +493,28 @@ class wn {
562
493
  });
563
494
  }
564
495
  }
565
- class yn {
496
+ class dn {
566
497
  constructor() {
567
498
  this.name = R.KHR_MATERIALS_UNLIT;
568
499
  }
569
500
  getMaterialType() {
570
- return vA;
501
+ return YA;
571
502
  }
572
503
  extendParams(A, e, s) {
573
504
  const t = [];
574
- A.color = new cA(1, 1, 1), A.opacity = 1;
505
+ A.color = new EA(1, 1, 1), A.opacity = 1;
575
506
  const n = e.pbrMetallicRoughness;
576
507
  if (n) {
577
508
  if (Array.isArray(n.baseColorFactor)) {
578
509
  const i = n.baseColorFactor;
579
510
  A.color.setRGB(i[0], i[1], i[2], _), A.opacity = i[3];
580
511
  }
581
- n.baseColorTexture !== void 0 && t.push(s.assignTexture(A, "map", n.baseColorTexture, AA));
512
+ n.baseColorTexture !== void 0 && t.push(s.assignTexture(A, "map", n.baseColorTexture, $));
582
513
  }
583
514
  return Promise.all(t);
584
515
  }
585
516
  }
586
- class Sn {
517
+ class un {
587
518
  constructor(A) {
588
519
  this.parser = A, this.name = R.KHR_MATERIALS_EMISSIVE_STRENGTH;
589
520
  }
@@ -595,13 +526,13 @@ class Sn {
595
526
  return n !== void 0 && (e.emissiveIntensity = n), Promise.resolve();
596
527
  }
597
528
  }
598
- class Ln {
529
+ class fn {
599
530
  constructor(A) {
600
531
  this.parser = A, this.name = R.KHR_MATERIALS_CLEARCOAT;
601
532
  }
602
533
  getMaterialType(A) {
603
534
  const s = this.parser.json.materials[A];
604
- return !s.extensions || !s.extensions[this.name] ? null : eA;
535
+ return !s.extensions || !s.extensions[this.name] ? null : AA;
605
536
  }
606
537
  extendMaterialParams(A, e) {
607
538
  const s = this.parser, t = s.json.materials[A];
@@ -610,18 +541,18 @@ class Ln {
610
541
  const n = [], i = t.extensions[this.name];
611
542
  if (i.clearcoatFactor !== void 0 && (e.clearcoat = i.clearcoatFactor), i.clearcoatTexture !== void 0 && n.push(s.assignTexture(e, "clearcoatMap", i.clearcoatTexture)), i.clearcoatRoughnessFactor !== void 0 && (e.clearcoatRoughness = i.clearcoatRoughnessFactor), i.clearcoatRoughnessTexture !== void 0 && n.push(s.assignTexture(e, "clearcoatRoughnessMap", i.clearcoatRoughnessTexture)), i.clearcoatNormalTexture !== void 0 && (n.push(s.assignTexture(e, "clearcoatNormalMap", i.clearcoatNormalTexture)), i.clearcoatNormalTexture.scale !== void 0)) {
612
543
  const B = i.clearcoatNormalTexture.scale;
613
- e.clearcoatNormalScale = new at(B, B);
544
+ e.clearcoatNormalScale = new Lt(B, B);
614
545
  }
615
546
  return Promise.all(n);
616
547
  }
617
548
  }
618
- class Hn {
549
+ class Dn {
619
550
  constructor(A) {
620
551
  this.parser = A, this.name = R.KHR_MATERIALS_IRIDESCENCE;
621
552
  }
622
553
  getMaterialType(A) {
623
554
  const s = this.parser.json.materials[A];
624
- return !s.extensions || !s.extensions[this.name] ? null : eA;
555
+ return !s.extensions || !s.extensions[this.name] ? null : AA;
625
556
  }
626
557
  extendMaterialParams(A, e) {
627
558
  const s = this.parser, t = s.json.materials[A];
@@ -631,35 +562,35 @@ class Hn {
631
562
  return i.iridescenceFactor !== void 0 && (e.iridescence = i.iridescenceFactor), i.iridescenceTexture !== void 0 && n.push(s.assignTexture(e, "iridescenceMap", i.iridescenceTexture)), i.iridescenceIor !== void 0 && (e.iridescenceIOR = i.iridescenceIor), e.iridescenceThicknessRange === void 0 && (e.iridescenceThicknessRange = [100, 400]), i.iridescenceThicknessMinimum !== void 0 && (e.iridescenceThicknessRange[0] = i.iridescenceThicknessMinimum), i.iridescenceThicknessMaximum !== void 0 && (e.iridescenceThicknessRange[1] = i.iridescenceThicknessMaximum), i.iridescenceThicknessTexture !== void 0 && n.push(s.assignTexture(e, "iridescenceThicknessMap", i.iridescenceThicknessTexture)), Promise.all(n);
632
563
  }
633
564
  }
634
- class Jn {
565
+ class Fn {
635
566
  constructor(A) {
636
567
  this.parser = A, this.name = R.KHR_MATERIALS_SHEEN;
637
568
  }
638
569
  getMaterialType(A) {
639
570
  const s = this.parser.json.materials[A];
640
- return !s.extensions || !s.extensions[this.name] ? null : eA;
571
+ return !s.extensions || !s.extensions[this.name] ? null : AA;
641
572
  }
642
573
  extendMaterialParams(A, e) {
643
574
  const s = this.parser, t = s.json.materials[A];
644
575
  if (!t.extensions || !t.extensions[this.name])
645
576
  return Promise.resolve();
646
577
  const n = [];
647
- e.sheenColor = new cA(0, 0, 0), e.sheenRoughness = 0, e.sheen = 1;
578
+ e.sheenColor = new EA(0, 0, 0), e.sheenRoughness = 0, e.sheen = 1;
648
579
  const i = t.extensions[this.name];
649
580
  if (i.sheenColorFactor !== void 0) {
650
581
  const B = i.sheenColorFactor;
651
582
  e.sheenColor.setRGB(B[0], B[1], B[2], _);
652
583
  }
653
- return i.sheenRoughnessFactor !== void 0 && (e.sheenRoughness = i.sheenRoughnessFactor), i.sheenColorTexture !== void 0 && n.push(s.assignTexture(e, "sheenColorMap", i.sheenColorTexture, AA)), i.sheenRoughnessTexture !== void 0 && n.push(s.assignTexture(e, "sheenRoughnessMap", i.sheenRoughnessTexture)), Promise.all(n);
584
+ return i.sheenRoughnessFactor !== void 0 && (e.sheenRoughness = i.sheenRoughnessFactor), i.sheenColorTexture !== void 0 && n.push(s.assignTexture(e, "sheenColorMap", i.sheenColorTexture, $)), i.sheenRoughnessTexture !== void 0 && n.push(s.assignTexture(e, "sheenRoughnessMap", i.sheenRoughnessTexture)), Promise.all(n);
654
585
  }
655
586
  }
656
- class Tn {
587
+ class Gn {
657
588
  constructor(A) {
658
589
  this.parser = A, this.name = R.KHR_MATERIALS_TRANSMISSION;
659
590
  }
660
591
  getMaterialType(A) {
661
592
  const s = this.parser.json.materials[A];
662
- return !s.extensions || !s.extensions[this.name] ? null : eA;
593
+ return !s.extensions || !s.extensions[this.name] ? null : AA;
663
594
  }
664
595
  extendMaterialParams(A, e) {
665
596
  const s = this.parser, t = s.json.materials[A];
@@ -669,13 +600,13 @@ class Tn {
669
600
  return i.transmissionFactor !== void 0 && (e.transmission = i.transmissionFactor), i.transmissionTexture !== void 0 && n.push(s.assignTexture(e, "transmissionMap", i.transmissionTexture)), Promise.all(n);
670
601
  }
671
602
  }
672
- class Un {
603
+ class Rn {
673
604
  constructor(A) {
674
605
  this.parser = A, this.name = R.KHR_MATERIALS_VOLUME;
675
606
  }
676
607
  getMaterialType(A) {
677
608
  const s = this.parser.json.materials[A];
678
- return !s.extensions || !s.extensions[this.name] ? null : eA;
609
+ return !s.extensions || !s.extensions[this.name] ? null : AA;
679
610
  }
680
611
  extendMaterialParams(A, e) {
681
612
  const s = this.parser, t = s.json.materials[A];
@@ -684,16 +615,16 @@ class Un {
684
615
  const n = [], i = t.extensions[this.name];
685
616
  e.thickness = i.thicknessFactor !== void 0 ? i.thicknessFactor : 0, i.thicknessTexture !== void 0 && n.push(s.assignTexture(e, "thicknessMap", i.thicknessTexture)), e.attenuationDistance = i.attenuationDistance || 1 / 0;
686
617
  const B = i.attenuationColor || [1, 1, 1];
687
- return e.attenuationColor = new cA().setRGB(B[0], B[1], B[2], _), Promise.all(n);
618
+ return e.attenuationColor = new EA().setRGB(B[0], B[1], B[2], _), Promise.all(n);
688
619
  }
689
620
  }
690
- class Nn {
621
+ class pn {
691
622
  constructor(A) {
692
623
  this.parser = A, this.name = R.KHR_MATERIALS_IOR;
693
624
  }
694
625
  getMaterialType(A) {
695
626
  const s = this.parser.json.materials[A];
696
- return !s.extensions || !s.extensions[this.name] ? null : eA;
627
+ return !s.extensions || !s.extensions[this.name] ? null : AA;
697
628
  }
698
629
  extendMaterialParams(A, e) {
699
630
  const t = this.parser.json.materials[A];
@@ -703,13 +634,13 @@ class Nn {
703
634
  return e.ior = n.ior !== void 0 ? n.ior : 1.5, Promise.resolve();
704
635
  }
705
636
  }
706
- class xn {
637
+ class mn {
707
638
  constructor(A) {
708
639
  this.parser = A, this.name = R.KHR_MATERIALS_SPECULAR;
709
640
  }
710
641
  getMaterialType(A) {
711
642
  const s = this.parser.json.materials[A];
712
- return !s.extensions || !s.extensions[this.name] ? null : eA;
643
+ return !s.extensions || !s.extensions[this.name] ? null : AA;
713
644
  }
714
645
  extendMaterialParams(A, e) {
715
646
  const s = this.parser, t = s.json.materials[A];
@@ -718,16 +649,16 @@ class xn {
718
649
  const n = [], i = t.extensions[this.name];
719
650
  e.specularIntensity = i.specularFactor !== void 0 ? i.specularFactor : 1, i.specularTexture !== void 0 && n.push(s.assignTexture(e, "specularIntensityMap", i.specularTexture));
720
651
  const B = i.specularColorFactor || [1, 1, 1];
721
- return e.specularColor = new cA().setRGB(B[0], B[1], B[2], _), i.specularColorTexture !== void 0 && n.push(s.assignTexture(e, "specularColorMap", i.specularColorTexture, AA)), Promise.all(n);
652
+ return e.specularColor = new EA().setRGB(B[0], B[1], B[2], _), i.specularColorTexture !== void 0 && n.push(s.assignTexture(e, "specularColorMap", i.specularColorTexture, $)), Promise.all(n);
722
653
  }
723
654
  }
724
- class kn {
655
+ class Mn {
725
656
  constructor(A) {
726
657
  this.parser = A, this.name = R.EXT_MATERIALS_BUMP;
727
658
  }
728
659
  getMaterialType(A) {
729
660
  const s = this.parser.json.materials[A];
730
- return !s.extensions || !s.extensions[this.name] ? null : eA;
661
+ return !s.extensions || !s.extensions[this.name] ? null : AA;
731
662
  }
732
663
  extendMaterialParams(A, e) {
733
664
  const s = this.parser, t = s.json.materials[A];
@@ -737,13 +668,13 @@ class kn {
737
668
  return e.bumpScale = i.bumpFactor !== void 0 ? i.bumpFactor : 1, i.bumpTexture !== void 0 && n.push(s.assignTexture(e, "bumpMap", i.bumpTexture)), Promise.all(n);
738
669
  }
739
670
  }
740
- class bn {
671
+ class wn {
741
672
  constructor(A) {
742
673
  this.parser = A, this.name = R.KHR_MATERIALS_ANISOTROPY;
743
674
  }
744
675
  getMaterialType(A) {
745
676
  const s = this.parser.json.materials[A];
746
- return !s.extensions || !s.extensions[this.name] ? null : eA;
677
+ return !s.extensions || !s.extensions[this.name] ? null : AA;
747
678
  }
748
679
  extendMaterialParams(A, e) {
749
680
  const s = this.parser, t = s.json.materials[A];
@@ -753,7 +684,7 @@ class bn {
753
684
  return i.anisotropyStrength !== void 0 && (e.anisotropy = i.anisotropyStrength), i.anisotropyRotation !== void 0 && (e.anisotropyRotation = i.anisotropyRotation), i.anisotropyTexture !== void 0 && n.push(s.assignTexture(e, "anisotropyMap", i.anisotropyTexture)), Promise.all(n);
754
685
  }
755
686
  }
756
- class Kn {
687
+ class Sn {
757
688
  constructor(A) {
758
689
  this.parser = A, this.name = R.KHR_TEXTURE_BASISU;
759
690
  }
@@ -770,7 +701,7 @@ class Kn {
770
701
  return e.loadTextureImage(A, n.source, i);
771
702
  }
772
703
  }
773
- class On {
704
+ class yn {
774
705
  constructor(A) {
775
706
  this.parser = A, this.name = R.EXT_TEXTURE_WEBP, this.isSupported = null;
776
707
  }
@@ -801,7 +732,7 @@ class On {
801
732
  })), this.isSupported;
802
733
  }
803
734
  }
804
- class _n {
735
+ class Ln {
805
736
  constructor(A) {
806
737
  this.parser = A, this.name = R.EXT_TEXTURE_AVIF, this.isSupported = null;
807
738
  }
@@ -832,7 +763,7 @@ class _n {
832
763
  })), this.isSupported;
833
764
  }
834
765
  }
835
- class Pn {
766
+ class Jn {
836
767
  constructor(A) {
837
768
  this.name = R.EXT_MESHOPT_COMPRESSION, this.parser = A;
838
769
  }
@@ -846,19 +777,19 @@ class Pn {
846
777
  return null;
847
778
  }
848
779
  return n.then(function(B) {
849
- const o = t.byteOffset || 0, r = t.byteLength || 0, I = t.count, a = t.byteStride, c = new Uint8Array(B, o, r);
850
- return i.decodeGltfBufferAsync ? i.decodeGltfBufferAsync(I, a, c, t.mode, t.filter).then(function(Q) {
780
+ const o = t.byteOffset || 0, r = t.byteLength || 0, I = t.count, C = t.byteStride, c = new Uint8Array(B, o, r);
781
+ return i.decodeGltfBufferAsync ? i.decodeGltfBufferAsync(I, C, c, t.mode, t.filter).then(function(Q) {
851
782
  return Q.buffer;
852
783
  }) : i.ready.then(function() {
853
- const Q = new ArrayBuffer(I * a);
854
- return i.decodeGltfBuffer(new Uint8Array(Q), I, a, c, t.mode, t.filter), Q;
784
+ const Q = new ArrayBuffer(I * C);
785
+ return i.decodeGltfBuffer(new Uint8Array(Q), I, C, c, t.mode, t.filter), Q;
855
786
  });
856
787
  });
857
788
  } else
858
789
  return null;
859
790
  }
860
791
  }
861
- class Yn {
792
+ class Hn {
862
793
  constructor(A) {
863
794
  this.name = R.EXT_MESH_GPU_INSTANCING, this.parser = A;
864
795
  }
@@ -874,47 +805,47 @@ class Yn {
874
805
  for (const r in i)
875
806
  B.push(this.parser.getDependency("accessor", i[r]).then((I) => (o[r] = I, o[r])));
876
807
  return B.length < 1 ? null : (B.push(this.parser.createNodeMesh(A)), Promise.all(B).then((r) => {
877
- const I = r.pop(), a = I.isGroup ? I.children : [I], c = r[0].count, Q = [];
878
- for (const l of a) {
879
- const h = new KA(), E = new y(), d = new It(), u = new y(1, 1, 1), D = new ws(l.geometry, l.material, c);
880
- for (let F = 0; F < c; F++)
881
- o.TRANSLATION && E.fromBufferAttribute(o.TRANSLATION, F), o.ROTATION && d.fromBufferAttribute(o.ROTATION, F), o.SCALE && u.fromBufferAttribute(o.SCALE, F), D.setMatrixAt(F, h.compose(E, d, u));
882
- for (const F in o)
883
- if (F === "_COLOR_0") {
884
- const p = o[F];
885
- D.instanceColor = new ys(p.array, p.itemSize, p.normalized);
808
+ const I = r.pop(), C = I.isGroup ? I.children : [I], c = r[0].count, Q = [];
809
+ for (const l of C) {
810
+ const h = new xA(), E = new w(), d = new At(), u = new w(1, 1, 1), f = new ls(l.geometry, l.material, c);
811
+ for (let D = 0; D < c; D++)
812
+ o.TRANSLATION && E.fromBufferAttribute(o.TRANSLATION, D), o.ROTATION && d.fromBufferAttribute(o.ROTATION, D), o.SCALE && u.fromBufferAttribute(o.SCALE, D), f.setMatrixAt(D, h.compose(E, d, u));
813
+ for (const D in o)
814
+ if (D === "_COLOR_0") {
815
+ const p = o[D];
816
+ f.instanceColor = new ds(p.array, p.itemSize, p.normalized);
886
817
  } else
887
- F !== "TRANSLATION" && F !== "ROTATION" && F !== "SCALE" && l.geometry.setAttribute(F, o[F]);
888
- gt.prototype.copy.call(D, l), this.parser.assignFinalMaterial(D), Q.push(D);
818
+ D !== "TRANSLATION" && D !== "ROTATION" && D !== "SCALE" && l.geometry.setAttribute(D, o[D]);
819
+ et.prototype.copy.call(f, l), this.parser.assignFinalMaterial(f), Q.push(f);
889
820
  }
890
821
  return I.isGroup ? (I.clear(), I.add(...Q), I) : Q[0];
891
822
  }));
892
823
  }
893
824
  }
894
- const Wt = "glTF", YA = 12, Mt = { JSON: 1313821514, BIN: 5130562 };
895
- class qn {
825
+ const kt = "glTF", OA = 12, ht = { JSON: 1313821514, BIN: 5130562 };
826
+ class Tn {
896
827
  constructor(A) {
897
828
  this.name = R.KHR_BINARY_GLTF, this.content = null, this.body = null;
898
- const e = new DataView(A, 0, YA), s = new TextDecoder();
829
+ const e = new DataView(A, 0, OA), s = new TextDecoder();
899
830
  if (this.header = {
900
831
  magic: s.decode(new Uint8Array(A.slice(0, 4))),
901
832
  version: e.getUint32(4, !0),
902
833
  length: e.getUint32(8, !0)
903
- }, this.header.magic !== Wt)
834
+ }, this.header.magic !== kt)
904
835
  throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");
905
836
  if (this.header.version < 2)
906
837
  throw new Error("THREE.GLTFLoader: Legacy binary file detected.");
907
- const t = this.header.length - YA, n = new DataView(A, YA);
838
+ const t = this.header.length - OA, n = new DataView(A, OA);
908
839
  let i = 0;
909
840
  for (; i < t; ) {
910
841
  const B = n.getUint32(i, !0);
911
842
  i += 4;
912
843
  const o = n.getUint32(i, !0);
913
- if (i += 4, o === Mt.JSON) {
914
- const r = new Uint8Array(A, YA + i, B);
844
+ if (i += 4, o === ht.JSON) {
845
+ const r = new Uint8Array(A, OA + i, B);
915
846
  this.content = s.decode(r);
916
- } else if (o === Mt.BIN) {
917
- const r = YA + i;
847
+ } else if (o === ht.BIN) {
848
+ const r = OA + i;
918
849
  this.body = A.slice(r, r + B);
919
850
  }
920
851
  i += B;
@@ -923,7 +854,7 @@ class qn {
923
854
  throw new Error("THREE.GLTFLoader: JSON content not found.");
924
855
  }
925
856
  }
926
- class Xn {
857
+ class Un {
927
858
  constructor(A, e) {
928
859
  if (!e)
929
860
  throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");
@@ -932,30 +863,30 @@ class Xn {
932
863
  decodePrimitive(A, e) {
933
864
  const s = this.json, t = this.dracoLoader, n = A.extensions[this.name].bufferView, i = A.extensions[this.name].attributes, B = {}, o = {}, r = {};
934
865
  for (const I in i) {
935
- const a = nt[I] || I.toLowerCase();
936
- B[a] = i[I];
866
+ const C = We[I] || I.toLowerCase();
867
+ B[C] = i[I];
937
868
  }
938
869
  for (const I in A.attributes) {
939
- const a = nt[I] || I.toLowerCase();
870
+ const C = We[I] || I.toLowerCase();
940
871
  if (i[I] !== void 0) {
941
872
  const c = s.accessors[A.attributes[I]], Q = RA[c.componentType];
942
- r[a] = Q.name, o[a] = c.normalized === !0;
873
+ r[C] = Q.name, o[C] = c.normalized === !0;
943
874
  }
944
875
  }
945
876
  return e.getDependency("bufferView", n).then(function(I) {
946
- return new Promise(function(a, c) {
877
+ return new Promise(function(C, c) {
947
878
  t.decodeDracoFile(I, function(Q) {
948
879
  for (const l in Q.attributes) {
949
880
  const h = Q.attributes[l], E = o[l];
950
881
  E !== void 0 && (h.normalized = E);
951
882
  }
952
- a(Q);
883
+ C(Q);
953
884
  }, B, r, _, c);
954
885
  });
955
886
  });
956
887
  }
957
888
  }
958
- class vn {
889
+ class Nn {
959
890
  constructor() {
960
891
  this.name = R.KHR_TEXTURE_TRANSFORM;
961
892
  }
@@ -963,12 +894,12 @@ class vn {
963
894
  return (e.texCoord === void 0 || e.texCoord === A.channel) && e.offset === void 0 && e.rotation === void 0 && e.scale === void 0 || (A = A.clone(), e.texCoord !== void 0 && (A.channel = e.texCoord), e.offset !== void 0 && A.offset.fromArray(e.offset), e.rotation !== void 0 && (A.rotation = e.rotation), e.scale !== void 0 && A.repeat.fromArray(e.scale), A.needsUpdate = !0), A;
964
895
  }
965
896
  }
966
- class Wn {
897
+ class xn {
967
898
  constructor() {
968
899
  this.name = R.KHR_MESH_QUANTIZATION;
969
900
  }
970
901
  }
971
- class Vt extends tn {
902
+ class bt extends qs {
972
903
  constructor(A, e, s, t) {
973
904
  super(A, e, s, t);
974
905
  }
@@ -979,19 +910,19 @@ class Vt extends tn {
979
910
  return e;
980
911
  }
981
912
  interpolate_(A, e, s, t) {
982
- const n = this.resultBuffer, i = this.sampleValues, B = this.valueSize, o = B * 2, r = B * 3, I = t - e, a = (s - e) / I, c = a * a, Q = c * a, l = A * r, h = l - r, E = -2 * Q + 3 * c, d = Q - c, u = 1 - E, D = d - c + a;
983
- for (let F = 0; F !== B; F++) {
984
- const p = i[h + F + B], m = i[h + F + o] * I, w = i[l + F + B], P = i[l + F] * I;
985
- n[F] = u * p + D * m + E * w + d * P;
913
+ const n = this.resultBuffer, i = this.sampleValues, B = this.valueSize, o = B * 2, r = B * 3, I = t - e, C = (s - e) / I, c = C * C, Q = c * C, l = A * r, h = l - r, E = -2 * Q + 3 * c, d = Q - c, u = 1 - E, f = d - c + C;
914
+ for (let D = 0; D !== B; D++) {
915
+ const p = i[h + D + B], m = i[h + D + o] * I, M = i[l + D + B], P = i[l + D] * I;
916
+ n[D] = u * p + f * m + E * M + d * P;
986
917
  }
987
918
  return n;
988
919
  }
989
920
  }
990
- const Vn = new It();
991
- class jn extends Vt {
921
+ const kn = new At();
922
+ class bn extends bt {
992
923
  interpolate_(A, e, s, t) {
993
924
  const n = super.interpolate_(A, e, s, t);
994
- return Vn.fromArray(n).normalize().toArray(n), n;
925
+ return kn.fromArray(n).normalize().toArray(n), n;
995
926
  }
996
927
  }
997
928
  const b = {
@@ -1021,18 +952,18 @@ const b = {
1021
952
  5123: Uint16Array,
1022
953
  5125: Uint32Array,
1023
954
  5126: Float32Array
1024
- }, wt = {
1025
- 9728: Xs,
1026
- 9729: Ue,
1027
- 9984: vs,
1028
- 9985: Ws,
1029
- 9986: Vs,
1030
- 9987: Et
1031
- }, yt = {
1032
- 33071: js,
1033
- 33648: Zs,
1034
- 10497: tt
1035
- }, _e = {
955
+ }, lt = {
956
+ 9728: Us,
957
+ 9729: Me,
958
+ 9984: Ns,
959
+ 9985: xs,
960
+ 9986: ks,
961
+ 9987: tt
962
+ }, dt = {
963
+ 33071: bs,
964
+ 33648: Ks,
965
+ 10497: ve
966
+ }, He = {
1036
967
  SCALAR: 1,
1037
968
  VEC2: 2,
1038
969
  VEC3: 3,
@@ -1040,7 +971,7 @@ const b = {
1040
971
  MAT2: 4,
1041
972
  MAT3: 9,
1042
973
  MAT4: 16
1043
- }, nt = {
974
+ }, We = {
1044
975
  POSITION: "position",
1045
976
  NORMAL: "normal",
1046
977
  TANGENT: "tangent",
@@ -1051,62 +982,62 @@ const b = {
1051
982
  COLOR_0: "color",
1052
983
  WEIGHTS_0: "skinWeight",
1053
984
  JOINTS_0: "skinIndex"
1054
- }, nA = {
985
+ }, tA = {
1055
986
  scale: "scale",
1056
987
  translation: "position",
1057
988
  rotation: "quaternion",
1058
989
  weights: "morphTargetInfluences"
1059
- }, Zn = {
990
+ }, Kn = {
1060
991
  CUBICSPLINE: void 0,
1061
992
  // We use a custom interpolant (GLTFCubicSplineInterpolation) for CUBICSPLINE tracks. Each
1062
993
  // keyframe track will be initialized with a default interpolation type, then modified.
1063
- LINEAR: Yt,
1064
- STEP: zs
1065
- }, Pe = {
994
+ LINEAR: Tt,
995
+ STEP: Os
996
+ }, Te = {
1066
997
  OPAQUE: "OPAQUE",
1067
998
  MASK: "MASK",
1068
999
  BLEND: "BLEND"
1069
1000
  };
1070
- function zn(C) {
1071
- return C.DefaultMaterial === void 0 && (C.DefaultMaterial = new _t({
1001
+ function On(a) {
1002
+ return a.DefaultMaterial === void 0 && (a.DefaultMaterial = new Jt({
1072
1003
  color: 16777215,
1073
1004
  emissive: 0,
1074
1005
  metalness: 1,
1075
1006
  roughness: 1,
1076
1007
  transparent: !1,
1077
1008
  depthTest: !0,
1078
- side: $s
1079
- })), C.DefaultMaterial;
1009
+ side: _s
1010
+ })), a.DefaultMaterial;
1080
1011
  }
1081
- function lA(C, A, e) {
1012
+ function QA(a, A, e) {
1082
1013
  for (const s in e.extensions)
1083
- C[s] === void 0 && (A.userData.gltfExtensions = A.userData.gltfExtensions || {}, A.userData.gltfExtensions[s] = e.extensions[s]);
1014
+ a[s] === void 0 && (A.userData.gltfExtensions = A.userData.gltfExtensions || {}, A.userData.gltfExtensions[s] = e.extensions[s]);
1084
1015
  }
1085
- function iA(C, A) {
1086
- A.extras !== void 0 && (typeof A.extras == "object" ? Object.assign(C.userData, A.extras) : console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, " + A.extras));
1016
+ function sA(a, A) {
1017
+ A.extras !== void 0 && (typeof A.extras == "object" ? Object.assign(a.userData, A.extras) : console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, " + A.extras));
1087
1018
  }
1088
- function $n(C, A, e) {
1019
+ function _n(a, A, e) {
1089
1020
  let s = !1, t = !1, n = !1;
1090
1021
  for (let r = 0, I = A.length; r < I; r++) {
1091
- const a = A[r];
1092
- if (a.POSITION !== void 0 && (s = !0), a.NORMAL !== void 0 && (t = !0), a.COLOR_0 !== void 0 && (n = !0), s && t && n)
1022
+ const C = A[r];
1023
+ if (C.POSITION !== void 0 && (s = !0), C.NORMAL !== void 0 && (t = !0), C.COLOR_0 !== void 0 && (n = !0), s && t && n)
1093
1024
  break;
1094
1025
  }
1095
1026
  if (!s && !t && !n)
1096
- return Promise.resolve(C);
1027
+ return Promise.resolve(a);
1097
1028
  const i = [], B = [], o = [];
1098
1029
  for (let r = 0, I = A.length; r < I; r++) {
1099
- const a = A[r];
1030
+ const C = A[r];
1100
1031
  if (s) {
1101
- const c = a.POSITION !== void 0 ? e.getDependency("accessor", a.POSITION) : C.attributes.position;
1032
+ const c = C.POSITION !== void 0 ? e.getDependency("accessor", C.POSITION) : a.attributes.position;
1102
1033
  i.push(c);
1103
1034
  }
1104
1035
  if (t) {
1105
- const c = a.NORMAL !== void 0 ? e.getDependency("accessor", a.NORMAL) : C.attributes.normal;
1036
+ const c = C.NORMAL !== void 0 ? e.getDependency("accessor", C.NORMAL) : a.attributes.normal;
1106
1037
  B.push(c);
1107
1038
  }
1108
1039
  if (n) {
1109
- const c = a.COLOR_0 !== void 0 ? e.getDependency("accessor", a.COLOR_0) : C.attributes.color;
1040
+ const c = C.COLOR_0 !== void 0 ? e.getDependency("accessor", C.COLOR_0) : a.attributes.color;
1110
1041
  o.push(c);
1111
1042
  }
1112
1043
  }
@@ -1115,41 +1046,41 @@ function $n(C, A, e) {
1115
1046
  Promise.all(B),
1116
1047
  Promise.all(o)
1117
1048
  ]).then(function(r) {
1118
- const I = r[0], a = r[1], c = r[2];
1119
- return s && (C.morphAttributes.position = I), t && (C.morphAttributes.normal = a), n && (C.morphAttributes.color = c), C.morphTargetsRelative = !0, C;
1049
+ const I = r[0], C = r[1], c = r[2];
1050
+ return s && (a.morphAttributes.position = I), t && (a.morphAttributes.normal = C), n && (a.morphAttributes.color = c), a.morphTargetsRelative = !0, a;
1120
1051
  });
1121
1052
  }
1122
- function Ai(C, A) {
1123
- if (C.updateMorphTargets(), A.weights !== void 0)
1053
+ function Pn(a, A) {
1054
+ if (a.updateMorphTargets(), A.weights !== void 0)
1124
1055
  for (let e = 0, s = A.weights.length; e < s; e++)
1125
- C.morphTargetInfluences[e] = A.weights[e];
1056
+ a.morphTargetInfluences[e] = A.weights[e];
1126
1057
  if (A.extras && Array.isArray(A.extras.targetNames)) {
1127
1058
  const e = A.extras.targetNames;
1128
- if (C.morphTargetInfluences.length === e.length) {
1129
- C.morphTargetDictionary = {};
1059
+ if (a.morphTargetInfluences.length === e.length) {
1060
+ a.morphTargetDictionary = {};
1130
1061
  for (let s = 0, t = e.length; s < t; s++)
1131
- C.morphTargetDictionary[e[s]] = s;
1062
+ a.morphTargetDictionary[e[s]] = s;
1132
1063
  } else
1133
1064
  console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.");
1134
1065
  }
1135
1066
  }
1136
- function ei(C) {
1067
+ function Yn(a) {
1137
1068
  let A;
1138
- const e = C.extensions && C.extensions[R.KHR_DRACO_MESH_COMPRESSION];
1139
- if (e ? A = "draco:" + e.bufferView + ":" + e.indices + ":" + Ye(e.attributes) : A = C.indices + ":" + Ye(C.attributes) + ":" + C.mode, C.targets !== void 0)
1140
- for (let s = 0, t = C.targets.length; s < t; s++)
1141
- A += ":" + Ye(C.targets[s]);
1069
+ const e = a.extensions && a.extensions[R.KHR_DRACO_MESH_COMPRESSION];
1070
+ if (e ? A = "draco:" + e.bufferView + ":" + e.indices + ":" + Ue(e.attributes) : A = a.indices + ":" + Ue(a.attributes) + ":" + a.mode, a.targets !== void 0)
1071
+ for (let s = 0, t = a.targets.length; s < t; s++)
1072
+ A += ":" + Ue(a.targets[s]);
1142
1073
  return A;
1143
1074
  }
1144
- function Ye(C) {
1075
+ function Ue(a) {
1145
1076
  let A = "";
1146
- const e = Object.keys(C).sort();
1077
+ const e = Object.keys(a).sort();
1147
1078
  for (let s = 0, t = e.length; s < t; s++)
1148
- A += e[s] + ":" + C[e[s]] + ";";
1079
+ A += e[s] + ":" + a[e[s]] + ";";
1149
1080
  return A;
1150
1081
  }
1151
- function it(C) {
1152
- switch (C) {
1082
+ function Ve(a) {
1083
+ switch (a) {
1153
1084
  case Int8Array:
1154
1085
  return 1 / 127;
1155
1086
  case Uint8Array:
@@ -1162,15 +1093,15 @@ function it(C) {
1162
1093
  throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.");
1163
1094
  }
1164
1095
  }
1165
- function ti(C) {
1166
- return C.search(/\.jpe?g($|\?)/i) > 0 || C.search(/^data\:image\/jpeg/) === 0 ? "image/jpeg" : C.search(/\.webp($|\?)/i) > 0 || C.search(/^data\:image\/webp/) === 0 ? "image/webp" : "image/png";
1096
+ function qn(a) {
1097
+ return a.search(/\.jpe?g($|\?)/i) > 0 || a.search(/^data\:image\/jpeg/) === 0 ? "image/jpeg" : a.search(/\.webp($|\?)/i) > 0 || a.search(/^data\:image\/webp/) === 0 ? "image/webp" : "image/png";
1167
1098
  }
1168
- const si = new KA();
1169
- class ni {
1099
+ const Xn = new xA();
1100
+ class vn {
1170
1101
  constructor(A = {}, e = {}) {
1171
- this.json = A, this.extensions = {}, this.plugins = {}, this.options = e, this.cache = new Mn(), 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 = {};
1102
+ this.json = A, this.extensions = {}, this.plugins = {}, this.options = e, this.cache = new hn(), 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 = {};
1172
1103
  let s = !1, t = !1, n = -1;
1173
- typeof navigator != "undefined" && (s = /^((?!chrome|android).)*safari/i.test(navigator.userAgent) === !0, t = navigator.userAgent.indexOf("Firefox") > -1, n = t ? navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1] : -1), typeof createImageBitmap == "undefined" || s || t && n < 98 ? this.textureLoader = new Kt(this.options.manager) : this.textureLoader = new Ss(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.textureLoader.setRequestHeader(this.options.requestHeader), this.fileLoader = new DA(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
1104
+ typeof navigator != "undefined" && (s = /^((?!chrome|android).)*safari/i.test(navigator.userAgent) === !0, t = navigator.userAgent.indexOf("Firefox") > -1, n = t ? navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1] : -1), typeof createImageBitmap == "undefined" || s || t && n < 98 ? this.textureLoader = new St(this.options.manager) : this.textureLoader = new us(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.textureLoader.setRequestHeader(this.options.requestHeader), this.fileLoader = new fA(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
1174
1105
  }
1175
1106
  setExtensions(A) {
1176
1107
  this.extensions = A;
@@ -1200,7 +1131,7 @@ class ni {
1200
1131
  parser: s,
1201
1132
  userData: {}
1202
1133
  };
1203
- return lA(n, B, t), iA(B, t), Promise.all(s._invokeAll(function(o) {
1134
+ return QA(n, B, t), sA(B, t), Promise.all(s._invokeAll(function(o) {
1204
1135
  return o.afterRoot && o.afterRoot(B);
1205
1136
  })).then(function() {
1206
1137
  for (const o of B.scenes)
@@ -1363,7 +1294,7 @@ class ni {
1363
1294
  return Promise.resolve(this.extensions[R.KHR_BINARY_GLTF].body);
1364
1295
  const t = this.options;
1365
1296
  return new Promise(function(n, i) {
1366
- s.load(jA.resolveURL(e.uri, t.path), n, void 0, function() {
1297
+ s.load(vA.resolveURL(e.uri, t.path), n, void 0, function() {
1367
1298
  i(new Error('THREE.GLTFLoader: Failed to load buffer "' + e.uri + '".'));
1368
1299
  });
1369
1300
  });
@@ -1388,25 +1319,25 @@ class ni {
1388
1319
  loadAccessor(A) {
1389
1320
  const e = this, s = this.json, t = this.json.accessors[A];
1390
1321
  if (t.bufferView === void 0 && t.sparse === void 0) {
1391
- const i = _e[t.type], B = RA[t.componentType], o = t.normalized === !0, r = new B(t.count * i);
1392
- return Promise.resolve(new ZA(r, i, o));
1322
+ const i = He[t.type], B = RA[t.componentType], o = t.normalized === !0, r = new B(t.count * i);
1323
+ return Promise.resolve(new WA(r, i, o));
1393
1324
  }
1394
1325
  const n = [];
1395
1326
  return t.bufferView !== void 0 ? n.push(this.getDependency("bufferView", t.bufferView)) : n.push(null), t.sparse !== void 0 && (n.push(this.getDependency("bufferView", t.sparse.indices.bufferView)), n.push(this.getDependency("bufferView", t.sparse.values.bufferView))), Promise.all(n).then(function(i) {
1396
- const B = i[0], o = _e[t.type], r = RA[t.componentType], I = r.BYTES_PER_ELEMENT, a = I * o, c = t.byteOffset || 0, Q = t.bufferView !== void 0 ? s.bufferViews[t.bufferView].byteStride : void 0, l = t.normalized === !0;
1327
+ const B = i[0], o = He[t.type], r = RA[t.componentType], I = r.BYTES_PER_ELEMENT, C = I * o, c = t.byteOffset || 0, Q = t.bufferView !== void 0 ? s.bufferViews[t.bufferView].byteStride : void 0, l = t.normalized === !0;
1397
1328
  let h, E;
1398
- if (Q && Q !== a) {
1329
+ if (Q && Q !== C) {
1399
1330
  const d = Math.floor(c / Q), u = "InterleavedBuffer:" + t.bufferView + ":" + t.componentType + ":" + d + ":" + t.count;
1400
- let D = e.cache.get(u);
1401
- D || (h = new r(B, d * Q, t.count * Q / I), D = new Ls(h, Q / I), e.cache.add(u, D)), E = new Hs(D, o, c % Q / I, l);
1331
+ let f = e.cache.get(u);
1332
+ f || (h = new r(B, d * Q, t.count * Q / I), f = new fs(h, Q / I), e.cache.add(u, f)), E = new Ds(f, o, c % Q / I, l);
1402
1333
  } else
1403
- B === null ? h = new r(t.count * o) : h = new r(B, c, t.count * o), E = new ZA(h, o, l);
1334
+ B === null ? h = new r(t.count * o) : h = new r(B, c, t.count * o), E = new WA(h, o, l);
1404
1335
  if (t.sparse !== void 0) {
1405
- const d = _e.SCALAR, u = RA[t.sparse.indices.componentType], D = t.sparse.indices.byteOffset || 0, F = t.sparse.values.byteOffset || 0, p = new u(i[1], D, t.sparse.count * d), m = new r(i[2], F, t.sparse.count * o);
1406
- B !== null && (E = new ZA(E.array.slice(), E.itemSize, E.normalized));
1407
- for (let w = 0, P = p.length; w < P; w++) {
1408
- const J = p[w];
1409
- if (E.setX(J, m[w * o]), o >= 2 && E.setY(J, m[w * o + 1]), o >= 3 && E.setZ(J, m[w * o + 2]), o >= 4 && E.setW(J, m[w * o + 3]), o >= 5)
1336
+ const d = He.SCALAR, u = RA[t.sparse.indices.componentType], f = t.sparse.indices.byteOffset || 0, D = t.sparse.values.byteOffset || 0, p = new u(i[1], f, t.sparse.count * d), m = new r(i[2], D, t.sparse.count * o);
1337
+ B !== null && (E = new WA(E.array.slice(), E.itemSize, E.normalized));
1338
+ for (let M = 0, P = p.length; M < P; M++) {
1339
+ const T = p[M];
1340
+ if (E.setX(T, m[M * o]), o >= 2 && E.setY(T, m[M * o + 1]), o >= 3 && E.setZ(T, m[M * o + 2]), o >= 4 && E.setW(T, m[M * o + 3]), o >= 5)
1410
1341
  throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.");
1411
1342
  }
1412
1343
  }
@@ -1434,7 +1365,7 @@ class ni {
1434
1365
  const r = this.loadImageSource(e, s).then(function(I) {
1435
1366
  I.flipY = !1, I.name = i.name || B.name || "", I.name === "" && typeof B.uri == "string" && B.uri.startsWith("data:image/") === !1 && (I.name = B.uri);
1436
1367
  const c = (n.samplers || {})[i.sampler] || {};
1437
- return I.magFilter = wt[c.magFilter] || Ue, I.minFilter = wt[c.minFilter] || Et, I.wrapS = yt[c.wrapS] || tt, I.wrapT = yt[c.wrapT] || tt, t.associations.set(I, { textures: A }), I;
1368
+ return I.magFilter = lt[c.magFilter] || Me, I.minFilter = lt[c.minFilter] || tt, I.wrapS = dt[c.wrapS] || ve, I.wrapT = dt[c.wrapT] || ve, t.associations.set(I, { textures: A }), I;
1438
1369
  }).catch(function() {
1439
1370
  return null;
1440
1371
  });
@@ -1443,29 +1374,29 @@ class ni {
1443
1374
  loadImageSource(A, e) {
1444
1375
  const s = this, t = this.json, n = this.options;
1445
1376
  if (this.sourceCache[A] !== void 0)
1446
- return this.sourceCache[A].then((a) => a.clone());
1377
+ return this.sourceCache[A].then((C) => C.clone());
1447
1378
  const i = t.images[A], B = self.URL || self.webkitURL;
1448
1379
  let o = i.uri || "", r = !1;
1449
1380
  if (i.bufferView !== void 0)
1450
- o = s.getDependency("bufferView", i.bufferView).then(function(a) {
1381
+ o = s.getDependency("bufferView", i.bufferView).then(function(C) {
1451
1382
  r = !0;
1452
- const c = new Blob([a], { type: i.mimeType });
1383
+ const c = new Blob([C], { type: i.mimeType });
1453
1384
  return o = B.createObjectURL(c), o;
1454
1385
  });
1455
1386
  else if (i.uri === void 0)
1456
1387
  throw new Error("THREE.GLTFLoader: Image " + A + " is missing URI and bufferView");
1457
- const I = Promise.resolve(o).then(function(a) {
1388
+ const I = Promise.resolve(o).then(function(C) {
1458
1389
  return new Promise(function(c, Q) {
1459
1390
  let l = c;
1460
1391
  e.isImageBitmapLoader === !0 && (l = function(h) {
1461
- const E = new ut(h);
1392
+ const E = new Bt(h);
1462
1393
  E.needsUpdate = !0, c(E);
1463
- }), e.load(jA.resolveURL(a, n.path), l, void 0, Q);
1394
+ }), e.load(vA.resolveURL(C, n.path), l, void 0, Q);
1464
1395
  });
1465
- }).then(function(a) {
1466
- return r === !0 && B.revokeObjectURL(o), a.userData.mimeType = i.mimeType || ti(i.uri), a;
1467
- }).catch(function(a) {
1468
- throw console.error("THREE.GLTFLoader: Couldn't load texture", o), a;
1396
+ }).then(function(C) {
1397
+ return r === !0 && B.revokeObjectURL(o), C.userData.mimeType = i.mimeType || qn(i.uri), C;
1398
+ }).catch(function(C) {
1399
+ throw console.error("THREE.GLTFLoader: Couldn't load texture", o), C;
1469
1400
  });
1470
1401
  return this.sourceCache[A] = I, I;
1471
1402
  }
@@ -1506,11 +1437,11 @@ class ni {
1506
1437
  if (A.isPoints) {
1507
1438
  const B = "PointsMaterial:" + s.uuid;
1508
1439
  let o = this.cache.get(B);
1509
- o || (o = new Js(), Ke.prototype.copy.call(o, s), o.color.copy(s.color), o.map = s.map, o.sizeAttenuation = !1, this.cache.add(B, o)), s = o;
1440
+ o || (o = new Fs(), Le.prototype.copy.call(o, s), o.color.copy(s.color), o.map = s.map, o.sizeAttenuation = !1, this.cache.add(B, o)), s = o;
1510
1441
  } else if (A.isLine) {
1511
1442
  const B = "LineBasicMaterial:" + s.uuid;
1512
1443
  let o = this.cache.get(B);
1513
- o || (o = new Ts(), Ke.prototype.copy.call(o, s), o.color.copy(s.color), o.map = s.map, this.cache.add(B, o)), s = o;
1444
+ o || (o = new Gs(), Le.prototype.copy.call(o, s), o.color.copy(s.color), o.map = s.map, this.cache.add(B, o)), s = o;
1514
1445
  }
1515
1446
  if (t || n || i) {
1516
1447
  let B = "ClonedMaterial:" + s.uuid + ":";
@@ -1521,7 +1452,7 @@ class ni {
1521
1452
  A.material = s;
1522
1453
  }
1523
1454
  getMaterialType() {
1524
- return _t;
1455
+ return Jt;
1525
1456
  }
1526
1457
  /**
1527
1458
  * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#materials
@@ -1533,38 +1464,38 @@ class ni {
1533
1464
  let i;
1534
1465
  const B = {}, o = n.extensions || {}, r = [];
1535
1466
  if (o[R.KHR_MATERIALS_UNLIT]) {
1536
- const a = t[R.KHR_MATERIALS_UNLIT];
1537
- i = a.getMaterialType(), r.push(a.extendParams(B, n, e));
1467
+ const C = t[R.KHR_MATERIALS_UNLIT];
1468
+ i = C.getMaterialType(), r.push(C.extendParams(B, n, e));
1538
1469
  } else {
1539
- const a = n.pbrMetallicRoughness || {};
1540
- if (B.color = new cA(1, 1, 1), B.opacity = 1, Array.isArray(a.baseColorFactor)) {
1541
- const c = a.baseColorFactor;
1470
+ const C = n.pbrMetallicRoughness || {};
1471
+ if (B.color = new EA(1, 1, 1), B.opacity = 1, Array.isArray(C.baseColorFactor)) {
1472
+ const c = C.baseColorFactor;
1542
1473
  B.color.setRGB(c[0], c[1], c[2], _), B.opacity = c[3];
1543
1474
  }
1544
- a.baseColorTexture !== void 0 && r.push(e.assignTexture(B, "map", a.baseColorTexture, AA)), B.metalness = a.metallicFactor !== void 0 ? a.metallicFactor : 1, B.roughness = a.roughnessFactor !== void 0 ? a.roughnessFactor : 1, a.metallicRoughnessTexture !== void 0 && (r.push(e.assignTexture(B, "metalnessMap", a.metallicRoughnessTexture)), r.push(e.assignTexture(B, "roughnessMap", a.metallicRoughnessTexture))), i = this._invokeOne(function(c) {
1475
+ C.baseColorTexture !== void 0 && r.push(e.assignTexture(B, "map", C.baseColorTexture, $)), B.metalness = C.metallicFactor !== void 0 ? C.metallicFactor : 1, B.roughness = C.roughnessFactor !== void 0 ? C.roughnessFactor : 1, C.metallicRoughnessTexture !== void 0 && (r.push(e.assignTexture(B, "metalnessMap", C.metallicRoughnessTexture)), r.push(e.assignTexture(B, "roughnessMap", C.metallicRoughnessTexture))), i = this._invokeOne(function(c) {
1545
1476
  return c.getMaterialType && c.getMaterialType(A);
1546
1477
  }), r.push(Promise.all(this._invokeAll(function(c) {
1547
1478
  return c.extendMaterialParams && c.extendMaterialParams(A, B);
1548
1479
  })));
1549
1480
  }
1550
- n.doubleSided === !0 && (B.side = Us);
1551
- const I = n.alphaMode || Pe.OPAQUE;
1552
- if (I === Pe.BLEND ? (B.transparent = !0, B.depthWrite = !1) : (B.transparent = !1, I === Pe.MASK && (B.alphaTest = n.alphaCutoff !== void 0 ? n.alphaCutoff : 0.5)), n.normalTexture !== void 0 && i !== vA && (r.push(e.assignTexture(B, "normalMap", n.normalTexture)), B.normalScale = new at(1, 1), n.normalTexture.scale !== void 0)) {
1553
- const a = n.normalTexture.scale;
1554
- B.normalScale.set(a, a);
1481
+ n.doubleSided === !0 && (B.side = Rs);
1482
+ const I = n.alphaMode || Te.OPAQUE;
1483
+ if (I === Te.BLEND ? (B.transparent = !0, B.depthWrite = !1) : (B.transparent = !1, I === Te.MASK && (B.alphaTest = n.alphaCutoff !== void 0 ? n.alphaCutoff : 0.5)), n.normalTexture !== void 0 && i !== YA && (r.push(e.assignTexture(B, "normalMap", n.normalTexture)), B.normalScale = new Lt(1, 1), n.normalTexture.scale !== void 0)) {
1484
+ const C = n.normalTexture.scale;
1485
+ B.normalScale.set(C, C);
1555
1486
  }
1556
- if (n.occlusionTexture !== void 0 && i !== vA && (r.push(e.assignTexture(B, "aoMap", n.occlusionTexture)), n.occlusionTexture.strength !== void 0 && (B.aoMapIntensity = n.occlusionTexture.strength)), n.emissiveFactor !== void 0 && i !== vA) {
1557
- const a = n.emissiveFactor;
1558
- B.emissive = new cA().setRGB(a[0], a[1], a[2], _);
1487
+ if (n.occlusionTexture !== void 0 && i !== YA && (r.push(e.assignTexture(B, "aoMap", n.occlusionTexture)), n.occlusionTexture.strength !== void 0 && (B.aoMapIntensity = n.occlusionTexture.strength)), n.emissiveFactor !== void 0 && i !== YA) {
1488
+ const C = n.emissiveFactor;
1489
+ B.emissive = new EA().setRGB(C[0], C[1], C[2], _);
1559
1490
  }
1560
- return n.emissiveTexture !== void 0 && i !== vA && r.push(e.assignTexture(B, "emissiveMap", n.emissiveTexture, AA)), Promise.all(r).then(function() {
1561
- const a = new i(B);
1562
- return n.name && (a.name = n.name), iA(a, n), e.associations.set(a, { materials: A }), n.extensions && lA(t, a, n), a;
1491
+ return n.emissiveTexture !== void 0 && i !== YA && r.push(e.assignTexture(B, "emissiveMap", n.emissiveTexture, $)), Promise.all(r).then(function() {
1492
+ const C = new i(B);
1493
+ return n.name && (C.name = n.name), sA(C, n), e.associations.set(C, { materials: A }), n.extensions && QA(t, C, n), C;
1563
1494
  });
1564
1495
  }
1565
1496
  /** When Object3D instances are targeted by animation, they need unique names. */
1566
1497
  createUniqueName(A) {
1567
- const e = Ns.sanitizeNodeName(A || "");
1498
+ const e = ps.sanitizeNodeName(A || "");
1568
1499
  return e in this.nodeNamesUsed ? e + "_" + ++this.nodeNamesUsed[e] : (this.nodeNamesUsed[e] = 0, e);
1569
1500
  }
1570
1501
  /**
@@ -1579,17 +1510,17 @@ class ni {
1579
1510
  const e = this, s = this.extensions, t = this.primitiveCache;
1580
1511
  function n(B) {
1581
1512
  return s[R.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(B, e).then(function(o) {
1582
- return St(o, B, e);
1513
+ return ut(o, B, e);
1583
1514
  });
1584
1515
  }
1585
1516
  const i = [];
1586
1517
  for (let B = 0, o = A.length; B < o; B++) {
1587
- const r = A[B], I = ei(r), a = t[I];
1588
- if (a)
1589
- i.push(a.promise);
1518
+ const r = A[B], I = Yn(r), C = t[I];
1519
+ if (C)
1520
+ i.push(C.promise);
1590
1521
  else {
1591
1522
  let c;
1592
- r.extensions && r.extensions[R.KHR_DRACO_MESH_COMPRESSION] ? c = n(r) : c = St(new Pt(), r, e), t[I] = { primitive: r, promise: c }, i.push(c);
1523
+ r.extensions && r.extensions[R.KHR_DRACO_MESH_COMPRESSION] ? c = n(r) : c = ut(new Ht(), r, e), t[I] = { primitive: r, promise: c }, i.push(c);
1593
1524
  }
1594
1525
  }
1595
1526
  return Promise.all(i);
@@ -1602,40 +1533,40 @@ class ni {
1602
1533
  loadMesh(A) {
1603
1534
  const e = this, s = this.json, t = this.extensions, n = s.meshes[A], i = n.primitives, B = [];
1604
1535
  for (let o = 0, r = i.length; o < r; o++) {
1605
- const I = i[o].material === void 0 ? zn(this.cache) : this.getDependency("material", i[o].material);
1536
+ const I = i[o].material === void 0 ? On(this.cache) : this.getDependency("material", i[o].material);
1606
1537
  B.push(I);
1607
1538
  }
1608
1539
  return B.push(e.loadGeometries(i)), Promise.all(B).then(function(o) {
1609
- const r = o.slice(0, o.length - 1), I = o[o.length - 1], a = [];
1540
+ const r = o.slice(0, o.length - 1), I = o[o.length - 1], C = [];
1610
1541
  for (let Q = 0, l = I.length; Q < l; Q++) {
1611
1542
  const h = I[Q], E = i[Q];
1612
1543
  let d;
1613
1544
  const u = r[Q];
1614
1545
  if (E.mode === b.TRIANGLES || E.mode === b.TRIANGLE_STRIP || E.mode === b.TRIANGLE_FAN || E.mode === void 0)
1615
- d = n.isSkinnedMesh === !0 ? new xs(h, u) : new Re(h, u), d.isSkinnedMesh === !0 && d.normalizeSkinWeights(), E.mode === b.TRIANGLE_STRIP ? d.geometry = mt(d.geometry, Ot) : E.mode === b.TRIANGLE_FAN && (d.geometry = mt(d.geometry, et));
1546
+ d = n.isSkinnedMesh === !0 ? new ms(h, u) : new Qe(h, u), d.isSkinnedMesh === !0 && d.normalizeSkinWeights(), E.mode === b.TRIANGLE_STRIP ? d.geometry = Qt(d.geometry, yt) : E.mode === b.TRIANGLE_FAN && (d.geometry = Qt(d.geometry, Xe));
1616
1547
  else if (E.mode === b.LINES)
1617
- d = new ks(h, u);
1548
+ d = new Ms(h, u);
1618
1549
  else if (E.mode === b.LINE_STRIP)
1619
- d = new bs(h, u);
1550
+ d = new ws(h, u);
1620
1551
  else if (E.mode === b.LINE_LOOP)
1621
- d = new Ks(h, u);
1552
+ d = new Ss(h, u);
1622
1553
  else if (E.mode === b.POINTS)
1623
- d = new Os(h, u);
1554
+ d = new ys(h, u);
1624
1555
  else
1625
1556
  throw new Error("THREE.GLTFLoader: Primitive mode unsupported: " + E.mode);
1626
- Object.keys(d.geometry.morphAttributes).length > 0 && Ai(d, n), d.name = e.createUniqueName(n.name || "mesh_" + A), iA(d, n), E.extensions && lA(t, d, E), e.assignFinalMaterial(d), a.push(d);
1557
+ Object.keys(d.geometry.morphAttributes).length > 0 && Pn(d, n), d.name = e.createUniqueName(n.name || "mesh_" + A), sA(d, n), E.extensions && QA(t, d, E), e.assignFinalMaterial(d), C.push(d);
1627
1558
  }
1628
- for (let Q = 0, l = a.length; Q < l; Q++)
1629
- e.associations.set(a[Q], {
1559
+ for (let Q = 0, l = C.length; Q < l; Q++)
1560
+ e.associations.set(C[Q], {
1630
1561
  meshes: A,
1631
1562
  primitives: Q
1632
1563
  });
1633
- if (a.length === 1)
1634
- return n.extensions && lA(t, a[0], n), a[0];
1635
- const c = new zA();
1636
- n.extensions && lA(t, c, n), e.associations.set(c, { meshes: A });
1637
- for (let Q = 0, l = a.length; Q < l; Q++)
1638
- c.add(a[Q]);
1564
+ if (C.length === 1)
1565
+ return n.extensions && QA(t, C[0], n), C[0];
1566
+ const c = new VA();
1567
+ n.extensions && QA(t, c, n), e.associations.set(c, { meshes: A });
1568
+ for (let Q = 0, l = C.length; Q < l; Q++)
1569
+ c.add(C[Q]);
1639
1570
  return c;
1640
1571
  });
1641
1572
  }
@@ -1651,7 +1582,7 @@ class ni {
1651
1582
  console.warn("THREE.GLTFLoader: Missing camera parameters.");
1652
1583
  return;
1653
1584
  }
1654
- return s.type === "perspective" ? e = new At(_s.radToDeg(t.yfov), t.aspectRatio || 1, t.znear || 1, t.zfar || 2e6) : s.type === "orthographic" && (e = new Te(-t.xmag, t.xmag, t.ymag, -t.ymag, t.znear, t.zfar)), s.name && (e.name = this.createUniqueName(s.name)), iA(e, s), Promise.resolve(e);
1585
+ return s.type === "perspective" ? e = new qe(Ls.radToDeg(t.yfov), t.aspectRatio || 1, t.znear || 1, t.zfar || 2e6) : s.type === "orthographic" && (e = new me(-t.xmag, t.xmag, t.ymag, -t.ymag, t.znear, t.zfar)), s.name && (e.name = this.createUniqueName(s.name)), sA(e, s), Promise.resolve(e);
1655
1586
  }
1656
1587
  /**
1657
1588
  * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#skins
@@ -1665,15 +1596,15 @@ class ni {
1665
1596
  return e.inverseBindMatrices !== void 0 ? s.push(this.getDependency("accessor", e.inverseBindMatrices)) : s.push(null), Promise.all(s).then(function(t) {
1666
1597
  const n = t.pop(), i = t, B = [], o = [];
1667
1598
  for (let r = 0, I = i.length; r < I; r++) {
1668
- const a = i[r];
1669
- if (a) {
1670
- B.push(a);
1671
- const c = new KA();
1599
+ const C = i[r];
1600
+ if (C) {
1601
+ B.push(C);
1602
+ const c = new xA();
1672
1603
  n !== null && c.fromArray(n.array, r * 16), o.push(c);
1673
1604
  } else
1674
1605
  console.warn('THREE.GLTFLoader: Joint "%s" could not be found.', e.joints[r]);
1675
1606
  }
1676
- return new Ps(B, o);
1607
+ return new Js(B, o);
1677
1608
  });
1678
1609
  }
1679
1610
  /**
@@ -1683,8 +1614,8 @@ class ni {
1683
1614
  */
1684
1615
  loadAnimation(A) {
1685
1616
  const e = this.json, s = this, t = e.animations[A], n = t.name ? t.name : "animation_" + A, i = [], B = [], o = [], r = [], I = [];
1686
- for (let a = 0, c = t.channels.length; a < c; a++) {
1687
- const Q = t.channels[a], l = t.samplers[Q.sampler], h = Q.target, E = h.node, d = t.parameters !== void 0 ? t.parameters[l.input] : l.input, u = t.parameters !== void 0 ? t.parameters[l.output] : l.output;
1617
+ for (let C = 0, c = t.channels.length; C < c; C++) {
1618
+ const Q = t.channels[C], l = t.samplers[Q.sampler], h = Q.target, E = h.node, d = t.parameters !== void 0 ? t.parameters[l.input] : l.input, u = t.parameters !== void 0 ? t.parameters[l.output] : l.output;
1688
1619
  h.node !== void 0 && (i.push(this.getDependency("node", E)), B.push(this.getDependency("accessor", d)), o.push(this.getDependency("accessor", u)), r.push(l), I.push(h));
1689
1620
  }
1690
1621
  return Promise.all([
@@ -1693,19 +1624,19 @@ class ni {
1693
1624
  Promise.all(o),
1694
1625
  Promise.all(r),
1695
1626
  Promise.all(I)
1696
- ]).then(function(a) {
1697
- const c = a[0], Q = a[1], l = a[2], h = a[3], E = a[4], d = [];
1698
- for (let u = 0, D = c.length; u < D; u++) {
1699
- const F = c[u], p = Q[u], m = l[u], w = h[u], P = E[u];
1700
- if (F === void 0)
1627
+ ]).then(function(C) {
1628
+ const c = C[0], Q = C[1], l = C[2], h = C[3], E = C[4], d = [];
1629
+ for (let u = 0, f = c.length; u < f; u++) {
1630
+ const D = c[u], p = Q[u], m = l[u], M = h[u], P = E[u];
1631
+ if (D === void 0)
1701
1632
  continue;
1702
- F.updateMatrix && F.updateMatrix();
1703
- const J = s._createAnimationTracks(F, p, m, w, P);
1704
- if (J)
1705
- for (let V = 0; V < J.length; V++)
1706
- d.push(J[V]);
1633
+ D.updateMatrix && D.updateMatrix();
1634
+ const T = s._createAnimationTracks(D, p, m, M, P);
1635
+ if (T)
1636
+ for (let v = 0; v < T.length; v++)
1637
+ d.push(T[v]);
1707
1638
  }
1708
- return new Ys(n, void 0, d);
1639
+ return new Hs(n, void 0, d);
1709
1640
  });
1710
1641
  }
1711
1642
  createNodeMesh(A) {
@@ -1734,12 +1665,12 @@ class ni {
1734
1665
  Promise.all(i),
1735
1666
  o
1736
1667
  ]).then(function(r) {
1737
- const I = r[0], a = r[1], c = r[2];
1668
+ const I = r[0], C = r[1], c = r[2];
1738
1669
  c !== null && I.traverse(function(Q) {
1739
- Q.isSkinnedMesh && Q.bind(c, si);
1670
+ Q.isSkinnedMesh && Q.bind(c, Xn);
1740
1671
  });
1741
- for (let Q = 0, l = a.length; Q < l; Q++)
1742
- I.add(a[Q]);
1672
+ for (let Q = 0, l = C.length; Q < l; Q++)
1673
+ I.add(C[Q]);
1743
1674
  return I;
1744
1675
  });
1745
1676
  }
@@ -1760,12 +1691,12 @@ class ni {
1760
1691
  B.push(r);
1761
1692
  }), this.nodeCache[A] = Promise.all(B).then(function(r) {
1762
1693
  let I;
1763
- if (n.isBone === !0 ? I = new qs() : r.length > 1 ? I = new zA() : r.length === 1 ? I = r[0] : I = new gt(), I !== r[0])
1764
- for (let a = 0, c = r.length; a < c; a++)
1765
- I.add(r[a]);
1766
- if (n.name && (I.userData.name = n.name, I.name = i), iA(I, n), n.extensions && lA(s, I, n), n.matrix !== void 0) {
1767
- const a = new KA();
1768
- a.fromArray(n.matrix), I.applyMatrix4(a);
1694
+ if (n.isBone === !0 ? I = new Ts() : r.length > 1 ? I = new VA() : r.length === 1 ? I = r[0] : I = new et(), I !== r[0])
1695
+ for (let C = 0, c = r.length; C < c; C++)
1696
+ I.add(r[C]);
1697
+ if (n.name && (I.userData.name = n.name, I.name = i), sA(I, n), n.extensions && QA(s, I, n), n.matrix !== void 0) {
1698
+ const C = new xA();
1699
+ C.fromArray(n.matrix), I.applyMatrix4(C);
1769
1700
  } else
1770
1701
  n.translation !== void 0 && I.position.fromArray(n.translation), n.rotation !== void 0 && I.quaternion.fromArray(n.rotation), n.scale !== void 0 && I.scale.fromArray(n.scale);
1771
1702
  return t.associations.has(I) || t.associations.set(I, {}), t.associations.get(I).nodes = A, I;
@@ -1777,62 +1708,62 @@ class ni {
1777
1708
  * @return {Promise<Group>}
1778
1709
  */
1779
1710
  loadScene(A) {
1780
- const e = this.extensions, s = this.json.scenes[A], t = this, n = new zA();
1781
- s.name && (n.name = t.createUniqueName(s.name)), iA(n, s), s.extensions && lA(e, n, s);
1711
+ const e = this.extensions, s = this.json.scenes[A], t = this, n = new VA();
1712
+ s.name && (n.name = t.createUniqueName(s.name)), sA(n, s), s.extensions && QA(e, n, s);
1782
1713
  const i = s.nodes || [], B = [];
1783
1714
  for (let o = 0, r = i.length; o < r; o++)
1784
1715
  B.push(t.getDependency("node", i[o]));
1785
1716
  return Promise.all(B).then(function(o) {
1786
- for (let I = 0, a = o.length; I < a; I++)
1717
+ for (let I = 0, C = o.length; I < C; I++)
1787
1718
  n.add(o[I]);
1788
1719
  const r = (I) => {
1789
- const a = /* @__PURE__ */ new Map();
1720
+ const C = /* @__PURE__ */ new Map();
1790
1721
  for (const [c, Q] of t.associations)
1791
- (c instanceof Ke || c instanceof ut) && a.set(c, Q);
1722
+ (c instanceof Le || c instanceof Bt) && C.set(c, Q);
1792
1723
  return I.traverse((c) => {
1793
1724
  const Q = t.associations.get(c);
1794
- Q != null && a.set(c, Q);
1795
- }), a;
1725
+ Q != null && C.set(c, Q);
1726
+ }), C;
1796
1727
  };
1797
1728
  return t.associations = r(n), n;
1798
1729
  });
1799
1730
  }
1800
1731
  _createAnimationTracks(A, e, s, t, n) {
1801
1732
  const i = [], B = A.name ? A.name : A.uuid, o = [];
1802
- nA[n.path] === nA.weights ? A.traverse(function(c) {
1733
+ tA[n.path] === tA.weights ? A.traverse(function(c) {
1803
1734
  c.morphTargetInfluences && o.push(c.name ? c.name : c.uuid);
1804
1735
  }) : o.push(B);
1805
1736
  let r;
1806
- switch (nA[n.path]) {
1807
- case nA.weights:
1808
- r = Dt;
1737
+ switch (tA[n.path]) {
1738
+ case tA.weights:
1739
+ r = Ct;
1809
1740
  break;
1810
- case nA.rotation:
1811
- r = Ft;
1741
+ case tA.rotation:
1742
+ r = at;
1812
1743
  break;
1813
- case nA.position:
1814
- case nA.scale:
1815
- r = ft;
1744
+ case tA.position:
1745
+ case tA.scale:
1746
+ r = rt;
1816
1747
  break;
1817
1748
  default:
1818
1749
  switch (s.itemSize) {
1819
1750
  case 1:
1820
- r = Dt;
1751
+ r = Ct;
1821
1752
  break;
1822
1753
  case 2:
1823
1754
  case 3:
1824
1755
  default:
1825
- r = ft;
1756
+ r = rt;
1826
1757
  break;
1827
1758
  }
1828
1759
  break;
1829
1760
  }
1830
- const I = t.interpolation !== void 0 ? Zn[t.interpolation] : Yt, a = this._getArrayFromAccessor(s);
1761
+ const I = t.interpolation !== void 0 ? Kn[t.interpolation] : Tt, C = this._getArrayFromAccessor(s);
1831
1762
  for (let c = 0, Q = o.length; c < Q; c++) {
1832
1763
  const l = new r(
1833
- o[c] + "." + nA[n.path],
1764
+ o[c] + "." + tA[n.path],
1834
1765
  e.array,
1835
- a,
1766
+ C,
1836
1767
  I
1837
1768
  );
1838
1769
  t.interpolation === "CUBICSPLINE" && this._createCubicSplineTrackInterpolant(l), i.push(l);
@@ -1842,7 +1773,7 @@ class ni {
1842
1773
  _getArrayFromAccessor(A) {
1843
1774
  let e = A.array;
1844
1775
  if (A.normalized) {
1845
- const s = it(e.constructor), t = new Float32Array(e.length);
1776
+ const s = Ve(e.constructor), t = new Float32Array(e.length);
1846
1777
  for (let n = 0, i = e.length; n < i; n++)
1847
1778
  t[n] = e[n] * s;
1848
1779
  e = t;
@@ -1851,21 +1782,21 @@ class ni {
1851
1782
  }
1852
1783
  _createCubicSplineTrackInterpolant(A) {
1853
1784
  A.createInterpolant = function(s) {
1854
- const t = this instanceof Ft ? jn : Vt;
1785
+ const t = this instanceof at ? bn : bt;
1855
1786
  return new t(this.times, this.values, this.getValueSize() / 3, s);
1856
1787
  }, A.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline = !0;
1857
1788
  }
1858
1789
  }
1859
- function ii(C, A, e) {
1860
- const s = A.attributes, t = new An();
1790
+ function Wn(a, A, e) {
1791
+ const s = A.attributes, t = new Ps();
1861
1792
  if (s.POSITION !== void 0) {
1862
1793
  const B = e.json.accessors[s.POSITION], o = B.min, r = B.max;
1863
1794
  if (o !== void 0 && r !== void 0) {
1864
1795
  if (t.set(
1865
- new y(o[0], o[1], o[2]),
1866
- new y(r[0], r[1], r[2])
1796
+ new w(o[0], o[1], o[2]),
1797
+ new w(r[0], r[1], r[2])
1867
1798
  ), B.normalized) {
1868
- const I = it(RA[B.componentType]);
1799
+ const I = Ve(RA[B.componentType]);
1869
1800
  t.min.multiplyScalar(I), t.max.multiplyScalar(I);
1870
1801
  }
1871
1802
  } else {
@@ -1876,14 +1807,14 @@ function ii(C, A, e) {
1876
1807
  return;
1877
1808
  const n = A.targets;
1878
1809
  if (n !== void 0) {
1879
- const B = new y(), o = new y();
1810
+ const B = new w(), o = new w();
1880
1811
  for (let r = 0, I = n.length; r < I; r++) {
1881
- const a = n[r];
1882
- if (a.POSITION !== void 0) {
1883
- const c = e.json.accessors[a.POSITION], Q = c.min, l = c.max;
1812
+ const C = n[r];
1813
+ if (C.POSITION !== void 0) {
1814
+ const c = e.json.accessors[C.POSITION], Q = c.min, l = c.max;
1884
1815
  if (Q !== void 0 && l !== void 0) {
1885
1816
  if (o.setX(Math.max(Math.abs(Q[0]), Math.abs(l[0]))), o.setY(Math.max(Math.abs(Q[1]), Math.abs(l[1]))), o.setZ(Math.max(Math.abs(Q[2]), Math.abs(l[2]))), c.normalized) {
1886
- const h = it(RA[c.componentType]);
1817
+ const h = Ve(RA[c.componentType]);
1887
1818
  o.multiplyScalar(h);
1888
1819
  }
1889
1820
  B.max(o);
@@ -1893,33 +1824,33 @@ function ii(C, A, e) {
1893
1824
  }
1894
1825
  t.expandByVector(B);
1895
1826
  }
1896
- C.boundingBox = t;
1897
- const i = new en();
1898
- t.getCenter(i.center), i.radius = t.min.distanceTo(t.max) / 2, C.boundingSphere = i;
1827
+ a.boundingBox = t;
1828
+ const i = new Ys();
1829
+ t.getCenter(i.center), i.radius = t.min.distanceTo(t.max) / 2, a.boundingSphere = i;
1899
1830
  }
1900
- function St(C, A, e) {
1831
+ function ut(a, A, e) {
1901
1832
  const s = A.attributes, t = [];
1902
1833
  function n(i, B) {
1903
1834
  return e.getDependency("accessor", i).then(function(o) {
1904
- C.setAttribute(B, o);
1835
+ a.setAttribute(B, o);
1905
1836
  });
1906
1837
  }
1907
1838
  for (const i in s) {
1908
- const B = nt[i] || i.toLowerCase();
1909
- B in C.attributes || t.push(n(s[i], B));
1839
+ const B = We[i] || i.toLowerCase();
1840
+ B in a.attributes || t.push(n(s[i], B));
1910
1841
  }
1911
- if (A.indices !== void 0 && !C.index) {
1842
+ if (A.indices !== void 0 && !a.index) {
1912
1843
  const i = e.getDependency("accessor", A.indices).then(function(B) {
1913
- C.setIndex(B);
1844
+ a.setIndex(B);
1914
1845
  });
1915
1846
  t.push(i);
1916
1847
  }
1917
- return dt.workingColorSpace !== _ && "COLOR_0" in s && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${dt.workingColorSpace}" not supported.`), iA(C, A), ii(C, A, e), Promise.all(t).then(function() {
1918
- return A.targets !== void 0 ? $n(C, A.targets, e) : C;
1848
+ return ot.workingColorSpace !== _ && "COLOR_0" in s && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${ot.workingColorSpace}" not supported.`), sA(a, A), Wn(a, A, e), Promise.all(t).then(function() {
1849
+ return A.targets !== void 0 ? _n(a, A.targets, e) : a;
1919
1850
  });
1920
1851
  }
1921
- const qe = /* @__PURE__ */ new WeakMap();
1922
- class oi extends Ct {
1852
+ const Ne = /* @__PURE__ */ new WeakMap();
1853
+ class Vn extends $e {
1923
1854
  constructor(A) {
1924
1855
  super(A), this.decoderPath = "", this.decoderConfig = {}, this.decoderBinary = null, this.decoderPending = null, this.workerLimit = 4, this.workerPool = [], this.workerNextTaskID = 1, this.workerSourceURL = "", this.defaultAttributeIDs = {
1925
1856
  position: "POSITION",
@@ -1943,14 +1874,14 @@ class oi extends Ct {
1943
1874
  return this.workerLimit = A, this;
1944
1875
  }
1945
1876
  load(A, e, s, t) {
1946
- const n = new DA(this.manager);
1877
+ const n = new fA(this.manager);
1947
1878
  n.setPath(this.path), n.setResponseType("arraybuffer"), n.setRequestHeader(this.requestHeader), n.setWithCredentials(this.withCredentials), n.load(A, (i) => {
1948
1879
  this.parse(i, e, t);
1949
1880
  }, s, t);
1950
1881
  }
1951
1882
  parse(A, e, s = () => {
1952
1883
  }) {
1953
- this.decodeDracoFile(A, e, null, null, AA).catch(s);
1884
+ this.decodeDracoFile(A, e, null, null, $).catch(s);
1954
1885
  }
1955
1886
  decodeDracoFile(A, e, s, t, n = _, i = () => {
1956
1887
  }) {
@@ -1964,8 +1895,8 @@ class oi extends Ct {
1964
1895
  }
1965
1896
  decodeGeometry(A, e) {
1966
1897
  const s = JSON.stringify(e);
1967
- if (qe.has(A)) {
1968
- const o = qe.get(A);
1898
+ if (Ne.has(A)) {
1899
+ const o = Ne.get(A);
1969
1900
  if (o.key === s)
1970
1901
  return o.promise;
1971
1902
  if (A.byteLength === 0)
@@ -1979,29 +1910,29 @@ class oi extends Ct {
1979
1910
  }))).then((o) => this._createGeometry(o.geometry));
1980
1911
  return B.catch(() => !0).then(() => {
1981
1912
  t && n && this._releaseTask(t, n);
1982
- }), qe.set(A, {
1913
+ }), Ne.set(A, {
1983
1914
  key: s,
1984
1915
  promise: B
1985
1916
  }), B;
1986
1917
  }
1987
1918
  _createGeometry(A) {
1988
- const e = new Pt();
1989
- A.index && e.setIndex(new ZA(A.index.array, 1));
1919
+ const e = new Ht();
1920
+ A.index && e.setIndex(new WA(A.index.array, 1));
1990
1921
  for (let s = 0; s < A.attributes.length; s++) {
1991
- const t = A.attributes[s], n = t.name, i = t.array, B = t.itemSize, o = new ZA(i, B);
1922
+ const t = A.attributes[s], n = t.name, i = t.array, B = t.itemSize, o = new WA(i, B);
1992
1923
  n === "color" && (this._assignVertexColorSpace(o, t.vertexColorSpace), o.normalized = !(i instanceof Float32Array)), e.setAttribute(n, o);
1993
1924
  }
1994
1925
  return e;
1995
1926
  }
1996
1927
  _assignVertexColorSpace(A, e) {
1997
- if (e !== AA)
1928
+ if (e !== $)
1998
1929
  return;
1999
- const s = new cA();
1930
+ const s = new EA();
2000
1931
  for (let t = 0, n = A.count; t < n; t++)
2001
1932
  s.fromBufferAttribute(A, t).convertSRGBToLinear(), A.setXYZ(t, s.r, s.g, s.b);
2002
1933
  }
2003
1934
  _loadLibrary(A, e) {
2004
- const s = new DA(this.manager);
1935
+ const s = new fA(this.manager);
2005
1936
  return s.setPath(this.decoderPath), s.setResponseType(e), s.setWithCredentials(this.withCredentials), new Promise((t, n) => {
2006
1937
  s.load(A, t, void 0, n);
2007
1938
  });
@@ -2016,7 +1947,7 @@ class oi extends Ct {
2016
1947
  return A ? e.push(this._loadLibrary("draco_decoder.js", "text")) : (e.push(this._loadLibrary("draco_wasm_wrapper.js", "text")), e.push(this._loadLibrary("draco_decoder.wasm", "arraybuffer"))), this.decoderPending = Promise.all(e).then((s) => {
2017
1948
  const t = s[0];
2018
1949
  A || (this.decoderConfig.wasmBinary = s[1]);
2019
- const n = Bi.toString(), i = [
1950
+ const n = jn.toString(), i = [
2020
1951
  "/* draco decoder */",
2021
1952
  t,
2022
1953
  "",
@@ -2064,36 +1995,36 @@ class oi extends Ct {
2064
1995
  return this.workerPool.length = 0, this.workerSourceURL !== "" && URL.revokeObjectURL(this.workerSourceURL), this;
2065
1996
  }
2066
1997
  }
2067
- function Bi() {
2068
- let C, A;
1998
+ function jn() {
1999
+ let a, A;
2069
2000
  onmessage = function(i) {
2070
2001
  const B = i.data;
2071
2002
  switch (B.type) {
2072
2003
  case "init":
2073
- C = B.decoderConfig, A = new Promise(function(I) {
2074
- C.onModuleLoaded = function(a) {
2075
- I({ draco: a });
2076
- }, DracoDecoderModule(C);
2004
+ a = B.decoderConfig, A = new Promise(function(I) {
2005
+ a.onModuleLoaded = function(C) {
2006
+ I({ draco: C });
2007
+ }, DracoDecoderModule(a);
2077
2008
  });
2078
2009
  break;
2079
2010
  case "decode":
2080
2011
  const o = B.buffer, r = B.taskConfig;
2081
2012
  A.then((I) => {
2082
- const a = I.draco, c = new a.Decoder();
2013
+ const C = I.draco, c = new C.Decoder();
2083
2014
  try {
2084
- const Q = e(a, c, new Int8Array(o), r), l = Q.attributes.map((h) => h.array.buffer);
2015
+ const Q = e(C, c, new Int8Array(o), r), l = Q.attributes.map((h) => h.array.buffer);
2085
2016
  Q.index && l.push(Q.index.array.buffer), self.postMessage({ type: "decode", id: B.id, geometry: Q }, l);
2086
2017
  } catch (Q) {
2087
2018
  console.error(Q), self.postMessage({ type: "error", id: B.id, error: Q.message });
2088
2019
  } finally {
2089
- a.destroy(c);
2020
+ C.destroy(c);
2090
2021
  }
2091
2022
  });
2092
2023
  break;
2093
2024
  }
2094
2025
  };
2095
2026
  function e(i, B, o, r) {
2096
- const I = r.attributeIDs, a = r.attributeTypes;
2027
+ const I = r.attributeIDs, C = r.attributeTypes;
2097
2028
  let c, Q;
2098
2029
  const l = B.GetEncodedGeometryType(o);
2099
2030
  if (l === i.TRIANGULAR_MESH)
@@ -2106,29 +2037,29 @@ function Bi() {
2106
2037
  throw new Error("THREE.DRACOLoader: Decoding failed: " + Q.error_msg());
2107
2038
  const h = { index: null, attributes: [] };
2108
2039
  for (const E in I) {
2109
- const d = self[a[E]];
2110
- let u, D;
2040
+ const d = self[C[E]];
2041
+ let u, f;
2111
2042
  if (r.useUniqueIDs)
2112
- D = I[E], u = B.GetAttributeByUniqueId(c, D);
2043
+ f = I[E], u = B.GetAttributeByUniqueId(c, f);
2113
2044
  else {
2114
- if (D = B.GetAttributeId(c, i[I[E]]), D === -1)
2045
+ if (f = B.GetAttributeId(c, i[I[E]]), f === -1)
2115
2046
  continue;
2116
- u = B.GetAttribute(c, D);
2047
+ u = B.GetAttribute(c, f);
2117
2048
  }
2118
- const F = t(i, B, c, E, d, u);
2119
- E === "color" && (F.vertexColorSpace = r.vertexColorSpace), h.attributes.push(F);
2049
+ const D = t(i, B, c, E, d, u);
2050
+ E === "color" && (D.vertexColorSpace = r.vertexColorSpace), h.attributes.push(D);
2120
2051
  }
2121
2052
  return l === i.TRIANGULAR_MESH && (h.index = s(i, B, c)), i.destroy(c), h;
2122
2053
  }
2123
2054
  function s(i, B, o) {
2124
- const I = o.num_faces() * 3, a = I * 4, c = i._malloc(a);
2125
- B.GetTrianglesUInt32Array(o, a, c);
2055
+ const I = o.num_faces() * 3, C = I * 4, c = i._malloc(C);
2056
+ B.GetTrianglesUInt32Array(o, C, c);
2126
2057
  const Q = new Uint32Array(i.HEAPF32.buffer, c, I).slice();
2127
2058
  return i._free(c), { array: Q, itemSize: 1 };
2128
2059
  }
2129
- function t(i, B, o, r, I, a) {
2130
- const c = a.num_components(), l = o.num_points() * c, h = l * I.BYTES_PER_ELEMENT, E = n(i, I), d = i._malloc(h);
2131
- B.GetAttributeDataArrayForAllPoints(o, a, E, h, d);
2060
+ function t(i, B, o, r, I, C) {
2061
+ const c = C.num_components(), l = o.num_points() * c, h = l * I.BYTES_PER_ELEMENT, E = n(i, I), d = i._malloc(h);
2062
+ B.GetAttributeDataArrayForAllPoints(o, C, E, h, d);
2132
2063
  const u = new I(i.HEAPF32.buffer, d, l).slice();
2133
2064
  return i._free(d), {
2134
2065
  name: r,
@@ -2155,7 +2086,7 @@ function Bi() {
2155
2086
  }
2156
2087
  }
2157
2088
  }
2158
- class ri {
2089
+ class Zn {
2159
2090
  constructor(A = 4) {
2160
2091
  this.pool = A, this.queue = [], this.workers = [], this.workersResolve = [], this.workerStatus = 0;
2161
2092
  }
@@ -2195,13 +2126,13 @@ class ri {
2195
2126
  this.workers.forEach((A) => A.terminate()), this.workersResolve.length = 0, this.workers.length = 0, this.queue.length = 0, this.workerStatus = 0;
2196
2127
  }
2197
2128
  }
2198
- const ai = 0, Lt = 2, Ci = 1, Ht = 2, Ii = 0, gi = 1, Ei = 10, ci = 0, jt = 9, Zt = 15, zt = 16, $t = 22, As = 37, es = 43, ts = 76, ss = 83, ns = 97, is = 100, os = 103, Bs = 109, rs = 165, as = 166;
2199
- class Qi {
2129
+ const zn = 0, ft = 2, $n = 1, Dt = 2, Ai = 0, ei = 1, ti = 10, si = 0, Kt = 9, Ot = 15, _t = 16, Pt = 22, Yt = 37, qt = 43, Xt = 76, vt = 83, Wt = 97, Vt = 100, jt = 103, Zt = 109, zt = 165, $t = 166;
2130
+ class ni {
2200
2131
  constructor() {
2201
2132
  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;
2202
2133
  }
2203
2134
  }
2204
- class qA {
2135
+ class _A {
2205
2136
  constructor(A, e, s, t) {
2206
2137
  this._dataView = new DataView(A.buffer, A.byteOffset + e, s), this._littleEndian = t, this._offset = 0;
2207
2138
  }
@@ -2237,64 +2168,64 @@ class qA {
2237
2168
  }
2238
2169
  }
2239
2170
  const H = [171, 75, 84, 88, 32, 50, 48, 187, 13, 10, 26, 10];
2240
- function Jt(C) {
2241
- return typeof TextDecoder != "undefined" ? new TextDecoder().decode(C) : Buffer.from(C).toString("utf8");
2171
+ function Ft(a) {
2172
+ return typeof TextDecoder != "undefined" ? new TextDecoder().decode(a) : Buffer.from(a).toString("utf8");
2242
2173
  }
2243
- function hi(C) {
2244
- const A = new Uint8Array(C.buffer, C.byteOffset, H.length);
2174
+ function ii(a) {
2175
+ const A = new Uint8Array(a.buffer, a.byteOffset, H.length);
2245
2176
  if (A[0] !== H[0] || A[1] !== H[1] || A[2] !== H[2] || A[3] !== H[3] || A[4] !== H[4] || A[5] !== H[5] || A[6] !== H[6] || A[7] !== H[7] || A[8] !== H[8] || A[9] !== H[9] || A[10] !== H[10] || A[11] !== H[11])
2246
2177
  throw new Error("Missing KTX 2.0 identifier.");
2247
- const e = new Qi(), s = 17 * Uint32Array.BYTES_PER_ELEMENT, t = new qA(C, H.length, s, !0);
2178
+ const e = new ni(), s = 17 * Uint32Array.BYTES_PER_ELEMENT, t = new _A(a, H.length, s, !0);
2248
2179
  e.vkFormat = t._nextUint32(), e.typeSize = t._nextUint32(), e.pixelWidth = t._nextUint32(), e.pixelHeight = t._nextUint32(), e.pixelDepth = t._nextUint32(), e.layerCount = t._nextUint32(), e.faceCount = t._nextUint32();
2249
2180
  const n = t._nextUint32();
2250
2181
  e.supercompressionScheme = t._nextUint32();
2251
- const i = t._nextUint32(), B = t._nextUint32(), o = t._nextUint32(), r = t._nextUint32(), I = t._nextUint64(), a = t._nextUint64(), c = new qA(C, H.length + s, 3 * n * 8, !0);
2252
- for (let L = 0; L < n; L++)
2253
- e.levels.push({ levelData: new Uint8Array(C.buffer, C.byteOffset + c._nextUint64(), c._nextUint64()), uncompressedByteLength: c._nextUint64() });
2254
- const Q = new qA(C, i, B, !0), l = { vendorId: Q._skip(4)._nextUint16(), descriptorType: Q._nextUint16(), versionNumber: Q._nextUint16(), descriptorBlockSize: Q._nextUint16(), colorModel: Q._nextUint8(), colorPrimaries: Q._nextUint8(), transferFunction: Q._nextUint8(), flags: Q._nextUint8(), texelBlockDimension: [Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8()], bytesPlane: [Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8()], samples: [] }, h = (l.descriptorBlockSize / 4 - 6) / 4;
2255
- for (let L = 0; L < h; L++) {
2182
+ const i = t._nextUint32(), B = t._nextUint32(), o = t._nextUint32(), r = t._nextUint32(), I = t._nextUint64(), C = t._nextUint64(), c = new _A(a, H.length + s, 3 * n * 8, !0);
2183
+ for (let J = 0; J < n; J++)
2184
+ e.levels.push({ levelData: new Uint8Array(a.buffer, a.byteOffset + c._nextUint64(), c._nextUint64()), uncompressedByteLength: c._nextUint64() });
2185
+ const Q = new _A(a, i, B, !0), l = { vendorId: Q._skip(4)._nextUint16(), descriptorType: Q._nextUint16(), versionNumber: Q._nextUint16(), descriptorBlockSize: Q._nextUint16(), colorModel: Q._nextUint8(), colorPrimaries: Q._nextUint8(), transferFunction: Q._nextUint8(), flags: Q._nextUint8(), texelBlockDimension: [Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8()], bytesPlane: [Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8()], samples: [] }, h = (l.descriptorBlockSize / 4 - 6) / 4;
2186
+ for (let J = 0; J < h; J++) {
2256
2187
  const N = { bitOffset: Q._nextUint16(), bitLength: Q._nextUint8(), channelType: Q._nextUint8(), samplePosition: [Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8()], sampleLower: -1 / 0, sampleUpper: 1 / 0 };
2257
- 64 & N.channelType ? (N.sampleLower = Q._nextInt32(), N.sampleUpper = Q._nextInt32()) : (N.sampleLower = Q._nextUint32(), N.sampleUpper = Q._nextUint32()), l.samples[L] = N;
2188
+ 64 & N.channelType ? (N.sampleLower = Q._nextInt32(), N.sampleUpper = Q._nextInt32()) : (N.sampleLower = Q._nextUint32(), N.sampleUpper = Q._nextUint32()), l.samples[J] = N;
2258
2189
  }
2259
2190
  e.dataFormatDescriptor.length = 0, e.dataFormatDescriptor.push(l);
2260
- const E = new qA(C, o, r, !0);
2191
+ const E = new _A(a, o, r, !0);
2261
2192
  for (; E._offset < r; ) {
2262
- const L = E._nextUint32(), N = E._scan(L), _A = Jt(N), j = E._scan(L - N.byteLength);
2263
- e.keyValue[_A] = _A.match(/^ktx/i) ? Jt(j) : j, E._offset % 4 && E._skip(4 - E._offset % 4);
2193
+ const J = E._nextUint32(), N = E._scan(J), bA = Ft(N), W = E._scan(J - N.byteLength);
2194
+ e.keyValue[bA] = bA.match(/^ktx/i) ? Ft(W) : W, E._offset % 4 && E._skip(4 - E._offset % 4);
2264
2195
  }
2265
- if (a <= 0)
2196
+ if (C <= 0)
2266
2197
  return e;
2267
- const d = new qA(C, I, a, !0), u = d._nextUint16(), D = d._nextUint16(), F = d._nextUint32(), p = d._nextUint32(), m = d._nextUint32(), w = d._nextUint32(), P = [];
2268
- for (let L = 0; L < n; L++)
2198
+ const d = new _A(a, I, C, !0), u = d._nextUint16(), f = d._nextUint16(), D = d._nextUint32(), p = d._nextUint32(), m = d._nextUint32(), M = d._nextUint32(), P = [];
2199
+ for (let J = 0; J < n; J++)
2269
2200
  P.push({ imageFlags: d._nextUint32(), rgbSliceByteOffset: d._nextUint32(), rgbSliceByteLength: d._nextUint32(), alphaSliceByteOffset: d._nextUint32(), alphaSliceByteLength: d._nextUint32() });
2270
- const J = I + d._offset, V = J + F, OA = V + p, pe = OA + m, QA = new Uint8Array(C.buffer, C.byteOffset + J, F), me = new Uint8Array(C.buffer, C.byteOffset + V, p), tA = new Uint8Array(C.buffer, C.byteOffset + OA, m), Me = new Uint8Array(C.buffer, C.byteOffset + pe, w);
2271
- return e.globalData = { endpointCount: u, selectorCount: D, imageDescs: P, endpointsData: QA, selectorsData: me, tablesData: tA, extendedData: Me }, e;
2201
+ const T = I + d._offset, v = T + D, kA = v + p, he = kA + m, cA = new Uint8Array(a.buffer, a.byteOffset + T, D), le = new Uint8Array(a.buffer, a.byteOffset + v, p), eA = new Uint8Array(a.buffer, a.byteOffset + kA, m), de = new Uint8Array(a.buffer, a.byteOffset + he, M);
2202
+ return e.globalData = { endpointCount: u, selectorCount: f, imageDescs: P, endpointsData: cA, selectorsData: le, tablesData: eA, extendedData: de }, e;
2272
2203
  }
2273
- let Xe, Z, ot;
2274
- const ve = { env: { emscripten_notify_memory_growth: function(C) {
2275
- ot = new Uint8Array(Z.exports.memory.buffer);
2204
+ let xe, V, je;
2205
+ const ke = { env: { emscripten_notify_memory_growth: function(a) {
2206
+ je = new Uint8Array(V.exports.memory.buffer);
2276
2207
  } } };
2277
- class li {
2208
+ class oi {
2278
2209
  init() {
2279
- return Xe || (Xe = typeof fetch != "undefined" ? fetch("data:application/wasm;base64," + Tt).then((A) => A.arrayBuffer()).then((A) => WebAssembly.instantiate(A, ve)).then(this._init) : WebAssembly.instantiate(Buffer.from(Tt, "base64"), ve).then(this._init), Xe);
2210
+ return xe || (xe = typeof fetch != "undefined" ? fetch("data:application/wasm;base64," + Gt).then((A) => A.arrayBuffer()).then((A) => WebAssembly.instantiate(A, ke)).then(this._init) : WebAssembly.instantiate(Buffer.from(Gt, "base64"), ke).then(this._init), xe);
2280
2211
  }
2281
2212
  _init(A) {
2282
- Z = A.instance, ve.env.emscripten_notify_memory_growth(0);
2213
+ V = A.instance, ke.env.emscripten_notify_memory_growth(0);
2283
2214
  }
2284
2215
  decode(A, e = 0) {
2285
- if (!Z)
2216
+ if (!V)
2286
2217
  throw new Error("ZSTDDecoder: Await .init() before decoding.");
2287
- const s = A.byteLength, t = Z.exports.malloc(s);
2288
- ot.set(A, t), e = e || Number(Z.exports.ZSTD_findDecompressedSize(t, s));
2289
- const n = Z.exports.malloc(e), i = Z.exports.ZSTD_decompress(n, e, t, s), B = ot.slice(n, n + i);
2290
- return Z.exports.free(t), Z.exports.free(n), B;
2218
+ const s = A.byteLength, t = V.exports.malloc(s);
2219
+ je.set(A, t), e = e || Number(V.exports.ZSTD_findDecompressedSize(t, s));
2220
+ const n = V.exports.malloc(e), i = V.exports.ZSTD_decompress(n, e, t, s), B = je.slice(n, n + i);
2221
+ return V.exports.free(t), V.exports.free(n), B;
2291
2222
  }
2292
2223
  }
2293
- const Tt = "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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQhBSAGQQR2IQRBICAAdCIAQQFyIQkgASgCACEPQQAhAiADIQYCQANAIAlBAkggAiAPS3JFBEAgAiEHAkAgCARAA0AgBEH//wNxQf//A0YEQCAHQRhqIQcgBiAQSQR/IAZBAmoiBigAACAFdgUgBUEQaiEFIARBEHYLIQQMAQsLA0AgBEEDcSIIQQNGBEAgBUECaiEFIARBAnYhBCAHQQNqIQcMAQsLIAcgCGoiByAPSw0EIAVBAmohBQNAIAIgB0kEQCANIAJBAXRqQQA7AQAgAkEBaiECDAELCyAGIA5LQQAgBiAFQQN1aiIHIAxLG0UEQCAHKAAAIAVBB3EiBXYhBAwCCyAEQQJ2IQQLIAYhBwsCfyALQX9qIAQgAEF/anEiBiAAQQF0QX9qIgggCWsiEUkNABogBCAIcSIEQQAgESAEIABIG2shBiALCyEIIA0gAkEBdGogBkF/aiIEOwEAIAlBASAGayAEIAZBAUgbayEJA0AgCSAASARAIABBAXUhACALQX9qIQsMAQsLAn8gByAOS0EAIAcgBSAIaiIFQQN1aiIGIAxLG0UEQCAFQQdxDAELIAUgDCIGIAdrQQN0awshBSACQQFqIQIgBEUhCCAGKAAAIAVBH3F2IQQMAQsLQWwgCUEBRyAFQSBKcg0BGiABIAJBf2o2AgAgBiAFQQdqQQN1aiADawwBC0FQCyEAIApBEGokACAACwkAQQFBBSAAGwsMACAAIAEoAAA2AAALqgMBCn8jAEHwAGsiCiQAIAJBAWohDiAAQQhqIQtBgIAEIAVBf2p0QRB1IQxBACECQQEhBkEBIAV0IglBf2oiDyEIA0AgAiAORkUEQAJAIAEgAkEBdCINai8BACIHQf//A0YEQCALIAhBA3RqIAI2AgQgCEF/aiEIQQEhBwwBCyAGQQAgDCAHQRB0QRB1ShshBgsgCiANaiAHOwEAIAJBAWohAgwBCwsgACAFNgIEIAAgBjYCACAJQQN2IAlBAXZqQQNqIQxBACEAQQAhBkEAIQIDQCAGIA5GBEADQAJAIAAgCUYNACAKIAsgAEEDdGoiASgCBCIGQQF0aiICIAIvAQAiAkEBajsBACABIAUgAhAUayIIOgADIAEgAiAIQf8BcXQgCWs7AQAgASAEIAZBAnQiAmooAgA6AAIgASACIANqKAIANgIEIABBAWohAAwBCwsFIAEgBkEBdGouAQAhDUEAIQcDQCAHIA1ORQRAIAsgAkEDdGogBjYCBANAIAIgDGogD3EiAiAISw0ACyAHQQFqIQcMAQsLIAZBAWohBgwBCwsgCkHwAGokAAsjAEIAIAEQCSAAhUKHla+vmLbem55/fkLj3MqV/M7y9YV/fAsQACAAQn43AwggACABNgIACyQBAX8gAARAIAEoAgQiAgRAIAEoAgggACACEQEADwsgABAmCwsfACAAIAEgAi8BABAINgIAIAEQBBogACACQQRqNgIEC0oBAX9BoCAoAgAiASAAaiIAQX9MBEBBiCBBMDYCAEF/DwsCQCAAPwBBEHRNDQAgABBmDQBBiCBBMDYCAEF/DwtBoCAgADYCACABC9cBAQh/Qbp/IQoCQCACKAIEIgggAigCACIJaiIOIAEgAGtLDQBBbCEKIAkgBCADKAIAIgtrSw0AIAAgCWoiBCACKAIIIgxrIQ0gACABQWBqIg8gCyAJQQAQKSADIAkgC2o2AgACQAJAIAwgBCAFa00EQCANIQUMAQsgDCAEIAZrSw0CIAcgDSAFayIAaiIBIAhqIAdNBEAgBCABIAgQDxoMAgsgBCABQQAgAGsQDyEBIAIgACAIaiIINgIEIAEgAGshBAsgBCAPIAUgCEEBECkLIA4hCgsgCgubAgEBfyMAQYABayINJAAgDSADNgJ8AkAgAkEDSwRAQX8hCQwBCwJAAkACQAJAIAJBAWsOAwADAgELIAZFBEBBuH8hCQwEC0FsIQkgBS0AACICIANLDQMgACAHIAJBAnQiAmooAgAgAiAIaigCABA7IAEgADYCAEEBIQkMAwsgASAJNgIAQQAhCQwCCyAKRQRAQWwhCQwCC0EAIQkgC0UgDEEZSHINAUEIIAR0QQhqIQBBACECA0AgAiAATw0CIAJBQGshAgwAAAsAC0FsIQkgDSANQfwAaiANQfgAaiAFIAYQFSICEAMNACANKAJ4IgMgBEsNACAAIA0gDSgCfCAHIAggAxAYIAEgADYCACACIQkLIA1BgAFqJAAgCQsLACAAIAEgAhALGgsQACAALwAAIAAtAAJBEHRyCy8AAn9BuH8gAUEISQ0AGkFyIAAoAAQiAEF3Sw0AGkG4fyAAQQhqIgAgACABSxsLCwkAIAAgATsAAAsDAAELigYBBX8gACAAKAIAIgVBfnE2AgBBACAAIAVBAXZqQYQgKAIAIgQgAEYbIQECQAJAIAAoAgQiAkUNACACKAIAIgNBAXENACACQQhqIgUgA0EBdkF4aiIDQQggA0EISxtnQR9zQQJ0QYAfaiIDKAIARgRAIAMgAigCDDYCAAsgAigCCCIDBEAgAyACKAIMNgIECyACKAIMIgMEQCADIAIoAgg2AgALIAIgAigCACAAKAIAQX5xajYCAEGEICEAAkACQCABRQ0AIAEgAjYCBCABKAIAIgNBAXENASADQQF2QXhqIgNBCCADQQhLG2dBH3NBAnRBgB9qIgMoAgAgAUEIakYEQCADIAEoAgw2AgALIAEoAggiAwRAIAMgASgCDDYCBAsgASgCDCIDBEAgAyABKAIINgIAQYQgKAIAIQQLIAIgAigCACABKAIAQX5xajYCACABIARGDQAgASABKAIAQQF2akEEaiEACyAAIAI2AgALIAIoAgBBAXZBeGoiAEEIIABBCEsbZ0Efc0ECdEGAH2oiASgCACEAIAEgBTYCACACIAA2AgwgAkEANgIIIABFDQEgACAFNgIADwsCQCABRQ0AIAEoAgAiAkEBcQ0AIAJBAXZBeGoiAkEIIAJBCEsbZ0Efc0ECdEGAH2oiAigCACABQQhqRgRAIAIgASgCDDYCAAsgASgCCCICBEAgAiABKAIMNgIECyABKAIMIgIEQCACIAEoAgg2AgBBhCAoAgAhBAsgACAAKAIAIAEoAgBBfnFqIgI2AgACQCABIARHBEAgASABKAIAQQF2aiAANgIEIAAoAgAhAgwBC0GEICAANgIACyACQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgIoAgAhASACIABBCGoiAjYCACAAIAE2AgwgAEEANgIIIAFFDQEgASACNgIADwsgBUEBdkF4aiIBQQggAUEISxtnQR9zQQJ0QYAfaiICKAIAIQEgAiAAQQhqIgI2AgAgACABNgIMIABBADYCCCABRQ0AIAEgAjYCAAsLDgAgAARAIABBeGoQJQsLgAIBA38CQCAAQQ9qQXhxQYQgKAIAKAIAQQF2ayICEB1Bf0YNAAJAQYQgKAIAIgAoAgAiAUEBcQ0AIAFBAXZBeGoiAUEIIAFBCEsbZ0Efc0ECdEGAH2oiASgCACAAQQhqRgRAIAEgACgCDDYCAAsgACgCCCIBBEAgASAAKAIMNgIECyAAKAIMIgFFDQAgASAAKAIINgIAC0EBIQEgACAAKAIAIAJBAXRqIgI2AgAgAkEBcQ0AIAJBAXZBeGoiAkEIIAJBCEsbZ0Efc0ECdEGAH2oiAygCACECIAMgAEEIaiIDNgIAIAAgAjYCDCAAQQA2AgggAkUNACACIAM2AgALIAELtwIBA38CQAJAIABBASAAGyICEDgiAA0AAkACQEGEICgCACIARQ0AIAAoAgAiA0EBcQ0AIAAgA0EBcjYCACADQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgEoAgAgAEEIakYEQCABIAAoAgw2AgALIAAoAggiAQRAIAEgACgCDDYCBAsgACgCDCIBBEAgASAAKAIINgIACyACECchAkEAIQFBhCAoAgAhACACDQEgACAAKAIAQX5xNgIAQQAPCyACQQ9qQXhxIgMQHSICQX9GDQIgAkEHakF4cSIAIAJHBEAgACACaxAdQX9GDQMLAkBBhCAoAgAiAUUEQEGAICAANgIADAELIAAgATYCBAtBhCAgADYCACAAIANBAXRBAXI2AgAMAQsgAEUNAQsgAEEIaiEBCyABC7kDAQJ/IAAgA2ohBQJAIANBB0wEQANAIAAgBU8NAiAAIAItAAA6AAAgAEEBaiEAIAJBAWohAgwAAAsACyAEQQFGBEACQCAAIAJrIgZBB00EQCAAIAItAAA6AAAgACACLQABOgABIAAgAi0AAjoAAiAAIAItAAM6AAMgAEEEaiACIAZBAnQiBkHAHmooAgBqIgIQFyACIAZB4B5qKAIAayECDAELIAAgAhAMCyACQQhqIQIgAEEIaiEACwJAAkACQAJAIAUgAU0EQCAAIANqIQEgBEEBRyAAIAJrQQ9Kcg0BA0AgACACEAwgAkEIaiECIABBCGoiACABSQ0ACwwFCyAAIAFLBEAgACEBDAQLIARBAUcgACACa0EPSnINASAAIQMgAiEEA0AgAyAEEAwgBEEIaiEEIANBCGoiAyABSQ0ACwwCCwNAIAAgAhAHIAJBEGohAiAAQRBqIgAgAUkNAAsMAwsgACEDIAIhBANAIAMgBBAHIARBEGohBCADQRBqIgMgAUkNAAsLIAIgASAAa2ohAgsDQCABIAVPDQEgASACLQAAOgAAIAFBAWohASACQQFqIQIMAAALAAsLQQECfyAAIAAoArjgASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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", We = /* @__PURE__ */ new WeakMap();
2294
- let Ve = 0, je;
2295
- class W extends Ct {
2224
+ const Gt = "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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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", be = /* @__PURE__ */ new WeakMap();
2225
+ let Ke = 0, Oe;
2226
+ class X extends $e {
2296
2227
  constructor(A) {
2297
- super(A), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new ri(), this.workerSourceURL = "", this.workerConfig = null, typeof MSC_TRANSCODER != "undefined" && console.warn(
2228
+ super(A), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new Zn(), this.workerSourceURL = "", this.workerConfig = null, typeof MSC_TRANSCODER != "undefined" && console.warn(
2298
2229
  'THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.'
2299
2230
  );
2300
2231
  }
@@ -2305,7 +2236,7 @@ class W extends Ct {
2305
2236
  return this.workerPool.setWorkerLimit(A), this;
2306
2237
  }
2307
2238
  detectSupportAsync(A) {
2308
- return PA(this, null, function* () {
2239
+ return KA(this, null, function* () {
2309
2240
  return this.workerConfig = {
2310
2241
  astcSupported: yield A.hasFeatureAsync("texture-compression-astc"),
2311
2242
  etc1Supported: yield A.hasFeatureAsync("texture-compression-etc1"),
@@ -2335,17 +2266,17 @@ class W extends Ct {
2335
2266
  }
2336
2267
  init() {
2337
2268
  if (!this.transcoderPending) {
2338
- const A = new DA(this.manager);
2269
+ const A = new fA(this.manager);
2339
2270
  A.setPath(this.transcoderPath), A.setWithCredentials(this.withCredentials);
2340
- const e = A.loadAsync("basis_transcoder.js"), s = new DA(this.manager);
2271
+ const e = A.loadAsync("basis_transcoder.js"), s = new fA(this.manager);
2341
2272
  s.setPath(this.transcoderPath), s.setResponseType("arraybuffer"), s.setWithCredentials(this.withCredentials);
2342
2273
  const t = s.loadAsync("basis_transcoder.wasm");
2343
2274
  this.transcoderPending = Promise.all([e, t]).then(([n, i]) => {
2344
- const B = W.BasisWorker.toString(), o = [
2275
+ const B = X.BasisWorker.toString(), o = [
2345
2276
  "/* constants */",
2346
- "let _EngineFormat = " + JSON.stringify(W.EngineFormat),
2347
- "let _TranscoderFormat = " + JSON.stringify(W.TranscoderFormat),
2348
- "let _BasisFormat = " + JSON.stringify(W.BasisFormat),
2277
+ "let _EngineFormat = " + JSON.stringify(X.EngineFormat),
2278
+ "let _TranscoderFormat = " + JSON.stringify(X.TranscoderFormat),
2279
+ "let _BasisFormat = " + JSON.stringify(X.BasisFormat),
2349
2280
  "/* basis_transcoder.js */",
2350
2281
  n,
2351
2282
  "/* worker */",
@@ -2356,19 +2287,19 @@ class W extends Ct {
2356
2287
  const r = new Worker(this.workerSourceURL), I = this.transcoderBinary.slice(0);
2357
2288
  return r.postMessage({ type: "init", config: this.workerConfig, transcoderBinary: I }, [I]), r;
2358
2289
  });
2359
- }), Ve > 0 && console.warn(
2290
+ }), Ke > 0 && console.warn(
2360
2291
  "THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."
2361
- ), Ve++;
2292
+ ), Ke++;
2362
2293
  }
2363
2294
  return this.transcoderPending;
2364
2295
  }
2365
2296
  load(A, e, s, t) {
2366
2297
  if (this.workerConfig === null)
2367
2298
  throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");
2368
- const n = new DA(this.manager);
2299
+ const n = new fA(this.manager);
2369
2300
  n.setResponseType("arraybuffer"), n.setWithCredentials(this.withCredentials), n.load(A, (i) => {
2370
- if (We.has(i))
2371
- return We.get(i).promise.then(e).catch(t);
2301
+ if (be.has(i))
2302
+ return be.get(i).promise.then(e).catch(t);
2372
2303
  this._createTexture(i).then((B) => e ? e(B) : null).catch(t);
2373
2304
  }, s, t);
2374
2305
  }
@@ -2378,12 +2309,12 @@ class W extends Ct {
2378
2309
  return Promise.reject(o);
2379
2310
  let I;
2380
2311
  if (e.faceCount === 6)
2381
- I = new sn(s, i, O);
2312
+ I = new Xs(s, i, O);
2382
2313
  else {
2383
- const a = s[0].mipmaps;
2384
- I = e.layerCount > 1 ? new nn(a, t, n, e.layerCount, i, O) : new qt(a, t, n, i, O);
2314
+ const C = s[0].mipmaps;
2315
+ I = e.layerCount > 1 ? new vs(C, t, n, e.layerCount, i, O) : new Ut(C, t, n, i, O);
2385
2316
  }
2386
- return I.minFilter = s[0].mipmaps.length === 1 ? Ue : Et, I.magFilter = Ue, I.generateMipmaps = !1, I.needsUpdate = !0, I.colorSpace = Cs(e), I.premultiplyAlpha = !!(r & Ci), I;
2317
+ return I.minFilter = s[0].mipmaps.length === 1 ? Me : tt, I.magFilter = Me, I.generateMipmaps = !1, I.needsUpdate = !0, I.colorSpace = As(e), I.premultiplyAlpha = !!(r & $n), I;
2387
2318
  }
2388
2319
  /**
2389
2320
  * @param {ArrayBuffer} buffer
@@ -2391,23 +2322,23 @@ class W extends Ct {
2391
2322
  * @return {Promise<CompressedTexture|CompressedArrayTexture|DataTexture|Data3DTexture>}
2392
2323
  */
2393
2324
  _createTexture(s) {
2394
- return PA(this, arguments, function* (A, e = {}) {
2395
- const t = hi(new Uint8Array(A));
2396
- if (t.vkFormat !== ci)
2397
- return ui(t);
2325
+ return KA(this, arguments, function* (A, e = {}) {
2326
+ const t = ii(new Uint8Array(A));
2327
+ if (t.vkFormat !== si)
2328
+ return ri(t);
2398
2329
  const n = e, i = this.init().then(() => this.workerPool.postMessage({ type: "transcode", buffer: A, taskConfig: n }, [A])).then((B) => this._createTextureFrom(B.data, t));
2399
- return We.set(A, { promise: i }), i;
2330
+ return be.set(A, { promise: i }), i;
2400
2331
  });
2401
2332
  }
2402
2333
  dispose() {
2403
- return this.workerPool.dispose(), this.workerSourceURL && URL.revokeObjectURL(this.workerSourceURL), Ve--, this;
2334
+ return this.workerPool.dispose(), this.workerSourceURL && URL.revokeObjectURL(this.workerSourceURL), Ke--, this;
2404
2335
  }
2405
2336
  }
2406
- W.BasisFormat = {
2337
+ X.BasisFormat = {
2407
2338
  ETC1S: 0,
2408
2339
  UASTC_4x4: 1
2409
2340
  };
2410
- W.TranscoderFormat = {
2341
+ X.TranscoderFormat = {
2411
2342
  ETC1: 0,
2412
2343
  ETC2: 1,
2413
2344
  BC1: 2,
@@ -2426,32 +2357,32 @@ W.TranscoderFormat = {
2426
2357
  BGR565: 15,
2427
2358
  RGBA4444: 16
2428
2359
  };
2429
- W.EngineFormat = {
2360
+ X.EngineFormat = {
2430
2361
  RGBAFormat: GA,
2431
- RGBA_ASTC_4x4_Format: on,
2432
- RGBA_BPTC_Format: Bn,
2433
- RGBA_ETC2_EAC_Format: rn,
2434
- RGBA_PVRTC_4BPPV1_Format: an,
2435
- RGBA_S3TC_DXT5_Format: Cn,
2436
- RGB_ETC1_Format: In,
2437
- RGB_ETC2_Format: gn,
2438
- RGB_PVRTC_4BPPV1_Format: En,
2439
- RGB_S3TC_DXT1_Format: cn
2362
+ RGBA_ASTC_4x4_Format: Ws,
2363
+ RGBA_BPTC_Format: Vs,
2364
+ RGBA_ETC2_EAC_Format: js,
2365
+ RGBA_PVRTC_4BPPV1_Format: Zs,
2366
+ RGBA_S3TC_DXT5_Format: zs,
2367
+ RGB_ETC1_Format: $s,
2368
+ RGB_ETC2_Format: An,
2369
+ RGB_PVRTC_4BPPV1_Format: en,
2370
+ RGB_S3TC_DXT1_Format: tn
2440
2371
  };
2441
- W.BasisWorker = function() {
2442
- let C, A, e;
2372
+ X.BasisWorker = function() {
2373
+ let a, A, e;
2443
2374
  const s = _EngineFormat, t = _TranscoderFormat, n = _BasisFormat;
2444
2375
  self.addEventListener("message", function(l) {
2445
2376
  const h = l.data;
2446
2377
  switch (h.type) {
2447
2378
  case "init":
2448
- C = h.config, i(h.transcoderBinary);
2379
+ a = h.config, i(h.transcoderBinary);
2449
2380
  break;
2450
2381
  case "transcode":
2451
2382
  A.then(() => {
2452
2383
  try {
2453
- const { faces: E, buffers: d, width: u, height: D, hasAlpha: F, format: p, dfdFlags: m } = B(h.buffer);
2454
- self.postMessage({ type: "transcode", id: h.id, faces: E, width: u, height: D, hasAlpha: F, format: p, dfdFlags: m }, d);
2384
+ const { faces: E, buffers: d, width: u, height: f, hasAlpha: D, format: p, dfdFlags: m } = B(h.buffer);
2385
+ self.postMessage({ type: "transcode", id: h.id, faces: E, width: u, height: f, hasAlpha: D, format: p, dfdFlags: m }, d);
2455
2386
  } catch (E) {
2456
2387
  console.error(E), self.postMessage({ type: "error", id: h.id, error: E.message });
2457
2388
  }
@@ -2473,31 +2404,31 @@ W.BasisWorker = function() {
2473
2404
  }
2474
2405
  if (!h.isValid())
2475
2406
  throw E(), new Error("THREE.KTX2Loader: Invalid or unsupported .ktx2 file");
2476
- const d = h.isUASTC() ? n.UASTC_4x4 : n.ETC1S, u = h.getWidth(), D = h.getHeight(), F = h.getLayers() || 1, p = h.getLevels(), m = h.getFaces(), w = h.getHasAlpha(), P = h.getDFDFlags(), { transcoderFormat: J, engineFormat: V } = a(d, u, D, w);
2477
- if (!u || !D || !p)
2407
+ const d = h.isUASTC() ? n.UASTC_4x4 : n.ETC1S, u = h.getWidth(), f = h.getHeight(), D = h.getLayers() || 1, p = h.getLevels(), m = h.getFaces(), M = h.getHasAlpha(), P = h.getDFDFlags(), { transcoderFormat: T, engineFormat: v } = C(d, u, f, M);
2408
+ if (!u || !f || !p)
2478
2409
  throw E(), new Error("THREE.KTX2Loader: Invalid texture");
2479
2410
  if (!h.startTranscoding())
2480
2411
  throw E(), new Error("THREE.KTX2Loader: .startTranscoding failed");
2481
- const OA = [], pe = [];
2482
- for (let QA = 0; QA < m; QA++) {
2483
- const me = [];
2484
- for (let tA = 0; tA < p; tA++) {
2485
- const Me = [];
2486
- let L, N;
2487
- for (let j = 0; j < F; j++) {
2488
- const FA = h.getImageLevelInfo(tA, j, QA);
2489
- QA === 0 && tA === 0 && j === 0 && (FA.origWidth % 4 !== 0 || FA.origHeight % 4 !== 0) && console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."), p > 1 ? (L = FA.origWidth, N = FA.origHeight) : (L = FA.width, N = FA.height);
2490
- const ct = new Uint8Array(h.getImageTranscodedSizeInBytes(tA, j, 0, J));
2491
- if (!h.transcodeImage(ct, tA, j, QA, J, 0, -1, -1))
2412
+ const kA = [], he = [];
2413
+ for (let cA = 0; cA < m; cA++) {
2414
+ const le = [];
2415
+ for (let eA = 0; eA < p; eA++) {
2416
+ const de = [];
2417
+ let J, N;
2418
+ for (let W = 0; W < D; W++) {
2419
+ const DA = h.getImageLevelInfo(eA, W, cA);
2420
+ cA === 0 && eA === 0 && W === 0 && (DA.origWidth % 4 !== 0 || DA.origHeight % 4 !== 0) && console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."), p > 1 ? (J = DA.origWidth, N = DA.origHeight) : (J = DA.width, N = DA.height);
2421
+ const st = new Uint8Array(h.getImageTranscodedSizeInBytes(eA, W, 0, T));
2422
+ if (!h.transcodeImage(st, eA, W, cA, T, 0, -1, -1))
2492
2423
  throw E(), new Error("THREE.KTX2Loader: .transcodeImage failed.");
2493
- Me.push(ct);
2424
+ de.push(st);
2494
2425
  }
2495
- const _A = Q(Me);
2496
- me.push({ data: _A, width: L, height: N }), pe.push(_A.buffer);
2426
+ const bA = Q(de);
2427
+ le.push({ data: bA, width: J, height: N }), he.push(bA.buffer);
2497
2428
  }
2498
- OA.push({ mipmaps: me, width: u, height: D, format: V });
2429
+ kA.push({ mipmaps: le, width: u, height: f, format: v });
2499
2430
  }
2500
- return E(), { faces: OA, buffers: pe, width: u, height: D, hasAlpha: w, format: V, dfdFlags: P };
2431
+ return E(), { faces: kA, buffers: he, width: u, height: f, hasAlpha: M, format: v, dfdFlags: P };
2501
2432
  }
2502
2433
  const o = [
2503
2434
  {
@@ -2559,15 +2490,15 @@ W.BasisWorker = function() {
2559
2490
  }), I = o.sort(function(l, h) {
2560
2491
  return l.priorityUASTC - h.priorityUASTC;
2561
2492
  });
2562
- function a(l, h, E, d) {
2563
- let u, D;
2564
- const F = l === n.ETC1S ? r : I;
2565
- for (let p = 0; p < F.length; p++) {
2566
- const m = F[p];
2567
- if (C[m.if] && m.basisFormat.includes(l) && !(d && m.transcoderFormat.length < 2) && !(m.needsPowerOfTwo && !(c(h) && c(E))))
2568
- return u = m.transcoderFormat[d ? 1 : 0], D = m.engineFormat[d ? 1 : 0], { transcoderFormat: u, engineFormat: D };
2493
+ function C(l, h, E, d) {
2494
+ let u, f;
2495
+ const D = l === n.ETC1S ? r : I;
2496
+ for (let p = 0; p < D.length; p++) {
2497
+ const m = D[p];
2498
+ if (a[m.if] && m.basisFormat.includes(l) && !(d && m.transcoderFormat.length < 2) && !(m.needsPowerOfTwo && !(c(h) && c(E))))
2499
+ return u = m.transcoderFormat[d ? 1 : 0], f = m.engineFormat[d ? 1 : 0], { transcoderFormat: u, engineFormat: f };
2569
2500
  }
2570
- return console.warn("THREE.KTX2Loader: No suitable compressed texture format found. Decoding to RGBA32."), u = t.RGBA32, D = s.RGBAFormat, { transcoderFormat: u, engineFormat: D };
2501
+ return console.warn("THREE.KTX2Loader: No suitable compressed texture format found. Decoding to RGBA32."), u = t.RGBA32, f = s.RGBAFormat, { transcoderFormat: u, engineFormat: f };
2571
2502
  }
2572
2503
  function c(l) {
2573
2504
  return l <= 2 ? !0 : (l & l - 1) === 0 && l !== 0;
@@ -2577,105 +2508,105 @@ W.BasisWorker = function() {
2577
2508
  return l[0];
2578
2509
  let h = 0;
2579
2510
  for (let u = 0; u < l.length; u++) {
2580
- const D = l[u];
2581
- h += D.byteLength;
2511
+ const f = l[u];
2512
+ h += f.byteLength;
2582
2513
  }
2583
2514
  const E = new Uint8Array(h);
2584
2515
  let d = 0;
2585
2516
  for (let u = 0; u < l.length; u++) {
2586
- const D = l[u];
2587
- E.set(D, d), d += D.byteLength;
2517
+ const f = l[u];
2518
+ E.set(f, d), d += f.byteLength;
2588
2519
  }
2589
2520
  return E;
2590
2521
  }
2591
2522
  };
2592
- const di = /* @__PURE__ */ new Set([GA, WA, VA]), Ze = {
2593
- [Bs]: GA,
2594
- [ns]: GA,
2595
- [As]: GA,
2596
- [es]: GA,
2597
- [os]: WA,
2598
- [ss]: WA,
2599
- [zt]: WA,
2600
- [$t]: WA,
2601
- [is]: VA,
2602
- [ts]: VA,
2603
- [Zt]: VA,
2604
- [jt]: VA,
2605
- [as]: Rt,
2606
- [rs]: Rt
2607
- }, ze = {
2608
- [Bs]: He,
2609
- [ns]: Je,
2610
- [As]: O,
2611
- [es]: O,
2612
- [os]: He,
2613
- [ss]: Je,
2614
- [zt]: O,
2523
+ const Bi = /* @__PURE__ */ new Set([GA, qA, XA]), _e = {
2524
+ [Zt]: GA,
2525
+ [Wt]: GA,
2526
+ [Yt]: GA,
2527
+ [qt]: GA,
2528
+ [jt]: qA,
2529
+ [vt]: qA,
2530
+ [_t]: qA,
2531
+ [Pt]: qA,
2532
+ [Vt]: XA,
2533
+ [Xt]: XA,
2534
+ [Ot]: XA,
2535
+ [Kt]: XA,
2536
+ [$t]: gt,
2537
+ [zt]: gt
2538
+ }, Pe = {
2539
+ [Zt]: Re,
2540
+ [Wt]: pe,
2541
+ [Yt]: O,
2542
+ [qt]: O,
2543
+ [jt]: Re,
2544
+ [vt]: pe,
2545
+ [_t]: O,
2546
+ [Pt]: O,
2547
+ [Vt]: Re,
2548
+ [Xt]: pe,
2549
+ [Ot]: O,
2550
+ [Kt]: O,
2615
2551
  [$t]: O,
2616
- [is]: He,
2617
- [ts]: Je,
2618
- [Zt]: O,
2619
- [jt]: O,
2620
- [as]: O,
2621
- [rs]: O
2552
+ [zt]: O
2622
2553
  };
2623
- function ui(C) {
2624
- return PA(this, null, function* () {
2625
- const { vkFormat: A } = C;
2626
- if (Ze[A] === void 0)
2554
+ function ri(a) {
2555
+ return KA(this, null, function* () {
2556
+ const { vkFormat: A } = a;
2557
+ if (_e[A] === void 0)
2627
2558
  throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");
2628
2559
  let e;
2629
- C.supercompressionScheme === Lt && (je || (je = new Promise((n) => PA(this, null, function* () {
2630
- const i = new li();
2560
+ a.supercompressionScheme === ft && (Oe || (Oe = new Promise((n) => KA(this, null, function* () {
2561
+ const i = new oi();
2631
2562
  yield i.init(), n(i);
2632
- }))), e = yield je);
2563
+ }))), e = yield Oe);
2633
2564
  const s = [];
2634
- for (let n = 0; n < C.levels.length; n++) {
2635
- const i = Math.max(1, C.pixelWidth >> n), B = Math.max(1, C.pixelHeight >> n), o = C.pixelDepth ? Math.max(1, C.pixelDepth >> n) : 0, r = C.levels[n];
2565
+ for (let n = 0; n < a.levels.length; n++) {
2566
+ const i = Math.max(1, a.pixelWidth >> n), B = Math.max(1, a.pixelHeight >> n), o = a.pixelDepth ? Math.max(1, a.pixelDepth >> n) : 0, r = a.levels[n];
2636
2567
  let I;
2637
- if (C.supercompressionScheme === ai)
2568
+ if (a.supercompressionScheme === zn)
2638
2569
  I = r.levelData;
2639
- else if (C.supercompressionScheme === Lt)
2570
+ else if (a.supercompressionScheme === ft)
2640
2571
  I = e.decode(r.levelData, r.uncompressedByteLength);
2641
2572
  else
2642
2573
  throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");
2643
- let a;
2644
- ze[A] === He ? a = new Float32Array(
2574
+ let C;
2575
+ Pe[A] === Re ? C = new Float32Array(
2645
2576
  I.buffer,
2646
2577
  I.byteOffset,
2647
2578
  I.byteLength / Float32Array.BYTES_PER_ELEMENT
2648
- ) : ze[A] === Je ? a = new Uint16Array(
2579
+ ) : Pe[A] === pe ? C = new Uint16Array(
2649
2580
  I.buffer,
2650
2581
  I.byteOffset,
2651
2582
  I.byteLength / Uint16Array.BYTES_PER_ELEMENT
2652
- ) : a = I, s.push({
2653
- data: a,
2583
+ ) : C = I, s.push({
2584
+ data: C,
2654
2585
  width: i,
2655
2586
  height: B,
2656
2587
  depth: o
2657
2588
  });
2658
2589
  }
2659
2590
  let t;
2660
- if (di.has(Ze[A]))
2661
- t = C.pixelDepth === 0 ? new Qn(s[0].data, C.pixelWidth, C.pixelHeight) : new hn(s[0].data, C.pixelWidth, C.pixelHeight, C.pixelDepth);
2591
+ if (Bi.has(_e[A]))
2592
+ t = a.pixelDepth === 0 ? new sn(s[0].data, a.pixelWidth, a.pixelHeight) : new nn(s[0].data, a.pixelWidth, a.pixelHeight, a.pixelDepth);
2662
2593
  else {
2663
- if (C.pixelDepth > 0)
2594
+ if (a.pixelDepth > 0)
2664
2595
  throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");
2665
- t = new qt(s, C.pixelWidth, C.pixelHeight);
2596
+ t = new Ut(s, a.pixelWidth, a.pixelHeight);
2666
2597
  }
2667
- return t.mipmaps = s, t.type = ze[A], t.format = Ze[A], t.colorSpace = Cs(C), t.needsUpdate = !0, Promise.resolve(t);
2598
+ return t.mipmaps = s, t.type = Pe[A], t.format = _e[A], t.colorSpace = As(a), t.needsUpdate = !0, Promise.resolve(t);
2668
2599
  });
2669
2600
  }
2670
- function Cs(C) {
2671
- const A = C.dataFormatDescriptor[0];
2672
- return A.colorPrimaries === gi ? A.transferFunction === Ht ? AA : _ : A.colorPrimaries === Ei ? A.transferFunction === Ht ? ln : dn : A.colorPrimaries === Ii ? Gt : (console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${A.colorPrimaries}"`), Gt);
2601
+ function As(a) {
2602
+ const A = a.dataFormatDescriptor[0];
2603
+ return A.colorPrimaries === ei ? A.transferFunction === Dt ? $ : _ : A.colorPrimaries === ti ? A.transferFunction === Dt ? on : Bn : A.colorPrimaries === Ai ? It : (console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${A.colorPrimaries}"`), It);
2673
2604
  }
2674
- let Le;
2675
- const fi = () => {
2676
- if (Le)
2677
- return Le;
2678
- const C = "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", A = "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", e = new Uint8Array([
2605
+ let Ge;
2606
+ const Ci = () => {
2607
+ if (Ge)
2608
+ return Ge;
2609
+ const a = "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", A = "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", e = new Uint8Array([
2679
2610
  0,
2680
2611
  97,
2681
2612
  115,
@@ -2793,28 +2724,28 @@ const fi = () => {
2793
2724
  return {
2794
2725
  supported: !1
2795
2726
  };
2796
- let t = C;
2727
+ let t = a;
2797
2728
  WebAssembly.validate(e) && (t = A);
2798
2729
  let n;
2799
- const i = WebAssembly.instantiate(B(t), {}).then((a) => {
2800
- n = a.instance, n.exports.__wasm_call_ctors();
2730
+ const i = WebAssembly.instantiate(B(t), {}).then((C) => {
2731
+ n = C.instance, n.exports.__wasm_call_ctors();
2801
2732
  });
2802
- function B(a) {
2803
- const c = new Uint8Array(a.length);
2804
- for (let l = 0; l < a.length; ++l) {
2805
- const h = a.charCodeAt(l);
2733
+ function B(C) {
2734
+ const c = new Uint8Array(C.length);
2735
+ for (let l = 0; l < C.length; ++l) {
2736
+ const h = C.charCodeAt(l);
2806
2737
  c[l] = h > 96 ? h - 71 : h > 64 ? h - 65 : h > 47 ? h + 4 : h > 46 ? 63 : 62;
2807
2738
  }
2808
2739
  let Q = 0;
2809
- for (let l = 0; l < a.length; ++l)
2740
+ for (let l = 0; l < C.length; ++l)
2810
2741
  c[Q++] = c[l] < 60 ? s[c[l]] : (c[l] - 60) * 64 + c[++l];
2811
2742
  return c.buffer.slice(0, Q);
2812
2743
  }
2813
- function o(a, c, Q, l, h, E) {
2814
- const d = n.exports.sbrk, u = Q + 3 & -4, D = d(u * l), F = d(h.length), p = new Uint8Array(n.exports.memory.buffer);
2815
- p.set(h, F);
2816
- const m = a(D, Q, l, F, h.length);
2817
- if (m === 0 && E && E(D, u, l), c.set(p.subarray(D, D + Q * l)), d(D - d(0)), m !== 0)
2744
+ function o(C, c, Q, l, h, E) {
2745
+ const d = n.exports.sbrk, u = Q + 3 & -4, f = d(u * l), D = d(h.length), p = new Uint8Array(n.exports.memory.buffer);
2746
+ p.set(h, D);
2747
+ const m = C(f, Q, l, D, h.length);
2748
+ if (m === 0 && E && E(f, u, l), c.set(p.subarray(f, f + Q * l)), d(f - d(0)), m !== 0)
2818
2749
  throw new Error(`Malformed buffer data: ${m}`);
2819
2750
  }
2820
2751
  const r = {
@@ -2838,126 +2769,129 @@ const fi = () => {
2838
2769
  TRIANGLES: "meshopt_decodeIndexBuffer",
2839
2770
  INDICES: "meshopt_decodeIndexSequence"
2840
2771
  };
2841
- return Le = {
2772
+ return Ge = {
2842
2773
  ready: i,
2843
2774
  supported: !0,
2844
- decodeVertexBuffer(a, c, Q, l, h) {
2775
+ decodeVertexBuffer(C, c, Q, l, h) {
2845
2776
  o(
2846
2777
  n.exports.meshopt_decodeVertexBuffer,
2847
- a,
2778
+ C,
2848
2779
  c,
2849
2780
  Q,
2850
2781
  l,
2851
2782
  n.exports[r[h]]
2852
2783
  );
2853
2784
  },
2854
- decodeIndexBuffer(a, c, Q, l) {
2855
- o(n.exports.meshopt_decodeIndexBuffer, a, c, Q, l);
2785
+ decodeIndexBuffer(C, c, Q, l) {
2786
+ o(n.exports.meshopt_decodeIndexBuffer, C, c, Q, l);
2856
2787
  },
2857
- decodeIndexSequence(a, c, Q, l) {
2858
- o(n.exports.meshopt_decodeIndexSequence, a, c, Q, l);
2788
+ decodeIndexSequence(C, c, Q, l) {
2789
+ o(n.exports.meshopt_decodeIndexSequence, C, c, Q, l);
2859
2790
  },
2860
- decodeGltfBuffer(a, c, Q, l, h, E) {
2791
+ decodeGltfBuffer(C, c, Q, l, h, E) {
2861
2792
  o(
2862
2793
  n.exports[I[h]],
2863
- a,
2794
+ C,
2864
2795
  c,
2865
2796
  Q,
2866
2797
  l,
2867
2798
  n.exports[r[E]]
2868
2799
  );
2869
2800
  }
2870
- }, Le;
2801
+ }, Ge;
2871
2802
  };
2872
- var HA, Ie, ge, Ee;
2873
- class Di {
2803
+ var SA, te, se, ne;
2804
+ class ai {
2874
2805
  constructor() {
2875
- f(this, HA, new mn());
2876
- f(this, Ie, new oi().setDecoderPath(
2877
- `${M.CDNVersion}/examples/jsm/libs/draco/gltf/`
2806
+ F(this, SA, new Qn());
2807
+ F(this, te, new Vn().setDecoderPath(
2808
+ `${K.CDNVersion}/examples/jsm/libs/draco/gltf/`
2878
2809
  ));
2879
- f(this, ge, new W().setTranscoderPath(
2880
- `${M.CDNVersion}/examples/jsm/libs/basis/`
2810
+ F(this, se, new X().setTranscoderPath(
2811
+ `${K.CDNVersion}/examples/jsm/libs/basis/`
2881
2812
  ));
2882
- f(this, Ee, !1);
2883
- g(this, HA).setCrossOrigin("anonymous").setDRACOLoader(g(this, Ie)).setMeshoptDecoder(fi);
2813
+ F(this, ne, !1);
2814
+ g(this, SA).setCrossOrigin("anonymous").setDRACOLoader(g(this, te)).setMeshoptDecoder(Ci);
2884
2815
  }
2885
2816
  get gltfLoader() {
2886
- return g(this, HA);
2817
+ return g(this, SA);
2887
2818
  }
2888
2819
  get dracoLoader() {
2889
- return g(this, Ie);
2820
+ return g(this, te);
2890
2821
  }
2891
2822
  get ktx2Loader() {
2892
- return g(this, ge);
2823
+ return g(this, se);
2893
2824
  }
2894
2825
  load(...A) {
2895
- g(this, Ee) || (g(this, HA).setKTX2Loader(g(this, ge).detectSupport(M.webglRenderer)), G(this, Ee, !0)), this.gltfLoader.load(...A);
2896
- }
2897
- }
2898
- HA = new WeakMap(), Ie = new WeakMap(), ge = new WeakMap(), Ee = new WeakMap();
2899
- const Fi = new Di();
2900
- var S, $, ce;
2901
- class _i {
2902
- constructor(A, e = 1) {
2903
- f(this, S, null);
2904
- f(this, $, []);
2905
- f(this, ce, () => {
2906
- const A = g(this, S).position.x - g(this, S).left, e = g(this, S).position.y - g(this, S).top, s = M.width - g(this, S).scale.x, t = g(this, S).left - s, n = M.height - g(this, S).scale.y, i = g(this, S).top - n;
2907
- g(this, $)[0].constant = g(this, S).scale.y / 2 + e * -1 - n / 2 - i, g(this, $)[1].constant = g(this, S).scale.y / 2 + e + n / 2 + i, g(this, $)[2].constant = g(this, S).scale.x / 2 + A + s / 2 + t, g(this, $)[3].constant = g(this, S).scale.x / 2 + A * -1 - s / 2 - t;
2826
+ g(this, ne) || (g(this, SA).setKTX2Loader(g(this, se).detectSupport(K.webglRenderer)), G(this, ne, !0)), this.gltfLoader.load(...A);
2827
+ }
2828
+ }
2829
+ SA = new WeakMap(), te = new WeakMap(), se = new WeakMap(), ne = new WeakMap();
2830
+ const Ii = new ai();
2831
+ var rA, y, z, ie;
2832
+ class Ji {
2833
+ constructor(A, e) {
2834
+ F(this, rA, void 0);
2835
+ F(this, y, void 0);
2836
+ F(this, z, []);
2837
+ F(this, ie, () => {
2838
+ const A = g(this, y).left - g(this, rA).left, e = g(this, y).top - g(this, rA).top, s = g(this, y).position.x - g(this, y).left, t = g(this, y).position.y - g(this, y).top, n = g(this, rA).width - g(this, y).scale.x, i = A - n, B = g(this, rA).height - g(this, y).scale.y, o = e - B;
2839
+ g(this, z)[0].constant = g(this, y).scale.y / 2 + t * -1 - B / 2 - o, g(this, z)[1].constant = g(this, y).scale.y / 2 + t + B / 2 + o, g(this, z)[2].constant = g(this, y).scale.x / 2 + s + n / 2 + i, g(this, z)[3].constant = g(this, y).scale.x / 2 + s * -1 - n / 2 - i;
2908
2840
  });
2909
- G(this, S, new kt(A, { cartesian: !1 })), G(this, $, [
2910
- new ye(new y(0, -1 * e, 0)),
2911
- new ye(new y(0, 1 * e, 0)),
2912
- new ye(new y(-1 * e, 0, 0)),
2913
- new ye(new y(1 * e, 0, 0))
2914
- ]), bA.subscribe(g(this, ce), { order: rt.LAYOUT_BOX });
2841
+ G(this, rA, K.getView((e == null ? void 0 : e.viewName) || "default")), G(this, y, new Nt(A, { cartesian: !1 }));
2842
+ const s = (e == null ? void 0 : e.scale) || 1;
2843
+ G(this, z, [
2844
+ new De(new w(0, -1 * s, 0)),
2845
+ new De(new w(0, 1 * s, 0)),
2846
+ new De(new w(-1 * s, 0, 0)),
2847
+ new De(new w(1 * s, 0, 0))
2848
+ ]), NA.subscribe(g(this, ie), { order: ze.LAYOUT_BOX });
2915
2849
  }
2916
2850
  get planes() {
2917
- return g(this, $);
2851
+ return g(this, z);
2918
2852
  }
2919
2853
  get layoutBox() {
2920
- return g(this, S);
2854
+ return g(this, y);
2921
2855
  }
2922
2856
  destroy() {
2923
- bA.unsubscribe(g(this, ce)), g(this, S).destroy();
2857
+ NA.unsubscribe(g(this, ie)), g(this, y).destroy();
2924
2858
  }
2925
2859
  }
2926
- S = new WeakMap(), $ = new WeakMap(), ce = new WeakMap();
2927
- class Pi extends zA {
2860
+ rA = new WeakMap(), y = new WeakMap(), z = new WeakMap(), ie = new WeakMap();
2861
+ class Hi extends VA {
2928
2862
  constructor(A, e = 500) {
2929
- super(), this.add(new Se(A.planes[0], e, 16711680)), this.add(new Se(A.planes[1], e, 16711680)), this.add(new Se(A.planes[2], e, 16711680)), this.add(new Se(A.planes[3], e, 16711680));
2863
+ super(), this.add(new Fe(A.planes[0], e, 16711680)), this.add(new Fe(A.planes[1], e, 16711680)), this.add(new Fe(A.planes[2], e, 16711680)), this.add(new Fe(A.planes[3], e, 16711680));
2930
2864
  }
2931
2865
  }
2932
- var JA, uA, TA, Qe, he, CA, UA, le;
2933
- class Is extends Dn {
2866
+ var yA, dA, LA, oe, Be, CA, JA, re;
2867
+ class es extends gn {
2934
2868
  constructor(e) {
2935
2869
  super(e);
2936
- f(this, JA, new pt(null));
2937
- f(this, uA, new pt(void 0));
2938
- f(this, TA, void 0);
2939
- f(this, Qe, void 0);
2940
- f(this, he, void 0);
2941
- f(this, CA, void 0);
2942
- f(this, UA, !1);
2943
- f(this, le, () => {
2944
- if (!(g(this, CA) && !g(this, UA)) && (this.current !== this.previous && (g(this, JA).current = null), this.current)) {
2945
- const e = g(this, he) ? this.current.url : this.current.name + this.current.extension;
2946
- g(this, CA) || Oe.setTotal(e, 1), g(this, uA).current = "start", g(this, Qe).load(
2870
+ F(this, yA, new Et(null));
2871
+ F(this, dA, new Et(void 0));
2872
+ F(this, LA, void 0);
2873
+ F(this, oe, void 0);
2874
+ F(this, Be, void 0);
2875
+ F(this, CA, void 0);
2876
+ F(this, JA, !1);
2877
+ F(this, re, () => {
2878
+ if (!(g(this, CA) && !g(this, JA)) && (this.current !== this.previous && (g(this, yA).current = null), this.current)) {
2879
+ const e = g(this, Be) ? this.current.url : this.current.name + this.current.extension;
2880
+ g(this, CA) || Je.setTotal(e, 1), g(this, dA).current = "start", g(this, oe).load(
2947
2881
  e,
2948
2882
  (s) => {
2949
- g(this, JA).current = s, g(this, uA).current = "complete", g(this, CA) || Oe.setLoaded(e, 1);
2883
+ g(this, yA).current = s, g(this, dA).current = "complete", g(this, CA) || Je.setLoaded(e, 1);
2950
2884
  },
2951
2885
  void 0,
2952
2886
  () => {
2953
- g(this, CA) || (g(this, uA).current = "error", Oe.setError(e, e));
2887
+ g(this, CA) || (g(this, dA).current = "error", Je.setError(e, e));
2954
2888
  }
2955
2889
  );
2956
2890
  }
2957
2891
  });
2958
- G(this, TA, e.consumer), G(this, Qe, e.loader), G(this, he, e.keepSourceParameters || !1), G(this, CA, e.lazy || !1), this.subscribe(g(this, le)), g(this, TA).addEventListener("added", () => {
2892
+ G(this, LA, e.consumer), G(this, oe, e.loader), G(this, Be, e.keepSourceParameters || !1), G(this, CA, e.lazy || !1), this.subscribe(g(this, re)), g(this, LA).addEventListener("added", () => {
2959
2893
  this.connect();
2960
- }), g(this, TA).addEventListener("removed", () => {
2894
+ }), g(this, LA).addEventListener("removed", () => {
2961
2895
  this.disconnect();
2962
2896
  });
2963
2897
  }
@@ -2965,62 +2899,62 @@ class Is extends Dn {
2965
2899
  * Resource store.
2966
2900
  */
2967
2901
  get data() {
2968
- return g(this, JA);
2902
+ return g(this, yA);
2969
2903
  }
2970
2904
  /**
2971
2905
  * Loading store.
2972
2906
  */
2973
2907
  get loading() {
2974
- return g(this, uA);
2908
+ return g(this, dA);
2975
2909
  }
2976
2910
  /**
2977
2911
  * Calling this method will start loading the resource.
2978
2912
  */
2979
2913
  lazyLoad() {
2980
- g(this, UA) || (G(this, UA, !0), g(this, le).call(this));
2914
+ g(this, JA) || (G(this, JA, !0), g(this, re).call(this));
2981
2915
  }
2982
2916
  }
2983
- JA = new WeakMap(), uA = new WeakMap(), TA = new WeakMap(), Qe = new WeakMap(), he = new WeakMap(), CA = new WeakMap(), UA = new WeakMap(), le = new WeakMap();
2984
- var NA;
2985
- class Yi extends zA {
2917
+ yA = new WeakMap(), dA = new WeakMap(), LA = new WeakMap(), oe = new WeakMap(), Be = new WeakMap(), CA = new WeakMap(), JA = new WeakMap(), re = new WeakMap();
2918
+ var HA;
2919
+ class Ti extends VA {
2986
2920
  constructor(e) {
2987
2921
  super();
2988
- f(this, NA, void 0);
2989
- G(this, NA, new Is(sA({
2990
- loader: Fi,
2922
+ F(this, HA, void 0);
2923
+ G(this, HA, new es(FA({
2924
+ loader: Ii,
2991
2925
  consumer: this
2992
- }, e))), g(this, NA).data.subscribe((s) => {
2926
+ }, e))), g(this, HA).data.subscribe((s) => {
2993
2927
  s.current ? this.add(...s.current.scene.children) : this.children.forEach((t) => {
2994
- this.remove(t), Xt(t);
2928
+ this.remove(t), xt(t);
2995
2929
  });
2996
2930
  });
2997
2931
  }
2998
2932
  get sourceManager() {
2999
- return g(this, NA);
2933
+ return g(this, HA);
3000
2934
  }
3001
2935
  }
3002
- NA = new WeakMap();
3003
- function gs(C, A, e) {
3004
- const s = A.x, t = A.y, n = e || C.image.width / C.image.height;
3005
- let i = 0, B = 0, o = C.offset.x, r = C.offset.y, I = C.rotation, a = C.center.x, c = C.center.y;
3006
- s / t > n ? (i = 1, B = t / s * n) : (B = 1, i = s / t / n), C.matrix.setUvTransform(o, r, i, B, I, a, c);
2936
+ HA = new WeakMap();
2937
+ function ts(a, A, e) {
2938
+ const s = A.x, t = A.y, n = e || a.image.width / a.image.height;
2939
+ let i = 0, B = 0, o = a.offset.x, r = a.offset.y, I = a.rotation, C = a.center.x, c = a.center.y;
2940
+ s / t > n ? (i = 1, B = t / s * n) : (B = 1, i = s / t / n), a.matrix.setUvTransform(o, r, i, B, I, C, c);
3007
2941
  }
3008
- const XA = new y();
3009
- function k(C, A, e, s, t, n) {
2942
+ const PA = new w();
2943
+ function k(a, A, e, s, t, n) {
3010
2944
  const i = 2 * Math.PI * t / 4, B = Math.max(n - 2 * t, 0), o = Math.PI / 4;
3011
- XA.copy(A), XA[s] = 0, XA.normalize();
3012
- const r = 0.5 * i / (i + B), I = 1 - XA.angleTo(C) / o;
3013
- return Math.sign(XA[e]) === 1 ? I * r : B / (i + B) + r + r * (1 - I);
2945
+ PA.copy(A), PA[s] = 0, PA.normalize();
2946
+ const r = 0.5 * i / (i + B), I = 1 - PA.angleTo(a) / o;
2947
+ return Math.sign(PA[e]) === 1 ? I * r : B / (i + B) + r + r * (1 - I);
3014
2948
  }
3015
- class Gi extends un {
2949
+ class gi extends rn {
3016
2950
  constructor(A = 1, e = 1, s = 1, t = 2, n = 0.1) {
3017
2951
  if (t = t * 2 + 1, n = Math.min(A / 2, e / 2, s / 2, n), super(1, 1, 1, t, t, t), t === 1)
3018
2952
  return;
3019
2953
  const i = this.toNonIndexed();
3020
2954
  this.index = null, this.attributes.position = i.attributes.position, this.attributes.normal = i.attributes.normal, this.attributes.uv = i.attributes.uv;
3021
- const B = new y(), o = new y(), r = new y(A, e, s).divideScalar(2).subScalar(n), I = this.attributes.position.array, a = this.attributes.normal.array, c = this.attributes.uv.array, Q = I.length / 6, l = new y(), h = 0.5 / t;
2955
+ const B = new w(), o = new w(), r = new w(A, e, s).divideScalar(2).subScalar(n), I = this.attributes.position.array, C = this.attributes.normal.array, c = this.attributes.uv.array, Q = I.length / 6, l = new w(), h = 0.5 / t;
3022
2956
  for (let E = 0, d = 0; E < I.length; E += 3, d += 2)
3023
- switch (B.fromArray(I, E), o.copy(B), o.x -= Math.sign(o.x) * h, o.y -= Math.sign(o.y) * h, o.z -= Math.sign(o.z) * h, o.normalize(), I[E + 0] = r.x * Math.sign(B.x) + o.x * n, I[E + 1] = r.y * Math.sign(B.y) + o.y * n, I[E + 2] = r.z * Math.sign(B.z) + o.z * n, a[E + 0] = o.x, a[E + 1] = o.y, a[E + 2] = o.z, Math.floor(E / Q)) {
2957
+ switch (B.fromArray(I, E), o.copy(B), o.x -= Math.sign(o.x) * h, o.y -= Math.sign(o.y) * h, o.z -= Math.sign(o.z) * h, o.normalize(), I[E + 0] = r.x * Math.sign(B.x) + o.x * n, I[E + 1] = r.y * Math.sign(B.y) + o.y * n, I[E + 2] = r.z * Math.sign(B.z) + o.z * n, C[E + 0] = o.x, C[E + 1] = o.y, C[E + 2] = o.z, Math.floor(E / Q)) {
3024
2958
  case 0:
3025
2959
  l.set(1, 0, 0), c[d + 0] = k(l, o, "z", "y", n, s), c[d + 1] = 1 - k(l, o, "y", "z", n, e);
3026
2960
  break;
@@ -3042,8 +2976,8 @@ class Gi extends un {
3042
2976
  }
3043
2977
  }
3044
2978
  }
3045
- const Ut = new y(), Ri = new It(), Nt = new y();
3046
- class pi extends gt {
2979
+ const Rt = new w(), Ei = new At(), pt = new w();
2980
+ class ci extends et {
3047
2981
  constructor(A = document.createElement("div")) {
3048
2982
  super(), this.isCSS3DObject = !0, this.element = A, this.element.style.position = "absolute", this.element.style.pointerEvents = "auto", this.element.style.userSelect = "none", this.element.setAttribute("draggable", !1), this.addEventListener("removed", function() {
3049
2983
  this.traverse(function(e) {
@@ -3055,8 +2989,8 @@ class pi extends gt {
3055
2989
  return super.copy(A, e), this.element = A.element.cloneNode(!0), this;
3056
2990
  }
3057
2991
  }
3058
- const Y = new KA(), mi = new KA();
3059
- class Mi {
2992
+ const Y = new xA(), Qi = new xA();
2993
+ class hi {
3060
2994
  constructor(A = {}) {
3061
2995
  const e = this;
3062
2996
  let s, t, n, i;
@@ -3076,50 +3010,50 @@ class Mi {
3076
3010
  }, this.render = function(h, E) {
3077
3011
  const d = E.projectionMatrix.elements[5] * i;
3078
3012
  E.view && E.view.enabled ? (r.style.transform = `translate( ${-E.view.offsetX * (s / E.view.width)}px, ${-E.view.offsetY * (t / E.view.height)}px )`, r.style.transform += `scale( ${E.view.fullWidth / E.view.width}, ${E.view.fullHeight / E.view.height} )`) : r.style.transform = "", h.matrixWorldAutoUpdate === !0 && h.updateMatrixWorld(), E.parent === null && E.matrixWorldAutoUpdate === !0 && E.updateMatrixWorld();
3079
- let u, D;
3080
- E.isOrthographicCamera && (u = -(E.right + E.left) / 2, D = (E.top + E.bottom) / 2);
3081
- const F = E.view && E.view.enabled ? E.view.height / E.view.fullHeight : 1, p = E.isOrthographicCamera ? `scale( ${F} )scale(` + d + ")translate(" + a(u) + "px," + a(D) + "px)" + c(E.matrixWorldInverse) : `scale( ${F} )translateZ(` + d + "px)" + c(E.matrixWorldInverse), w = (E.isPerspectiveCamera ? "perspective(" + d + "px) " : "") + p + "translate(" + n + "px," + i + "px)";
3082
- B.camera.style !== w && (I.style.transform = w, B.camera.style = w), l(h, h, E);
3013
+ let u, f;
3014
+ E.isOrthographicCamera && (u = -(E.right + E.left) / 2, f = (E.top + E.bottom) / 2);
3015
+ const D = E.view && E.view.enabled ? E.view.height / E.view.fullHeight : 1, p = E.isOrthographicCamera ? `scale( ${D} )scale(` + d + ")translate(" + C(u) + "px," + C(f) + "px)" + c(E.matrixWorldInverse) : `scale( ${D} )translateZ(` + d + "px)" + c(E.matrixWorldInverse), M = (E.isPerspectiveCamera ? "perspective(" + d + "px) " : "") + p + "translate(" + n + "px," + i + "px)";
3016
+ B.camera.style !== M && (I.style.transform = M, B.camera.style = M), l(h, h, E);
3083
3017
  }, this.setSize = function(h, E) {
3084
3018
  s = h, t = E, n = s / 2, i = t / 2, o.style.width = h + "px", o.style.height = E + "px", r.style.width = h + "px", r.style.height = E + "px", I.style.width = h + "px", I.style.height = E + "px";
3085
3019
  };
3086
- function a(h) {
3020
+ function C(h) {
3087
3021
  return Math.abs(h) < 1e-10 ? 0 : h;
3088
3022
  }
3089
3023
  function c(h) {
3090
3024
  const E = h.elements;
3091
- return "matrix3d(" + a(E[0]) + "," + a(-E[1]) + "," + a(E[2]) + "," + a(E[3]) + "," + a(E[4]) + "," + a(-E[5]) + "," + a(E[6]) + "," + a(E[7]) + "," + a(E[8]) + "," + a(-E[9]) + "," + a(E[10]) + "," + a(E[11]) + "," + a(E[12]) + "," + a(-E[13]) + "," + a(E[14]) + "," + a(E[15]) + ")";
3025
+ return "matrix3d(" + C(E[0]) + "," + C(-E[1]) + "," + C(E[2]) + "," + C(E[3]) + "," + C(E[4]) + "," + C(-E[5]) + "," + C(E[6]) + "," + C(E[7]) + "," + C(E[8]) + "," + C(-E[9]) + "," + C(E[10]) + "," + C(E[11]) + "," + C(E[12]) + "," + C(-E[13]) + "," + C(E[14]) + "," + C(E[15]) + ")";
3092
3026
  }
3093
3027
  function Q(h) {
3094
3028
  const E = h.elements;
3095
- return "translate(-50%,-50%)" + ("matrix3d(" + a(E[0]) + "," + a(E[1]) + "," + a(E[2]) + "," + a(E[3]) + "," + a(-E[4]) + "," + a(-E[5]) + "," + a(-E[6]) + "," + a(-E[7]) + "," + a(E[8]) + "," + a(E[9]) + "," + a(E[10]) + "," + a(E[11]) + "," + a(E[12]) + "," + a(E[13]) + "," + a(E[14]) + "," + a(E[15]) + ")");
3029
+ return "translate(-50%,-50%)" + ("matrix3d(" + C(E[0]) + "," + C(E[1]) + "," + C(E[2]) + "," + C(E[3]) + "," + C(-E[4]) + "," + C(-E[5]) + "," + C(-E[6]) + "," + C(-E[7]) + "," + C(E[8]) + "," + C(E[9]) + "," + C(E[10]) + "," + C(E[11]) + "," + C(E[12]) + "," + C(E[13]) + "," + C(E[14]) + "," + C(E[15]) + ")");
3096
3030
  }
3097
3031
  function l(h, E, d, u) {
3098
3032
  if (h.isCSS3DObject) {
3099
- const D = h.visible === !0 && h.layers.test(d.layers) === !0;
3100
- if (h.element.style.display = D === !0 ? "" : "none", D === !0) {
3033
+ const f = h.visible === !0 && h.layers.test(d.layers) === !0;
3034
+ if (h.element.style.display = f === !0 ? "" : "none", f === !0) {
3101
3035
  h.onBeforeRender(e, E, d);
3102
- let F;
3103
- h.isCSS3DSprite ? (Y.copy(d.matrixWorldInverse), Y.transpose(), h.rotation2D !== 0 && Y.multiply(mi.makeRotationZ(h.rotation2D)), h.matrixWorld.decompose(Ut, Ri, Nt), Y.setPosition(Ut), Y.scale(Nt), Y.elements[3] = 0, Y.elements[7] = 0, Y.elements[11] = 0, Y.elements[15] = 1, F = Q(Y)) : F = Q(h.matrixWorld);
3036
+ let D;
3037
+ h.isCSS3DSprite ? (Y.copy(d.matrixWorldInverse), Y.transpose(), h.rotation2D !== 0 && Y.multiply(Qi.makeRotationZ(h.rotation2D)), h.matrixWorld.decompose(Rt, Ei, pt), Y.setPosition(Rt), Y.scale(pt), Y.elements[3] = 0, Y.elements[7] = 0, Y.elements[11] = 0, Y.elements[15] = 1, D = Q(Y)) : D = Q(h.matrixWorld);
3104
3038
  const p = h.element, m = B.objects.get(h);
3105
- if (m === void 0 || m.style !== F) {
3106
- p.style.transform = F;
3107
- const w = { style: F };
3108
- B.objects.set(h, w);
3039
+ if (m === void 0 || m.style !== D) {
3040
+ p.style.transform = D;
3041
+ const M = { style: D };
3042
+ B.objects.set(h, M);
3109
3043
  }
3110
3044
  p.parentNode !== I && I.appendChild(p), h.onAfterRender(e, E, d);
3111
3045
  }
3112
3046
  }
3113
- for (let D = 0, F = h.children.length; D < F; D++)
3114
- l(h.children[D], E, d);
3047
+ for (let f = 0, D = h.children.length; f < D; f++)
3048
+ l(h.children[f], E, d);
3115
3049
  }
3116
3050
  }
3117
3051
  }
3118
- var IA, xA, fA;
3119
- class Es extends Re {
3052
+ var aA, TA, uA;
3053
+ class ss extends Qe {
3120
3054
  constructor(e) {
3121
3055
  super(
3122
- new Gi(
3056
+ new gi(
3123
3057
  e.width,
3124
3058
  e.height,
3125
3059
  1,
@@ -3128,71 +3062,71 @@ class Es extends Re {
3128
3062
  ),
3129
3063
  e.material
3130
3064
  );
3131
- f(this, IA, void 0);
3132
- f(this, xA, void 0);
3133
- f(this, fA, () => {
3134
- g(this, IA).data.current && g(this, xA) && this.onCoverResize(g(this, IA).data.current);
3065
+ F(this, aA, void 0);
3066
+ F(this, TA, void 0);
3067
+ F(this, uA, () => {
3068
+ g(this, aA).data.current && g(this, TA) && this.onCoverResize(g(this, aA).data.current);
3135
3069
  });
3136
- G(this, IA, new Is(sA({
3070
+ G(this, aA, new es(FA({
3137
3071
  consumer: this
3138
- }, e))), G(this, xA, e.cover || !1), this.addEventListener("added", () => {
3139
- kA.subscribe(g(this, fA));
3072
+ }, e))), G(this, TA, e.cover || !1), this.addEventListener("added", () => {
3073
+ UA.subscribe(g(this, uA));
3140
3074
  }), this.addEventListener("removed", () => {
3141
- kA.unsubscribe(g(this, fA));
3142
- }), g(this, IA).data.subscribe((s) => {
3143
- !s.current && s.previous ? s.previous.dispose() : s.current && this.material && (g(this, xA) && (s.current.matrixAutoUpdate = !1), s.current.colorSpace = AA, s.current.center.set(0.5, 0.5), this.material.map = s.current, this.material.needsUpdate = !0, g(this, fA).call(this));
3075
+ UA.unsubscribe(g(this, uA));
3076
+ }), g(this, aA).data.subscribe((s) => {
3077
+ !s.current && s.previous ? s.previous.dispose() : s.current && this.material && (g(this, TA) && (s.current.matrixAutoUpdate = !1), s.current.colorSpace = $, s.current.center.set(0.5, 0.5), this.material.map = s.current, this.material.needsUpdate = !0, g(this, uA).call(this));
3144
3078
  });
3145
3079
  }
3146
3080
  get sourceManager() {
3147
- return g(this, IA);
3081
+ return g(this, aA);
3148
3082
  }
3149
3083
  updateTexture() {
3150
- g(this, fA).call(this);
3084
+ g(this, uA).call(this);
3151
3085
  }
3152
3086
  onCoverResize(e) {
3153
- gs(e, {
3087
+ ts(e, {
3154
3088
  x: this.scale.x,
3155
3089
  y: this.scale.y
3156
3090
  });
3157
3091
  }
3158
3092
  }
3159
- IA = new WeakMap(), xA = new WeakMap(), fA = new WeakMap();
3160
- class qi extends Es {
3093
+ aA = new WeakMap(), TA = new WeakMap(), uA = new WeakMap();
3094
+ class Ui extends ss {
3161
3095
  constructor(A) {
3162
- super(we(sA({}, A), {
3163
- loader: pn
3096
+ super(ue(FA({}, A), {
3097
+ loader: cn
3164
3098
  }));
3165
3099
  }
3166
3100
  }
3167
- class wi {
3101
+ class li {
3168
3102
  load(...A) {
3169
3103
  const e = A[0], s = A[1], t = A[3], n = document.createElement("video");
3170
3104
  n.src = e, n.onloadeddata = () => {
3171
- s(new fn(n)), n.onerror = null, n.onloadeddata = null;
3105
+ s(new Cn(n)), n.onerror = null, n.onloadeddata = null;
3172
3106
  }, n.onerror = () => {
3173
3107
  t == null || t(e), n.onerror = null, n.onloadeddata = null;
3174
3108
  };
3175
3109
  }
3176
3110
  }
3177
- var de, ue, fe;
3178
- class Xi extends Es {
3111
+ var Ce, ae, Ie;
3112
+ class Ni extends ss {
3179
3113
  constructor(e) {
3180
- super(we(sA({}, e), {
3181
- loader: new wi()
3114
+ super(ue(FA({}, e), {
3115
+ loader: new li()
3182
3116
  }));
3183
- f(this, de, void 0);
3184
- f(this, ue, void 0);
3185
- f(this, fe, void 0);
3186
- G(this, de, e.autoplay || !1), G(this, ue, e.muted || !1), G(this, fe, e.loop || !1), this.sourceManager.data.subscribe((s) => {
3117
+ F(this, Ce, void 0);
3118
+ F(this, ae, void 0);
3119
+ F(this, Ie, void 0);
3120
+ G(this, Ce, e.autoplay || !1), G(this, ae, e.muted || !1), G(this, Ie, e.loop || !1), this.sourceManager.data.subscribe((s) => {
3187
3121
  if (s.current) {
3188
3122
  const t = s.current.image;
3189
- g(this, ue) && (t.muted = !0), g(this, fe) && (t.loop = !0), g(this, de) && t.play();
3123
+ g(this, ae) && (t.muted = !0), g(this, Ie) && (t.loop = !0), g(this, Ce) && t.play();
3190
3124
  }
3191
3125
  });
3192
3126
  }
3193
3127
  onCoverResize(e) {
3194
3128
  const s = e.image;
3195
- gs(
3129
+ ts(
3196
3130
  e,
3197
3131
  {
3198
3132
  x: this.scale.x,
@@ -3202,47 +3136,47 @@ class Xi extends Es {
3202
3136
  );
3203
3137
  }
3204
3138
  }
3205
- de = new WeakMap(), ue = new WeakMap(), fe = new WeakMap();
3206
- function vi(C, A) {
3207
- C.traverse((e) => {
3208
- e instanceof Re && A(e);
3139
+ Ce = new WeakMap(), ae = new WeakMap(), Ie = new WeakMap();
3140
+ function xi(a, A) {
3141
+ a.traverse((e) => {
3142
+ e instanceof Qe && A(e);
3209
3143
  });
3210
3144
  }
3211
- function Wi(C, A) {
3212
- C.traverse((e) => {
3213
- e instanceof Re && e.material && (Array.isArray(e.material) ? e.material : [e.material]).forEach(A);
3145
+ function ki(a, A) {
3146
+ a.traverse((e) => {
3147
+ e instanceof Qe && e.material && (Array.isArray(e.material) ? e.material : [e.material]).forEach(A);
3214
3148
  });
3215
3149
  }
3216
- const $e = new y(), yi = new y();
3217
- function Vi(C) {
3218
- const { width: A, height: e } = M, s = A / e;
3219
- C instanceof y ? $e.copy(C) : $e.set(...C);
3220
- const t = M.camera.getWorldPosition(yi).distanceTo($e);
3221
- if (M.camera instanceof Te)
3150
+ const Ye = new w(), di = new w();
3151
+ function bi(a, A = "default") {
3152
+ const e = K.getView(A), { width: s, height: t } = K, n = s / t;
3153
+ a instanceof w ? Ye.copy(a) : Ye.set(...a);
3154
+ const i = e.camera.getWorldPosition(di).distanceTo(Ye);
3155
+ if (e.camera instanceof me)
3222
3156
  return {
3223
- width: A / M.camera.zoom,
3224
- height: e / M.camera.zoom,
3157
+ width: s / e.camera.zoom,
3158
+ height: t / e.camera.zoom,
3225
3159
  factor: 1,
3226
- distance: t,
3227
- aspect: s
3160
+ distance: i,
3161
+ aspect: n
3228
3162
  };
3229
3163
  {
3230
- const n = M.camera.fov * Math.PI / 180, i = 2 * Math.tan(n / 2) * t, B = i * (A / e);
3231
- return { width: B, height: i, factor: A / B, distance: t, aspect: s };
3164
+ const B = e.camera.fov * Math.PI / 180, o = 2 * Math.tan(B / 2) * i, r = o * (s / t);
3165
+ return { width: r, height: o, factor: s / r, distance: i, aspect: n };
3232
3166
  }
3233
3167
  }
3234
- var v, ke, cs, De, Fe;
3235
- const x = class x extends pi {
3168
+ var q, Se, ns, ge, Ee;
3169
+ const x = class x extends ci {
3236
3170
  static destroy() {
3237
- kA.unsubscribe(g(this, Fe)), bA.unsubscribe(g(this, De)), G(this, v, null);
3171
+ UA.unsubscribe(g(this, Ee)), NA.unsubscribe(g(this, ge)), G(this, q, null);
3238
3172
  }
3239
3173
  constructor(A) {
3240
3174
  var e;
3241
- super(A.element), g(x, v) || hA(e = x, ke, cs).call(e);
3175
+ super(A.element), g(x, q) || fe(e = x, Se, ns).call(e);
3242
3176
  }
3243
3177
  };
3244
- v = new WeakMap(), ke = new WeakSet(), cs = function() {
3245
- G(x, v, new Mi()), g(x, v).domElement.style.cssText = `
3178
+ q = new WeakMap(), Se = new WeakSet(), ns = function() {
3179
+ G(x, q, new hi()), g(x, q).domElement.style.cssText = `
3246
3180
  position: fixed;
3247
3181
  left: 0;
3248
3182
  top: 0;
@@ -3251,46 +3185,46 @@ v = new WeakMap(), ke = new WeakSet(), cs = function() {
3251
3185
  z-index: 1;
3252
3186
  pointer-events: none;
3253
3187
  overflow: hidden;
3254
- `, M.containerElement.prepend(g(x, v).domElement), kA.subscribe(g(this, Fe), bt.EN3 + 1), bA.subscribe(g(this, De), { order: rt.EN3 + 1 });
3255
- }, De = new WeakMap(), Fe = new WeakMap(), f(x, ke), f(x, v, null), f(x, De, () => {
3256
- g(x, v).render(M.scene, M.camera);
3257
- }), f(x, Fe, () => {
3258
- g(x, v).setSize(M.width, M.height);
3188
+ `, K.containerElement.prepend(g(x, q).domElement), UA.subscribe(g(this, Ee), Mt.EN3 + 1), NA.subscribe(g(this, ge), { order: ze.EN3 + 1 });
3189
+ }, ge = new WeakMap(), Ee = new WeakMap(), F(x, Se), F(x, q, null), F(x, ge, () => {
3190
+ g(x, q).render(K.view.scene, K.view.camera);
3191
+ }), F(x, Ee, () => {
3192
+ g(x, q).setSize(K.width, K.height);
3259
3193
  });
3260
- let xt = x;
3261
- var gA, EA, Ge, Bt;
3262
- class ji {
3194
+ let mt = x;
3195
+ var IA, gA, ce, Ze;
3196
+ class Ki {
3263
3197
  constructor(A) {
3264
- f(this, Ge);
3265
- f(this, gA, void 0);
3266
- f(this, EA, void 0);
3267
- G(this, gA, A.material), G(this, EA, A.uniforms || {}), g(this, gA).userData.uniforms = g(this, EA);
3198
+ F(this, ce);
3199
+ F(this, IA, void 0);
3200
+ F(this, gA, void 0);
3201
+ G(this, IA, A.material), G(this, gA, A.uniforms || {}), g(this, IA).userData.uniforms = g(this, gA);
3268
3202
  let e;
3269
3203
  const s = () => {
3270
3204
  e == null || e();
3271
3205
  };
3272
- g(this, gA).addEventListener("dispose", s), g(this, gA).onBeforeCompile = (t) => {
3206
+ g(this, IA).addEventListener("dispose", s), g(this, IA).onBeforeCompile = (t) => {
3273
3207
  var n;
3274
3208
  e == null || e();
3275
- for (const i in g(this, EA))
3276
- t.uniforms[i] = g(this, EA)[i];
3209
+ for (const i in g(this, gA))
3210
+ t.uniforms[i] = g(this, gA)[i];
3277
3211
  A.vertextDeclarations && (t.vertexShader = `
3278
3212
  ${A.vertextDeclarations}
3279
3213
  ${t.vertexShader}
3280
3214
  `), A.fragmentDeclarations && (t.fragmentShader = `
3281
3215
  ${A.fragmentDeclarations}
3282
3216
  ${t.fragmentShader}
3283
- `), hA(this, Ge, Bt).call(this, t, "vertex", A), hA(this, Ge, Bt).call(this, t, "fragment", A), e = (n = A.onReady) == null ? void 0 : n.call(A, this), A.log && (console.log("VERTEX SHADER: ", t.vertexShader), console.log("FRAGMENT SHADER: ", t.fragmentShader));
3217
+ `), fe(this, ce, Ze).call(this, t, "vertex", A), fe(this, ce, Ze).call(this, t, "fragment", A), e = (n = A.onReady) == null ? void 0 : n.call(A, this), A.log && (console.log("VERTEX SHADER: ", t.vertexShader), console.log("FRAGMENT SHADER: ", t.fragmentShader));
3284
3218
  };
3285
3219
  }
3286
3220
  get material() {
3287
- return g(this, gA);
3221
+ return g(this, IA);
3288
3222
  }
3289
3223
  get uniforms() {
3290
- return g(this, EA);
3224
+ return g(this, gA);
3291
3225
  }
3292
3226
  }
3293
- gA = new WeakMap(), EA = new WeakMap(), Ge = new WeakSet(), Bt = function(A, e, s) {
3227
+ IA = new WeakMap(), gA = new WeakMap(), ce = new WeakSet(), Ze = function(A, e, s) {
3294
3228
  const t = e === "vertex" ? "vertexChunk" : "fragmentChunk", n = e === "vertex" ? "vertexShader" : "fragmentShader";
3295
3229
  s[t] && (s[t].replace ? A[n] = A[n].replace(
3296
3230
  `#include <${s[t].replace}>`,
@@ -3304,22 +3238,22 @@ gA = new WeakMap(), EA = new WeakMap(), Ge = new WeakSet(), Bt = function(A, e,
3304
3238
  )));
3305
3239
  };
3306
3240
  export {
3307
- _i as En3Clip,
3308
- Pi as En3ClipHelpers,
3309
- Yi as En3GLTF,
3310
- xt as En3HTML,
3311
- qi as En3Image,
3312
- Es as En3ImageLike,
3313
- ji as En3ModifiedMaterial,
3314
- Gn as En3Raycaster,
3315
- Is as En3SourceManager,
3316
- Xi as En3Video,
3317
- gs as coverTexture,
3318
- Xt as dispose,
3319
- M as en3,
3320
- Fi as en3GLTFLoader,
3321
- pn as en3TextureLoader,
3322
- Vi as getCurrentViewport,
3323
- Wi as traverseMaterials,
3324
- vi as traverseMeshes
3241
+ Ji as En3Clip,
3242
+ Hi as En3ClipHelpers,
3243
+ Ti as En3GLTF,
3244
+ mt as En3HTML,
3245
+ Ui as En3Image,
3246
+ ss as En3ImageLike,
3247
+ Ki as En3ModifiedMaterial,
3248
+ es as En3SourceManager,
3249
+ Ni as En3Video,
3250
+ ct as En3View,
3251
+ ts as coverTexture,
3252
+ xt as dispose,
3253
+ K as en3,
3254
+ Ii as en3GLTFLoader,
3255
+ cn as en3TextureLoader,
3256
+ bi as getCurrentViewport,
3257
+ ki as traverseMaterials,
3258
+ xi as traverseMeshes
3325
3259
  };