@jdultra/threedtiles 13.0.18 → 13.0.20

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.
@@ -191,56 +191,56 @@ class kt {
191
191
  if (s instanceof Object) {
192
192
  if (Array.isArray(s)) return s;
193
193
  {
194
- const { buffer: r, binOffset: o, binLength: n } = this, b = s.byteOffset || 0, d = s.type || A, l = s.componentType || t;
194
+ const { buffer: r, binOffset: o, binLength: n } = this, b = s.byteOffset || 0, d = s.type || A, g = s.componentType || t;
195
195
  if ("type" in s && A && s.type !== A) throw new Error("FeatureTable: Specified type does not match expected type.");
196
- let g, h;
196
+ let h, l;
197
197
  switch (d) {
198
198
  case "SCALAR":
199
- g = 1;
199
+ h = 1;
200
200
  break;
201
201
  case "VEC2":
202
- g = 2;
202
+ h = 2;
203
203
  break;
204
204
  case "VEC3":
205
- g = 3;
205
+ h = 3;
206
206
  break;
207
207
  case "VEC4":
208
- g = 4;
208
+ h = 4;
209
209
  break;
210
210
  default:
211
211
  throw new Error(`FeatureTable : Feature type not provided for "${e}".`);
212
212
  }
213
- const f = o + b, I = a * g;
214
- switch (l) {
213
+ const f = o + b, I = a * h;
214
+ switch (g) {
215
215
  case "BYTE":
216
- h = new Int8Array(r, f, I);
216
+ l = new Int8Array(r, f, I);
217
217
  break;
218
218
  case "UNSIGNED_BYTE":
219
- h = new Uint8Array(r, f, I);
219
+ l = new Uint8Array(r, f, I);
220
220
  break;
221
221
  case "SHORT":
222
- h = new Int16Array(r, f, I);
222
+ l = new Int16Array(r, f, I);
223
223
  break;
224
224
  case "UNSIGNED_SHORT":
225
- h = new Uint16Array(r, f, I);
225
+ l = new Uint16Array(r, f, I);
226
226
  break;
227
227
  case "INT":
228
- h = new Int32Array(r, f, I);
228
+ l = new Int32Array(r, f, I);
229
229
  break;
230
230
  case "UNSIGNED_INT":
231
- h = new Uint32Array(r, f, I);
231
+ l = new Uint32Array(r, f, I);
232
232
  break;
233
233
  case "FLOAT":
234
- h = new Float32Array(r, f, I);
234
+ l = new Float32Array(r, f, I);
235
235
  break;
236
236
  case "DOUBLE":
237
- h = new Float64Array(r, f, I);
237
+ l = new Float64Array(r, f, I);
238
238
  break;
239
239
  default:
240
240
  throw new Error(`FeatureTable : Feature component type not provided for "${e}".`);
241
241
  }
242
- if (f + I * h.BYTES_PER_ELEMENT > o + n) throw new Error("FeatureTable: Feature data read outside binary body length.");
243
- return h;
242
+ if (f + I * l.BYTES_PER_ELEMENT > o + n) throw new Error("FeatureTable: Feature data read outside binary body length.");
243
+ return l;
244
244
  }
245
245
  }
246
246
  return s;
@@ -270,9 +270,9 @@ function Xa(c) {
270
270
  const b = c[n];
271
271
  if (b.isInterleavedBufferAttribute) {
272
272
  const d = o / a;
273
- for (let l = 0, g = b.count; l < g; l++) for (let h = 0; h < a; h++) {
274
- const f = b.getComponent(l, h);
275
- r.setComponent(l + d, h, f);
273
+ for (let g = 0, h = b.count; g < h; g++) for (let l = 0; l < a; l++) {
274
+ const f = b.getComponent(g, l);
275
+ r.setComponent(g + d, l, f);
276
276
  }
277
277
  } else s.set(b.array, o);
278
278
  o += b.count * a;
@@ -312,15 +312,15 @@ class Dt {
312
312
  console.assert(r === "b3dm");
313
313
  const o = s.getUint32(8, !0);
314
314
  console.assert(o === e.byteLength);
315
- const n = s.getUint32(12, !0), b = s.getUint32(16, !0), d = s.getUint32(20, !0), l = s.getUint32(24, !0), g = new kt(e, 28, n, b), h = 28 + n + b;
316
- new KA(e, g.getData("BATCH_LENGTH"), h, d, l);
317
- const f = h + d + l, I = new Uint8Array(e, f, o - f).slice().buffer;
318
- return new Promise(async (u, p) => {
315
+ const n = s.getUint32(12, !0), b = s.getUint32(16, !0), d = s.getUint32(20, !0), g = s.getUint32(24, !0), h = new kt(e, 28, n, b), l = 28 + n + b;
316
+ new KA(e, h.getData("BATCH_LENGTH"), l, d, g);
317
+ const f = l + d + g, I = new Uint8Array(e, f, o - f).slice().buffer;
318
+ return new Promise(async (p, u) => {
319
319
  await this.checkLoaderInitialized(), this.gltfLoader.parse(I, null, (B) => {
320
- const C = g.getData("RTC_CENTER");
320
+ const C = h.getData("RTC_CENTER");
321
321
  C ? (this.tempMatrix.makeTranslation(C[0], C[1], C[2]), B.scene.applyMatrix4(this.tempMatrix)) : B.userData.gltfExtensions && B.userData.gltfExtensions.CESIUM_RTC && (this.tempMatrix.makeTranslation(B.userData.gltfExtensions.CESIUM_RTC.center[0], B.userData.gltfExtensions.CESIUM_RTC.center[1], B.userData.gltfExtensions.CESIUM_RTC.center[2]), B.scene.applyMatrix4(this.tempMatrix)), t && B.scene.applyMatrix4(i.zUpToYUpMatrix), B.scene.asset = B.asset, B.scene.traverse((w) => {
322
322
  w.isMesh && (A && w.applyMatrix4(i.zUpToYUpMatrix), a && a(w));
323
- }), u(B.scene);
323
+ }), p(B.scene);
324
324
  }, (B) => {
325
325
  console.error(B);
326
326
  });
@@ -333,14 +333,14 @@ class Dt {
333
333
  d.isMesh && (d.geometry.applyMatrix4(d.matrixWorld), o.push(d.geometry), n.push(d.material));
334
334
  });
335
335
  let b = function(d) {
336
- let l = /* @__PURE__ */ new Set();
337
- return d.forEach((h) => {
338
- for (let f in h.attributes) l.add(f);
339
- }), d.forEach((h) => {
340
- l.forEach((f) => {
341
- if (!h.attributes[f]) {
342
- const I = function(p) {
343
- switch (p) {
336
+ let g = /* @__PURE__ */ new Set();
337
+ return d.forEach((l) => {
338
+ for (let f in l.attributes) g.add(f);
339
+ }), d.forEach((l) => {
340
+ g.forEach((f) => {
341
+ if (!l.attributes[f]) {
342
+ const I = function(u) {
343
+ switch (u) {
344
344
  case "position":
345
345
  case "normal":
346
346
  case "color":
@@ -349,27 +349,27 @@ class Dt {
349
349
  case "uv2":
350
350
  return 2;
351
351
  default:
352
- throw new Error(`Unknown attribute ${p}`);
352
+ throw new Error(`Unknown attribute ${u}`);
353
353
  }
354
- }(f), u = new Float32Array(I * h.getAttribute("position").count).fill(0);
355
- h.setAttribute(f, new E.BufferAttribute(u, I));
354
+ }(f), p = new Float32Array(I * l.getAttribute("position").count).fill(0);
355
+ l.setAttribute(f, new E.BufferAttribute(p, I));
356
356
  }
357
357
  });
358
- }), function(h, f = !1) {
359
- const I = h[0].index !== null, u = new Set(Object.keys(h[0].attributes)), p = new Set(Object.keys(h[0].morphAttributes)), B = {}, C = {}, w = h[0].morphTargetsRelative, x = new ea();
358
+ }), function(l, f = !1) {
359
+ const I = l[0].index !== null, p = new Set(Object.keys(l[0].attributes)), u = new Set(Object.keys(l[0].morphAttributes)), B = {}, C = {}, w = l[0].morphTargetsRelative, x = new ea();
360
360
  let y = 0;
361
- for (let m = 0; m < h.length; ++m) {
362
- const Q = h[m];
361
+ for (let m = 0; m < l.length; ++m) {
362
+ const Q = l[m];
363
363
  let k = 0;
364
364
  if (I !== (Q.index !== null)) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + m + ". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."), null;
365
365
  for (const D in Q.attributes) {
366
- if (!u.has(D)) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + m + '. All geometries must have compatible attributes; make sure "' + D + '" attribute exists among all geometries, or in none of them.'), null;
366
+ if (!p.has(D)) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + m + '. All geometries must have compatible attributes; make sure "' + D + '" attribute exists among all geometries, or in none of them.'), null;
367
367
  B[D] === void 0 && (B[D] = []), B[D].push(Q.attributes[D]), k++;
368
368
  }
369
- if (k !== u.size) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + m + ". Make sure all geometries have the same number of attributes."), null;
369
+ if (k !== p.size) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + m + ". Make sure all geometries have the same number of attributes."), null;
370
370
  if (w !== Q.morphTargetsRelative) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + m + ". .morphTargetsRelative must be consistent throughout all geometries."), null;
371
371
  for (const D in Q.morphAttributes) {
372
- if (!p.has(D)) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + m + ". .morphAttributes must be consistent throughout all geometries."), null;
372
+ if (!u.has(D)) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + m + ". .morphAttributes must be consistent throughout all geometries."), null;
373
373
  C[D] === void 0 && (C[D] = []), C[D].push(Q.morphAttributes[D]);
374
374
  }
375
375
  if (f) {
@@ -385,10 +385,10 @@ class Dt {
385
385
  if (I) {
386
386
  let m = 0;
387
387
  const Q = [];
388
- for (let k = 0; k < h.length; ++k) {
389
- const D = h[k].index;
388
+ for (let k = 0; k < l.length; ++k) {
389
+ const D = l[k].index;
390
390
  for (let F = 0; F < D.count; ++F) Q.push(D.getX(F) + m);
391
- m += h[k].attributes.position.count;
391
+ m += l[k].attributes.position.count;
392
392
  }
393
393
  x.setIndex(Q);
394
394
  }
@@ -451,10 +451,10 @@ class XA {
451
451
  return new Promise(async (s, r) => {
452
452
  await i.checkLoaderInitialized(), i.gltfLoader.parse(e, null, (o) => {
453
453
  o.scene;
454
- const n = o.scene.children[0], b = n.geometry.attributes.position, d = n.geometry.attributes.color, l = n.geometry.attributes.cov_0, g = n.geometry.attributes.cov_1, h = A.addSplatsTile(b, d, l, g);
454
+ const n = o.scene.children[0], b = n.geometry.attributes.position, d = n.geometry.attributes.color, g = n.geometry.attributes.cov_0, h = n.geometry.attributes.cov_1, l = A.addSplatsTile(b, d, g, h);
455
455
  o.scene.traverse((f) => {
456
456
  f.dispose && f.dispose();
457
- }), s(h);
457
+ }), s(l);
458
458
  }, (o) => {
459
459
  console.error(o);
460
460
  });
@@ -558,7 +558,7 @@ class Mt extends Fa {
558
558
  d.name || console.error("THREE.GLTFLoader: Invalid plugin found: missing name"), r[d.name] = d, s[d.name] = !0;
559
559
  }
560
560
  if (i.extensionsUsed) for (let b = 0; b < i.extensionsUsed.length; ++b) {
561
- const d = i.extensionsUsed[b], l = i.extensionsRequired || [];
561
+ const d = i.extensionsUsed[b], g = i.extensionsRequired || [];
562
562
  switch (d) {
563
563
  case j.KHR_MATERIALS_UNLIT:
564
564
  s[d] = new ei();
@@ -573,7 +573,7 @@ class Mt extends Fa {
573
573
  s[d] = new Ei();
574
574
  break;
575
575
  default:
576
- l.indexOf(d) >= 0 && r[d] === void 0 && console.warn('THREE.GLTFLoader: Unknown extension "' + d + '".');
576
+ g.indexOf(d) >= 0 && r[d] === void 0 && console.warn('THREE.GLTFLoader: Unknown extension "' + d + '".');
577
577
  }
578
578
  }
579
579
  n.setExtensions(s), n.setPlugins(r), n.parse(t, A);
@@ -923,12 +923,12 @@ class fi {
923
923
  return null;
924
924
  }
925
925
  return i.then(function(r) {
926
- const o = A.byteOffset || 0, n = A.byteLength || 0, b = A.count, d = A.byteStride, l = new Uint8Array(r, o, n);
927
- return s.decodeGltfBufferAsync ? s.decodeGltfBufferAsync(b, d, l, A.mode, A.filter).then(function(g) {
928
- return g.buffer;
926
+ const o = A.byteOffset || 0, n = A.byteLength || 0, b = A.count, d = A.byteStride, g = new Uint8Array(r, o, n);
927
+ return s.decodeGltfBufferAsync ? s.decodeGltfBufferAsync(b, d, g, A.mode, A.filter).then(function(h) {
928
+ return h.buffer;
929
929
  }) : s.ready.then(function() {
930
- const g = new ArrayBuffer(b * d);
931
- return s.decodeGltfBuffer(new Uint8Array(g), b, d, l, A.mode, A.filter), g;
930
+ const h = new ArrayBuffer(b * d);
931
+ return s.decodeGltfBuffer(new Uint8Array(h), b, d, g, A.mode, A.filter), h;
932
932
  });
933
933
  });
934
934
  }
@@ -947,17 +947,17 @@ class ui {
947
947
  const i = t.extensions[this.name].attributes, s = [], r = {};
948
948
  for (const o in i) s.push(this.parser.getDependency("accessor", i[o]).then((n) => (r[o] = n, r[o])));
949
949
  return s.length < 1 ? null : (s.push(this.parser.createNodeMesh(e)), Promise.all(s).then((o) => {
950
- const n = o.pop(), b = n.isGroup ? n.children : [n], d = o[0].count, l = [];
951
- for (const g of b) {
952
- const h = new je(), f = new M(), I = new mt(), u = new M(1, 1, 1), p = new sA(g.geometry, g.material, d);
953
- for (let B = 0; B < d; B++) r.TRANSLATION && f.fromBufferAttribute(r.TRANSLATION, B), r.ROTATION && I.fromBufferAttribute(r.ROTATION, B), r.SCALE && u.fromBufferAttribute(r.SCALE, B), p.setMatrixAt(B, h.compose(f, I, u));
950
+ const n = o.pop(), b = n.isGroup ? n.children : [n], d = o[0].count, g = [];
951
+ for (const h of b) {
952
+ const l = new je(), f = new M(), I = new mt(), p = new M(1, 1, 1), u = new sA(h.geometry, h.material, d);
953
+ for (let B = 0; B < d; B++) r.TRANSLATION && f.fromBufferAttribute(r.TRANSLATION, B), r.ROTATION && I.fromBufferAttribute(r.ROTATION, B), r.SCALE && p.fromBufferAttribute(r.SCALE, B), u.setMatrixAt(B, l.compose(f, I, p));
954
954
  for (const B in r) if (B === "_COLOR_0") {
955
955
  const C = r[B];
956
- p.instanceColor = new wa(C.array, C.itemSize, C.normalized);
957
- } else B !== "TRANSLATION" && B !== "ROTATION" && B !== "SCALE" && g.geometry.setAttribute(B, r[B]);
958
- Et.prototype.copy.call(p, g), this.parser.assignFinalMaterial(p), l.push(p);
956
+ u.instanceColor = new wa(C.array, C.itemSize, C.normalized);
957
+ } else B !== "TRANSLATION" && B !== "ROTATION" && B !== "SCALE" && h.geometry.setAttribute(B, r[B]);
958
+ Et.prototype.copy.call(u, h), this.parser.assignFinalMaterial(u), g.push(u);
959
959
  }
960
- return n.isGroup ? (n.clear(), n.add(...l), n) : l[0];
960
+ return n.isGroup ? (n.clear(), n.add(...g), n) : g[0];
961
961
  }));
962
962
  }
963
963
  }
@@ -1000,19 +1000,19 @@ class Bi {
1000
1000
  for (const b in e.attributes) {
1001
1001
  const d = ja[b] || b.toLowerCase();
1002
1002
  if (s[b] !== void 0) {
1003
- const l = t.accessors[e.attributes[b]], g = ke[l.componentType];
1004
- n[d] = g.name, o[d] = l.normalized === !0;
1003
+ const g = t.accessors[e.attributes[b]], h = ke[g.componentType];
1004
+ n[d] = h.name, o[d] = g.normalized === !0;
1005
1005
  }
1006
1006
  }
1007
1007
  return a.getDependency("bufferView", i).then(function(b) {
1008
- return new Promise(function(d, l) {
1009
- A.decodeDracoFile(b, function(g) {
1010
- for (const h in g.attributes) {
1011
- const f = g.attributes[h], I = o[h];
1008
+ return new Promise(function(d, g) {
1009
+ A.decodeDracoFile(b, function(h) {
1010
+ for (const l in h.attributes) {
1011
+ const f = h.attributes[l], I = o[l];
1012
1012
  I !== void 0 && (f.normalized = I);
1013
1013
  }
1014
- d(g);
1015
- }, r, n, K, l);
1014
+ d(h);
1015
+ }, r, n, K, g);
1016
1016
  });
1017
1017
  });
1018
1018
  }
@@ -1040,10 +1040,10 @@ class St extends jA {
1040
1040
  return a;
1041
1041
  }
1042
1042
  interpolate_(e, a, t, A) {
1043
- const i = this.resultBuffer, s = this.sampleValues, r = this.valueSize, o = 2 * r, n = 3 * r, b = A - a, d = (t - a) / b, l = d * d, g = l * d, h = e * n, f = h - n, I = -2 * g + 3 * l, u = g - l, p = 1 - I, B = u - l + d;
1043
+ const i = this.resultBuffer, s = this.sampleValues, r = this.valueSize, o = 2 * r, n = 3 * r, b = A - a, d = (t - a) / b, g = d * d, h = g * d, l = e * n, f = l - n, I = -2 * h + 3 * g, p = h - g, u = 1 - I, B = p - g + d;
1044
1044
  for (let C = 0; C !== r; C++) {
1045
- const w = s[f + C + r], x = s[f + C + o] * b, y = s[h + C + r], m = s[h + C] * b;
1046
- i[C] = p * w + B * x + I * y + u * m;
1045
+ const w = s[f + C + r], x = s[f + C + o] * b, y = s[l + C + r], m = s[l + C] * b;
1046
+ i[C] = u * w + B * x + I * y + p * m;
1047
1047
  }
1048
1048
  return i;
1049
1049
  }
@@ -1272,21 +1272,21 @@ class Si {
1272
1272
  }
1273
1273
  const i = [];
1274
1274
  return A.bufferView !== void 0 ? i.push(this.getDependency("bufferView", A.bufferView)) : i.push(null), A.sparse !== void 0 && (i.push(this.getDependency("bufferView", A.sparse.indices.bufferView)), i.push(this.getDependency("bufferView", A.sparse.values.bufferView))), Promise.all(i).then(function(s) {
1275
- const r = s[0], o = na[A.type], n = ke[A.componentType], b = n.BYTES_PER_ELEMENT, d = b * o, l = A.byteOffset || 0, g = A.bufferView !== void 0 ? t.bufferViews[A.bufferView].byteStride : void 0, h = A.normalized === !0;
1275
+ const r = s[0], o = na[A.type], n = ke[A.componentType], b = n.BYTES_PER_ELEMENT, d = b * o, g = A.byteOffset || 0, h = A.bufferView !== void 0 ? t.bufferViews[A.bufferView].byteStride : void 0, l = A.normalized === !0;
1276
1276
  let f, I;
1277
- if (g && g !== d) {
1278
- const u = Math.floor(l / g), p = "InterleavedBuffer:" + A.bufferView + ":" + A.componentType + ":" + u + ":" + A.count;
1279
- let B = a.cache.get(p);
1280
- B || (f = new n(r, u * g, A.count * g / b), B = new oA(f, g / b), a.cache.add(p, B)), I = new cA(B, o, l % g / b, h);
1281
- } else f = r === null ? new n(A.count * o) : new n(r, l, A.count * o), I = new le(f, o, h);
1277
+ if (h && h !== d) {
1278
+ const p = Math.floor(g / h), u = "InterleavedBuffer:" + A.bufferView + ":" + A.componentType + ":" + p + ":" + A.count;
1279
+ let B = a.cache.get(u);
1280
+ B || (f = new n(r, p * h, A.count * h / b), B = new oA(f, h / b), a.cache.add(u, B)), I = new cA(B, o, g % h / b, l);
1281
+ } else f = r === null ? new n(A.count * o) : new n(r, g, A.count * o), I = new le(f, o, l);
1282
1282
  if (A.sparse !== void 0) {
1283
- const u = na.SCALAR, p = ke[A.sparse.indices.componentType], B = A.sparse.indices.byteOffset || 0, C = A.sparse.values.byteOffset || 0, w = new p(s[1], B, A.sparse.count * u), x = new n(s[2], C, A.sparse.count * o);
1283
+ const p = na.SCALAR, u = ke[A.sparse.indices.componentType], B = A.sparse.indices.byteOffset || 0, C = A.sparse.values.byteOffset || 0, w = new u(s[1], B, A.sparse.count * p), x = new n(s[2], C, A.sparse.count * o);
1284
1284
  r !== null && (I = new le(I.array.slice(), I.itemSize, I.normalized)), I.normalized = !1;
1285
1285
  for (let y = 0, m = w.length; y < m; y++) {
1286
1286
  const Q = w[y];
1287
1287
  if (I.setX(Q, x[y * o]), o >= 2 && I.setY(Q, x[y * o + 1]), o >= 3 && I.setZ(Q, x[y * o + 2]), o >= 4 && I.setW(Q, x[y * o + 3]), o >= 5) throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.");
1288
1288
  }
1289
- I.normalized = h;
1289
+ I.normalized = l;
1290
1290
  }
1291
1291
  return I;
1292
1292
  });
@@ -1319,21 +1319,21 @@ class Si {
1319
1319
  let o = s.uri || "", n = !1;
1320
1320
  if (s.bufferView !== void 0) o = t.getDependency("bufferView", s.bufferView).then(function(d) {
1321
1321
  n = !0;
1322
- const l = new Blob([d], { type: s.mimeType });
1323
- return o = r.createObjectURL(l), o;
1322
+ const g = new Blob([d], { type: s.mimeType });
1323
+ return o = r.createObjectURL(g), o;
1324
1324
  });
1325
1325
  else if (s.uri === void 0) throw new Error("THREE.GLTFLoader: Image " + e + " is missing URI and bufferView");
1326
1326
  const b = Promise.resolve(o).then(function(d) {
1327
- return new Promise(function(l, g) {
1328
- let h = l;
1329
- a.isImageBitmapLoader === !0 && (h = function(f) {
1327
+ return new Promise(function(g, h) {
1328
+ let l = g;
1329
+ a.isImageBitmapLoader === !0 && (l = function(f) {
1330
1330
  const I = new Na(f);
1331
- I.needsUpdate = !0, l(I);
1332
- }), a.load(Pe.resolveURL(d, i.path), h, void 0, g);
1331
+ I.needsUpdate = !0, g(I);
1332
+ }), a.load(Pe.resolveURL(d, i.path), l, void 0, h);
1333
1333
  });
1334
1334
  }).then(function(d) {
1335
- var l;
1336
- return n === !0 && r.revokeObjectURL(o), se(d, s), d.userData.mimeType = s.mimeType || ((l = s.uri).search(/\.jpe?g($|\?)/i) > 0 || l.search(/^data\:image\/jpeg/) === 0 ? "image/jpeg" : l.search(/\.webp($|\?)/i) > 0 || l.search(/^data\:image\/webp/) === 0 ? "image/webp" : l.search(/\.ktx2($|\?)/i) > 0 || l.search(/^data\:image\/ktx2/) === 0 ? "image/ktx2" : "image/png"), d;
1335
+ var g;
1336
+ return n === !0 && r.revokeObjectURL(o), se(d, s), d.userData.mimeType = s.mimeType || ((g = s.uri).search(/\.jpe?g($|\?)/i) > 0 || g.search(/^data\:image\/jpeg/) === 0 ? "image/jpeg" : g.search(/\.webp($|\?)/i) > 0 || g.search(/^data\:image\/webp/) === 0 ? "image/webp" : g.search(/\.ktx2($|\?)/i) > 0 || g.search(/^data\:image\/ktx2/) === 0 ? "image/ktx2" : "image/png"), d;
1337
1337
  }).catch(function(d) {
1338
1338
  throw console.error("THREE.GLTFLoader: Couldn't load texture", o), d;
1339
1339
  });
@@ -1427,8 +1427,8 @@ class Si {
1427
1427
  const n = e[r], b = Mi(n), d = A[b];
1428
1428
  if (d) s.push(d.promise);
1429
1429
  else {
1430
- let l;
1431
- l = n.extensions && n.extensions[j.KHR_DRACO_MESH_COMPRESSION] ? i(n) : at(new ea(), n, a), A[b] = { primitive: n, promise: l }, s.push(l);
1430
+ let g;
1431
+ g = n.extensions && n.extensions[j.KHR_DRACO_MESH_COMPRESSION] ? i(n) : at(new ea(), n, a), A[b] = { primitive: n, promise: g }, s.push(g);
1432
1432
  }
1433
1433
  }
1434
1434
  return Promise.all(s);
@@ -1441,27 +1441,27 @@ class Si {
1441
1441
  }
1442
1442
  var o;
1443
1443
  return r.push(a.loadGeometries(s)), Promise.all(r).then(function(n) {
1444
- const b = n.slice(0, n.length - 1), d = n[n.length - 1], l = [];
1445
- for (let h = 0, f = d.length; h < f; h++) {
1446
- const I = d[h], u = s[h];
1447
- let p;
1448
- const B = b[h];
1449
- if (u.mode === H.TRIANGLES || u.mode === H.TRIANGLE_STRIP || u.mode === H.TRIANGLE_FAN || u.mode === void 0) p = i.isSkinnedMesh === !0 ? new hA(I, B) : new ka(I, B), p.isSkinnedMesh === !0 && p.normalizeSkinWeights(), u.mode === H.TRIANGLE_STRIP ? p.geometry = Za(p.geometry, Ct) : u.mode === H.TRIANGLE_FAN && (p.geometry = Za(p.geometry, ya));
1450
- else if (u.mode === H.LINES) p = new pt(I, B);
1451
- else if (u.mode === H.LINE_STRIP) p = new gA(I, B);
1452
- else if (u.mode === H.LINE_LOOP) p = new fA(I, B);
1444
+ const b = n.slice(0, n.length - 1), d = n[n.length - 1], g = [];
1445
+ for (let l = 0, f = d.length; l < f; l++) {
1446
+ const I = d[l], p = s[l];
1447
+ let u;
1448
+ const B = b[l];
1449
+ if (p.mode === H.TRIANGLES || p.mode === H.TRIANGLE_STRIP || p.mode === H.TRIANGLE_FAN || p.mode === void 0) u = i.isSkinnedMesh === !0 ? new hA(I, B) : new ka(I, B), u.isSkinnedMesh === !0 && u.normalizeSkinWeights(), p.mode === H.TRIANGLE_STRIP ? u.geometry = Za(u.geometry, Ct) : p.mode === H.TRIANGLE_FAN && (u.geometry = Za(u.geometry, ya));
1450
+ else if (p.mode === H.LINES) u = new pt(I, B);
1451
+ else if (p.mode === H.LINE_STRIP) u = new gA(I, B);
1452
+ else if (p.mode === H.LINE_LOOP) u = new fA(I, B);
1453
1453
  else {
1454
- if (u.mode !== H.POINTS) throw new Error("THREE.GLTFLoader: Primitive mode unsupported: " + u.mode);
1455
- p = new uA(I, B);
1454
+ if (p.mode !== H.POINTS) throw new Error("THREE.GLTFLoader: Primitive mode unsupported: " + p.mode);
1455
+ u = new uA(I, B);
1456
1456
  }
1457
- Object.keys(p.geometry.morphAttributes).length > 0 && ji(p, i), p.name = a.createUniqueName(i.name || "mesh_" + e), se(p, i), u.extensions && fe(A, p, u), a.assignFinalMaterial(p), l.push(p);
1457
+ Object.keys(u.geometry.morphAttributes).length > 0 && ji(u, i), u.name = a.createUniqueName(i.name || "mesh_" + e), se(u, i), p.extensions && fe(A, u, p), a.assignFinalMaterial(u), g.push(u);
1458
1458
  }
1459
- for (let h = 0, f = l.length; h < f; h++) a.associations.set(l[h], { meshes: e, primitives: h });
1460
- if (l.length === 1) return i.extensions && fe(A, l[0], i), l[0];
1461
- const g = new Aa();
1462
- i.extensions && fe(A, g, i), a.associations.set(g, { meshes: e });
1463
- for (let h = 0, f = l.length; h < f; h++) g.add(l[h]);
1464
- return g;
1459
+ for (let l = 0, f = g.length; l < f; l++) a.associations.set(g[l], { meshes: e, primitives: l });
1460
+ if (g.length === 1) return i.extensions && fe(A, g[0], i), g[0];
1461
+ const h = new Aa();
1462
+ i.extensions && fe(A, h, i), a.associations.set(h, { meshes: e });
1463
+ for (let l = 0, f = g.length; l < f; l++) h.add(g[l]);
1464
+ return h;
1465
1465
  });
1466
1466
  }
1467
1467
  loadCamera(e) {
@@ -1479,8 +1479,8 @@ class Si {
1479
1479
  const d = s[n];
1480
1480
  if (d) {
1481
1481
  r.push(d);
1482
- const l = new je();
1483
- i !== null && l.fromArray(i.array, 16 * n), o.push(l);
1482
+ const g = new je();
1483
+ i !== null && g.fromArray(i.array, 16 * n), o.push(g);
1484
1484
  } else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.', a.joints[n]);
1485
1485
  }
1486
1486
  return new CA(r, o);
@@ -1488,20 +1488,20 @@ class Si {
1488
1488
  }
1489
1489
  loadAnimation(e) {
1490
1490
  const a = this.json, t = this, A = a.animations[e], i = A.name ? A.name : "animation_" + e, s = [], r = [], o = [], n = [], b = [];
1491
- for (let d = 0, l = A.channels.length; d < l; d++) {
1492
- const g = A.channels[d], h = A.samplers[g.sampler], f = g.target, I = f.node, u = A.parameters !== void 0 ? A.parameters[h.input] : h.input, p = A.parameters !== void 0 ? A.parameters[h.output] : h.output;
1493
- f.node !== void 0 && (s.push(this.getDependency("node", I)), r.push(this.getDependency("accessor", u)), o.push(this.getDependency("accessor", p)), n.push(h), b.push(f));
1491
+ for (let d = 0, g = A.channels.length; d < g; d++) {
1492
+ const h = A.channels[d], l = A.samplers[h.sampler], f = h.target, I = f.node, p = A.parameters !== void 0 ? A.parameters[l.input] : l.input, u = A.parameters !== void 0 ? A.parameters[l.output] : l.output;
1493
+ f.node !== void 0 && (s.push(this.getDependency("node", I)), r.push(this.getDependency("accessor", p)), o.push(this.getDependency("accessor", u)), n.push(l), b.push(f));
1494
1494
  }
1495
1495
  return Promise.all([Promise.all(s), Promise.all(r), Promise.all(o), Promise.all(n), Promise.all(b)]).then(function(d) {
1496
- const l = d[0], g = d[1], h = d[2], f = d[3], I = d[4], u = [];
1497
- for (let p = 0, B = l.length; p < B; p++) {
1498
- const C = l[p], w = g[p], x = h[p], y = f[p], m = I[p];
1496
+ const g = d[0], h = d[1], l = d[2], f = d[3], I = d[4], p = [];
1497
+ for (let u = 0, B = g.length; u < B; u++) {
1498
+ const C = g[u], w = h[u], x = l[u], y = f[u], m = I[u];
1499
1499
  if (C === void 0) continue;
1500
1500
  C.updateMatrix && C.updateMatrix();
1501
1501
  const Q = t._createAnimationTracks(C, w, x, y, m);
1502
- if (Q) for (let k = 0; k < Q.length; k++) u.push(Q[k]);
1502
+ if (Q) for (let k = 0; k < Q.length; k++) p.push(Q[k]);
1503
1503
  }
1504
- return new BA(i, void 0, u);
1504
+ return new BA(i, void 0, p);
1505
1505
  });
1506
1506
  }
1507
1507
  createNodeMesh(e) {
@@ -1519,10 +1519,10 @@ class Si {
1519
1519
  const r = t.skin === void 0 ? Promise.resolve(null) : a.getDependency("skin", t.skin);
1520
1520
  return Promise.all([A, Promise.all(i), r]).then(function(o) {
1521
1521
  const n = o[0], b = o[1], d = o[2];
1522
- d !== null && n.traverse(function(l) {
1523
- l.isSkinnedMesh && l.bind(d, Ri);
1522
+ d !== null && n.traverse(function(g) {
1523
+ g.isSkinnedMesh && g.bind(d, Ri);
1524
1524
  });
1525
- for (let l = 0, g = b.length; l < g; l++) n.add(b[l]);
1525
+ for (let g = 0, h = b.length; g < h; g++) n.add(b[g]);
1526
1526
  return n;
1527
1527
  });
1528
1528
  }
@@ -1540,7 +1540,7 @@ class Si {
1540
1540
  r.push(n);
1541
1541
  }), this.nodeCache[e] = Promise.all(r).then(function(n) {
1542
1542
  let b;
1543
- if (b = i.isBone === !0 ? new mA() : n.length > 1 ? new Aa() : n.length === 1 ? n[0] : new Et(), b !== n[0]) for (let d = 0, l = n.length; d < l; d++) b.add(n[d]);
1543
+ if (b = i.isBone === !0 ? new mA() : n.length > 1 ? new Aa() : n.length === 1 ? n[0] : new Et(), b !== n[0]) for (let d = 0, g = n.length; d < g; d++) b.add(n[d]);
1544
1544
  if (i.name && (b.userData.name = i.name, b.name = s), se(b, i), i.extensions && fe(t, b, i), i.matrix !== void 0) {
1545
1545
  const d = new je();
1546
1546
  d.fromArray(i.matrix), b.applyMatrix4(d);
@@ -1557,10 +1557,10 @@ class Si {
1557
1557
  for (let n = 0, b = o.length; n < b; n++) i.add(o[n]);
1558
1558
  return A.associations = ((n) => {
1559
1559
  const b = /* @__PURE__ */ new Map();
1560
- for (const [d, l] of A.associations) (d instanceof ta || d instanceof Na) && b.set(d, l);
1560
+ for (const [d, g] of A.associations) (d instanceof ta || d instanceof Na) && b.set(d, g);
1561
1561
  return n.traverse((d) => {
1562
- const l = A.associations.get(d);
1563
- l != null && b.set(d, l);
1562
+ const g = A.associations.get(d);
1563
+ g != null && b.set(d, g);
1564
1564
  }), b;
1565
1565
  })(i), i;
1566
1566
  });
@@ -1568,8 +1568,8 @@ class Si {
1568
1568
  _createAnimationTracks(e, a, t, A, i) {
1569
1569
  const s = [], r = e.name ? e.name : e.uuid, o = [];
1570
1570
  let n;
1571
- switch (oe[i.path] === oe.weights ? e.traverse(function(l) {
1572
- l.morphTargetInfluences && o.push(l.name ? l.name : l.uuid);
1571
+ switch (oe[i.path] === oe.weights ? e.traverse(function(g) {
1572
+ g.morphTargetInfluences && o.push(g.name ? g.name : g.uuid);
1573
1573
  }) : o.push(r), oe[i.path]) {
1574
1574
  case oe.weights:
1575
1575
  n = _a;
@@ -1585,9 +1585,9 @@ class Si {
1585
1585
  t.itemSize === 1 ? n = _a : n = Pa;
1586
1586
  }
1587
1587
  const b = A.interpolation !== void 0 ? wi[A.interpolation] : yt, d = this._getArrayFromAccessor(t);
1588
- for (let l = 0, g = o.length; l < g; l++) {
1589
- const h = new n(o[l] + "." + oe[i.path], a.array, d, b);
1590
- A.interpolation === "CUBICSPLINE" && this._createCubicSplineTrackInterpolant(h), s.push(h);
1588
+ for (let g = 0, h = o.length; g < h; g++) {
1589
+ const l = new n(o[g] + "." + oe[i.path], a.array, d, b);
1590
+ A.interpolation === "CUBICSPLINE" && this._createCubicSplineTrackInterpolant(l), s.push(l);
1591
1591
  }
1592
1592
  return s;
1593
1593
  }
@@ -1627,61 +1627,61 @@ function at(c, e, a) {
1627
1627
  const n = r.attributes, b = new va();
1628
1628
  if (n.POSITION === void 0) return;
1629
1629
  {
1630
- const g = o.json.accessors[n.POSITION], h = g.min, f = g.max;
1631
- if (h === void 0 || f === void 0) return void console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");
1632
- if (b.set(new M(h[0], h[1], h[2]), new M(f[0], f[1], f[2])), g.normalized) {
1633
- const I = Ma(ke[g.componentType]);
1630
+ const h = o.json.accessors[n.POSITION], l = h.min, f = h.max;
1631
+ if (l === void 0 || f === void 0) return void console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");
1632
+ if (b.set(new M(l[0], l[1], l[2]), new M(f[0], f[1], f[2])), h.normalized) {
1633
+ const I = Ma(ke[h.componentType]);
1634
1634
  b.min.multiplyScalar(I), b.max.multiplyScalar(I);
1635
1635
  }
1636
1636
  }
1637
1637
  const d = r.targets;
1638
1638
  if (d !== void 0) {
1639
- const g = new M(), h = new M();
1639
+ const h = new M(), l = new M();
1640
1640
  for (let f = 0, I = d.length; f < I; f++) {
1641
- const u = d[f];
1642
- if (u.POSITION !== void 0) {
1643
- const p = o.json.accessors[u.POSITION], B = p.min, C = p.max;
1641
+ const p = d[f];
1642
+ if (p.POSITION !== void 0) {
1643
+ const u = o.json.accessors[p.POSITION], B = u.min, C = u.max;
1644
1644
  if (B !== void 0 && C !== void 0) {
1645
- if (h.setX(Math.max(Math.abs(B[0]), Math.abs(C[0]))), h.setY(Math.max(Math.abs(B[1]), Math.abs(C[1]))), h.setZ(Math.max(Math.abs(B[2]), Math.abs(C[2]))), p.normalized) {
1646
- const w = Ma(ke[p.componentType]);
1647
- h.multiplyScalar(w);
1645
+ if (l.setX(Math.max(Math.abs(B[0]), Math.abs(C[0]))), l.setY(Math.max(Math.abs(B[1]), Math.abs(C[1]))), l.setZ(Math.max(Math.abs(B[2]), Math.abs(C[2]))), u.normalized) {
1646
+ const w = Ma(ke[u.componentType]);
1647
+ l.multiplyScalar(w);
1648
1648
  }
1649
- g.max(h);
1649
+ h.max(l);
1650
1650
  } else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");
1651
1651
  }
1652
1652
  }
1653
- b.expandByVector(g);
1653
+ b.expandByVector(h);
1654
1654
  }
1655
1655
  s.boundingBox = b;
1656
- const l = new DA();
1657
- b.getCenter(l.center), l.radius = b.min.distanceTo(b.max) / 2, s.boundingSphere = l;
1656
+ const g = new DA();
1657
+ b.getCenter(g.center), g.radius = b.min.distanceTo(b.max) / 2, s.boundingSphere = g;
1658
1658
  }(c, e, a), Promise.all(A).then(function() {
1659
1659
  return e.targets !== void 0 ? function(s, r, o) {
1660
1660
  let n = !1, b = !1, d = !1;
1661
1661
  for (let f = 0, I = r.length; f < I; f++) {
1662
- const u = r[f];
1663
- if (u.POSITION !== void 0 && (n = !0), u.NORMAL !== void 0 && (b = !0), u.COLOR_0 !== void 0 && (d = !0), n && b && d) break;
1662
+ const p = r[f];
1663
+ if (p.POSITION !== void 0 && (n = !0), p.NORMAL !== void 0 && (b = !0), p.COLOR_0 !== void 0 && (d = !0), n && b && d) break;
1664
1664
  }
1665
1665
  if (!n && !b && !d) return Promise.resolve(s);
1666
- const l = [], g = [], h = [];
1666
+ const g = [], h = [], l = [];
1667
1667
  for (let f = 0, I = r.length; f < I; f++) {
1668
- const u = r[f];
1668
+ const p = r[f];
1669
1669
  if (n) {
1670
- const p = u.POSITION !== void 0 ? o.getDependency("accessor", u.POSITION) : s.attributes.position;
1671
- l.push(p);
1670
+ const u = p.POSITION !== void 0 ? o.getDependency("accessor", p.POSITION) : s.attributes.position;
1671
+ g.push(u);
1672
1672
  }
1673
1673
  if (b) {
1674
- const p = u.NORMAL !== void 0 ? o.getDependency("accessor", u.NORMAL) : s.attributes.normal;
1675
- g.push(p);
1674
+ const u = p.NORMAL !== void 0 ? o.getDependency("accessor", p.NORMAL) : s.attributes.normal;
1675
+ h.push(u);
1676
1676
  }
1677
1677
  if (d) {
1678
- const p = u.COLOR_0 !== void 0 ? o.getDependency("accessor", u.COLOR_0) : s.attributes.color;
1679
- h.push(p);
1678
+ const u = p.COLOR_0 !== void 0 ? o.getDependency("accessor", p.COLOR_0) : s.attributes.color;
1679
+ l.push(u);
1680
1680
  }
1681
1681
  }
1682
- return Promise.all([Promise.all(l), Promise.all(g), Promise.all(h)]).then(function(f) {
1683
- const I = f[0], u = f[1], p = f[2];
1684
- return n && (s.morphAttributes.position = I), b && (s.morphAttributes.normal = u), d && (s.morphAttributes.color = p), s.morphTargetsRelative = !0, s;
1682
+ return Promise.all([Promise.all(g), Promise.all(h), Promise.all(l)]).then(function(f) {
1683
+ const I = f[0], p = f[1], u = f[2];
1684
+ return n && (s.morphAttributes.position = I), b && (s.morphAttributes.normal = p), d && (s.morphAttributes.color = u), s.morphTargetsRelative = !0, s;
1685
1685
  });
1686
1686
  }(c, e.targets, a) : c;
1687
1687
  });
@@ -1802,7 +1802,7 @@ class vt extends Fa {
1802
1802
  function vi() {
1803
1803
  let c, e;
1804
1804
  function a(t, A, i, s, r, o) {
1805
- const n = o.num_components(), b = i.num_points() * n, d = b * r.BYTES_PER_ELEMENT, l = function(f, I) {
1805
+ const n = o.num_components(), b = i.num_points() * n, d = b * r.BYTES_PER_ELEMENT, g = function(f, I) {
1806
1806
  switch (I) {
1807
1807
  case Float32Array:
1808
1808
  return f.DT_FLOAT32;
@@ -1819,10 +1819,10 @@ function vi() {
1819
1819
  case Uint32Array:
1820
1820
  return f.DT_UINT32;
1821
1821
  }
1822
- }(t, r), g = t._malloc(d);
1823
- A.GetAttributeDataArrayForAllPoints(i, o, l, d, g);
1824
- const h = new r(t.HEAPF32.buffer, g, b).slice();
1825
- return t._free(g), { name: s, array: h, itemSize: n };
1822
+ }(t, r), h = t._malloc(d);
1823
+ A.GetAttributeDataArrayForAllPoints(i, o, g, d, h);
1824
+ const l = new r(t.HEAPF32.buffer, h, b).slice();
1825
+ return t._free(h), { name: s, array: l, itemSize: n };
1826
1826
  }
1827
1827
  onmessage = function(t) {
1828
1828
  const A = t.data;
@@ -1839,35 +1839,35 @@ function vi() {
1839
1839
  e.then((r) => {
1840
1840
  const o = r.draco, n = new o.Decoder();
1841
1841
  try {
1842
- const b = function(l, g, h, f) {
1843
- const I = f.attributeIDs, u = f.attributeTypes;
1844
- let p, B;
1845
- const C = g.GetEncodedGeometryType(h);
1846
- if (C === l.TRIANGULAR_MESH) p = new l.Mesh(), B = g.DecodeArrayToMesh(h, h.byteLength, p);
1842
+ const b = function(g, h, l, f) {
1843
+ const I = f.attributeIDs, p = f.attributeTypes;
1844
+ let u, B;
1845
+ const C = h.GetEncodedGeometryType(l);
1846
+ if (C === g.TRIANGULAR_MESH) u = new g.Mesh(), B = h.DecodeArrayToMesh(l, l.byteLength, u);
1847
1847
  else {
1848
- if (C !== l.POINT_CLOUD) throw new Error("THREE.DRACOLoader: Unexpected geometry type.");
1849
- p = new l.PointCloud(), B = g.DecodeArrayToPointCloud(h, h.byteLength, p);
1848
+ if (C !== g.POINT_CLOUD) throw new Error("THREE.DRACOLoader: Unexpected geometry type.");
1849
+ u = new g.PointCloud(), B = h.DecodeArrayToPointCloud(l, l.byteLength, u);
1850
1850
  }
1851
- if (!B.ok() || p.ptr === 0) throw new Error("THREE.DRACOLoader: Decoding failed: " + B.error_msg());
1851
+ if (!B.ok() || u.ptr === 0) throw new Error("THREE.DRACOLoader: Decoding failed: " + B.error_msg());
1852
1852
  const w = { index: null, attributes: [] };
1853
1853
  for (const x in I) {
1854
- const y = self[u[x]];
1854
+ const y = self[p[x]];
1855
1855
  let m, Q;
1856
- if (f.useUniqueIDs) Q = I[x], m = g.GetAttributeByUniqueId(p, Q);
1856
+ if (f.useUniqueIDs) Q = I[x], m = h.GetAttributeByUniqueId(u, Q);
1857
1857
  else {
1858
- if (Q = g.GetAttributeId(p, l[I[x]]), Q === -1) continue;
1859
- m = g.GetAttribute(p, Q);
1858
+ if (Q = h.GetAttributeId(u, g[I[x]]), Q === -1) continue;
1859
+ m = h.GetAttribute(u, Q);
1860
1860
  }
1861
- const k = a(l, g, p, x, y, m);
1861
+ const k = a(g, h, u, x, y, m);
1862
1862
  x === "color" && (k.vertexColorSpace = f.vertexColorSpace), w.attributes.push(k);
1863
1863
  }
1864
- return C === l.TRIANGULAR_MESH && (w.index = function(x, y, m) {
1864
+ return C === g.TRIANGULAR_MESH && (w.index = function(x, y, m) {
1865
1865
  const Q = m.num_faces(), k = 3 * Q, D = 4 * k, F = x._malloc(D);
1866
1866
  y.GetTrianglesUInt32Array(m, D, F);
1867
1867
  const _ = new Uint32Array(x.HEAPF32.buffer, F, k).slice();
1868
1868
  return x._free(F), { array: _, itemSize: 1 };
1869
- }(l, g, p)), l.destroy(p), w;
1870
- }(o, n, new Int8Array(i), s), d = b.attributes.map((l) => l.array.buffer);
1869
+ }(g, h, u)), g.destroy(u), w;
1870
+ }(o, n, new Int8Array(i), s), d = b.attributes.map((g) => g.array.buffer);
1871
1871
  b.index && d.push(b.index.array.buffer), self.postMessage({ type: "decode", id: A.id, geometry: b }, d);
1872
1872
  } catch (b) {
1873
1873
  console.error(b), self.postMessage({ type: "error", id: A.id, error: b.message });
@@ -2038,8 +2038,8 @@ class P extends Fa {
2038
2038
  let d;
2039
2039
  if (a.faceCount === 6) d = new MA(i, o, n);
2040
2040
  else {
2041
- const l = i[0].mipmaps;
2042
- d = a.layerCount > 1 ? new RA(l, s, r, a.layerCount, o, n) : new qa(l, s, r, o, n);
2041
+ const g = i[0].mipmaps;
2042
+ d = a.layerCount > 1 ? new RA(g, s, r, a.layerCount, o, n) : new qa(g, s, r, o, n);
2043
2043
  }
2044
2044
  return d.minFilter = i[0].mipmaps.length === 1 ? Ce : $e, d.magFilter = Ce, d.generateMipmaps = !1, d.needsUpdate = !0, d.colorSpace = it(a), d.premultiplyAlpha = !!(1 & b), d;
2045
2045
  }
@@ -2049,11 +2049,11 @@ class P extends Fa {
2049
2049
  if (o[0] !== U[0] || o[1] !== U[1] || o[2] !== U[2] || o[3] !== U[3] || o[4] !== U[4] || o[5] !== U[5] || o[6] !== U[6] || o[7] !== U[7] || o[8] !== U[8] || o[9] !== U[9] || o[10] !== U[10] || o[11] !== U[11]) throw new Error("Missing KTX 2.0 identifier.");
2050
2050
  const n = new Ti(), b = 17 * Uint32Array.BYTES_PER_ELEMENT, d = new Fe(r, U.length, b, !0);
2051
2051
  n.vkFormat = d._nextUint32(), n.typeSize = d._nextUint32(), n.pixelWidth = d._nextUint32(), n.pixelHeight = d._nextUint32(), n.pixelDepth = d._nextUint32(), n.layerCount = d._nextUint32(), n.faceCount = d._nextUint32();
2052
- const l = d._nextUint32();
2052
+ const g = d._nextUint32();
2053
2053
  n.supercompressionScheme = d._nextUint32();
2054
- const g = d._nextUint32(), h = d._nextUint32(), f = d._nextUint32(), I = d._nextUint32(), u = d._nextUint64(), p = d._nextUint64(), B = new Fe(r, U.length + b, 3 * l * 8, !0);
2055
- for (let S = 0; S < l; S++) n.levels.push({ levelData: new Uint8Array(r.buffer, r.byteOffset + B._nextUint64(), B._nextUint64()), uncompressedByteLength: B._nextUint64() });
2056
- const C = new Fe(r, g, h, !0), w = { vendorId: C._skip(4)._nextUint16(), descriptorType: C._nextUint16(), versionNumber: C._nextUint16(), descriptorBlockSize: C._nextUint16(), colorModel: C._nextUint8(), colorPrimaries: C._nextUint8(), transferFunction: C._nextUint8(), flags: C._nextUint8(), texelBlockDimension: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], bytesPlane: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], samples: [] }, x = (w.descriptorBlockSize / 4 - 6) / 4;
2054
+ const h = d._nextUint32(), l = d._nextUint32(), f = d._nextUint32(), I = d._nextUint32(), p = d._nextUint64(), u = d._nextUint64(), B = new Fe(r, U.length + b, 3 * g * 8, !0);
2055
+ for (let S = 0; S < g; S++) n.levels.push({ levelData: new Uint8Array(r.buffer, r.byteOffset + B._nextUint64(), B._nextUint64()), uncompressedByteLength: B._nextUint64() });
2056
+ const C = new Fe(r, h, l, !0), w = { vendorId: C._skip(4)._nextUint16(), descriptorType: C._nextUint16(), versionNumber: C._nextUint16(), descriptorBlockSize: C._nextUint16(), colorModel: C._nextUint8(), colorPrimaries: C._nextUint8(), transferFunction: C._nextUint8(), flags: C._nextUint8(), texelBlockDimension: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], bytesPlane: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], samples: [] }, x = (w.descriptorBlockSize / 4 - 6) / 4;
2057
2057
  for (let S = 0; S < x; S++) {
2058
2058
  const L = { bitOffset: C._nextUint16(), bitLength: C._nextUint8(), channelType: C._nextUint8(), samplePosition: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], sampleLower: -1 / 0, sampleUpper: 1 / 0 };
2059
2059
  64 & L.channelType ? (L.sampleLower = C._nextInt32(), L.sampleUpper = C._nextInt32()) : (L.sampleLower = C._nextUint32(), L.sampleUpper = C._nextUint32()), w.samples[S] = L;
@@ -2068,30 +2068,30 @@ class P extends Fa {
2068
2068
  }
2069
2069
  y._skip(S % 4 ? 4 - S % 4 : 0);
2070
2070
  }
2071
- if (p <= 0) return n;
2072
- const m = new Fe(r, u, p, !0), Q = m._nextUint16(), k = m._nextUint16(), D = m._nextUint32(), F = m._nextUint32(), _ = m._nextUint32(), aa = m._nextUint32(), Me = [];
2073
- for (let S = 0; S < l; S++) Me.push({ imageFlags: m._nextUint32(), rgbSliceByteOffset: m._nextUint32(), rgbSliceByteLength: m._nextUint32(), alphaSliceByteOffset: m._nextUint32(), alphaSliceByteLength: m._nextUint32() });
2074
- const qe = u + m._offset, Re = qe + D, Se = Re + F, ve = Se + _, Oe = new Uint8Array(r.buffer, r.byteOffset + qe, D), Je = new Uint8Array(r.buffer, r.byteOffset + Re, F), z = new Uint8Array(r.buffer, r.byteOffset + Se, _), me = new Uint8Array(r.buffer, r.byteOffset + ve, aa);
2071
+ if (u <= 0) return n;
2072
+ const m = new Fe(r, p, u, !0), Q = m._nextUint16(), k = m._nextUint16(), D = m._nextUint32(), F = m._nextUint32(), _ = m._nextUint32(), aa = m._nextUint32(), Me = [];
2073
+ for (let S = 0; S < g; S++) Me.push({ imageFlags: m._nextUint32(), rgbSliceByteOffset: m._nextUint32(), rgbSliceByteLength: m._nextUint32(), alphaSliceByteOffset: m._nextUint32(), alphaSliceByteLength: m._nextUint32() });
2074
+ const qe = p + m._offset, Re = qe + D, Se = Re + F, ve = Se + _, Oe = new Uint8Array(r.buffer, r.byteOffset + qe, D), Je = new Uint8Array(r.buffer, r.byteOffset + Re, F), z = new Uint8Array(r.buffer, r.byteOffset + Se, _), me = new Uint8Array(r.buffer, r.byteOffset + ve, aa);
2075
2075
  return n.globalData = { endpointCount: Q, selectorCount: k, imageDescs: Me, endpointsData: Oe, selectorsData: Je, tablesData: z, extendedData: me }, n;
2076
2076
  }(new Uint8Array(e)), A = t.vkFormat === Ta && t.dataFormatDescriptor[0].colorModel === 167;
2077
2077
  if (!(t.vkFormat === 0 || A && !this.workerConfig.astcHDRSupported)) return async function(r) {
2078
2078
  const { vkFormat: o } = r;
2079
2079
  if (fa[o] === void 0) throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");
2080
2080
  let n;
2081
- r.supercompressionScheme === 2 && (ha || (ha = new Promise(async (l) => {
2082
- const g = new Li();
2083
- await g.init(), l(g);
2081
+ r.supercompressionScheme === 2 && (ha || (ha = new Promise(async (g) => {
2082
+ const h = new Li();
2083
+ await h.init(), g(h);
2084
2084
  })), n = await ha);
2085
2085
  const b = [];
2086
- for (let l = 0; l < r.levels.length; l++) {
2087
- const g = Math.max(1, r.pixelWidth >> l), h = Math.max(1, r.pixelHeight >> l), f = r.pixelDepth ? Math.max(1, r.pixelDepth >> l) : 0, I = r.levels[l];
2088
- let u, p;
2089
- if (r.supercompressionScheme === 0) u = I.levelData;
2086
+ for (let g = 0; g < r.levels.length; g++) {
2087
+ const h = Math.max(1, r.pixelWidth >> g), l = Math.max(1, r.pixelHeight >> g), f = r.pixelDepth ? Math.max(1, r.pixelDepth >> g) : 0, I = r.levels[g];
2088
+ let p, u;
2089
+ if (r.supercompressionScheme === 0) p = I.levelData;
2090
2090
  else {
2091
2091
  if (r.supercompressionScheme !== 2) throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");
2092
- u = n.decode(I.levelData, I.uncompressedByteLength);
2092
+ p = n.decode(I.levelData, I.uncompressedByteLength);
2093
2093
  }
2094
- p = ua[o] === v ? new Float32Array(u.buffer, u.byteOffset, u.byteLength / Float32Array.BYTES_PER_ELEMENT) : ua[o] === xe ? new Uint16Array(u.buffer, u.byteOffset, u.byteLength / Uint16Array.BYTES_PER_ELEMENT) : u, b.push({ data: p, width: g, height: h, depth: f });
2094
+ u = ua[o] === v ? new Float32Array(p.buffer, p.byteOffset, p.byteLength / Float32Array.BYTES_PER_ELEMENT) : ua[o] === xe ? new Uint16Array(p.buffer, p.byteOffset, p.byteLength / Uint16Array.BYTES_PER_ELEMENT) : p, b.push({ data: u, width: h, height: l, depth: f });
2095
2095
  }
2096
2096
  let d;
2097
2097
  if (Gi.has(fa[o])) d = r.pixelDepth === 0 ? new Ge(b[0].data, r.pixelWidth, r.pixelHeight) : new _A(b[0].data, r.pixelWidth, r.pixelHeight, r.pixelDepth);
@@ -2112,11 +2112,11 @@ P.BasisFormat = { ETC1S: 0, UASTC: 1, UASTC_HDR: 2 }, P.TranscoderFormat = { ETC
2112
2112
  let c, e, a;
2113
2113
  const t = _EngineFormat, A = _EngineType, i = _TranscoderFormat, s = _BasisFormat;
2114
2114
  self.addEventListener("message", function(d) {
2115
- const l = d.data;
2116
- switch (l.type) {
2115
+ const g = d.data;
2116
+ switch (g.type) {
2117
2117
  case "init":
2118
- c = l.config, g = l.transcoderBinary, e = new Promise((h) => {
2119
- a = { wasmBinary: g, onRuntimeInitialized: h }, BASIS(a);
2118
+ c = g.config, h = g.transcoderBinary, e = new Promise((l) => {
2119
+ a = { wasmBinary: h, onRuntimeInitialized: l }, BASIS(a);
2120
2120
  }).then(() => {
2121
2121
  a.initializeBasis(), a.KTX2File === void 0 && console.warn("THREE.KTX2Loader: Please update Basis Universal transcoder.");
2122
2122
  });
@@ -2124,7 +2124,7 @@ P.BasisFormat = { ETC1S: 0, UASTC: 1, UASTC_HDR: 2 }, P.TranscoderFormat = { ETC
2124
2124
  case "transcode":
2125
2125
  e.then(() => {
2126
2126
  try {
2127
- const { faces: h, buffers: f, width: I, height: u, hasAlpha: p, format: B, type: C, dfdFlags: w } = function(x) {
2127
+ const { faces: l, buffers: f, width: I, height: p, hasAlpha: u, format: B, type: C, dfdFlags: w } = function(x) {
2128
2128
  const y = new a.KTX2File(new Uint8Array(x));
2129
2129
  function m() {
2130
2130
  y.close(), y.delete();
@@ -2168,31 +2168,31 @@ P.BasisFormat = { ETC1S: 0, UASTC: 1, UASTC_HDR: 2 }, P.TranscoderFormat = { ETC
2168
2168
  Oe.push({ mipmaps: me, width: k, height: D, format: Se, type: ve });
2169
2169
  }
2170
2170
  return m(), { faces: Oe, buffers: Je, width: k, height: D, hasAlpha: Me, dfdFlags: qe, format: Se, type: ve };
2171
- }(l.buffer);
2172
- self.postMessage({ type: "transcode", id: l.id, data: { faces: h, width: I, height: u, hasAlpha: p, format: B, type: C, dfdFlags: w } }, f);
2173
- } catch (h) {
2174
- console.error(h), self.postMessage({ type: "error", id: l.id, error: h.message });
2171
+ }(g.buffer);
2172
+ self.postMessage({ type: "transcode", id: g.id, data: { faces: l, width: I, height: p, hasAlpha: u, format: B, type: C, dfdFlags: w } }, f);
2173
+ } catch (l) {
2174
+ console.error(l), self.postMessage({ type: "error", id: g.id, error: l.message });
2175
2175
  }
2176
2176
  });
2177
2177
  }
2178
- var g;
2178
+ var h;
2179
2179
  });
2180
- const r = [{ if: "astcSupported", basisFormat: [s.UASTC], transcoderFormat: [i.ASTC_4x4, i.ASTC_4x4], engineFormat: [t.RGBA_ASTC_4x4_Format, t.RGBA_ASTC_4x4_Format], engineType: [A.UnsignedByteType], priorityETC1S: 1 / 0, priorityUASTC: 1, needsPowerOfTwo: !1 }, { if: "bptcSupported", basisFormat: [s.ETC1S, s.UASTC], transcoderFormat: [i.BC7_M5, i.BC7_M5], engineFormat: [t.RGBA_BPTC_Format, t.RGBA_BPTC_Format], engineType: [A.UnsignedByteType], priorityETC1S: 3, priorityUASTC: 2, needsPowerOfTwo: !1 }, { if: "dxtSupported", basisFormat: [s.ETC1S, s.UASTC], transcoderFormat: [i.BC1, i.BC3], engineFormat: [t.RGBA_S3TC_DXT1_Format, t.RGBA_S3TC_DXT5_Format], engineType: [A.UnsignedByteType], priorityETC1S: 4, priorityUASTC: 5, needsPowerOfTwo: !1 }, { if: "etc2Supported", basisFormat: [s.ETC1S, s.UASTC], transcoderFormat: [i.ETC1, i.ETC2], engineFormat: [t.RGB_ETC2_Format, t.RGBA_ETC2_EAC_Format], engineType: [A.UnsignedByteType], priorityETC1S: 1, priorityUASTC: 3, needsPowerOfTwo: !1 }, { if: "etc1Supported", basisFormat: [s.ETC1S, s.UASTC], transcoderFormat: [i.ETC1], engineFormat: [t.RGB_ETC1_Format], engineType: [A.UnsignedByteType], priorityETC1S: 2, priorityUASTC: 4, needsPowerOfTwo: !1 }, { if: "pvrtcSupported", basisFormat: [s.ETC1S, s.UASTC], transcoderFormat: [i.PVRTC1_4_RGB, i.PVRTC1_4_RGBA], engineFormat: [t.RGB_PVRTC_4BPPV1_Format, t.RGBA_PVRTC_4BPPV1_Format], engineType: [A.UnsignedByteType], priorityETC1S: 5, priorityUASTC: 6, needsPowerOfTwo: !0 }, { if: "bptcSupported", basisFormat: [s.UASTC_HDR], transcoderFormat: [i.BC6H], engineFormat: [t.RGB_BPTC_UNSIGNED_Format], engineType: [A.HalfFloatType], priorityHDR: 1, needsPowerOfTwo: !1 }, { basisFormat: [s.ETC1S, s.UASTC], transcoderFormat: [i.RGBA32, i.RGBA32], engineFormat: [t.RGBAFormat, t.RGBAFormat], engineType: [A.UnsignedByteType, A.UnsignedByteType], priorityETC1S: 100, priorityUASTC: 100, needsPowerOfTwo: !1 }, { basisFormat: [s.UASTC_HDR], transcoderFormat: [i.RGBA_HALF], engineFormat: [t.RGBAFormat], engineType: [A.HalfFloatType], priorityHDR: 100, needsPowerOfTwo: !1 }], o = { [s.ETC1S]: r.filter((d) => d.basisFormat.includes(s.ETC1S)).sort((d, l) => d.priorityUASTC - l.priorityUASTC), [s.UASTC]: r.filter((d) => d.basisFormat.includes(s.UASTC)).sort((d, l) => d.priorityUASTC - l.priorityUASTC), [s.UASTC_HDR]: r.filter((d) => d.basisFormat.includes(s.UASTC_HDR)).sort((d, l) => d.priorityHDR - l.priorityHDR) };
2180
+ const r = [{ if: "astcSupported", basisFormat: [s.UASTC], transcoderFormat: [i.ASTC_4x4, i.ASTC_4x4], engineFormat: [t.RGBA_ASTC_4x4_Format, t.RGBA_ASTC_4x4_Format], engineType: [A.UnsignedByteType], priorityETC1S: 1 / 0, priorityUASTC: 1, needsPowerOfTwo: !1 }, { if: "bptcSupported", basisFormat: [s.ETC1S, s.UASTC], transcoderFormat: [i.BC7_M5, i.BC7_M5], engineFormat: [t.RGBA_BPTC_Format, t.RGBA_BPTC_Format], engineType: [A.UnsignedByteType], priorityETC1S: 3, priorityUASTC: 2, needsPowerOfTwo: !1 }, { if: "dxtSupported", basisFormat: [s.ETC1S, s.UASTC], transcoderFormat: [i.BC1, i.BC3], engineFormat: [t.RGBA_S3TC_DXT1_Format, t.RGBA_S3TC_DXT5_Format], engineType: [A.UnsignedByteType], priorityETC1S: 4, priorityUASTC: 5, needsPowerOfTwo: !1 }, { if: "etc2Supported", basisFormat: [s.ETC1S, s.UASTC], transcoderFormat: [i.ETC1, i.ETC2], engineFormat: [t.RGB_ETC2_Format, t.RGBA_ETC2_EAC_Format], engineType: [A.UnsignedByteType], priorityETC1S: 1, priorityUASTC: 3, needsPowerOfTwo: !1 }, { if: "etc1Supported", basisFormat: [s.ETC1S, s.UASTC], transcoderFormat: [i.ETC1], engineFormat: [t.RGB_ETC1_Format], engineType: [A.UnsignedByteType], priorityETC1S: 2, priorityUASTC: 4, needsPowerOfTwo: !1 }, { if: "pvrtcSupported", basisFormat: [s.ETC1S, s.UASTC], transcoderFormat: [i.PVRTC1_4_RGB, i.PVRTC1_4_RGBA], engineFormat: [t.RGB_PVRTC_4BPPV1_Format, t.RGBA_PVRTC_4BPPV1_Format], engineType: [A.UnsignedByteType], priorityETC1S: 5, priorityUASTC: 6, needsPowerOfTwo: !0 }, { if: "bptcSupported", basisFormat: [s.UASTC_HDR], transcoderFormat: [i.BC6H], engineFormat: [t.RGB_BPTC_UNSIGNED_Format], engineType: [A.HalfFloatType], priorityHDR: 1, needsPowerOfTwo: !1 }, { basisFormat: [s.ETC1S, s.UASTC], transcoderFormat: [i.RGBA32, i.RGBA32], engineFormat: [t.RGBAFormat, t.RGBAFormat], engineType: [A.UnsignedByteType, A.UnsignedByteType], priorityETC1S: 100, priorityUASTC: 100, needsPowerOfTwo: !1 }, { basisFormat: [s.UASTC_HDR], transcoderFormat: [i.RGBA_HALF], engineFormat: [t.RGBAFormat], engineType: [A.HalfFloatType], priorityHDR: 100, needsPowerOfTwo: !1 }], o = { [s.ETC1S]: r.filter((d) => d.basisFormat.includes(s.ETC1S)).sort((d, g) => d.priorityUASTC - g.priorityUASTC), [s.UASTC]: r.filter((d) => d.basisFormat.includes(s.UASTC)).sort((d, g) => d.priorityUASTC - g.priorityUASTC), [s.UASTC_HDR]: r.filter((d) => d.basisFormat.includes(s.UASTC_HDR)).sort((d, g) => d.priorityHDR - g.priorityHDR) };
2181
2181
  function n(d) {
2182
2182
  return d <= 2 || !(d & d - 1) && d !== 0;
2183
2183
  }
2184
2184
  function b(d) {
2185
2185
  if (d.length === 1) return d[0];
2186
- let l = 0;
2186
+ let g = 0;
2187
2187
  for (let f = 0; f < d.length; f++)
2188
- l += d[f].byteLength;
2189
- const g = new Uint8Array(l);
2190
- let h = 0;
2188
+ g += d[f].byteLength;
2189
+ const h = new Uint8Array(g);
2190
+ let l = 0;
2191
2191
  for (let f = 0; f < d.length; f++) {
2192
2192
  const I = d[f];
2193
- g.set(I, h), h += I.byteLength;
2193
+ h.set(I, l), l += I.byteLength;
2194
2194
  }
2195
- return g;
2195
+ return h;
2196
2196
  }
2197
2197
  };
2198
2198
  const Gi = /* @__PURE__ */ new Set([ee, Ue, Ne]), fa = { [Jt]: ee, [Ht]: ee, [Ut]: ee, [Nt]: ee, [Ot]: Ue, [_t]: Ue, [Lt]: Ue, [Gt]: Ue, [qt]: Ne, [Pt]: Ne, [Tt]: Ne, [Ft]: Ne, [Ta]: wt, [zt]: Oa, [Kt]: Oa }, ua = { [Jt]: v, [Ht]: xe, [Ut]: X, [Nt]: X, [Ot]: v, [_t]: xe, [Lt]: X, [Gt]: X, [qt]: v, [Pt]: xe, [Tt]: X, [Ft]: X, [Ta]: xe, [zt]: X, [Kt]: X };
@@ -2209,17 +2209,17 @@ async function st(c) {
2209
2209
  }
2210
2210
  if (e === "subtree")
2211
2211
  return async function(t, A) {
2212
- const i = new DataView(t), s = i.getBigUint64(8, !0), r = i.getBigUint64(16, !0), o = 24, n = o + Number(s), b = n + (8 - n % 8) % 8, d = b + Number(r), l = t.slice(o, n), g = new TextDecoder().decode(l).trim(), h = JSON.parse(g);
2213
- if (!h.buffers) throw new Error("subtree has no buffers");
2214
- const f = h.buffers.map(async (u) => {
2215
- if (u.uri) {
2216
- const p = new URL(u.uri, A).href, B = await fetch(p);
2217
- if (!B.ok) throw new Error(`Failed to fetch binary file ${p}: ${B.statusText}`);
2212
+ const i = new DataView(t), s = i.getBigUint64(8, !0), r = i.getBigUint64(16, !0), o = 24, n = o + Number(s), b = n + (8 - n % 8) % 8, d = b + Number(r), g = t.slice(o, n), h = new TextDecoder().decode(g).trim(), l = JSON.parse(h);
2213
+ if (!l.buffers) throw new Error("subtree has no buffers");
2214
+ const f = l.buffers.map(async (p) => {
2215
+ if (p.uri) {
2216
+ const u = new URL(p.uri, A).href, B = await fetch(u);
2217
+ if (!B.ok) throw new Error(`Failed to fetch binary file ${u}: ${B.statusText}`);
2218
2218
  return new Uint8Array(await B.arrayBuffer());
2219
2219
  }
2220
2220
  return new Uint8Array(t.slice(b, d));
2221
2221
  }), I = await Promise.all(f);
2222
- return /* @__PURE__ */ function(u, p) {
2222
+ return /* @__PURE__ */ function(p, u) {
2223
2223
  function B(m, Q) {
2224
2224
  if (!m) throw new Error("incomplete json subtree");
2225
2225
  if (m.constant) {
@@ -2227,9 +2227,9 @@ async function st(c) {
2227
2227
  if (m.constant == 1) return !0;
2228
2228
  }
2229
2229
  if (m.bitstream == null) throw new Error('json subtree "tileAvailability" does not specify a bitstream');
2230
- if (!u.bufferViews || !u.bufferViews[m.bitstream]) throw new Error('json subtree "bufferViews" does not specify a bitstream');
2231
- const k = u.bufferViews[m.bitstream];
2232
- return C(p[k.buffer], k.byteOffset, Q);
2230
+ if (!p.bufferViews || !p.bufferViews[m.bitstream]) throw new Error('json subtree "bufferViews" does not specify a bitstream');
2231
+ const k = p.bufferViews[m.bitstream];
2232
+ return C(u[k.buffer], k.byteOffset, Q);
2233
2233
  }
2234
2234
  function C(m, Q, k) {
2235
2235
  const D = k % 8;
@@ -2237,22 +2237,22 @@ async function st(c) {
2237
2237
  }
2238
2238
  function w(m) {
2239
2239
  let Q = 0;
2240
- return Q = m.z == null ? Ia(m.x, m.y, m.level) : Ca(m.x, m.y, m.z, m.level), B(u.tileAvailability, Q);
2240
+ return Q = m.z == null ? Ia(m.x, m.y, m.level) : Ca(m.x, m.y, m.z, m.level), B(p.tileAvailability, Q);
2241
2241
  }
2242
2242
  function x(m) {
2243
2243
  let Q = 0;
2244
2244
  Q = m.z == null ? Ia(m.x, m.y, m.level) : Ca(m.x, m.y, m.z, m.level);
2245
2245
  const k = [];
2246
- return u.contentAvailability.forEach((D) => {
2246
+ return p.contentAvailability.forEach((D) => {
2247
2247
  k.push(B(D, Q));
2248
2248
  }), k;
2249
2249
  }
2250
2250
  function y(m) {
2251
2251
  let Q = 0;
2252
- return Q = m.z == null ? Ia(m.x, m.y) : Ca(m.x, m.y, m.z), B(u.childSubtreeAvailability, Q);
2252
+ return Q = m.z == null ? Ia(m.x, m.y) : Ca(m.x, m.y, m.z), B(p.childSubtreeAvailability, Q);
2253
2253
  }
2254
2254
  return { isTileAvailable: w, isContentAvailable: x, isChildSubtreeAvailable: y };
2255
- }(h, I);
2255
+ }(l, I);
2256
2256
  }(await a.arrayBuffer(), rt(c));
2257
2257
  throw new Error(`Unsupported file extension: ${e}`);
2258
2258
  }
@@ -2283,32 +2283,32 @@ async function La(c, e) {
2283
2283
  let t = "";
2284
2284
  c.root.implicitTiling.subtrees && (c.root.implicitTiling.subtrees.uri ? t = c.root.implicitTiling.subtrees.uri : c.root.implicitTiling.subtrees.url && (t = c.root.implicitTiling.subtrees.url));
2285
2285
  let A = [];
2286
- c.root.content ? c.root.content.uri ? A.push(c.root.content.uri) : c.root.content.url && A.push(c.root.content.url) : c.root.contents && c.root.contents.forEach((g) => {
2287
- g.uri ? A.push(g.uri) : g.url && A.push(g.url);
2286
+ c.root.content ? c.root.content.uri ? A.push(c.root.content.uri) : c.root.content.url && A.push(c.root.content.url) : c.root.contents && c.root.contents.forEach((h) => {
2287
+ h.uri ? A.push(h.uri) : h.url && A.push(h.url);
2288
2288
  });
2289
- const i = function(g) {
2290
- const h = g.split("?")[0];
2291
- return h.substring(0, h.lastIndexOf("/") + 1);
2289
+ const i = function(h) {
2290
+ const l = h.split("?")[0];
2291
+ return l.substring(0, l.lastIndexOf("/") + 1);
2292
2292
  }(e);
2293
2293
  let s;
2294
2294
  a && (s = t.replace("{level}", 0).replace("{x}", 0).replace("{y}", 0)), a || (s = t.replace("{level}", 0).replace("{x}", 0).replace("{y}", 0).replace("{z}", 0));
2295
2295
  const r = { level: 0, x: 0, y: 0 }, o = { level: 0, x: 0, y: 0 };
2296
2296
  a || (r.z = 0, o.z = 0), Te.set(s, await st(i + s));
2297
2297
  const n = Te.get(s), b = [];
2298
- n.isContentAvailable(o) && A.forEach((g) => {
2299
- let h;
2300
- a && (h = g.replace("{level}", r.level).replace("{x}", r.x).replace("{y}", r.y)), a || (h = g.replace("{level}", r.level).replace("{x}", r.x).replace("{y}", r.y).replace("{z}", r.z)), b.push({ uri: h });
2298
+ n.isContentAvailable(o) && A.forEach((h) => {
2299
+ let l;
2300
+ a && (l = h.replace("{level}", r.level).replace("{x}", r.x).replace("{y}", r.y)), a || (l = h.replace("{level}", r.level).replace("{x}", r.x).replace("{y}", r.y).replace("{z}", r.z)), b.push({ uri: l });
2301
2301
  });
2302
- const d = { geometricError: c.root.geometricError, boundingVolume: c.root.boundingVolume, refine: c.root.refine, globalAddress: r, localAddress: o, subtree: n, contents: b, getChildren: async () => l(d) };
2302
+ const d = { geometricError: c.root.geometricError, boundingVolume: c.root.boundingVolume, refine: c.root.refine, globalAddress: r, localAddress: o, subtree: n, contents: b, getChildren: async () => g(d) };
2303
2303
  return { root: d };
2304
- async function l(g) {
2305
- const h = [];
2306
- if (g.localAddress.level == c.root.implicitTiling.availableLevels - 1) return h;
2307
- if ((g.localAddress.level + 1) % c.root.implicitTiling.subtreeLevels == 0) {
2308
- const f = ze(g.localAddress), I = ze(g.globalAddress), u = ot(a, c.root.boundingVolume, I);
2309
- for (let p = 0; p < f.length; p++) {
2310
- const B = f[p], C = I[p];
2311
- g.subtree.isChildSubtreeAvailable(B) && (a && t.replace("{level}", C.level).replace("{x}", C.x).replace("{y}", C.y), a || t.replace("{level}", C.level).replace("{x}", C.x).replace("{y}", C.y).replace("{z}", C.z)), Te.has(s) || Te.set(s, await st(i + s));
2304
+ async function g(h) {
2305
+ const l = [];
2306
+ if (h.localAddress.level == c.root.implicitTiling.availableLevels - 1) return l;
2307
+ if ((h.localAddress.level + 1) % c.root.implicitTiling.subtreeLevels == 0) {
2308
+ const f = ze(h.localAddress), I = ze(h.globalAddress), p = ot(a, c.root.boundingVolume, I);
2309
+ for (let u = 0; u < f.length; u++) {
2310
+ const B = f[u], C = I[u];
2311
+ h.subtree.isChildSubtreeAvailable(B) && (a && t.replace("{level}", C.level).replace("{x}", C.x).replace("{y}", C.y), a || t.replace("{level}", C.level).replace("{x}", C.x).replace("{y}", C.y).replace("{z}", C.z)), Te.has(s) || Te.set(s, await st(i + s));
2312
2312
  const w = Te.get(s), x = { level: 0, x: 0, y: 0 };
2313
2313
  a || (x.z = 0);
2314
2314
  const y = [];
@@ -2316,26 +2316,26 @@ async function La(c, e) {
2316
2316
  let k;
2317
2317
  a && (k = Q.replace("{level}", C.level).replace("{x}", C.x).replace("{y}", C.y)), a || (k = Q.replace("{level}", C.level).replace("{x}", C.x).replace("{y}", C.y).replace("{z}", C.z)), y.push({ uri: k });
2318
2318
  });
2319
- const m = { geometricError: g.geometricError / 2, boundingVolume: u[p], refine: c.root.refine, globalAddress: C, localAddress: x, subtree: w, contents: y, getChildren: async () => l(m) };
2320
- h.push(m);
2319
+ const m = { geometricError: h.geometricError / 2, boundingVolume: p[u], refine: c.root.refine, globalAddress: C, localAddress: x, subtree: w, contents: y, getChildren: async () => g(m) };
2320
+ l.push(m);
2321
2321
  }
2322
2322
  } else {
2323
- const f = ze(g.localAddress), I = ze(g.globalAddress), u = ot(a, c.root.boundingVolume, I);
2324
- for (let p = 0; p < f.length; p++) {
2325
- const B = f[p], C = I[p];
2326
- if (!g.subtree.isTileAvailable(B)) continue;
2327
- const w = [], x = g.subtree.isContentAvailable(B);
2323
+ const f = ze(h.localAddress), I = ze(h.globalAddress), p = ot(a, c.root.boundingVolume, I);
2324
+ for (let u = 0; u < f.length; u++) {
2325
+ const B = f[u], C = I[u];
2326
+ if (!h.subtree.isTileAvailable(B)) continue;
2327
+ const w = [], x = h.subtree.isContentAvailable(B);
2328
2328
  for (let m = 0; m < A.length; m++) {
2329
2329
  if (!x[m]) continue;
2330
2330
  const Q = A[m];
2331
2331
  let k;
2332
2332
  a && (k = Q.replace("{level}", C.level).replace("{x}", C.x).replace("{y}", C.y)), a || (k = Q.replace("{level}", C.level).replace("{x}", C.x).replace("{y}", C.y).replace("{z}", C.z)), w.push({ uri: k });
2333
2333
  }
2334
- const y = { geometricError: g.geometricError / 2, boundingVolume: u[p], refine: c.root.refine, globalAddress: C, localAddress: B, subtree: g.subtree, contents: w, getChildren: async () => l(y) };
2335
- h.push(y);
2334
+ const y = { geometricError: h.geometricError / 2, boundingVolume: p[u], refine: c.root.refine, globalAddress: C, localAddress: B, subtree: h.subtree, contents: w, getChildren: async () => g(y) };
2335
+ l.push(y);
2336
2336
  }
2337
2337
  }
2338
- return h.length > 0 ? h : void 0;
2338
+ return l.length > 0 ? l : void 0;
2339
2339
  }
2340
2340
  }
2341
2341
  function ze(c) {
@@ -2350,11 +2350,11 @@ function ot(c, e, a) {
2350
2350
  }
2351
2351
  function Ui(c, e, a) {
2352
2352
  if (e.region) return function(t, A, i) {
2353
- const [s, r, o, n, b, d] = A, l = (o - s) / 2 ** i.level, g = (n - r) / 2 ** i.level, h = t ? 0 : (d - b) / 2 ** i.level, f = s + l * i.x, I = r + g * i.y, u = f + l, p = I + g, B = t ? b : b + h * i.z, C = t ? d : B + h;
2354
- return { region: [f, I, u, p, B, C] };
2353
+ const [s, r, o, n, b, d] = A, g = (o - s) / 2 ** i.level, h = (n - r) / 2 ** i.level, l = t ? 0 : (d - b) / 2 ** i.level, f = s + g * i.x, I = r + h * i.y, p = f + g, u = I + h, B = t ? b : b + l * i.z, C = t ? d : B + l;
2354
+ return { region: [f, I, p, u, B, C] };
2355
2355
  }(c, e.region, a);
2356
2356
  if (e.box) return function(t, A, i) {
2357
- const s = A.slice(0, 3), r = [A.slice(3, 6), A.slice(6, 9), A.slice(9, 12)], o = 1 / Math.pow(2, i.level), n = [o, o, t ? 1 : o], b = r.map((g, h) => g.map((f) => f * n[h])), d = [s[0] - r[0][0] - r[1][0] - r[2][0], s[1] - r[0][1] - r[1][1] - r[2][1], s[2] - r[0][2] - r[1][2] - r[2][2]];
2357
+ const s = A.slice(0, 3), r = [A.slice(3, 6), A.slice(6, 9), A.slice(9, 12)], o = 1 / Math.pow(2, i.level), n = [o, o, t ? 1 : o], b = r.map((h, l) => h.map((f) => f * n[l])), d = [s[0] - r[0][0] - r[1][0] - r[2][0], s[1] - r[0][1] - r[1][1] - r[2][1], s[2] - r[0][2] - r[1][2] - r[2][2]];
2358
2358
  return { box: [d[0] + (2 * i.x + 1) * (b[0][0] + b[1][0] + b[2][0]), d[1] + (2 * i.y + 1) * (b[0][1] + b[1][1] + b[2][1]), t ? s[2] : d[2] + (2 * i.z + 1) * (b[0][2] + b[1][2] + b[2][2])].concat(...b) };
2359
2359
  }(c, e.box, a);
2360
2360
  throw new Error("Unsupported bounding volume type");
@@ -2364,12 +2364,12 @@ function Ui(c, e, a) {
2364
2364
  if (typeof WebAssembly != "object") return { supported: !1 };
2365
2365
  var a = WebAssembly.instantiate(function(n) {
2366
2366
  for (var b = new Uint8Array(n.length), d = 0; d < n.length; ++d) {
2367
- var l = n.charCodeAt(d);
2368
- b[d] = l > 96 ? l - 97 : l > 64 ? l - 39 : l + 4;
2367
+ var g = n.charCodeAt(d);
2368
+ b[d] = g > 96 ? g - 97 : g > 64 ? g - 39 : g + 4;
2369
2369
  }
2370
- var g = 0;
2371
- for (d = 0; d < n.length; ++d) b[g++] = b[d] < 60 ? e[b[d]] : 64 * (b[d] - 60) + b[++d];
2372
- return b.buffer.slice(0, g);
2370
+ var h = 0;
2371
+ for (d = 0; d < n.length; ++d) b[h++] = b[d] < 60 ? e[b[d]] : 64 * (b[d] - 60) + b[++d];
2372
+ return b.buffer.slice(0, h);
2373
2373
  }("b9H79TebbbeJq9Geueu9Geub9Gbb9Gvuuuuueu9Gduueu9Gluuuueu9Gvuuuuub9Gouuuuuub9Gluuuub9GiuuueuiKLdilevlevlooroowwvwbDDbelve9Weiiviebeoweuec:W;kekr;RiOo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWVbe8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9c9V919U9KbdE9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949wWV79P9V9UbiY9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWVbl8E9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWV9c9V919U9Kbv8A9TW79O9V9Wt9FW9U9J9V9KW69U9KW949wWV79P9V9UboE9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JWbra9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JW9c9V919U9KbwL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9p9JtbDK9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9r919HtbqL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVT949WbkE9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OWbPa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OW9ttV9P9Wbsa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9WbzK9TW79O9V9Wt9F79W9Ht9P9H29t9VVt9sW9T9H9WbHl79IV9RbODwebcekdQXq:g9sLdbk;3keYu8Jjjjjbcjo9Rgv8Kjjjjbcbhodnalcefae0mbabcbRb:S:kjjbc:GeV86bbavcjdfcbcjdzNjjjb8AdnaiTmbavcjdfadalz:tjjjb8Akabaefhrabcefhwavalfcbcbcjdal9RalcFe0EzNjjjb8Aavavcjdfalz:tjjjbhDcj;abal9UhodndndndndnalTmbaoc;WFbGgecjdaecjd6Ehqcbhkdninakai9pmiaDcjlfcbcjdzNjjjb8Aaqaiak9Rakaqfai6Egxcsfgecl4cifcd4hmadakal2fhPdndndndndnaec9WGgsTmbcbhzcehHaPhOawhAxekdnaxTmbcbhAcehHaPhCinaDaAfRbbhXaDcjlfheaChoaxhQinaeaoRbbgLaX9RgXcetaX;acr4786bbaoalfhoaecefheaLhXaQcufgQmbkaraw9Ram6miawcbamzNjjjbgeTmiaCcefhCaeamfhwaAcefgAal6hHaAal9hmbxvkkaraw9Ram6mvawcbamzNjjjb8AceheinawgXamfhwalaegoSmldnaraw9Ram6mbaocefheawcbamzNjjjb8AaXmekkaoal6hHxekindnaxTmbaDazfRbbhXaDcjlfheaOhoaxhQinaeaoRbbgLaX9RgXcetaX;acr4786bbaoalfhoaecefheaLhXaQcufgQmbkkaraA9Ram6mearaAcbamzNjjjbgKamfgw9RcK6mdcbhYaDcjlfhAinaDcjlfaYfh8AcwhCczhLcehQindndnaQce9hmbcuhoa8ARbbmecbhodninaogecsSmeaecefhoaAaefcefRbbTmbkkcucbaecs6EhoxekaQcetc;:FFFeGhocuaQtcu7cFeGhXcbheinaoaXaAaefRbb9nfhoaecefgecz9hmbkkaoaLaoaL6geEhLaQaCaeEhCaQcetgQcw6mbkdndndndnaCcufPdiebkaKaYco4fgeaeRbbcdciaCclSEaYci4coGtV86bbaCcw9hmeawa8A8Pbb83bbawcwfa8Acwf8Pbb83bbawczfhwxdkaKaYco4fgeaeRbbceaYci4coGtV86bbkdncwaC9TgEmbinawcb86bbawcefhwxbkkcuaCtcu7h8Acbh3aAh5ina5heaEhQcbhoinaeRbbgLa8AcFeGgXaLaX6EaoaCtVhoaecefheaQcufgQmbkawao86bba5aEfh5awcefhwa3aEfg3cz6mbkcbheindnaAaefRbbgoaX6mbawao86bbawcefhwkaecefgecz9hmbkkdnaYczfgYas9pmbaAczfhAaraw9RcL0mekkaYas6meawTmeaOcefhOazcefgzal6hHawhAazalSmixbkkcbhwaHceGTmexikcbhwaHceGmdkaDaPaxcufal2falz:tjjjb8AaxakfhkawmbkcbhoxokcbhoxvkaiTmekcbhoaraw9Ralcaalca0E6mialc8F9nmexdkcbhoaecufca6mdkawcbcaal9RgezNjjjbaefhwkawaDcjdfalz:tjjjbalfab9Rhokavcjof8Kjjjjbaok9heeuaecaaeca0Eabcj;abae9Uc;WFbGgdcjdadcjd6Egdfcufad9Uae2adcl4cifcd4adV2fcefkmbcbabBd:S:kjjbk;rse3u8Jjjjjbc;ae9Rgl8Kjjjjbcbhvdnaici9UgocHfae0mbabcbyd:C:kjjbgrc;GeV86bbalc;abfcFecjezNjjjb8AalcUfgw9cu83ibalc8WfgD9cu83ibalcyfgq9cu83ibalcafgk9cu83ibalcKfgx9cu83ibalczfgm9cu83ibal9cu83iwal9cu83ibabaefc9WfhPabcefgsaofhednaiTmbcmcsarcb9kgzEhHcbhOcbhAcbhCcbhXcbhQindnaeaP9nmbcbhvxikaQcufhvadaCcdtfgoydbhLaocwfydbhKaoclfydbhYcbh8Adndninalc;abfavcsGcitfgoydlhEdndndnaoydbgoaL9hmbaEaYSmekdnaoaY9hmbaEaK9hmba8Acefh8AxekaoaK9hmeaEaL9hmea8Acdfh8Aka8Ac870mdaXcufhvada8AciGcx2goc:y1jjbfydbaCfcdtfydbhEadaocN1jjbfydbaCfcdtfydbhKadaoc:q1jjbfydbaCfcdtfydbhLcbhodnindnalavcsGcdtfydbaE9hmbaohYxdkcuhYavcufhvaocefgocz9hmbkkaEaOSgvaYce9iaYaH9oVgoGh3dndndndndncbcsavEaYaoEgvcs9hmbarce9imbaEaEaAaEcefaASgvEgAcefSmecmcsavEhvkasava8Acdtc;WeGV86bbavcs9hmeaEaA9Rgvcetavc8F917hvinaeavcFb0crtavcFbGV86bbaecefheavcje6hoavcr4hvaoTmbkaEhAxdkcPhvasa8AcdtcPV86bbaEhAkavTmbavaH9imekalaXcdtfaEBdbaXcefcsGhXkaOa3fhOalc;abfaQcitfgvaKBdlavaEBdbalc;abfaQcefcsGgvcitfgoaEBdlaoaLBdbavcefhoxikavcufhva8Aclfg8Ac;ab9hmbkkdnadceaKaOScetaYaOSEcx2gvc:q1jjbfydbaCfcdtfydbgLTadavcN1jjbfydbaCfcdtfydbg8AceSGadavc:y1jjbfydbaCfcdtfydbgYcdSGaOcb9hGazGg5ce9hmbaw9cu83ibaD9cu83ibaq9cu83ibak9cu83ibax9cu83ibam9cu83ibal9cu83iwal9cu83ibcbhOkcbhEaXcufgvhodnindnalaocsGcdtfydba8A9hmbaEhKxdkcuhKaocufhoaEcefgEcz9hmbkkcbhodnindnalavcsGcdtfydbaY9hmbaohExdkcuhEavcufhvaocefgocz9hmbkkaOaLaOSg8Efh3dndnaKcm0mbaKcefhKxekcbcsa8Aa3SgvEhKa3avfh3kdndnaEcm0mbaEcefhExekcbcsaYa3SgvEhEa3avfh3kc9:cua8EEh8FaEaKcltVhocbhvdndndninavcj1jjbfRbbaocFeGSmeavcefgvcz9hmbxdkka5aLaO9havcm0VVmbasavc;WeV86bbxekasa8F86bbaeao86bbaecefhekdna8EmbaLaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombkaLhAkdnaKcs9hmba8AaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka8AhAkdnaEcs9hmbaYaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombkaYhAkalaXcdtfaLBdbaXcefcsGhvdndnaKPzbeeeeeeeeeeeeeebekalavcdtfa8ABdbaXcdfcsGhvkdndnaEPzbeeeeeeeeeeeeeebekalavcdtfaYBdbavcefcsGhvkalc;abfaQcitfgoaLBdlaoa8ABdbalc;abfaQcefcsGcitfgoa8ABdlaoaYBdbalc;abfaQcdfcsGcitfgoaYBdlaoaLBdbaQcifhoavhXa3hOkascefhsaocsGhQaCcifgCai6mbkkcbhvaeaP0mbcbhvinaeavfavcj1jjbfRbb86bbavcefgvcz9hmbkaeab9Ravfhvkalc;aef8KjjjjbavkZeeucbhddninadcefgdc8F0meceadtae6mbkkadcrfcFeGcr9Uci2cdfabci9U2cHfkmbcbabBd:C:kjjbk:ydewu8Jjjjjbcz9Rhlcbhvdnaicvfae0mbcbhvabcbRb:C:kjjbc;qeV86bbal9cb83iwabcefhoabaefc98fhrdnaiTmbcbhwcbhDindnaoar6mbcbskadaDcdtfydbgqalcwfawaqav9Rgvavc8F91gv7av9Rc507gwcdtfgkydb9Rgvc8E91c9:Gavcdt7awVhvinaoavcFb0gecrtavcFbGV86bbavcr4hvaocefhoaembkakaqBdbaqhvaDcefgDai9hmbkkcbhvaoar0mbaocbBbbaoab9RclfhvkavkBeeucbhddninadcefgdc8F0meceadtae6mbkkadcwfcFeGcr9Uab2cvfk:dvli99dui99ludnaeTmbcuadcetcuftcu7:Yhvdndncuaicuftcu7:YgoJbbbZMgr:lJbbb9p9DTmbar:Ohwxekcjjjj94hwkcbhicbhDinalclfIdbgrJbbbbJbbjZalIdbgq:lar:lMalcwfIdbgk:lMgr:varJbbbb9BEgrNhxaqarNhralcxfIdbhqdndnakJbbbb9GTmbaxhkxekJbbjZar:l:tgkak:maxJbbbb9GEhkJbbjZax:l:tgxax:marJbbbb9GEhrkdndnaqJbbj:;aqJbbj:;9GEgxJbbjZaxJbbjZ9FEavNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohmxekcjjjj94hmkdndnakJbbj:;akJbbj:;9GEgqJbbjZaqJbbjZ9FEaoNJbbbZJbbb:;akJbbbb9GEMgq:lJbbb9p9DTmbaq:OhPxekcjjjj94hPkdndnarJbbj:;arJbbj:;9GEgqJbbjZaqJbbjZ9FEaoNJbbbZJbbb:;arJbbbb9GEMgr:lJbbb9p9DTmbar:Ohsxekcjjjj94hskdndnadcl9hmbabaifgzas86bbazcifam86bbazcdfaw86bbazcefaP86bbxekabaDfgzas87ebazcofam87ebazclfaw87ebazcdfaP87ebkalczfhlaiclfhiaDcwfhDaecufgembkkk;klld99eud99eudnaeTmbdndncuaicuftcu7:YgvJbbbZMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikaic;8FiGhrinabcofcicdalclfIdb:lalIdb:l9EgialcwfIdb:lalaicdtfIdb:l9EEgialcxfIdb:lalaicdtfIdb:l9EEgiarV87ebdndnalaicefciGcdtfIdbJ;Zl:1ZNJbbj:;JbbjZalaicdtfIdbJbbbb9DEgoNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabaq87ebdndnaoalaicdfciGcdtfIdbJ;Zl:1ZNNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabcdfaq87ebdndnaoalaicufciGcdtfIdbJ;Zl:1ZNNgoJbbj:;aoJbbj:;9GEgwJbbjZawJbbjZ9FEavNJbbbZJbbb:;aoJbbbb9GEMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikabclfai87ebabcwfhbalczfhlaecufgembkkk:Hvdxue998Jjjjjbcjd9Rgo8Kjjjjbadcd4hrdndndndnavcd9hmbadcl6mearcearce0EhwaohDinaDc:CuBdbaDclfhDawcufgwmbkaeTmiadcl6mdarcearce0EhqarcdthkalhxcbhminaohDaxhwaqhPinaDaDydbgsawydbgzcL4cFeGc:cufcbazEgzasaz9kEBdbawclfhwaDclfhDaPcufgPmbkaxakfhxamcefgmae9hmbkkaeTmdxekaeTmekavcb9hadcl6gqVhHarcearce0Ehkarcdthrceai9Rhmcbhdindndndnavce9hmbaqmdc:CuhwalhDakhPinawaDydbgscL4cFeGc:cufcbasEgsawas9kEhwaDclfhDaPcufgPmbxdkkc:CuhwaHmbaohDalhPakhsinaDaPydbgzcL4cFeGgxc8Aaxc8A9kEc:cufcbazEBdbaPclfhPaDclfhDascufgsmbkkaqmbcbhDakhsinawhPdnavceSmbaoaDfydbhPkdndnalaDfIdbgOcjjj;8iamaPfgPcLt9R::NJbbbZJbbb:;aOJbbbb9GEMgO:lJbbb9p9DTmbaO:Ohzxekcjjjj94hzkabaDfazcFFFrGaPcKtVBdbaDclfhDascufgsmbkkabarfhbalarfhladcefgdae9hmbkkaocjdf8KjjjjbkFkdCui998Jjjjjbc:Gd9Rgv8Kjjjjbavc:4efcbc;KbzNjjjb8AcbhodnadTmbcbhoaiTmbdnabae9hmbavcuadcdtgoadcFFFFi0Ecbyd:K:kjjbHjjjjbbgeBd:4eavceBd:ydaeabaoz:tjjjb8Akavc:OefcwfcbBdbav9cb83i:Oeavc:Oefaeadaiavc:4efz:njjjbcuaicdtgraicFFFFi0Egwcbyd:K:kjjbHjjjjbbhoavc:4efavyd:ydgDcdtfaoBdbavaDcefgqBd:ydaoavyd:Oegkarz:tjjjbhxavc:4efaqcdtfadci9Ugmcbyd:K:kjjbHjjjjbbgoBdbavaDcdfgrBd:ydaocbamzNjjjbhPavc:4efarcdtfawcbyd:K:kjjbHjjjjbbgsBdbavaDcifgqBd:ydaxhoashrinaralIdbalaoydbgwcwawcw6Ecdtfc;ebfIdbMUdbaoclfhoarclfhraicufgimbkavc:4efaqcdtfcuamcdtadcFFFF970Ecbyd:K:kjjbHjjjjbbgqBdbavaDclfBd:yddnadci6mbamceamce0EhiaehoaqhrinarasaoydbcdtfIdbasaoclfydbcdtfIdbMasaocwfydbcdtfIdbMUdbaocxfhoarclfhraicufgimbkkavc;qbfhzavhoavyd:SehHavyd:WehOcbhwcbhrcbhAcehCinaohXcihQaearci2gLcdtfgocwfydbhdaoydbhDabaAcx2fgiclfaoclfydbgKBdbaiaDBdbaicwfadBdbaParfce86bbazadBdwazaKBdlazaDBdbaqarcdtfcbBdbdnawTmbcihQaXhiinazaQcdtfaiydbgoBdbaQaoaD9haoaK9hGaoad9hGfhQaiclfhiawcufgwmbkkaAcefhAaxaDcdtfgoaoydbcufBdbaxaKcdtfgoaoydbcufBdbaxadcdtfgoaoydbcufBdbcbhwinaOaHaeawaLfcdtfydbcdtgifydbcdtfgKhoakaifgDydbgdhidnadTmbdninaoydbarSmeaoclfhoaicufgiTmdxbkkaoadcdtaKfc98fydbBdbaDaDydbcufBdbkawcefgwci9hmbkdndndnaQTmbcuhrJbbbbhYcbhDavyd:SehKavyd:WehLindndnakazaDcdtfydbcdtgofydbgimbaDcefhDxekaDcs0hwasaofgdIdbh8AadalcbaDcefgDawEcdtfIdbalaxaofydbgwcwawcw6Ecdtfc;ebfIdbMgEUdbaEa8A:thEaicdthiaLaKaofydbcdtfhoinaqaoydbgwcdtfgdaEadIdbMg8AUdba8AaYaYa8A9DgdEhYawaradEhraoclfhoaic98fgimbkkaDaQ9hmbkarcu9hmekaCam9pmeindnaPaCfRbbmbaChrxdkamaCcefgC9hmbxdkkaQczaQcz6EhwazhoaXhzarcu9hmekkavyd:ydhokaocdtavc:4effc98fhrdninaoTmearydbcbyd:G:kjjbH:bjjjbbarc98fhraocufhoxbkkavc:Gdf8Kjjjjbk;UlevucuaicdtgvaicFFFFi0Egocbyd:K:kjjbHjjjjbbhralalyd9GgwcdtfarBdbalawcefBd9GabarBdbaocbyd:K:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdlcuadcdtadcFFFFi0Ecbyd:K:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdwabydbcbavzNjjjb8Aadci9UhwdnadTmbabydbhoaehladhrinaoalydbcdtfgvavydbcefBdbalclfhlarcufgrmbkkdnaiTmbabydbhlabydlhrcbhvaihoinaravBdbarclfhralydbavfhvalclfhlaocufgombkkdnadci6mbawceawce0EhDabydlhrabydwhvcbhlinaecwfydbhoaeclfydbhdaraeydbcdtfgwawydbgwcefBdbavawcdtfalBdbaradcdtfgdadydbgdcefBdbavadcdtfalBdbaraocdtfgoaoydbgocefBdbavaocdtfalBdbaecxfheaDalcefgl9hmbkkdnaiTmbabydlheabydbhlinaeaeydbalydb9RBdbalclfhlaeclfheaicufgimbkkkQbabaeadaic:01jjbz:mjjjbkQbabaeadaic:C:jjjbz:mjjjbk9DeeuabcFeaicdtzNjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk;:kivuo99lu8Jjjjjbcj;Hb9Rgl8Kjjjjbcbhvalc1;Gbfcbc;KbzNjjjb8AalcuadcdtadcFFFFi0Egocbyd:K:kjjbHjjjjbbgrBd19GalceBd;O9Galcwfcbyd:m:kjjbBdbalcb8Pd:e:kjjb83ibalc;W;Gbfcwfcbyd:y:kjjbBdbalcb8Pd:q:kjjb83i;W9Gaicd4hwdndnadmbJFFuFhDJFFuuhqJFFuuhkJFFuFhxJFFuuhmJFFuFhPxekawcdthsaehzincbhiinalaifgHazaifIdbgDaHIdbgxaxaD9EEUdbalc;W;GbfaifgHaDaHIdbgxaxaD9DEUdbaiclfgicx9hmbkazasfhzavcefgvad9hmbkalIdwhqalId;49GhDalIdlhkalId;09GhxalIdbhmalId;W9GhPkdndnadTmbJbbbbJbbjZaPam:tJbbbb:xgPaxak:tgxaxaP9DEgxaDaq:tgDaDax9DEgD:vaDJbbbb9BEhDawcdthsarhHadhzindndnaDaeIdbam:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcv2c;j:KM;jbGhvdndnaDaeclfIdbak:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcq2cM;j:KMeGavVhvdndnaDaecwfIdbaq:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaHavaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcC2c:KM;j:KdGVBdbaeasfheaHclfhHazcufgzmbkalcbcj;GbzNjjjbhiarhHadheinaiaHydbgzcFrGcx2fgvavydbcefBdbaiazcq4cFrGcx2fgvavydlcefBdlaiazcC4cFrGcx2fgzazydwcefBdwaHclfhHaecufgembxdkkalcbcj;GbzNjjjb8AkcbhHcbhzcbhecbhvinalaHfgiydbhsaiazBdbaicwfgwydbhOawavBdbaiclfgiydbhwaiaeBdbasazfhzaOavfhvawaefheaHcxfgHcj;Gb9hmbkcbhialaocbyd:K:kjjbHjjjjbbgzBd:m9GdnadTmbabhHinaHaiBdbaHclfhHadaicefgi9hmbkadTmbabhiadhHinalaraiydbgecdtfydbcFrGcx2fgvavydbgvcefBdbazavcdtfaeBdbaiclfhiaHcufgHmbkazhiadhHinalaraiydbgecdtfydbcq4cFrGcx2fgvavydlgvcefBdlabavcdtfaeBdbaiclfhiaHcufgHmbkabhiadhHinalaraiydbgecdtfydbcC4cFrGcx2fgvavydwgvcefBdwazavcdtfaeBdbaiclfhiaHcufgHmbkadTmbcbhiinabazydbcdtfaiBdbazclfhzadaicefgi9hmbkkclhidninaic98Smealc1;Gbfaifydbcbyd:G:kjjbH:bjjjbbaic98fhixbkkalcj;Hbf8Kjjjjbk9teiucbcbyd:O:kjjbgeabcifc98GfgbBd:O:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd:O:kjjbgeabcrfc94GfgbBd:O:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd:O:kjjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd:O:kjjbfgdBd:O:kjjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akkk:6ddbcjwk:Cdb4:h9w9N94:P:gW:j9O:ye9Pbbbbbbebbbdbbbebbbdbbbbbbbdbbbbbbbebbbbbbb:l29hZ;69:9kZ;N;76Z;rg97Z;z;o9xZ8J;B85Z;:;u9yZ;b;k9HZ:2;Z9DZ9e:l9mZ59A8KZ:r;T3Z:A:zYZ79OHZ;j4::8::Y:D9V8:bbbb9s:49:Z8R:hBZ9M9M;M8:L;z;o8:;8:PG89q;x:J878R:hQ8::M:B;e87bbbbbbjZbbjZbbjZ:E;V;N8::Y:DsZ9i;H;68:xd;R8:;h0838:;W:NoZbbbb:WV9O8:uf888:9i;H;68:9c9G;L89;n;m9m89;D8Ko8:bbbbf:8tZ9m836ZS:2AZL;zPZZ818EZ9e:lxZ;U98F8:819E;68:FFuuFFuuFFuuFFuFFFuFFFuFbc:Cqkzebbbebbbdbbb8WWbb"), {}).then(function(n) {
2374
2374
  (c = n.instance).exports.__wasm_call_ctors(), c.exports.meshopt_encodeVertexVersion(0), c.exports.meshopt_encodeIndexVersion(1);
2375
2375
  });
@@ -2379,15 +2379,15 @@ function Ui(c, e, a) {
2379
2379
  function A(n) {
2380
2380
  return new Uint8Array(n.buffer, n.byteOffset, n.byteLength);
2381
2381
  }
2382
- function i(n, b, d, l, g) {
2383
- var h = c.exports.sbrk, f = h(b), I = h(l * g), u = new Uint8Array(c.exports.memory.buffer);
2384
- u.set(A(d), I);
2385
- var p = n(f, b, I, l, g), B = new Uint8Array(p);
2386
- return B.set(u.subarray(f, f + p)), h(f - h(0)), B;
2382
+ function i(n, b, d, g, h) {
2383
+ var l = c.exports.sbrk, f = l(b), I = l(g * h), p = new Uint8Array(c.exports.memory.buffer);
2384
+ p.set(A(d), I);
2385
+ var u = n(f, b, I, g, h), B = new Uint8Array(u);
2386
+ return B.set(p.subarray(f, f + u)), l(f - l(0)), B;
2387
2387
  }
2388
2388
  function s(n) {
2389
2389
  for (var b = 0, d = 0; d < n.length; ++d)
2390
- var l = n[d];
2390
+ var g = n[d];
2391
2391
  return b;
2392
2392
  }
2393
2393
  function r(n, b) {
@@ -2395,78 +2395,78 @@ function Ui(c, e, a) {
2395
2395
  var d = new Uint16Array(n.buffer, n.byteOffset, n.byteLength / 2);
2396
2396
  return new Uint32Array(d);
2397
2397
  }
2398
- function o(n, b, d, l, g, h, f) {
2399
- var I = c.exports.sbrk, u = I(d * l), p = I(d * h), B = new Uint8Array(c.exports.memory.buffer);
2400
- B.set(A(b), p), n(u, d, l, g, p, f);
2401
- var C = new Uint8Array(d * l);
2402
- return C.set(B.subarray(u, u + d * l)), I(u - I(0)), C;
2398
+ function o(n, b, d, g, h, l, f) {
2399
+ var I = c.exports.sbrk, p = I(d * g), u = I(d * l), B = new Uint8Array(c.exports.memory.buffer);
2400
+ B.set(A(b), u), n(p, d, g, h, u, f);
2401
+ var C = new Uint8Array(d * g);
2402
+ return C.set(B.subarray(p, p + d * g)), I(p - I(0)), C;
2403
2403
  }
2404
2404
  })();
2405
2405
  var Vt = function() {
2406
2406
  var c = new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 3, 2, 0, 0, 5, 3, 1, 0, 1, 12, 1, 0, 10, 22, 2, 12, 0, 65, 0, 65, 0, 65, 0, 252, 10, 0, 0, 11, 7, 0, 65, 0, 253, 15, 26, 11]), e = new Uint8Array([32, 0, 65, 2, 1, 106, 34, 33, 3, 128, 11, 4, 13, 64, 6, 253, 10, 7, 15, 116, 127, 5, 8, 12, 40, 16, 19, 54, 20, 9, 27, 255, 113, 17, 42, 67, 24, 23, 146, 148, 18, 14, 22, 45, 70, 69, 56, 114, 101, 21, 25, 63, 75, 136, 108, 28, 118, 29, 73, 115]);
2407
2407
  if (typeof WebAssembly != "object") return { supported: !1 };
2408
- var a, t = WebAssembly.validate(c) ? "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;b9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;e8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincbhHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAcd0hHalhOaAcefgAclSmdxekkcbhlaHceGTmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;tzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:wPliuo97eue978Jjjjjbca9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskdnalTmbcbhvabhdinadczfgxaxpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabalcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbadczfhdaeclfgeav6mbkkdnaval9pmbaialciGgecdtgdVcbc;abad9R;8kbaiabavcdtfgvad;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepklbkavaiad;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb" : "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq;d8Yqdbk:yzeHu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhlaicefhodnadTmbalc;WFbGglcjdalcjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfglcl4cifcd4hxdndndndnalc9WGgmTmbcbhPcehsawcjdfhzaohHinaraH9Rax6midnaraHaxfgo9RcK6mbczhlcbhOinalgic9WfgAawcj;cbffhldndndndndnaHaAco4fRbbaOcoG4ciGPlbedibkal9cb83ibalcwf9cb83ibxikalaoRblaoRbbgAco4gCaCciSgCE86bbawcj;cbfaifglcGfaoclfaCfgCRbbaAcl4ciGgXaXciSgXE86bbalcVfaCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc7faCaXfgCRbbaAciGgAaAciSgAE86bbalctfaCaAfgCRbbaoRbegAco4gXaXciSgXE86bbalc91faCaXfgCRbbaAcl4ciGgXaXciSgXE86bbalc4faCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc93faCaXfgCRbbaAciGgAaAciSgAE86bbalc94faCaAfgCRbbaoRbdgAco4gXaXciSgXE86bbalc95faCaXfgCRbbaAcl4ciGgXaXciSgXE86bbalc96faCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc97faCaXfgCRbbaAciGgAaAciSgAE86bbalc98faCaAfgARbbaoRbigoco4gCaCciSgCE86bbalc99faAaCfgARbbaocl4ciGgCaCciSgCE86bbalc9:faAaCfgARbbaocd4ciGgCaCciSgCE86bbalcufaAaCfglRbbaociGgoaociSgoE86bbalaofhoxdkalaoRbwaoRbbgAcl4gCaCcsSgCE86bbawcj;cbfaifglcGfaocwfaCfgCRbbaAcsGgAaAcsSgAE86bbalcVfaCaAfgARbbaoRbegCcl4gXaXcsSgXE86bbalc7faAaXfgARbbaCcsGgCaCcsSgCE86bbalctfaAaCfgARbbaoRbdgCcl4gXaXcsSgXE86bbalc91faAaXfgARbbaCcsGgCaCcsSgCE86bbalc4faAaCfgARbbaoRbigCcl4gXaXcsSgXE86bbalc93faAaXfgARbbaCcsGgCaCcsSgCE86bbalc94faAaCfgARbbaoRblgCcl4gXaXcsSgXE86bbalc95faAaXfgARbbaCcsGgCaCcsSgCE86bbalc96faAaCfgARbbaoRbvgCcl4gXaXcsSgXE86bbalc97faAaXfgARbbaCcsGgCaCcsSgCE86bbalc98faAaCfgARbbaoRbogCcl4gXaXcsSgXE86bbalc99faAaXfgARbbaCcsGgCaCcsSgCE86bbalc9:faAaCfgARbbaoRbrgocl4gCaCcsSgCE86bbalcufaAaCfglRbbaocsGgoaocsSgoE86bbalaofhoxekalao8Pbb83bbalcwfaocwf8Pbb83bbaoczfhokdnaiam9pmbaOcdfhOaiczfhlarao9RcL0mekkaiam6miaoTmidnakTmbawaPfRbbhOawcj;cbfhlazhiakhAinaialRbbgHce4cbaHceG9R7aOfgO86bbaiadfhialcefhlaAcufgAmbkkazcefhzaPcefgPad6hsaohHaPad9hmexvkkcbhoasceGmdxikaoaxad2fhXdnakTmbcbhmcehsawcjdfhCinarao9Rax6miaoTmdaoaxfhoawamfRbbhOawcj;cbfhlaChiakhAinaialRbbgHce4cbaHceG9R7aOfgO86bbaiadfhialcefhlaAcufgAmbkaCcefhCamcefgmad6hsamad9hmbkaXhoxikcbhlcehsinarao9Rax6mdaoTmeaoaxfhoalcefglad6hsadal9hmbkaXhoxdkcbhoasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqaombkc9:hoxekcbc99arao9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;xzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabaiavcefciGfcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabaiavcdfciGfcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabaiavcufciGfcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabaiavciGfcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb", A = WebAssembly.instantiate(i(t), {}).then(function(g) {
2409
- (a = g.instance).exports.__wasm_call_ctors();
2408
+ var a, t = WebAssembly.validate(c) ? "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;b9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;e8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincbhHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAcd0hHalhOaAcefgAclSmdxekkcbhlaHceGTmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;tzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:wPliuo97eue978Jjjjjbca9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskdnalTmbcbhvabhdinadczfgxaxpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabalcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbadczfhdaeclfgeav6mbkkdnaval9pmbaialciGgecdtgdVcbc;abad9R;8kbaiabavcdtfgvad;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepklbkavaiad;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb" : "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq;d8Yqdbk:yzeHu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhlaicefhodnadTmbalc;WFbGglcjdalcjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfglcl4cifcd4hxdndndndnalc9WGgmTmbcbhPcehsawcjdfhzaohHinaraH9Rax6midnaraHaxfgo9RcK6mbczhlcbhOinalgic9WfgAawcj;cbffhldndndndndnaHaAco4fRbbaOcoG4ciGPlbedibkal9cb83ibalcwf9cb83ibxikalaoRblaoRbbgAco4gCaCciSgCE86bbawcj;cbfaifglcGfaoclfaCfgCRbbaAcl4ciGgXaXciSgXE86bbalcVfaCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc7faCaXfgCRbbaAciGgAaAciSgAE86bbalctfaCaAfgCRbbaoRbegAco4gXaXciSgXE86bbalc91faCaXfgCRbbaAcl4ciGgXaXciSgXE86bbalc4faCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc93faCaXfgCRbbaAciGgAaAciSgAE86bbalc94faCaAfgCRbbaoRbdgAco4gXaXciSgXE86bbalc95faCaXfgCRbbaAcl4ciGgXaXciSgXE86bbalc96faCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc97faCaXfgCRbbaAciGgAaAciSgAE86bbalc98faCaAfgARbbaoRbigoco4gCaCciSgCE86bbalc99faAaCfgARbbaocl4ciGgCaCciSgCE86bbalc9:faAaCfgARbbaocd4ciGgCaCciSgCE86bbalcufaAaCfglRbbaociGgoaociSgoE86bbalaofhoxdkalaoRbwaoRbbgAcl4gCaCcsSgCE86bbawcj;cbfaifglcGfaocwfaCfgCRbbaAcsGgAaAcsSgAE86bbalcVfaCaAfgARbbaoRbegCcl4gXaXcsSgXE86bbalc7faAaXfgARbbaCcsGgCaCcsSgCE86bbalctfaAaCfgARbbaoRbdgCcl4gXaXcsSgXE86bbalc91faAaXfgARbbaCcsGgCaCcsSgCE86bbalc4faAaCfgARbbaoRbigCcl4gXaXcsSgXE86bbalc93faAaXfgARbbaCcsGgCaCcsSgCE86bbalc94faAaCfgARbbaoRblgCcl4gXaXcsSgXE86bbalc95faAaXfgARbbaCcsGgCaCcsSgCE86bbalc96faAaCfgARbbaoRbvgCcl4gXaXcsSgXE86bbalc97faAaXfgARbbaCcsGgCaCcsSgCE86bbalc98faAaCfgARbbaoRbogCcl4gXaXcsSgXE86bbalc99faAaXfgARbbaCcsGgCaCcsSgCE86bbalc9:faAaCfgARbbaoRbrgocl4gCaCcsSgCE86bbalcufaAaCfglRbbaocsGgoaocsSgoE86bbalaofhoxekalao8Pbb83bbalcwfaocwf8Pbb83bbaoczfhokdnaiam9pmbaOcdfhOaiczfhlarao9RcL0mekkaiam6miaoTmidnakTmbawaPfRbbhOawcj;cbfhlazhiakhAinaialRbbgHce4cbaHceG9R7aOfgO86bbaiadfhialcefhlaAcufgAmbkkazcefhzaPcefgPad6hsaohHaPad9hmexvkkcbhoasceGmdxikaoaxad2fhXdnakTmbcbhmcehsawcjdfhCinarao9Rax6miaoTmdaoaxfhoawamfRbbhOawcj;cbfhlaChiakhAinaialRbbgHce4cbaHceG9R7aOfgO86bbaiadfhialcefhlaAcufgAmbkaCcefhCamcefgmad6hsamad9hmbkaXhoxikcbhlcehsinarao9Rax6mdaoTmeaoaxfhoalcefglad6hsadal9hmbkaXhoxdkcbhoasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqaombkc9:hoxekcbc99arao9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;xzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabaiavcefciGfcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabaiavcdfciGfcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabaiavcufciGfcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabaiavciGfcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb", A = WebAssembly.instantiate(i(t), {}).then(function(h) {
2409
+ (a = h.instance).exports.__wasm_call_ctors();
2410
2410
  });
2411
- function i(g) {
2412
- for (var h = new Uint8Array(g.length), f = 0; f < g.length; ++f) {
2413
- var I = g.charCodeAt(f);
2414
- h[f] = I > 96 ? I - 97 : I > 64 ? I - 39 : I + 4;
2411
+ function i(h) {
2412
+ for (var l = new Uint8Array(h.length), f = 0; f < h.length; ++f) {
2413
+ var I = h.charCodeAt(f);
2414
+ l[f] = I > 96 ? I - 97 : I > 64 ? I - 39 : I + 4;
2415
2415
  }
2416
- var u = 0;
2417
- for (f = 0; f < g.length; ++f) h[u++] = h[f] < 60 ? e[h[f]] : 64 * (h[f] - 60) + h[++f];
2418
- return h.buffer.slice(0, u);
2416
+ var p = 0;
2417
+ for (f = 0; f < h.length; ++f) l[p++] = l[f] < 60 ? e[l[f]] : 64 * (l[f] - 60) + l[++f];
2418
+ return l.buffer.slice(0, p);
2419
2419
  }
2420
- function s(g, h, f, I, u, p, B) {
2421
- var C = g.exports.sbrk, w = I + 3 & -4, x = C(w * u), y = C(p.length), m = new Uint8Array(g.exports.memory.buffer);
2422
- m.set(p, y);
2423
- var Q = h(x, I, u, y, p.length);
2424
- if (Q == 0 && B && B(x, w, u), f.set(m.subarray(x, x + I * u)), C(x - C(0)), Q != 0) throw new Error("Malformed buffer data: " + Q);
2420
+ function s(h, l, f, I, p, u, B) {
2421
+ var C = h.exports.sbrk, w = I + 3 & -4, x = C(w * p), y = C(u.length), m = new Uint8Array(h.exports.memory.buffer);
2422
+ m.set(u, y);
2423
+ var Q = l(x, I, p, y, u.length);
2424
+ if (Q == 0 && B && B(x, w, p), f.set(m.subarray(x, x + I * p)), C(x - C(0)), Q != 0) throw new Error("Malformed buffer data: " + Q);
2425
2425
  }
2426
2426
  var r = { NONE: "", OCTAHEDRAL: "meshopt_decodeFilterOct", QUATERNION: "meshopt_decodeFilterQuat", EXPONENTIAL: "meshopt_decodeFilterExp" }, o = { ATTRIBUTES: "meshopt_decodeVertexBuffer", TRIANGLES: "meshopt_decodeIndexBuffer", INDICES: "meshopt_decodeIndexSequence" }, n = [], b = 0;
2427
- function d(g) {
2428
- var h = { object: new Worker(g), pending: 0, requests: {} };
2429
- return h.object.onmessage = function(f) {
2427
+ function d(h) {
2428
+ var l = { object: new Worker(h), pending: 0, requests: {} };
2429
+ return l.object.onmessage = function(f) {
2430
2430
  var I = f.data;
2431
- h.pending -= I.count, h.requests[I.id][I.action](I.value), delete h.requests[I.id];
2432
- }, h;
2431
+ l.pending -= I.count, l.requests[I.id][I.action](I.value), delete l.requests[I.id];
2432
+ }, l;
2433
2433
  }
2434
- function l(g) {
2435
- var h = g.data;
2436
- if (!h.id) return self.close();
2434
+ function g(h) {
2435
+ var l = h.data;
2436
+ if (!l.id) return self.close();
2437
2437
  self.ready.then(function(f) {
2438
2438
  try {
2439
- var I = new Uint8Array(h.count * h.size);
2440
- s(f, f.exports[h.mode], I, h.count, h.size, h.source, f.exports[h.filter]), self.postMessage({ id: h.id, count: h.count, action: "resolve", value: I }, [I.buffer]);
2441
- } catch (u) {
2442
- self.postMessage({ id: h.id, count: h.count, action: "reject", value: u });
2439
+ var I = new Uint8Array(l.count * l.size);
2440
+ s(f, f.exports[l.mode], I, l.count, l.size, l.source, f.exports[l.filter]), self.postMessage({ id: l.id, count: l.count, action: "resolve", value: I }, [I.buffer]);
2441
+ } catch (p) {
2442
+ self.postMessage({ id: l.id, count: l.count, action: "reject", value: p });
2443
2443
  }
2444
2444
  });
2445
2445
  }
2446
- return { ready: A, supported: !0, useWorkers: function(g) {
2447
- (function(h) {
2448
- for (var f = "self.ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(i(t)) + "]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = " + l.name + ";" + s.toString() + l.toString(), I = new Blob([f], { type: "text/javascript" }), u = URL.createObjectURL(I), p = n.length; p < h; ++p) n[p] = d(u);
2449
- for (p = h; p < n.length; ++p) n[p].object.postMessage({});
2450
- n.length = h, URL.revokeObjectURL(u);
2451
- })(g);
2452
- }, decodeVertexBuffer: function(g, h, f, I, u) {
2453
- s(a, a.exports.meshopt_decodeVertexBuffer, g, h, f, I, a.exports[r[u]]);
2454
- }, decodeIndexBuffer: function(g, h, f, I) {
2455
- s(a, a.exports.meshopt_decodeIndexBuffer, g, h, f, I);
2456
- }, decodeIndexSequence: function(g, h, f, I) {
2457
- s(a, a.exports.meshopt_decodeIndexSequence, g, h, f, I);
2458
- }, decodeGltfBuffer: function(g, h, f, I, u, p) {
2459
- s(a, a.exports[o[u]], g, h, f, I, a.exports[r[p]]);
2460
- }, decodeGltfBufferAsync: function(g, h, f, I, u) {
2461
- return n.length > 0 ? function(p, B, C, w, x) {
2446
+ return { ready: A, supported: !0, useWorkers: function(h) {
2447
+ (function(l) {
2448
+ for (var f = "self.ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(i(t)) + "]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = " + g.name + ";" + s.toString() + g.toString(), I = new Blob([f], { type: "text/javascript" }), p = URL.createObjectURL(I), u = n.length; u < l; ++u) n[u] = d(p);
2449
+ for (u = l; u < n.length; ++u) n[u].object.postMessage({});
2450
+ n.length = l, URL.revokeObjectURL(p);
2451
+ })(h);
2452
+ }, decodeVertexBuffer: function(h, l, f, I, p) {
2453
+ s(a, a.exports.meshopt_decodeVertexBuffer, h, l, f, I, a.exports[r[p]]);
2454
+ }, decodeIndexBuffer: function(h, l, f, I) {
2455
+ s(a, a.exports.meshopt_decodeIndexBuffer, h, l, f, I);
2456
+ }, decodeIndexSequence: function(h, l, f, I) {
2457
+ s(a, a.exports.meshopt_decodeIndexSequence, h, l, f, I);
2458
+ }, decodeGltfBuffer: function(h, l, f, I, p, u) {
2459
+ s(a, a.exports[o[p]], h, l, f, I, a.exports[r[u]]);
2460
+ }, decodeGltfBufferAsync: function(h, l, f, I, p) {
2461
+ return n.length > 0 ? function(u, B, C, w, x) {
2462
2462
  for (var y = n[0], m = 1; m < n.length; ++m) n[m].pending < y.pending && (y = n[m]);
2463
2463
  return new Promise(function(Q, k) {
2464
2464
  var D = new Uint8Array(C), F = ++b;
2465
- y.pending += p, y.requests[F] = { resolve: Q, reject: k }, y.object.postMessage({ id: F, count: p, size: B, source: D, mode: w, filter: x }, [D.buffer]);
2465
+ y.pending += u, y.requests[F] = { resolve: Q, reject: k }, y.object.postMessage({ id: F, count: u, size: B, source: D, mode: w, filter: x }, [D.buffer]);
2466
2466
  });
2467
- }(g, h, f, o[I], r[u]) : A.then(function() {
2468
- var p = new Uint8Array(g * h);
2469
- return s(a, a.exports[o[I]], p, g, h, f, a.exports[r[u]]), p;
2467
+ }(h, l, f, o[I], r[p]) : A.then(function() {
2468
+ var u = new Uint8Array(h * l);
2469
+ return s(a, a.exports[o[I]], u, h, l, f, a.exports[r[p]]), u;
2470
2470
  });
2471
2471
  } };
2472
2472
  }();
@@ -2490,10 +2490,10 @@ var Vt = function() {
2490
2490
  function A(r) {
2491
2491
  return new Uint8Array(r.buffer, r.byteOffset, r.byteLength);
2492
2492
  }
2493
- function i(r, o, n, b, d, l, g, h) {
2494
- var f = c.exports.sbrk, I = f(4 * h), u = f(n * b), p = f(n * l), B = new Uint8Array(c.exports.memory.buffer);
2495
- B.set(A(o), u), d && B.set(A(d), p);
2496
- var C = r(I, u, n, b, p, l, g, h);
2493
+ function i(r, o, n, b, d, g, h, l) {
2494
+ var f = c.exports.sbrk, I = f(4 * l), p = f(n * b), u = f(n * g), B = new Uint8Array(c.exports.memory.buffer);
2495
+ B.set(A(o), p), d && B.set(A(d), u);
2496
+ var C = r(I, p, n, b, u, g, h, l);
2497
2497
  new Uint8Array(c.exports.memory.buffer);
2498
2498
  var w = new Uint32Array(C);
2499
2499
  return A(w).set(B.subarray(I, I + 4 * C)), f(I - f(0)), w;
@@ -2549,7 +2549,7 @@ class Ni {
2549
2549
  let t, A = 0, i = Number.MAX_SAFE_INTEGER, s = -1;
2550
2550
  for (let r = this.downloads.length - 1; r >= 0; r--) {
2551
2551
  const o = this.downloads[r].distanceFunction();
2552
- o <= e && (e = o, a = r), A = Math.max(this.downloads[r].level), i > this.downloads[r].level && (i = this.downloads[r].level, s = r);
2552
+ o <= e && (e = o, a = r), A = Math.max(this.downloads[r].level), this.downloads[r].loadingStrategy != "IMMEDIATE" && i > this.downloads[r].level && (i = this.downloads[r].level, s = r);
2553
2553
  }
2554
2554
  if (A > i + 4 ? t = this.downloads.splice(s, 1).pop() : a >= 0 && (t = this.downloads.splice(a, 1).pop()), t) {
2555
2555
  this.nextDownloads.push(t);
@@ -2573,72 +2573,72 @@ class Ni {
2573
2573
  }
2574
2574
  }
2575
2575
  }
2576
- get(e, a, t, A, i, s, r, o, n, b, d) {
2577
- const l = this, g = ct(t), h = new AbortController();
2576
+ get(e, a, t, A, i, s, r, o, n, b, d, g) {
2577
+ const h = this, l = ct(t), f = new AbortController();
2578
2578
  if (e.signal.addEventListener("abort", () => {
2579
- l.register[g] && Object.keys(l.register[g]).length != 0 || h.abort("user abort");
2579
+ h.register[l] && Object.keys(h.register[l]).length != 0 || f.abort("user abort");
2580
2580
  }), !(t.includes(".b3dm") || t.includes(".json") || t.includes(".gltf") || t.includes(".glb"))) return void console.error("the 3DTiles cache can only be used to load B3DM, gltf and json data");
2581
- if (l.register[g] || (l.register[g] = {}), l.register[g][a] && console.error(" a tile should only be loaded once"), l.register[g][a] = A, l.cache.get(g)) this._meshReceived(l.cache, l.register, g, i, s, r, a);
2582
- else if (Object.keys(l.register[g]).length == 1) {
2583
- let f;
2584
- t.includes(".b3dm") ? f = () => {
2585
- var I;
2586
- I = l.proxy ? () => fetch(l.proxy, { method: "POST", body: t, signal: h.signal }) : () => fetch(t, { signal: h.signal }), te++, I().then((u) => {
2581
+ if (h.register[l] || (h.register[l] = {}), h.register[l][a] && console.error(" a tile should only be loaded once"), h.register[l][a] = A, h.cache.get(l)) this._meshReceived(h.cache, h.register, l, i, s, r, a);
2582
+ else if (Object.keys(h.register[l]).length == 1) {
2583
+ let I;
2584
+ t.includes(".b3dm") ? I = () => {
2585
+ var p;
2586
+ p = h.proxy ? () => fetch(h.proxy, { method: "POST", body: t, signal: f.signal }) : () => fetch(t, { signal: f.signal }), te++, p().then((u) => {
2587
2587
  if (!u.ok) throw console.error("could not load tile with path : " + t), new Error(`couldn't load "${t}". Request failed with status ${u.status} : ${u.statusText}`);
2588
2588
  return u.arrayBuffer();
2589
- }).then((u) => this.b3dmDecoder.parseB3DM(u, (p) => {
2590
- l.meshCallback(p, b);
2591
- }, o, n)).then((u) => {
2592
- l.cache.put(g, u), l._checkSize(), this._meshReceived(l.cache, l.register, g, i, s, r, a);
2589
+ }).then((u) => this.b3dmDecoder.parseB3DM(u, (B) => {
2590
+ h.meshCallback(B, d);
2591
+ }, n, b)).then((u) => {
2592
+ h.cache.put(l, u), h._checkSize(), this._meshReceived(h.cache, h.register, l, i, s, r, a);
2593
2593
  }).catch((u) => {
2594
2594
  }).finally(() => {
2595
2595
  te--;
2596
2596
  });
2597
- } : t.includes(".glb") || t.includes(".gltf") ? f = d ? () => {
2598
- var I;
2599
- I = l.proxy ? () => fetch(l.proxy, { method: "POST", body: t, signal: h.signal }) : () => fetch(t, { signal: h.signal }), te++, I().then((u) => {
2597
+ } : t.includes(".glb") || t.includes(".gltf") ? I = g ? () => {
2598
+ var p;
2599
+ p = h.proxy ? () => fetch(h.proxy, { method: "POST", body: t, signal: f.signal }) : () => fetch(t, { signal: f.signal }), te++, p().then((u) => {
2600
2600
  if (!u.ok) throw console.error("could not load tile with path : " + t), new Error(`couldn't load "${t}". Request failed with status ${u.status} : ${u.statusText}`);
2601
2601
  return u.arrayBuffer();
2602
- }).then((u) => this.splatsDecoder.parseSplats(u, o, n, d)).then((u) => {
2603
- l.cache.put(g, u), l._checkSize(), l._meshReceived(l.cache, l.register, g, i, s, r, a);
2602
+ }).then((u) => this.splatsDecoder.parseSplats(u, n, b, g)).then((u) => {
2603
+ h.cache.put(l, u), h._checkSize(), h._meshReceived(h.cache, h.register, l, i, s, r, a);
2604
2604
  }).catch((u) => {
2605
2605
  }).finally(() => {
2606
2606
  te--;
2607
2607
  });
2608
2608
  } : () => {
2609
- var I;
2610
- I = l.proxy ? () => fetch(l.proxy, { method: "POST", body: t, signal: h.signal }) : () => fetch(t, { signal: h.signal }), te++, I().then((u) => {
2609
+ var p;
2610
+ p = h.proxy ? () => fetch(h.proxy, { method: "POST", body: t, signal: f.signal }) : () => fetch(t, { signal: f.signal }), te++, p().then((u) => {
2611
2611
  if (!u.ok) throw console.error("could not load tile with path : " + t), new Error(`couldn't load "${t}". Request failed with status ${u.status} : ${u.statusText}`);
2612
2612
  return u.arrayBuffer();
2613
2613
  }).then(async (u) => {
2614
- await async function(p) {
2615
- return new Promise((B) => {
2616
- const C = setInterval(() => {
2617
- p.hasDracoLoader && !p.dracoLoader || p.hasKTX2Loader && !p.ktx2Loader || (clearInterval(C), B());
2614
+ await async function(B) {
2615
+ return new Promise((C) => {
2616
+ const w = setInterval(() => {
2617
+ B.hasDracoLoader && !B.dracoLoader || B.hasKTX2Loader && !B.ktx2Loader || (clearInterval(w), C());
2618
2618
  }, 10);
2619
2619
  });
2620
- }(this.gltfLoader), this.gltfLoader.parse(u, null, (p) => {
2621
- p.scene.asset = p.asset, o && p.scene.applyMatrix4(this.zUpToYUpMatrix), p.scene.traverse((B) => {
2622
- B.isMesh && (n && B.applyMatrix4(this.zUpToYUpMatrix), l.meshCallback && l.meshCallback(B, b)), B.isPoints && l.pointsCallback && l.pointsCallback(B, b);
2623
- }), l.cache.put(g, p.scene), l._checkSize(), l._meshReceived(l.cache, l.register, g, i, s, r, a);
2620
+ }(this.gltfLoader), this.gltfLoader.parse(u, null, (B) => {
2621
+ B.scene.asset = B.asset, n && B.scene.applyMatrix4(this.zUpToYUpMatrix), B.scene.traverse((C) => {
2622
+ C.isMesh && (b && C.applyMatrix4(this.zUpToYUpMatrix), h.meshCallback && h.meshCallback(C, d)), C.isPoints && h.pointsCallback && h.pointsCallback(C, d);
2623
+ }), h.cache.put(l, B.scene), h._checkSize(), h._meshReceived(h.cache, h.register, l, i, s, r, a);
2624
2624
  });
2625
2625
  }).catch((u) => {
2626
2626
  u !== "user abort" && u.code;
2627
2627
  }).finally(() => {
2628
2628
  te--;
2629
2629
  });
2630
- } : t.includes(".json") && (f = () => {
2631
- var I;
2632
- I = l.proxy ? () => fetch(l.proxy, { method: "POST", body: t, signal: h.signal }) : () => fetch(t, { signal: h.signal }), te++, I().then((u) => {
2630
+ } : t.includes(".json") && (I = () => {
2631
+ var p;
2632
+ p = h.proxy ? () => fetch(h.proxy, { method: "POST", body: t, signal: f.signal }) : () => fetch(t, { signal: f.signal }), te++, p().then((u) => {
2633
2633
  if (!u.ok) throw console.error("could not load tile with path : " + t), new Error(`couldn't load "${t}". Request failed with status ${u.status} : ${u.statusText}`);
2634
2634
  return u.json();
2635
2635
  }).then((u) => La(u, t)).then((u) => {
2636
- l.cache.put(g, u), l._checkSize(), l._meshReceived(l.cache, l.register, g);
2636
+ h.cache.put(l, u), h._checkSize(), h._meshReceived(h.cache, h.register, l);
2637
2637
  }).catch((u) => {
2638
2638
  }).finally(() => {
2639
2639
  te--;
2640
2640
  });
2641
- }), this._scheduleDownload({ shouldDoDownload: () => !e.signal.aborted && !!l.register[g] && Object.keys(l.register[g]).length > 0, doDownload: f, distanceFunction: i, getSiblings: s, level: r, uuid: a });
2641
+ }), this._scheduleDownload({ shouldDoDownload: () => !e.signal.aborted && !!h.register[l] && Object.keys(h.register[l]).length > 0, doDownload: I, distanceFunction: i, getSiblings: s, level: r, loadingStrategy: o, uuid: a });
2642
2642
  }
2643
2643
  }
2644
2644
  clear() {
@@ -3049,22 +3049,22 @@ class qi extends ka {
3049
3049
  o.texture.type = v, e.initRenderTarget(o);
3050
3050
  const n = new ne(512, 512, 1, { magFilter: R, minFilter: R, anisotropy: 0, type: v, depthBuffer: !1, resolveDepthBuffer: !1 });
3051
3051
  n.texture.type = v, e.initRenderTarget(n);
3052
- const b = new ia({ uniforms: { textureSize: { value: 512 }, numSlices: { value: 1 }, cov1Texture: { value: o.texture }, cov2Texture: { value: n.texture }, colorTexture: { value: s.texture }, positionTexture: { value: r.texture }, zUpToYUpMatrix3x3: { value: Yt }, sizeMultiplier: { value: 1 }, cropRadius: { value: Number.MAX_VALUE }, cameraNear: { value: 0.01 }, cameraFar: { value: 10 }, computeLinearDepth: { value: !0 } }, vertexShader: Oi(), fragmentShader: a || Ji(), transparent: !0, side: Ze, depthTest: !1, depthWrite: !1 }), d = new Ja(), l = new Float32Array([-0.5, 0.5, 0, 0.5, 0.5, 0, -0.5, -0.5, 0, 0.5, -0.5, 0]);
3053
- d.setIndex([0, 2, 1, 2, 3, 1]), d.setAttribute("position", new le(l, 3));
3054
- const g = new Uint32Array(i), h = new wa(g, 1, !1);
3055
- h.needsUpdate = !0, h.setUsage(Ka), d.setAttribute("order", h), d.instanceCount = 0, super(d, b), this.orderAttribute = h, this.textureSize = 512, this.numTextures = 1, this.batchSize = A, this.maxSplats = i, this.colorRenderTarget = s, this.positionRenderTarget = r, this.cov1RenderTarget = o, this.cov2RenderTarget = n, this.renderer = e, this.sortID = 0, this.freeAddresses = new He();
3056
- for (let u = 0; u < this.maxSplats; u += A) this.freeAddresses.add(u);
3057
- this.worker = new _i({ type: "module" }), this.sortListeners = [], this.worker.onmessage = (u) => {
3058
- const p = new Uint32Array(u.data.order);
3059
- if (p.length > this.orderAttribute.count) {
3052
+ const b = new ia({ uniforms: { textureSize: { value: 512 }, numSlices: { value: 1 }, cov1Texture: { value: o.texture }, cov2Texture: { value: n.texture }, colorTexture: { value: s.texture }, positionTexture: { value: r.texture }, zUpToYUpMatrix3x3: { value: Yt }, sizeMultiplier: { value: 1 }, cropRadius: { value: Number.MAX_VALUE }, cameraNear: { value: 0.01 }, cameraFar: { value: 10 }, computeLinearDepth: { value: !0 } }, vertexShader: Oi(), fragmentShader: a || Ji(), transparent: !0, side: Ze, depthTest: !1, depthWrite: !1 }), d = new Ja(), g = new Float32Array([-0.5, 0.5, 0, 0.5, 0.5, 0, -0.5, -0.5, 0, 0.5, -0.5, 0]);
3053
+ d.setIndex([0, 2, 1, 2, 3, 1]), d.setAttribute("position", new le(g, 3));
3054
+ const h = new Uint32Array(i), l = new wa(h, 1, !1);
3055
+ l.needsUpdate = !0, l.setUsage(Ka), d.setAttribute("order", l), d.instanceCount = 0, super(d, b), this.orderAttribute = l, this.textureSize = 512, this.numTextures = 1, this.batchSize = A, this.maxSplats = i, this.colorRenderTarget = s, this.positionRenderTarget = r, this.cov1RenderTarget = o, this.cov2RenderTarget = n, this.renderer = e, this.sortID = 0, this.freeAddresses = new He();
3056
+ for (let p = 0; p < this.maxSplats; p += A) this.freeAddresses.add(p);
3057
+ this.worker = new _i({ type: "module" }), this.sortListeners = [], this.worker.onmessage = (p) => {
3058
+ const u = new Uint32Array(p.data.order);
3059
+ if (u.length > this.orderAttribute.count) {
3060
3060
  const B = new Ja(), C = new Float32Array([-0.5, 0.5, 0, 0.5, 0.5, 0, -0.5, -0.5, 0, 0.5, -0.5, 0]), w = [0, 2, 1, 2, 3, 1];
3061
3061
  B.setIndex(w), B.setAttribute("position", new le(C, 3));
3062
3062
  const x = new Uint32Array(this.maxSplats), y = new wa(x, 1, !1);
3063
3063
  y.needsUpdate = !0, y.setUsage(Ka), B.setAttribute("order", y), B.instanceCount = 0, this.geometry.dispose(), this.geometry = B, this.orderAttribute = y;
3064
3064
  }
3065
- this.orderAttribute.clearUpdateRanges(), this.orderAttribute.set(p), this.orderAttribute.addUpdateRange(0, p.length), this.orderAttribute.needsUpdate = !0, this.geometry.instanceCount = u.data.count, this.geometry.needsUpdate = !0;
3065
+ this.orderAttribute.clearUpdateRanges(), this.orderAttribute.set(u), this.orderAttribute.addUpdateRange(0, u.length), this.orderAttribute.needsUpdate = !0, this.geometry.instanceCount = p.data.count, this.geometry.needsUpdate = !0;
3066
3066
  for (let B = this.sortListeners.length - 1; B >= 0; B--)
3067
- this.sortListeners[B](u.data.id) && this.sortListeners.splice(B, 1);
3067
+ this.sortListeners[B](p.data.id) && this.sortListeners.splice(B, 1);
3068
3068
  }, this.cameraPosition = new M(0, 0, 0), this.rotateOnAxis(new M(1, 0, 0), 0.5 * Math.PI), this.frustumCulled = !1, this.copyMaterial2D = new ia({ uniforms: { sourceTexture: {} }, vertexShader: lt(), fragmentShader: `
3069
3069
  precision highp float;
3070
3070
 
@@ -3088,8 +3088,8 @@ void main() {
3088
3088
  const f = new OA(1, 1);
3089
3089
  this.copyQuad = new ka(f, this.copyMaterial2D), this.copyScene.add(this.copyQuad), this.copyScene.matrixAutoUpdate = !1, this.copyQuad.matrixAutoUpdate = !1;
3090
3090
  const I = this;
3091
- document.addEventListener("keyup", function(u) {
3092
- u.key === "a" && (I.growTextures(), console.log(I.positionRenderTarget.depth));
3091
+ document.addEventListener("keyup", function(p) {
3092
+ p.key === "a" && (I.growTextures(), console.log(I.positionRenderTarget.depth));
3093
3093
  });
3094
3094
  }
3095
3095
  dispose() {
@@ -3124,53 +3124,53 @@ void main() {
3124
3124
  const i = this;
3125
3125
  e.count;
3126
3126
  const s = e.data ? e.data.array : e.array, r = e.data && e.data.isInterleavedBuffer ? e.data.stride : 3, o = e.data && e.data.isInterleavedBuffer ? e.offset : 0, n = Math.ceil(s.length / (this.batchSize * r)), b = [], d = [];
3127
- let l = () => {
3127
+ let g = () => {
3128
3128
  };
3129
- const g = new Float32Array(s.length / r * 3);
3130
- for (let f = 0; f < s.length / 3; f++) g[3 * f] = s[f * r + o], g[3 * f + 1] = s[f * r + o + 1], g[3 * f + 2] = s[f * r + o + 2];
3131
- l = (f, I, u) => {
3132
- const p = u * u;
3133
- for (let B = 0; B < g.length; B += 3) {
3134
- Ve.set(g[B], -g[B + 2], g[B + 1]);
3129
+ const h = new Float32Array(s.length / r * 3);
3130
+ for (let f = 0; f < s.length / 3; f++) h[3 * f] = s[f * r + o], h[3 * f + 1] = s[f * r + o + 1], h[3 * f + 2] = s[f * r + o + 2];
3131
+ g = (f, I, p) => {
3132
+ const u = p * p;
3133
+ for (let B = 0; B < h.length; B += 3) {
3134
+ Ve.set(h[B], -h[B + 2], h[B + 1]);
3135
3135
  const C = Hi.copy(Ve).sub(f.origin).dot(f.direction);
3136
- C > 0 && f.distanceSqToPoint(Ve) < p && I.push({ distance: C, point: Ve.clone(), type: "splat" });
3136
+ C > 0 && f.distanceSqToPoint(Ve) < u && I.push({ distance: C, point: Ve.clone(), type: "splat" });
3137
3137
  }
3138
3138
  }, n > this.freeAddresses.size && this.growTextures();
3139
3139
  for (let f = 0; f < n; f++) {
3140
3140
  const I = this.freeAddresses.poll();
3141
3141
  isNaN(I) && console.log("insuficient texture size to store splats info"), b.push(I), d.push(3 * I);
3142
- const u = f * this.batchSize;
3143
- this.addSplatsBatch(u, I, e, a, t, A);
3142
+ const p = f * this.batchSize;
3143
+ this.addSplatsBatch(p, I, e, a, t, A);
3144
3144
  }
3145
3145
  i.worker.postMessage({ method: "addBatches", insertionIndexes: d, positions: s.buffer, offset: o, stride: r, batchSize: i.batchSize }, [s.buffer]);
3146
- let h = !1;
3146
+ let l = !1;
3147
3147
  return { hide: () => {
3148
- h == 1 && (h = !1, i.worker.postMessage({ method: "hideBatches", insertionIndexes: d, xyz: [i.cameraPosition.x, i.cameraPosition.z, -i.cameraPosition.y], id: i.sortID++ }));
3148
+ l == 1 && (l = !1, i.worker.postMessage({ method: "hideBatches", insertionIndexes: d, xyz: [i.cameraPosition.x, i.cameraPosition.z, -i.cameraPosition.y], id: i.sortID++ }));
3149
3149
  }, show: (f) => {
3150
- h == 0 && (h = !0);
3150
+ l == 0 && (l = !0);
3151
3151
  const I = i.sortID;
3152
- i.sortListeners.push((u) => u >= I && (f(), !0)), i.worker.postMessage({ method: "showBatches", insertionIndexes: d, xyz: [i.cameraPosition.x, i.cameraPosition.z, -i.cameraPosition.y], id: i.sortID++ });
3152
+ i.sortListeners.push((p) => p >= I && (f(), !0)), i.worker.postMessage({ method: "showBatches", insertionIndexes: d, xyz: [i.cameraPosition.x, i.cameraPosition.z, -i.cameraPosition.y], id: i.sortID++ });
3153
3153
  }, remove: () => {
3154
- l = void 0, i.worker.postMessage({ method: "removeBatches", insertionIndexes: d, xyz: [i.cameraPosition.x, i.cameraPosition.z, -i.cameraPosition.y], id: i.sortID++ }), b.forEach((f) => i.freeAddresses.add(f));
3155
- }, sort: this.sort, raycast: l, isSplatsBatch: !0 };
3154
+ g = void 0, i.worker.postMessage({ method: "removeBatches", insertionIndexes: d, xyz: [i.cameraPosition.x, i.cameraPosition.z, -i.cameraPosition.y], id: i.sortID++ }), b.forEach((f) => i.freeAddresses.add(f));
3155
+ }, sort: this.sort, raycast: g, isSplatsBatch: !0 };
3156
3156
  }
3157
3157
  addSplatsBatch(e, a, t, A, i, s) {
3158
3158
  const r = new Float32Array(4 * this.batchSize), o = new Uint8Array(4 * this.batchSize), n = new Float32Array(4 * this.batchSize), b = new Float32Array(4 * this.batchSize);
3159
- for (let p = a; p < a + this.batchSize; p++) {
3160
- const B = p - a, C = 4 * B, w = e + B;
3159
+ for (let u = a; u < a + this.batchSize; u++) {
3160
+ const B = u - a, C = 4 * B, w = e + B;
3161
3161
  if (w >= t.count) break;
3162
3162
  r[C] = t.getX(w), r[C + 1] = t.getY(w), r[C + 2] = t.getZ(w), Math.floor(255 * A.getX(w)), Math.floor(255 * A.getY(w)), Math.floor(255 * A.getZ(w)), Math.floor(255 * A.getW(w)), o[C] = Math.floor(255 * A.getX(w)), o[C + 1] = Math.floor(255 * A.getY(w)), o[C + 2] = Math.floor(255 * A.getZ(w)), o[C + 3] = Math.floor(255 * A.getW(w)), n[C] = i.getX(w), n[C + 1] = i.getY(w), n[C + 2] = i.getZ(w), b[C] = s.getX(w), b[C + 1] = s.getY(w), b[C + 2] = s.getZ(w);
3163
3163
  }
3164
- const d = Math.floor(a / Math.pow(this.textureSize, 2)), l = Math.ceil(this.batchSize / this.textureSize), g = [0, a / this.textureSize - d * this.textureSize, this.textureSize];
3165
- g.push(g[1] + l);
3166
- const h = new Ge(r, this.textureSize, l, ee, v);
3167
- h.generateMipmaps = !1, h.magFilter = R, h.minFilter = R, h.anisotropy = 0, h.needsUpdate = !0, this.renderer.initTexture(h), this.renderer.initRenderTarget(this.positionRenderTarget), this.copyTex2D(h, this.positionRenderTarget, g, d), h.dispose();
3168
- const f = new Ge(o, this.textureSize, l, ee, X);
3169
- f.generateMipmaps = !1, f.magFilter = R, f.minFilter = R, f.anisotropy = 0, f.needsUpdate = !0, this.renderer.initTexture(f), this.copyTex2D(f, this.colorRenderTarget, g, d), f.dispose();
3170
- const I = new Ge(n, this.textureSize, l, ee, v);
3171
- I.generateMipmaps = !1, I.magFilter = R, I.minFilter = R, I.anisotropy = 0, I.needsUpdate = !0, this.renderer.initTexture(I), this.copyTex2D(I, this.cov1RenderTarget, g, d), I.dispose();
3172
- const u = new Ge(b, this.textureSize, l, ee, v);
3173
- u.generateMipmaps = !1, u.magFilter = R, u.minFilter = R, u.anisotropy = 0, u.needsUpdate = !0, this.renderer.initTexture(u), this.copyTex2D(u, this.cov2RenderTarget, g, d), u.dispose();
3164
+ const d = Math.floor(a / Math.pow(this.textureSize, 2)), g = Math.ceil(this.batchSize / this.textureSize), h = [0, a / this.textureSize - d * this.textureSize, this.textureSize];
3165
+ h.push(h[1] + g);
3166
+ const l = new Ge(r, this.textureSize, g, ee, v);
3167
+ l.generateMipmaps = !1, l.magFilter = R, l.minFilter = R, l.anisotropy = 0, l.needsUpdate = !0, this.renderer.initTexture(l), this.renderer.initRenderTarget(this.positionRenderTarget), this.copyTex2D(l, this.positionRenderTarget, h, d), l.dispose();
3168
+ const f = new Ge(o, this.textureSize, g, ee, X);
3169
+ f.generateMipmaps = !1, f.magFilter = R, f.minFilter = R, f.anisotropy = 0, f.needsUpdate = !0, this.renderer.initTexture(f), this.copyTex2D(f, this.colorRenderTarget, h, d), f.dispose();
3170
+ const I = new Ge(n, this.textureSize, g, ee, v);
3171
+ I.generateMipmaps = !1, I.magFilter = R, I.minFilter = R, I.anisotropy = 0, I.needsUpdate = !0, this.renderer.initTexture(I), this.copyTex2D(I, this.cov1RenderTarget, h, d), I.dispose();
3172
+ const p = new Ge(b, this.textureSize, g, ee, v);
3173
+ p.generateMipmaps = !1, p.magFilter = R, p.minFilter = R, p.anisotropy = 0, p.needsUpdate = !0, this.renderer.initTexture(p), this.copyTex2D(p, this.cov2RenderTarget, h, d), p.dispose();
3174
3174
  }
3175
3175
  growTextures() {
3176
3176
  for (let s = this.maxSplats; s < this.maxSplats + this.textureSize * this.textureSize; s += this.batchSize) this.freeAddresses.add(s);
@@ -3499,31 +3499,32 @@ class Wt extends E.Object3D {
3499
3499
  const b = /^(?:http|https|ftp|tcp|udp):\/\/\S+/;
3500
3500
  if (b.test(t.rootPath) ? b.test(n) || (n = t._assembleURL(t.rootPath, n)) : be.isAbsolute(t.rootPath) && (n = t.rootPath + be.sep + n), n = t._extractQueryParams(n, t.queryParams), t.queryParams) {
3501
3501
  var d = "";
3502
- for (let l in t.queryParams) t.queryParams.hasOwnProperty(l) && (d += "&" + l + "=" + t.queryParams[l]);
3502
+ for (let g in t.queryParams) t.queryParams.hasOwnProperty(g) && (d += "&" + g + "=" + t.queryParams[g]);
3503
3503
  n.includes("?") ? n += d : n += "?" + d.substring(1);
3504
3504
  }
3505
3505
  if (n) if (o && (n.includes(".b3dm") || n.includes(".glb") || n.includes(".gltf"))) {
3506
3506
  t.contentURL.push(n);
3507
3507
  try {
3508
- t.tileLoader.get(t.abortController, t.uuid, n, (l) => {
3509
- t.deleted || (l.asset && l.asset.copyright && (l.asset.copyright.split(";").forEach((g) => {
3510
- Z[g] ? Z[g]++ : Z[g] = 1;
3511
- }), t.displayCopyright && ma()), t.meshContent.push(l), t.splatsMesh || (l.traverse((g) => {
3512
- if ((g.isMesh || g.isPoints) && g.layers.disable(0), g.isMesh && t.occlusionCullingService) {
3513
- const h = g.geometry.attributes.position, f = [];
3514
- for (let I = 0; I < h.count; I++) f.push(t.color.r, t.color.g, t.color.b);
3515
- g.geometry.setAttribute("color", new E.Float32BufferAttribute(f, 3));
3508
+ t.tileLoader.get(t.abortController, t.uuid, n, (g) => {
3509
+ t.deleted || (g.asset && g.asset.copyright && (g.asset.copyright.split(";").forEach((h) => {
3510
+ Z[h] ? Z[h]++ : Z[h] = 1;
3511
+ }), t.displayCopyright && ma()), t.meshContent.push(g), t.splatsMesh || (g.traverse((h) => {
3512
+ if ((h.isMesh || h.isPoints) && h.layers.disable(0), h.isMesh && t.occlusionCullingService) {
3513
+ const l = h.geometry.attributes.position, f = [];
3514
+ for (let I = 0; I < l.count; I++) f.push(t.color.r, t.color.g, t.color.b);
3515
+ h.geometry.setAttribute("color", new E.Float32BufferAttribute(f, 3));
3516
3516
  }
3517
- }), t.add(l), t.updateMatrices()));
3517
+ }), t.add(g), t.updateMatrices()));
3518
3518
  }, t.cameraOnLoad ? () => {
3519
- let l = 1;
3520
- return (t.metric && t.metric < 0 || t.deleted) && (l = 2), t.parentTile ? t.parentTile._calculateDistanceToCamera(t.cameraOnLoad) * l * t.level : t._calculateDistanceToCamera(t.cameraOnLoad) * l * t.level;
3521
- } : () => 0, () => t._getSiblings(), t.level, !t.json.boundingVolume.region, !!t.json.boundingVolume.region, t.geometricError, t.splatsMesh);
3522
- } catch (l) {
3523
- t.displayErrors && gt(l);
3519
+ if (t.loadingStrategy == "IMMEDIATE") return t._calculateDistanceToCamera(t.cameraOnLoad);
3520
+ let g = 1;
3521
+ return (t.metric && t.metric < 0 || t.deleted) && (g = 2), t.parentTile ? t.parentTile._calculateDistanceToCamera(t.cameraOnLoad) * g * t.level : t._calculateDistanceToCamera(t.cameraOnLoad) * g * t.level;
3522
+ } : () => 0, () => t._getSiblings(), t.level, t.loadingStrategy, !t.json.boundingVolume.region, !!t.json.boundingVolume.region, t.geometricError, t.splatsMesh);
3523
+ } catch (g) {
3524
+ t.displayErrors && gt(g);
3524
3525
  }
3525
- } else r && n.includes(".json") && (t.jsonRequested = n, t.tileLoader.get(t.abortController, t.uuid, n, async (l) => {
3526
- t.deleted || (l.rootPath = be.dirname(n), t.json.children.push(l), s == null ? delete t.json.content : t.json.contents.splice(s, 1), t.hasUnloadedJSONContent--);
3526
+ } else r && n.includes(".json") && (t.jsonRequested = n, t.tileLoader.get(t.abortController, t.uuid, n, async (g) => {
3527
+ t.deleted || (g.rootPath = be.dirname(n), t.json.children.push(g), s == null ? delete t.json.content : t.json.contents.splice(s, 1), t.hasUnloadedJSONContent--);
3527
3528
  }));
3528
3529
  }
3529
3530
  }
@@ -3795,8 +3796,8 @@ class Wt extends E.Object3D {
3795
3796
  this.distanceBias = e, this.childrenTiles.forEach((a) => a.setDistanceBias(e));
3796
3797
  }
3797
3798
  _transformWGS84ToCartesian(e, a, t, A) {
3798
- const i = 6378137 / Math.sqrt(1 - 0.006694384442042 * Math.pow(Math.sin(a), 2)), s = Math.cos(a), r = Math.cos(e), o = Math.sin(a), n = i + t, b = n * s * r, d = n * s * Math.sin(e), l = (0.993305615557957 * i + t) * o;
3799
- A.set(b, d, l);
3799
+ const i = 6378137 / Math.sqrt(1 - 0.006694384442042 * Math.pow(Math.sin(a), 2)), s = Math.cos(a), r = Math.cos(e), o = Math.sin(a), n = i + t, b = n * s * r, d = n * s * Math.sin(e), g = (0.993305615557957 * i + t) * o;
3800
+ A.set(b, d, g);
3800
3801
  }
3801
3802
  }
3802
3803
  function gt(c) {
@@ -3992,8 +3993,8 @@ class Ga extends E.Object3D {
3992
3993
  return this.matrixWorld;
3993
3994
  }
3994
3995
  transformWGS84ToCartesian(e, a, t, A) {
3995
- const i = 6378137 / Math.sqrt(1 - 0.006694384442042 * Math.pow(Math.sin(a), 2)), s = Math.cos(a), r = Math.cos(e), o = Math.sin(a), n = i + t, b = n * s * r, d = n * s * Math.sin(e), l = (0.993305615557957 * i + t) * o;
3996
- A.set(b, d, l);
3996
+ const i = 6378137 / Math.sqrt(1 - 0.006694384442042 * Math.pow(Math.sin(a), 2)), s = Math.cos(a), r = Math.cos(e), o = Math.sin(a), n = i + t, b = n * s * r, d = n * s * Math.sin(e), g = (0.993305615557957 * i + t) * o;
3997
+ A.set(b, d, g);
3997
3998
  }
3998
3999
  }
3999
4000
  class as extends E.Object3D {
@@ -4170,33 +4171,33 @@ class ts {
4170
4171
  }
4171
4172
  }
4172
4173
  get(e, a, t, A, i, s, r, o, n, b) {
4173
- const d = this, l = function(h) {
4174
- for (var f = h.split("/"), I = [], u = 0, p = 0; p < f.length; p++) {
4175
- var B = f[p];
4176
- B !== "." && B !== "" && B !== ".." ? I[u++] = B : B === ".." && u > 0 && u--;
4174
+ const d = this, g = function(l) {
4175
+ for (var f = l.split("/"), I = [], p = 0, u = 0; u < f.length; u++) {
4176
+ var B = f[u];
4177
+ B !== "." && B !== "" && B !== ".." ? I[p++] = B : B === ".." && p > 0 && p--;
4177
4178
  }
4178
- if (u === 0) return "/";
4179
+ if (p === 0) return "/";
4179
4180
  var C = "";
4180
- for (p = 0; p < u; p++) C += "/" + I[p];
4181
+ for (u = 0; u < p; u++) C += "/" + I[u];
4181
4182
  return C;
4182
4183
  }(a);
4183
4184
  if (!(a.includes(".b3dm") || a.includes(".json") || a.includes(".glb") || a.includes(".gltf"))) return void console.error("the 3DTiles cache can only be used to load B3DM, gltf and json data");
4184
- const g = d.cache.get(l);
4185
- if (g) g.addInstance(A);
4185
+ const h = d.cache.get(g);
4186
+ if (h) h.addInstance(A);
4186
4187
  else if (a.includes(".b3dm") || a.includes(".glb") || a.includes(".gltf")) {
4187
- const h = new Yi(d.scene);
4188
- h.addInstance(A), d.cache.put(l, h);
4188
+ const l = new Yi(d.scene);
4189
+ l.addInstance(A), d.cache.put(g, l);
4189
4190
  const f = new AbortController();
4190
4191
  e.signal.addEventListener("abort", () => {
4191
- h.getCount() == 0 && f.abort();
4192
- }), this.downloads.push({ abortController: f, tile: h, key: l, path: a, distanceFunction: i, getSiblings: s, level: r, uuid: t, sceneZupToYup: o, meshZupToYup: n, geometricError: b, shouldDoDownload: () => !0 });
4192
+ l.getCount() == 0 && f.abort();
4193
+ }), this.downloads.push({ abortController: f, tile: l, key: g, path: a, distanceFunction: i, getSiblings: s, level: r, uuid: t, sceneZupToYup: o, meshZupToYup: n, geometricError: b, shouldDoDownload: () => !0 });
4193
4194
  } else if (a.includes(".json")) {
4194
- const h = new Wi();
4195
- h.addInstance(A), d.cache.put(l, h);
4195
+ const l = new Wi();
4196
+ l.addInstance(A), d.cache.put(g, l);
4196
4197
  const f = new AbortController();
4197
4198
  e.signal.addEventListener("abort", () => {
4198
- h.getCount() == 0 && f.abort();
4199
- }), this.downloads.push({ abortController: f, tile: h, key: l, path: a, distanceFunction: i, getSiblings: s, level: r, shouldDoDownload: () => !0 });
4199
+ l.getCount() == 0 && f.abort();
4200
+ }), this.downloads.push({ abortController: f, tile: l, key: g, path: a, distanceFunction: i, getSiblings: s, level: r, shouldDoDownload: () => !0 });
4200
4201
  }
4201
4202
  }
4202
4203
  _getNextDownloads() {