@galacean/engine 1.3.25 → 1.3.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/browser.js CHANGED
@@ -9052,6 +9052,28 @@
9052
9052
  */ Shader.find = function find(name1) {
9053
9053
  return Shader._shaderMap[name1];
9054
9054
  };
9055
+ /**
9056
+ * @internal
9057
+ */ Shader._clear = function _clear(engine) {
9058
+ var shaderMap = Shader._shaderMap;
9059
+ for(var key in shaderMap){
9060
+ var shader = shaderMap[key];
9061
+ var subShaders = shader._subShaders;
9062
+ for(var i = 0, n = subShaders.length; i < n; i++){
9063
+ var passes = subShaders[i].passes;
9064
+ for(var j = 0, m = passes.length; j < m; j++){
9065
+ var pass = passes[j];
9066
+ var passShaderProgramPools = pass._shaderProgramPools;
9067
+ for(var k = passShaderProgramPools.length - 1; k >= 0; k--){
9068
+ var shaderProgramPool = passShaderProgramPools[k];
9069
+ if (shaderProgramPool.engine !== engine) continue;
9070
+ shaderProgramPool._destroy();
9071
+ passShaderProgramPools.splice(k, 1);
9072
+ }
9073
+ }
9074
+ }
9075
+ }
9076
+ };
9055
9077
  Shader._applyConstRenderStates = function _applyConstRenderStates(renderState, key, value) {
9056
9078
  switch(key){
9057
9079
  case exports.RenderStateDataKey.BlendStateEnabled0:
@@ -13264,6 +13286,7 @@
13264
13286
  program.uploadUnGroupTextures();
13265
13287
  (pass._renderState || blitMaterial.renderState)._applyStates(engine, false, pass._renderStateDataMap, blitMaterial.shaderData);
13266
13288
  rhi.drawPrimitive(blitMesh._primitive, blitMesh.subMesh, program);
13289
+ rendererShaderData.setTexture(PipelineUtils._blitTextureProperty, null);
13267
13290
  };
13268
13291
  return PipelineUtils;
13269
13292
  }();
@@ -13602,6 +13625,7 @@
13602
13625
  }
13603
13626
  this._renderPipeline.render(context, cubeFace, mipLevel, ignoreClearFlags);
13604
13627
  engine._renderCount++;
13628
+ context.camera = null;
13605
13629
  };
13606
13630
  _proto.setReplacementShader = function setReplacementShader(shader, replacementTag, failureStrategy) {
13607
13631
  if (failureStrategy === void 0) failureStrategy = exports.ReplacementFailureStrategy.KeepOriginalShader;
@@ -14345,17 +14369,20 @@
14345
14369
  _proto._drawMask = function _drawMask(context, pipelineStageTagValue, master) {
14346
14370
  var incrementMaskQueue = MaskManager.getMaskIncrementRenderQueue();
14347
14371
  incrementMaskQueue.renderQueueType = this.renderQueueType;
14348
- incrementMaskQueue.clear();
14349
14372
  var decrementMaskQueue = MaskManager.getMaskDecrementRenderQueue();
14350
14373
  decrementMaskQueue.renderQueueType = this.renderQueueType;
14351
- decrementMaskQueue.clear();
14352
14374
  var camera = context.camera;
14353
14375
  var engine = camera.engine;
14354
14376
  camera.scene._maskManager.buildMaskRenderElement(master, incrementMaskQueue, decrementMaskQueue);
14377
+ var primitiveChunkManagerMask = engine._batcherManager.primitiveChunkManagerMask;
14355
14378
  incrementMaskQueue._batch(engine._batcherManager);
14379
+ primitiveChunkManagerMask.uploadBuffer();
14356
14380
  incrementMaskQueue.render(context, pipelineStageTagValue, 1);
14381
+ incrementMaskQueue.clear();
14357
14382
  decrementMaskQueue._batch(engine._batcherManager);
14383
+ primitiveChunkManagerMask.uploadBuffer();
14358
14384
  decrementMaskQueue.render(context, pipelineStageTagValue, 2);
14385
+ decrementMaskQueue.clear();
14359
14386
  };
14360
14387
  RenderQueue.compareForOpaque = function compareForOpaque(a, b) {
14361
14388
  return a.priority - b.priority || a.distanceForSort - b.distanceForSort;
@@ -23626,6 +23653,7 @@
23626
23653
  * @internal
23627
23654
  */ var BasicResources = /*#__PURE__*/ function() {
23628
23655
  var BasicResources = function BasicResources(engine) {
23656
+ this.engine = engine;
23629
23657
  // prettier-ignore
23630
23658
  var vertices = new Float32Array([
23631
23659
  -1,
@@ -23685,6 +23713,11 @@
23685
23713
  }
23686
23714
  };
23687
23715
  var _proto = BasicResources.prototype;
23716
+ /**
23717
+ * @internal
23718
+ */ _proto._getBlinnPhongMaterial = function _getBlinnPhongMaterial() {
23719
+ return this._blinnPhongMaterial || (this._blinnPhongMaterial = new BlinnPhongMaterial(this.engine));
23720
+ };
23688
23721
  _proto._createBlitMesh = function _createBlitMesh(engine, vertices) {
23689
23722
  var mesh = new ModelMesh(engine);
23690
23723
  mesh._addReferCount(1);
@@ -24429,12 +24462,24 @@
24429
24462
  this._onCancelHandler && this._onCancelHandler();
24430
24463
  return this;
24431
24464
  };
24432
- /**
24433
- * Return a new resource Promise through the provided asset promise collection.
24434
- * The resolved of the new AssetPromise will be triggered when all the Promises in the provided set are completed.
24435
- * @param - Promise Collection
24436
- * @returns AssetPromise
24437
- */ AssetPromise.all = function all(promises) {
24465
+ AssetPromise.resolve = function resolve(value) {
24466
+ if (value === undefined) {
24467
+ return new AssetPromise(function(resolve) {
24468
+ return resolve();
24469
+ });
24470
+ } else if (_instanceof1$2(value, AssetPromise) || _instanceof1$2(value, Promise)) {
24471
+ return new AssetPromise(function(resolve, reject) {
24472
+ value.then(function(resolved) {
24473
+ return resolve(resolved);
24474
+ }, reject);
24475
+ });
24476
+ } else {
24477
+ return new AssetPromise(function(resolve) {
24478
+ return resolve(value);
24479
+ });
24480
+ }
24481
+ };
24482
+ AssetPromise.all = function all(values) {
24438
24483
  return new AssetPromise(function(resolve, reject, setTaskCompleteProgress) {
24439
24484
  var onComplete = function onComplete(index, resultValue) {
24440
24485
  completed++;
@@ -24445,7 +24490,7 @@
24445
24490
  }
24446
24491
  };
24447
24492
  var onProgress = function onProgress(promise, index) {
24448
- if (_instanceof1$2(promise, Promise) || _instanceof1$2(promise, AssetPromise)) {
24493
+ if (_instanceof1$2(promise, AssetPromise) || _instanceof1$2(promise, Promise)) {
24449
24494
  promise.then(function(value) {
24450
24495
  onComplete(index, value);
24451
24496
  }, reject);
@@ -24455,14 +24500,14 @@
24455
24500
  });
24456
24501
  }
24457
24502
  };
24458
- var count = promises.length;
24503
+ var count = Array.from(values).length;
24459
24504
  var results = new Array(count);
24460
24505
  var completed = 0;
24461
24506
  if (count === 0) {
24462
24507
  return resolve(results);
24463
24508
  }
24464
24509
  for(var i = 0; i < count; i++){
24465
- onProgress(promises[i], i);
24510
+ onProgress(values[i], i);
24466
24511
  }
24467
24512
  });
24468
24513
  };
@@ -25039,12 +25084,12 @@
25039
25084
  var obj = this._objectPool[refId];
25040
25085
  var promise;
25041
25086
  if (obj) {
25042
- promise = Promise.resolve(obj);
25087
+ promise = AssetPromise.resolve(obj);
25043
25088
  } else {
25044
25089
  var resourceConfig = this._editorResourceConfig[refId];
25045
25090
  if (!resourceConfig) {
25046
- Logger.warn("refId:" + refId + " is not find in this._editorResourceConfig.");
25047
- return Promise.resolve(null);
25091
+ Logger.warn("refId:" + refId + " is not find in this._idResourceMap.");
25092
+ return AssetPromise.resolve(null);
25048
25093
  }
25049
25094
  var url = resourceConfig.virtualPath;
25050
25095
  if (key) {
@@ -25989,16 +26034,24 @@
25989
26034
  }
25990
26035
  return shape.collider.entity.layer & layerMask && shape.isSceneQuery;
25991
26036
  };
26037
+ var outIDX;
26038
+ var outDistance;
26039
+ var outPosition;
26040
+ var outNormal;
25992
26041
  if (hitResult != undefined) {
25993
26042
  var result = this._nativePhysicsScene.raycast(ray, distance, onRaycast, function(idx, distance, position, normal) {
25994
- var hitShape = _this._scene.engine._physicalObjectsMap[idx];
25995
- hitResult.entity = hitShape._collider.entity;
25996
- hitResult.shape = hitShape;
25997
- hitResult.distance = distance;
25998
- hitResult.normal.copyFrom(normal);
25999
- hitResult.point.copyFrom(position);
26043
+ outIDX = idx;
26044
+ outDistance = distance;
26045
+ outPosition = position;
26046
+ outNormal = normal;
26000
26047
  });
26001
26048
  if (result) {
26049
+ var hitShape = this._scene.engine._physicalObjectsMap[outIDX];
26050
+ hitResult.entity = hitShape._collider.entity;
26051
+ hitResult.shape = hitShape;
26052
+ hitResult.distance = outDistance;
26053
+ hitResult.point.copyFrom(outPosition);
26054
+ hitResult.normal.copyFrom(outNormal);
26002
26055
  return true;
26003
26056
  } else {
26004
26057
  hitResult.entity = null;
@@ -28662,21 +28715,15 @@
28662
28715
  var _this_xrManager;
28663
28716
  this._sceneManager._destroyAllScene();
28664
28717
  this._resourceManager._destroy();
28665
- this._textDefaultFont = null;
28666
- this._fontMap = null;
28667
28718
  this.inputManager._destroy();
28668
28719
  this._batcherManager.destroy();
28669
28720
  (_this_xrManager = this.xrManager) == null ? void 0 : _this_xrManager._destroy();
28670
28721
  this.dispatch("shutdown", this);
28671
28722
  // Cancel animation
28672
28723
  this.pause();
28724
+ Shader._clear(this);
28673
28725
  this._hardwareRenderer.destroy();
28674
28726
  this.removeAllEventListeners();
28675
- this._animate = null;
28676
- this._sceneManager = null;
28677
- this._resourceManager = null;
28678
- this._canvas = null;
28679
- this._time = null;
28680
28727
  this._waitingDestroy = false;
28681
28728
  this._destroyed = true;
28682
28729
  };
@@ -28844,6 +28891,7 @@
28844
28891
  this._hardwareRenderer.resetState();
28845
28892
  this._lastRenderState = new RenderState();
28846
28893
  // Clear shader pools
28894
+ Shader._clear(this);
28847
28895
  this._shaderProgramPools.length = 0;
28848
28896
  var resourceManager = this.resourceManager;
28849
28897
  // Restore graphic resources
@@ -31920,11 +31968,13 @@
31920
31968
  * @param time - The time to sample an animation
31921
31969
  */ _proto._sampleAnimation = function _sampleAnimation(entity, time) {
31922
31970
  var _this = this, curveBindings = _this._curveBindings;
31971
+ var components = AnimationCurveOwner._components;
31923
31972
  for(var i = curveBindings.length - 1; i >= 0; i--){
31924
31973
  var curve = curveBindings[i];
31925
31974
  var targetEntity = entity.findByPath(curve.relativePath);
31926
31975
  if (targetEntity) {
31927
- var component = curve.typeIndex > 0 ? targetEntity.getComponents(curve.type, AnimationCurveOwner._components)[curve.typeIndex] : targetEntity.getComponent(curve.type);
31976
+ var component = curve.typeIndex > 0 ? targetEntity.getComponents(curve.type, components)[curve.typeIndex] : targetEntity.getComponent(curve.type);
31977
+ components.length = 0;
31928
31978
  if (!component) {
31929
31979
  continue;
31930
31980
  }
@@ -33511,13 +33561,15 @@
33511
33561
  var curveLayerOwner = animatorStateData.curveLayerOwner;
33512
33562
  var _animatorState_clip = animatorState.clip, curves = _animatorState_clip._curveBindings;
33513
33563
  var layerCurveOwnerPool = animatorLayerData.curveOwnerPool;
33564
+ var components = AnimationCurveOwner._components;
33514
33565
  for(var i = curves.length - 1; i >= 0; i--){
33515
33566
  var curve = curves[i];
33516
33567
  var relativePath = curve.relativePath;
33517
33568
  var targetEntity = curve.relativePath === "" ? entity : entity.findByPath(curve.relativePath);
33518
33569
  if (targetEntity) {
33519
33570
  var _curveOwnerPool, _instanceId, _propertyOwners, _property, _layerCurveOwnerPool, _instanceId1, _layerPropertyOwners, _property1;
33520
- var component = curve.typeIndex > 0 ? targetEntity.getComponents(curve.type, AnimationCurveOwner._components)[curve.typeIndex] : targetEntity.getComponent(curve.type);
33571
+ var component = curve.typeIndex > 0 ? targetEntity.getComponents(curve.type, components)[curve.typeIndex] : targetEntity.getComponent(curve.type);
33572
+ components.length = 0;
33521
33573
  if (!component) {
33522
33574
  continue;
33523
33575
  }
@@ -42126,7 +42178,7 @@
42126
42178
  exports.MeshDecoder = /*#__PURE__*/ function() {
42127
42179
  var MeshDecoder = function MeshDecoder() {};
42128
42180
  MeshDecoder.decode = function decode(engine, bufferReader) {
42129
- return new Promise(function(resolve) {
42181
+ return new AssetPromise(function(resolve) {
42130
42182
  var modelMesh = new ModelMesh(engine);
42131
42183
  var jsonDataString = bufferReader.nextStr();
42132
42184
  var encodedMeshData = JSON.parse(jsonDataString);
@@ -42259,7 +42311,7 @@
42259
42311
  exports.Texture2DDecoder = /*#__PURE__*/ function() {
42260
42312
  var Texture2DDecoder = function Texture2DDecoder() {};
42261
42313
  Texture2DDecoder.decode = function decode(engine, bufferReader) {
42262
- return new Promise(function(resolve, reject) {
42314
+ return new AssetPromise(function(resolve, reject) {
42263
42315
  var objectId = bufferReader.nextStr();
42264
42316
  var mipmap = !!bufferReader.nextUint8();
42265
42317
  var filterMode = bufferReader.nextUint8();
@@ -42575,7 +42627,7 @@
42575
42627
  exports.AnimationClipDecoder = /*#__PURE__*/ function() {
42576
42628
  var AnimationClipDecoder = function AnimationClipDecoder() {};
42577
42629
  AnimationClipDecoder.decode = function decode(engine, bufferReader) {
42578
- return new Promise(function(resolve) {
42630
+ return new AssetPromise(function(resolve) {
42579
42631
  var name = bufferReader.nextStr();
42580
42632
  var clip = new AnimationClip(name);
42581
42633
  var eventsLen = bufferReader.nextUint16();
@@ -43508,6 +43560,202 @@
43508
43560
  "font"
43509
43561
  ], false)
43510
43562
  ], FontLoader);
43563
+ // Source: https://github.com/zeux/meshoptimizer/blob/master/js/meshopt_decoder.js
43564
+ var ready;
43565
+ function getMeshoptDecoder() {
43566
+ var unpack = function unpack(data) {
43567
+ var result = new Uint8Array(data.length);
43568
+ for(var i = 0; i < data.length; ++i){
43569
+ var ch = data.charCodeAt(i);
43570
+ result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4;
43571
+ }
43572
+ var write = 0;
43573
+ for(var i1 = 0; i1 < data.length; ++i1){
43574
+ result[write++] = result[i1] < 60 ? wasmpack[result[i1]] : (result[i1] - 60) * 64 + result[++i1];
43575
+ }
43576
+ return result.buffer.slice(0, write);
43577
+ };
43578
+ var decode = function decode(fun, target, count, size, source, filter) {
43579
+ var sbrk = instance.exports.sbrk;
43580
+ var count4 = count + 3 & ~3;
43581
+ var tp = sbrk(count4 * size);
43582
+ var sp = sbrk(source.length);
43583
+ var heap = new Uint8Array(instance.exports.memory.buffer);
43584
+ heap.set(source, sp);
43585
+ var res = fun(tp, count, size, sp, source.length);
43586
+ if (res == 0 && filter) {
43587
+ filter(tp, count4, size);
43588
+ }
43589
+ target.set(heap.subarray(tp, tp + count * size));
43590
+ sbrk(tp - sbrk(0));
43591
+ if (res != 0) {
43592
+ throw new Error("Malformed buffer data: " + res);
43593
+ }
43594
+ };
43595
+ var createWorker = function createWorker(url) {
43596
+ var worker = {
43597
+ object: new Worker(url),
43598
+ pending: 0,
43599
+ requests: {}
43600
+ };
43601
+ worker.object.onmessage = function(event) {
43602
+ var data = event.data;
43603
+ worker.pending -= data.count;
43604
+ worker.requests[data.id][data.action](data.value);
43605
+ delete worker.requests[data.id];
43606
+ };
43607
+ return worker;
43608
+ };
43609
+ var initWorkers = function initWorkers(count) {
43610
+ var source = "var instance; var ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(unpack(wasm)) + "]), {})" + ".then(function(result) {instance = result.instance; instance.exports.__wasm_call_ctors();});\n" + "self.onmessage = workerProcess;\n" + 'function decode(fun, target, count, size, source, filter) {\n const sbrk = instance.exports.sbrk;\n const count4 = (count + 3) & ~3;\n const tp = sbrk(count4 * size);\n const sp = sbrk(source.length);\n const heap = new Uint8Array(instance.exports.memory.buffer);\n heap.set(source, sp);\n const res = fun(tp, count, size, sp, source.length);\n if (res == 0 && filter) {\n filter(tp, count4, size);\n }\n target.set(heap.subarray(tp, tp + count * size));\n sbrk(tp - sbrk(0));\n if (res != 0) {\n throw new Error("Malformed buffer data: " + res);\n }\n }\n' + 'function workerProcess(event) {\n ready.then(function () {\n const data = event.data;\n try {\n const target = new Uint8Array(data.count * data.size);\n decode(instance.exports[data.mode], target, data.count, data.size, data.source, instance.exports[data.filter]);\n self.postMessage({ id: data.id, count: data.count, action: "resolve", value: target }, [target.buffer]);\n } catch (error) {\n self.postMessage({\n id: data.id,\n count: data.count,\n action: "reject",\n value: error\n });\n }\n });\n }';
43611
+ var blob = new Blob([
43612
+ source
43613
+ ], {
43614
+ type: "text/javascript"
43615
+ });
43616
+ var url = URL.createObjectURL(blob);
43617
+ for(var i = 0; i < count; ++i){
43618
+ workers[i] = createWorker(url);
43619
+ }
43620
+ URL.revokeObjectURL(url);
43621
+ };
43622
+ var decodeWorker = function decodeWorker(count, size, source, mode, filter) {
43623
+ var worker = workers[0];
43624
+ for(var i = 1; i < workers.length; ++i){
43625
+ if (workers[i].pending < worker.pending) {
43626
+ worker = workers[i];
43627
+ }
43628
+ }
43629
+ return new Promise(function(resolve, reject) {
43630
+ var data = new Uint8Array(source);
43631
+ var id = requestId++;
43632
+ worker.pending += count;
43633
+ worker.requests[id] = {
43634
+ resolve: resolve,
43635
+ reject: reject
43636
+ };
43637
+ worker.object.postMessage({
43638
+ id: id,
43639
+ count: count,
43640
+ size: size,
43641
+ source: data,
43642
+ mode: mode,
43643
+ filter: filter
43644
+ }, [
43645
+ data.buffer
43646
+ ]);
43647
+ });
43648
+ };
43649
+ if (ready) return ready;
43650
+ var wasm_base = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:P8Yqdbk;3sezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfgocl4cifcd4hxdndndndnaoc9WGgmTmbcbhPcehsawcjdfhzalhHinaraH9Rax6midnaraHaxfgl9RcK6mbczhoinawcj;cbfaogifgoc9WfhOdndndndndnaHaic9WfgAco4fRbbaAci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOalRblalRbbgAco4gCaCciSgCE86bbaocGfalclfaCfgORbbaAcl4ciGgCaCciSgCE86bbaocVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbaoc7faOaCfgORbbaAciGgAaAciSgAE86bbaoctfaOaAfgARbbalRbegOco4gCaCciSgCE86bbaoc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc93faAaCfgARbbaOciGgOaOciSgOE86bbaoc94faAaOfgARbbalRbdgOco4gCaCciSgCE86bbaoc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc97faAaCfgARbbaOciGgOaOciSgOE86bbaoc98faAaOfgORbbalRbiglco4gAaAciSgAE86bbaoc99faOaAfgORbbalcl4ciGgAaAciSgAE86bbaoc9:faOaAfgORbbalcd4ciGgAaAciSgAE86bbaocufaOaAfgoRbbalciGglalciSglE86bbaoalfhlxdkaOalRbwalRbbgAcl4gCaCcsSgCE86bbaocGfalcwfaCfgORbbaAcsGgAaAcsSgAE86bbaocVfaOaAfgORbbalRbegAcl4gCaCcsSgCE86bbaoc7faOaCfgORbbaAcsGgAaAcsSgAE86bbaoctfaOaAfgORbbalRbdgAcl4gCaCcsSgCE86bbaoc91faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc4faOaAfgORbbalRbigAcl4gCaCcsSgCE86bbaoc93faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc94faOaAfgORbbalRblgAcl4gCaCcsSgCE86bbaoc95faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc96faOaAfgORbbalRbvgAcl4gCaCcsSgCE86bbaoc97faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc98faOaAfgORbbalRbogAcl4gCaCcsSgCE86bbaoc99faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc9:faOaAfgORbbalRbrglcl4gAaAcsSgAE86bbaocufaOaAfgoRbbalcsGglalcsSglE86bbaoalfhlxekaOal8Pbb83bbaOcwfalcwf8Pbb83bbalczfhlkdnaiam9pmbaiczfhoaral9RcL0mekkaiam6mialTmidnakTmbawaPfRbbhOcbhoazhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkkazcefhzaPcefgPad6hsalhHaPad9hmexvkkcbhlasceGmdxikalaxad2fhCdnakTmbcbhHcehsawcjdfhminaral9Rax6mialTmdalaxfhlawaHfRbbhOcbhoamhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkamcefhmaHcefgHad6hsaHad9hmbkaChlxikcbhocehsinaral9Rax6mdalTmealaxfhlaocefgoad6hsadao9hmbkaChlxdkcbhlasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqalmbkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;yzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok: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:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2geTmbinababydbgdcwtcw91:Yadce91cjjj;8ifcjjj98G::NUdbabclfhbaecufgembkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfhiaeczfheadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb";
43651
+ var wasm_simd = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;t9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;h8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;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:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgohAaoclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;uzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:EPliuo97eue978Jjjjjbca9Rhidndnadcl9hmbdnaec98GglTmbcbhvabhdinadadpbbbgocKp: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:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaiaeciGgvcdtgdVcbczad9R;8kbaiabalcdtfglad;8qbbdnavTmbaiaipblbgocKp: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:RepxbbFbbbFbbbFbbbFbp9op9qpklbkalaiad;8qbbskdnaec98GgxTmbcbhvabhdinadczfglalpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;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;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgvax6mbkkaxae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabaxcitfglad;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;ab9Rhidnadcd4ae2glc98GgvTmbcbhdabheinaeaepbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbaeczfheadclfgdav6mbkkdnaval9pmbaialciGgdcdtgeVcbc;abae9R;8kbaiabavcdtfgvae;8qbbdnadTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiae;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb";
43652
+ var wasmpack = new Uint8Array([
43653
+ 32,
43654
+ 0,
43655
+ 65,
43656
+ 2,
43657
+ 1,
43658
+ 106,
43659
+ 34,
43660
+ 33,
43661
+ 3,
43662
+ 128,
43663
+ 11,
43664
+ 4,
43665
+ 13,
43666
+ 64,
43667
+ 6,
43668
+ 253,
43669
+ 10,
43670
+ 7,
43671
+ 15,
43672
+ 116,
43673
+ 127,
43674
+ 5,
43675
+ 8,
43676
+ 12,
43677
+ 40,
43678
+ 16,
43679
+ 19,
43680
+ 54,
43681
+ 20,
43682
+ 9,
43683
+ 27,
43684
+ 255,
43685
+ 113,
43686
+ 17,
43687
+ 42,
43688
+ 67,
43689
+ 24,
43690
+ 23,
43691
+ 146,
43692
+ 148,
43693
+ 18,
43694
+ 14,
43695
+ 22,
43696
+ 45,
43697
+ 70,
43698
+ 69,
43699
+ 56,
43700
+ 114,
43701
+ 101,
43702
+ 21,
43703
+ 25,
43704
+ 63,
43705
+ 75,
43706
+ 136,
43707
+ 108,
43708
+ 28,
43709
+ 118,
43710
+ 29,
43711
+ 73,
43712
+ 115
43713
+ ]);
43714
+ // @ts-ignore
43715
+ var wasm = SystemInfo._detectSIMDSupported() ? wasm_simd : wasm_base;
43716
+ var instance;
43717
+ ready = WebAssembly.instantiate(unpack(wasm)).then(function(result) {
43718
+ instance = result.instance;
43719
+ instance.exports.__wasm_call_ctors();
43720
+ }).then(function() {
43721
+ return {
43722
+ workerCount: 4,
43723
+ ready: ready,
43724
+ useWorkers: function useWorkers(workerCount) {
43725
+ this.workerCount = workerCount != null ? workerCount : this.workerCount;
43726
+ initWorkers(this.workerCount);
43727
+ },
43728
+ decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
43729
+ if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
43730
+ if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
43731
+ return ready.then(function() {
43732
+ var target = new Uint8Array(count * stride);
43733
+ decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
43734
+ return target;
43735
+ });
43736
+ },
43737
+ release: function release() {
43738
+ for(var i = 0; i < workers.length; i++){
43739
+ workers[i].object.terminate();
43740
+ }
43741
+ }
43742
+ };
43743
+ });
43744
+ var filters = {
43745
+ NONE: "",
43746
+ OCTAHEDRAL: "meshopt_decodeFilterOct",
43747
+ QUATERNION: "meshopt_decodeFilterQuat",
43748
+ EXPONENTIAL: "meshopt_decodeFilterExp"
43749
+ };
43750
+ var decoders = {
43751
+ ATTRIBUTES: "meshopt_decodeVertexBuffer",
43752
+ TRIANGLES: "meshopt_decodeIndexBuffer",
43753
+ INDICES: "meshopt_decodeIndexSequence"
43754
+ };
43755
+ var workers = [];
43756
+ var requestId = 0;
43757
+ return ready;
43758
+ }
43511
43759
  /**
43512
43760
  * The glTF resource.
43513
43761
  */ var GLTFResource = /*#__PURE__*/ function(ReferResource1) {
@@ -43534,14 +43782,15 @@
43534
43782
  materials && this._disassociationSuperResource(materials);
43535
43783
  if (meshes) {
43536
43784
  for(var i = 0, n = meshes.length; i < n; i++){
43537
- this._disassociationSuperResource(meshes[i]);
43785
+ var meshArr = meshes[i];
43786
+ meshArr && this._disassociationSuperResource(meshArr);
43538
43787
  }
43539
43788
  }
43540
43789
  };
43541
43790
  _proto._disassociationSuperResource = function _disassociationSuperResource(resources) {
43542
43791
  for(var i = 0, n = resources.length; i < n; i++){
43543
- // @ts-ignore
43544
- resources[i]._disassociationSuperResource(this);
43792
+ var _resources_i;
43793
+ (_resources_i = resources[i]) == null ? void 0 : _resources_i._disassociationSuperResource(this);
43545
43794
  }
43546
43795
  };
43547
43796
  _create_class(GLTFResource, [
@@ -43730,6 +43979,7 @@
43730
43979
  this.params = params;
43731
43980
  this.accessorBufferCache = {};
43732
43981
  this.needAnimatorController = false;
43982
+ this./** @internal */ _getPromises = [];
43733
43983
  this._resourceCache = new Map();
43734
43984
  this._progress = {
43735
43985
  taskDetail: {},
@@ -43754,7 +44004,7 @@
43754
44004
  var _this = this;
43755
44005
  var parser = GLTFParserContext._parsers[type];
43756
44006
  if (!parser) {
43757
- return Promise.resolve(null);
44007
+ return AssetPromise.resolve(null);
43758
44008
  }
43759
44009
  var cache = this._resourceCache;
43760
44010
  var cacheKey = index === undefined ? "" + type : type + ":" + index;
@@ -43770,7 +44020,7 @@
43770
44020
  if (index === undefined) {
43771
44021
  resource = type === 8 ? glTFItems.map(function(_, index) {
43772
44022
  return _this.get(type, index);
43773
- }) : Promise.all(glTFItems.map(function(_, index) {
44023
+ }) : AssetPromise.all(glTFItems.map(function(_, index) {
43774
44024
  return _this.get(type, index);
43775
44025
  }));
43776
44026
  } else {
@@ -43778,12 +44028,15 @@
43778
44028
  isSubAsset && this._handleSubAsset(resource, type, index);
43779
44029
  }
43780
44030
  } else {
43781
- resource = Promise.resolve(null);
44031
+ resource = AssetPromise.resolve(null);
43782
44032
  }
43783
44033
  } else {
43784
44034
  resource = parser.parse(this, index);
43785
44035
  isSubAsset && this._handleSubAsset(resource, type, index);
43786
44036
  }
44037
+ if (_instanceof1(resource, AssetPromise)) {
44038
+ this._getPromises.push(resource);
44039
+ }
43787
44040
  cache.set(cacheKey, resource);
43788
44041
  return resource;
43789
44042
  };
@@ -43792,7 +44045,7 @@
43792
44045
  var promise = this.get(0).then(function(json) {
43793
44046
  _this.glTF = json;
43794
44047
  _this.needAnimatorController = !!(json.skins || json.animations);
43795
- return Promise.all([
44048
+ return AssetPromise.all([
43796
44049
  _this.get(1),
43797
44050
  _this.get(5),
43798
44051
  _this.get(6),
@@ -43823,6 +44076,8 @@
43823
44076
  task.total += 1;
43824
44077
  taskPromise.then(function() {
43825
44078
  _this._setTaskCompleteProgress(++task.loaded, task.total);
44079
+ }, function(e) {
44080
+ Logger.error("Failed to complete task", e);
43826
44081
  });
43827
44082
  };
43828
44083
  _proto._handleSubAsset = function _handleSubAsset(resource, type, index) {
@@ -43855,6 +44110,8 @@
43855
44110
  _this.resourceManager._onSubAssetSuccess(url, "defaultSceneRoot", item);
43856
44111
  }
43857
44112
  }
44113
+ }).catch(function(e) {
44114
+ Logger.error("GLTFParserContext", "Failed to load " + glTFResourceKey + " " + index + ": " + e);
43858
44115
  });
43859
44116
  }
43860
44117
  };
@@ -44034,13 +44291,15 @@
44034
44291
  bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset1, count1));
44035
44292
  }
44036
44293
  return bufferInfo;
44294
+ }).catch(function(e) {
44295
+ Logger.error("GLTFUtil getAccessorBuffer error", e);
44037
44296
  });
44038
44297
  } else {
44039
44298
  var count = accessorCount * dataElementSize;
44040
44299
  var data = new TypedArray(count);
44041
44300
  var bufferInfo = new BufferInfo(data, false, elementStride);
44042
44301
  bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(undefined, TypedArray, undefined, count));
44043
- promise = Promise.resolve(bufferInfo);
44302
+ promise = AssetPromise.resolve(bufferInfo);
44044
44303
  }
44045
44304
  return accessor.sparse ? promise.then(function(bufferInfo) {
44046
44305
  return GLTFUtils.processingSparseData(context, accessor, bufferInfo).then(function() {
@@ -44075,7 +44334,7 @@
44075
44334
  var _accessor_sparse = accessor.sparse, count = _accessor_sparse.count, indices = _accessor_sparse.indices, values = _accessor_sparse.values;
44076
44335
  var indicesBufferView = bufferViews[indices.bufferView];
44077
44336
  var valuesBufferView = bufferViews[values.bufferView];
44078
- return Promise.all([
44337
+ return AssetPromise.all([
44079
44338
  context.get(exports.GLTFParserType.BufferView, indices.bufferView),
44080
44339
  context.get(exports.GLTFParserType.BufferView, values.bufferView)
44081
44340
  ]).then(function(param) {
@@ -44102,6 +44361,8 @@
44102
44361
  }
44103
44362
  }
44104
44363
  bufferInfo.data = data;
44364
+ }).catch(function(e) {
44365
+ Logger.error("GLTFUtil processingSparseData error", e);
44105
44366
  });
44106
44367
  };
44107
44368
  GLTFUtils.getIndexFormat = function getIndexFormat(type) {
@@ -45606,11 +45867,10 @@
45606
45867
  for(var _len = arguments.length, extra = new Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++){
45607
45868
  extra[_key - 5] = arguments[_key];
45608
45869
  }
45870
+ var _parser;
45871
+ var _parser1;
45609
45872
  var parser = GLTFParser.getExtensionParser(extensionName, exports.GLTFExtensionMode.AdditiveParse);
45610
- if (parser) {
45611
- var _parser;
45612
- (_parser = parser).additiveParse.apply(_parser, [].concat(context, parseResource, extensionSchema, ownerSchema, extra));
45613
- }
45873
+ (_parser1 = parser) == null ? void 0 : (_parser = _parser1).additiveParse.apply(_parser, [].concat(context, parseResource, extensionSchema, ownerSchema, extra));
45614
45874
  };
45615
45875
  return GLTFParser;
45616
45876
  }();
@@ -45678,7 +45938,7 @@
45678
45938
  var animationInfo = context.glTF.animations[index];
45679
45939
  var _animationInfo_name = animationInfo.name, name = _animationInfo_name === void 0 ? "AnimationClip" + index : _animationInfo_name;
45680
45940
  var animationClipPromise = GLTFParser.executeExtensionsCreateAndParse(animationInfo.extensions, context, animationInfo) || exports.GLTFAnimationParser._parseStandardProperty(context, new AnimationClip(name), animationInfo);
45681
- return Promise.resolve(animationClipPromise).then(function(animationClip) {
45941
+ return AssetPromise.resolve(animationClipPromise).then(function(animationClip) {
45682
45942
  GLTFParser.executeExtensionsAdditiveAndParse(animationInfo.extensions, context, animationClip, animationInfo);
45683
45943
  return animationClip;
45684
45944
  });
@@ -45690,7 +45950,7 @@
45690
45950
  var glTFSampler = samplers[j];
45691
45951
  var inputAccessor = accessors[glTFSampler.input];
45692
45952
  var outputAccessor = accessors[glTFSampler.output];
45693
- var promise = Promise.all([
45953
+ var promise = AssetPromise.all([
45694
45954
  GLTFUtils.getAccessorBuffer(context, bufferViews, inputAccessor),
45695
45955
  GLTFUtils.getAccessorBuffer(context, bufferViews, outputAccessor)
45696
45956
  ]).then(function(bufferInfos) {
@@ -45741,7 +46001,7 @@
45741
46001
  // parse samplers
45742
46002
  for(var j = 0, m = len; j < m; j++)_loop(j);
45743
46003
  promises.push(context.get(exports.GLTFParserType.Scene));
45744
- return Promise.all(promises).then(function() {
46004
+ return AssetPromise.all(promises).then(function() {
45745
46005
  for(var j = 0, m = channels.length; j < m; j++){
45746
46006
  var glTFChannel = channels[j];
45747
46007
  var target = glTFChannel.target;
@@ -45870,7 +46130,7 @@
45870
46130
  var _proto = GLTFBufferParser.prototype;
45871
46131
  _proto.parse = function parse(context, index) {
45872
46132
  var buffers = context.glTF.buffers;
45873
- return context.buffers ? Promise.resolve(context.buffers[index]) : this._parseSingleBuffer(context, buffers[index]);
46133
+ return context.buffers ? AssetPromise.resolve(context.buffers[index]) : this._parseSingleBuffer(context, buffers[index]);
45874
46134
  };
45875
46135
  _proto._parseSingleBuffer = function _parseSingleBuffer(context, bufferInfo) {
45876
46136
  var glTFResource = context.glTFResource, contentRestorer = context.contentRestorer, resourceManager = context.resourceManager;
@@ -45955,18 +46215,15 @@
45955
46215
  material.name = materialInfo.name;
45956
46216
  exports.GLTFMaterialParser._parseStandardProperty(context, material, materialInfo);
45957
46217
  }
45958
- return Promise.resolve(material).then(function(material) {
45959
- material || (material = exports.GLTFMaterialParser._getDefaultMaterial(engine));
46218
+ return AssetPromise.resolve(material).then(function(material) {
46219
+ // @ts-ignore
46220
+ material || (material = engine._basicResources._getBlinnPhongMaterial());
45960
46221
  GLTFParser.executeExtensionsAdditiveAndParse(materialInfo.extensions, context, material, materialInfo);
45961
46222
  // @ts-ignore
45962
46223
  material._associationSuperResource(glTFResource);
45963
46224
  return material;
45964
46225
  });
45965
46226
  };
45966
- /** @internal */ GLTFMaterialParser1._getDefaultMaterial = function _getDefaultMaterial(engine) {
45967
- var _GLTFMaterialParser;
45968
- return (_GLTFMaterialParser = exports.GLTFMaterialParser)._defaultMaterial || (_GLTFMaterialParser._defaultMaterial = new BlinnPhongMaterial(engine));
45969
- };
45970
46227
  /**
45971
46228
  * @internal
45972
46229
  */ GLTFMaterialParser1._checkOtherTextureTransform = function _checkOtherTextureTransform(texture, textureName) {
@@ -45988,6 +46245,8 @@
45988
46245
  context.get(exports.GLTFParserType.Texture, baseColorTexture.index).then(function(texture) {
45989
46246
  material.baseTexture = texture;
45990
46247
  GLTFParser.executeExtensionsAdditiveAndParse(baseColorTexture.extensions, context, material, baseColorTexture);
46248
+ }).catch(function(e) {
46249
+ Logger.error("GLTFMaterialParser: baseColorTexture error", e);
45991
46250
  });
45992
46251
  }
45993
46252
  if (material.constructor === PBRMaterial) {
@@ -45997,6 +46256,8 @@
45997
46256
  exports.GLTFMaterialParser._checkOtherTextureTransform(metallicRoughnessTexture, "Roughness metallic");
45998
46257
  context.get(exports.GLTFParserType.Texture, metallicRoughnessTexture.index).then(function(texture) {
45999
46258
  material.roughnessMetallicTexture = texture;
46259
+ }).catch(function(e) {
46260
+ Logger.error("GLTFMaterialParser: metallicRoughnessTexture error", e);
46000
46261
  });
46001
46262
  }
46002
46263
  }
@@ -46006,6 +46267,8 @@
46006
46267
  exports.GLTFMaterialParser._checkOtherTextureTransform(emissiveTexture, "Emissive");
46007
46268
  context.get(exports.GLTFParserType.Texture, emissiveTexture.index).then(function(texture) {
46008
46269
  material.emissiveTexture = texture;
46270
+ }).catch(function(e) {
46271
+ Logger.error("GLTFMaterialParser: emissiveTexture error", e);
46009
46272
  });
46010
46273
  }
46011
46274
  if (emissiveFactor) {
@@ -46016,6 +46279,8 @@
46016
46279
  exports.GLTFMaterialParser._checkOtherTextureTransform(normalTexture, "Normal");
46017
46280
  context.get(exports.GLTFParserType.Texture, index).then(function(texture) {
46018
46281
  material.normalTexture = texture;
46282
+ }).catch(function(e) {
46283
+ Logger.error("GLTFMaterialParser: emissiveTexture error", e);
46019
46284
  });
46020
46285
  if (scale !== undefined) {
46021
46286
  material.normalTextureIntensity = scale;
@@ -46026,6 +46291,8 @@
46026
46291
  exports.GLTFMaterialParser._checkOtherTextureTransform(occlusionTexture, "Occlusion");
46027
46292
  context.get(exports.GLTFParserType.Texture, index1).then(function(texture) {
46028
46293
  material.occlusionTexture = texture;
46294
+ }).catch(function(e) {
46295
+ Logger.error("GLTFMaterialParser: occlusionTexture error", e);
46029
46296
  });
46030
46297
  if (strength !== undefined) {
46031
46298
  material.occlusionTextureIntensity = strength;
@@ -46069,7 +46336,7 @@
46069
46336
  _proto.parse = function parse(context, index) {
46070
46337
  var _loop = function _loop(i, length) {
46071
46338
  var gltfPrimitive = meshInfo.primitives[i];
46072
- primitivePromises[i] = new Promise(function(resolve) {
46339
+ primitivePromises[i] = new AssetPromise(function(resolve, reject) {
46073
46340
  var mesh = GLTFParser.executeExtensionsCreateAndParse(gltfPrimitive.extensions, context, gltfPrimitive, meshInfo);
46074
46341
  if (mesh) {
46075
46342
  if (_instanceof1(mesh, ModelMesh)) {
@@ -46090,7 +46357,7 @@
46090
46357
  var meshRestoreInfo = new ModelMeshRestoreInfo();
46091
46358
  meshRestoreInfo.mesh = mesh1;
46092
46359
  context.contentRestorer.meshes.push(meshRestoreInfo);
46093
- exports.GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF, context.params.keepMeshData).then(resolve);
46360
+ exports.GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF, context.params.keepMeshData).then(resolve, reject);
46094
46361
  }
46095
46362
  });
46096
46363
  };
@@ -46099,7 +46366,7 @@
46099
46366
  var engine = glTFResource.engine;
46100
46367
  var primitivePromises = new Array();
46101
46368
  for(var i = 0, length = meshInfo.primitives.length; i < length; i++)_loop(i);
46102
- return Promise.all(primitivePromises);
46369
+ return AssetPromise.all(primitivePromises);
46103
46370
  };
46104
46371
  /**
46105
46372
  * @internal
@@ -46182,7 +46449,7 @@
46182
46449
  var bufferBindIndex = 0;
46183
46450
  var promises = new Array();
46184
46451
  for(var attribute in attributes)_loop(attribute);
46185
- return Promise.all(promises).then(function() {
46452
+ return AssetPromise.all(promises).then(function() {
46186
46453
  mesh.setVertexElements(vertexElements);
46187
46454
  // Indices
46188
46455
  if (indices !== undefined) {
@@ -46232,7 +46499,7 @@
46232
46499
  var tangentTarget = targets["TANGENT"];
46233
46500
  var hasNormal = normalTarget !== undefined;
46234
46501
  var hasTangent = tangentTarget !== undefined;
46235
- var promise = Promise.all([
46502
+ var promise = AssetPromise.all([
46236
46503
  _this._getBlendShapeData(context, glTF, accessors[targets["POSITION"]]),
46237
46504
  hasNormal ? _this._getBlendShapeData(context, glTF, accessors[normalTarget]) : null,
46238
46505
  hasTangent ? _this._getBlendShapeData(context, glTF, accessors[tangentTarget]) : null
@@ -46253,7 +46520,7 @@
46253
46520
  var blendShapeCount = glTFTargets.length;
46254
46521
  var blendShapeCollection = new Array(blendShapeCount);
46255
46522
  for(var i = 0; i < blendShapeCount; i++)_loop(i);
46256
- return Promise.all(promises).then(function() {
46523
+ return AssetPromise.all(promises).then(function() {
46257
46524
  for(var _iterator = _create_for_of_iterator_helper_loose(blendShapeCollection), _step; !(_step = _iterator()).done;){
46258
46525
  var blendShape = _step.value;
46259
46526
  mesh.addBlendShape(blendShape.blendShape);
@@ -46300,7 +46567,7 @@
46300
46567
  for(var i1 = 0; i1 < sceneNodes.length; i1++){
46301
46568
  promises.push(this._parseEntityComponent(context, sceneNodes[i1]));
46302
46569
  }
46303
- return Promise.all(promises).then(function() {
46570
+ return AssetPromise.all(promises).then(function() {
46304
46571
  GLTFParser.executeExtensionsAdditiveAndParse(sceneExtensions, context, sceneRoot, sceneInfo);
46305
46572
  return sceneRoot;
46306
46573
  });
@@ -46318,7 +46585,7 @@
46318
46585
  if (meshID !== undefined) {
46319
46586
  promise = this._createRenderer(context, entityInfo, entity);
46320
46587
  }
46321
- return Promise.resolve(promise).then(function() {
46588
+ return AssetPromise.resolve(promise).then(function() {
46322
46589
  var promises = [];
46323
46590
  var children = entityInfo.children;
46324
46591
  if (children) {
@@ -46326,7 +46593,7 @@
46326
46593
  promises.push(_this._parseEntityComponent(context, children[i]));
46327
46594
  }
46328
46595
  }
46329
- return Promise.all(promises);
46596
+ return AssetPromise.all(promises);
46330
46597
  });
46331
46598
  };
46332
46599
  _proto._createCamera = function _createCamera(resource, cameraSchema, entity) {
@@ -46375,13 +46642,14 @@
46375
46642
  var _glTFMeshPrimitives_i_material;
46376
46643
  materialPromises[i] = context.get(exports.GLTFParserType.Material, (_glTFMeshPrimitives_i_material = glTFMeshPrimitives[i].material) != null ? _glTFMeshPrimitives_i_material : -1);
46377
46644
  }
46378
- return Promise.all([
46645
+ return AssetPromise.all([
46379
46646
  context.get(exports.GLTFParserType.Mesh, meshID),
46380
46647
  skinID !== undefined && context.get(exports.GLTFParserType.Skin, skinID),
46381
- Promise.all(materialPromises)
46648
+ AssetPromise.all(materialPromises)
46382
46649
  ]).then(function(param) {
46383
46650
  var _loop = function _loop(i) {
46384
- var material = materials[i] || exports.GLTFMaterialParser._getDefaultMaterial(context.glTFResource.engine);
46651
+ // @ts-ignore
46652
+ var material = materials[i] || context.glTFResource.engine._basicResources._getBlinnPhongMaterial();
46385
46653
  var glTFPrimitive = glTFMeshPrimitives[i];
46386
46654
  var mesh = meshes[i];
46387
46655
  var renderer = void 0;
@@ -46411,6 +46679,8 @@
46411
46679
  };
46412
46680
  var meshes = param[0], skin = param[1], materials = param[2];
46413
46681
  for(var i = 0; i < rendererCount; i++)_loop(i);
46682
+ }).catch(function(e) {
46683
+ Logger.error("GLTFSceneParser: create renderer error", e);
46414
46684
  });
46415
46685
  };
46416
46686
  _proto._computeLocalBounds = function _computeLocalBounds(skinnedMeshRenderer, mesh, bones, rootBone, inverseBindMatrices) {
@@ -46494,7 +46764,7 @@
46494
46764
  }
46495
46765
  return skin;
46496
46766
  });
46497
- return Promise.resolve(skinPromise);
46767
+ return AssetPromise.resolve(skinPromise);
46498
46768
  };
46499
46769
  _proto._findSkeletonRootBone = function _findSkeletonRootBone(joints, entities) {
46500
46770
  var paths = {};
@@ -46544,7 +46814,7 @@
46544
46814
  if (!texture) {
46545
46815
  texture = exports.GLTFTextureParser._parseTexture(context, imageIndex, textureIndex, sampler, textureName);
46546
46816
  }
46547
- return Promise.resolve(texture).then(function(texture) {
46817
+ return AssetPromise.resolve(texture).then(function(texture) {
46548
46818
  GLTFParser.executeExtensionsAdditiveAndParse(extensions, context, texture, textureInfo);
46549
46819
  // @ts-ignore
46550
46820
  texture._associationSuperResource(glTFResource);
@@ -46591,6 +46861,8 @@
46591
46861
  context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
46592
46862
  return texture;
46593
46863
  });
46864
+ }).catch(function(e) {
46865
+ Logger.error("GLTFTextureParser: image buffer error", e);
46594
46866
  });
46595
46867
  }
46596
46868
  return texture;
@@ -46633,7 +46905,7 @@
46633
46905
  }
46634
46906
  }
46635
46907
  }
46636
- return Promise.resolve(null);
46908
+ return AssetPromise.resolve(null);
46637
46909
  };
46638
46910
  return GLTFValidator;
46639
46911
  }(GLTFParser);
@@ -46651,6 +46923,8 @@
46651
46923
  var extensions = bufferView.extensions, _bufferView_byteOffset = bufferView.byteOffset, byteOffset = _bufferView_byteOffset === void 0 ? 0 : _bufferView_byteOffset, byteLength = bufferView.byteLength, bufferIndex = bufferView.buffer;
46652
46924
  return extensions ? GLTFParser.executeExtensionsCreateAndParse(extensions, context, bufferView) : context.get(exports.GLTFParserType.Buffer, bufferIndex).then(function(buffer) {
46653
46925
  return new Uint8Array(buffer, byteOffset, byteLength);
46926
+ }).catch(function(e) {
46927
+ Logger.error("GLTFBufferViewParser: buffer error", e);
46654
46928
  });
46655
46929
  };
46656
46930
  return GLTFBufferViewParser;
@@ -46667,11 +46941,13 @@
46667
46941
  _proto.parse = function parse(context) {
46668
46942
  var _this = this;
46669
46943
  if (!context.needAnimatorController) {
46670
- return Promise.resolve(null);
46944
+ return AssetPromise.resolve(null);
46671
46945
  }
46672
46946
  return context.get(exports.GLTFParserType.Animation).then(function(animations) {
46673
46947
  var animatorController = _this._createAnimatorController(context, animations);
46674
- return Promise.resolve(animatorController);
46948
+ return AssetPromise.resolve(animatorController);
46949
+ }).catch(function(e) {
46950
+ Logger.error("GLTFAnimatorControllerParser: animator controller error", e);
46675
46951
  });
46676
46952
  };
46677
46953
  _proto._createAnimatorController = function _createAnimatorController(context, animations) {
@@ -46701,202 +46977,6 @@
46701
46977
  exports.GLTFAnimatorControllerParser = __decorate([
46702
46978
  registerGLTFParser(exports.GLTFParserType.AnimatorController)
46703
46979
  ], exports.GLTFAnimatorControllerParser);
46704
- // Source: https://github.com/zeux/meshoptimizer/blob/master/js/meshopt_decoder.js
46705
- var ready;
46706
- function getMeshoptDecoder() {
46707
- var unpack = function unpack(data) {
46708
- var result = new Uint8Array(data.length);
46709
- for(var i = 0; i < data.length; ++i){
46710
- var ch = data.charCodeAt(i);
46711
- result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4;
46712
- }
46713
- var write = 0;
46714
- for(var i1 = 0; i1 < data.length; ++i1){
46715
- result[write++] = result[i1] < 60 ? wasmpack[result[i1]] : (result[i1] - 60) * 64 + result[++i1];
46716
- }
46717
- return result.buffer.slice(0, write);
46718
- };
46719
- var decode = function decode(fun, target, count, size, source, filter) {
46720
- var sbrk = instance.exports.sbrk;
46721
- var count4 = count + 3 & ~3;
46722
- var tp = sbrk(count4 * size);
46723
- var sp = sbrk(source.length);
46724
- var heap = new Uint8Array(instance.exports.memory.buffer);
46725
- heap.set(source, sp);
46726
- var res = fun(tp, count, size, sp, source.length);
46727
- if (res == 0 && filter) {
46728
- filter(tp, count4, size);
46729
- }
46730
- target.set(heap.subarray(tp, tp + count * size));
46731
- sbrk(tp - sbrk(0));
46732
- if (res != 0) {
46733
- throw new Error("Malformed buffer data: " + res);
46734
- }
46735
- };
46736
- var createWorker = function createWorker(url) {
46737
- var worker = {
46738
- object: new Worker(url),
46739
- pending: 0,
46740
- requests: {}
46741
- };
46742
- worker.object.onmessage = function(event) {
46743
- var data = event.data;
46744
- worker.pending -= data.count;
46745
- worker.requests[data.id][data.action](data.value);
46746
- delete worker.requests[data.id];
46747
- };
46748
- return worker;
46749
- };
46750
- var initWorkers = function initWorkers(count) {
46751
- var source = "var instance; var ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(unpack(wasm)) + "]), {})" + ".then(function(result) {instance = result.instance; instance.exports.__wasm_call_ctors();});\n" + "self.onmessage = workerProcess;\n" + 'function decode(fun, target, count, size, source, filter) {\n const sbrk = instance.exports.sbrk;\n const count4 = (count + 3) & ~3;\n const tp = sbrk(count4 * size);\n const sp = sbrk(source.length);\n const heap = new Uint8Array(instance.exports.memory.buffer);\n heap.set(source, sp);\n const res = fun(tp, count, size, sp, source.length);\n if (res == 0 && filter) {\n filter(tp, count4, size);\n }\n target.set(heap.subarray(tp, tp + count * size));\n sbrk(tp - sbrk(0));\n if (res != 0) {\n throw new Error("Malformed buffer data: " + res);\n }\n }\n' + 'function workerProcess(event) {\n ready.then(function () {\n const data = event.data;\n try {\n const target = new Uint8Array(data.count * data.size);\n decode(instance.exports[data.mode], target, data.count, data.size, data.source, instance.exports[data.filter]);\n self.postMessage({ id: data.id, count: data.count, action: "resolve", value: target }, [target.buffer]);\n } catch (error) {\n self.postMessage({\n id: data.id,\n count: data.count,\n action: "reject",\n value: error\n });\n }\n });\n }';
46752
- var blob = new Blob([
46753
- source
46754
- ], {
46755
- type: "text/javascript"
46756
- });
46757
- var url = URL.createObjectURL(blob);
46758
- for(var i = 0; i < count; ++i){
46759
- workers[i] = createWorker(url);
46760
- }
46761
- URL.revokeObjectURL(url);
46762
- };
46763
- var decodeWorker = function decodeWorker(count, size, source, mode, filter) {
46764
- var worker = workers[0];
46765
- for(var i = 1; i < workers.length; ++i){
46766
- if (workers[i].pending < worker.pending) {
46767
- worker = workers[i];
46768
- }
46769
- }
46770
- return new Promise(function(resolve, reject) {
46771
- var data = new Uint8Array(source);
46772
- var id = requestId++;
46773
- worker.pending += count;
46774
- worker.requests[id] = {
46775
- resolve: resolve,
46776
- reject: reject
46777
- };
46778
- worker.object.postMessage({
46779
- id: id,
46780
- count: count,
46781
- size: size,
46782
- source: data,
46783
- mode: mode,
46784
- filter: filter
46785
- }, [
46786
- data.buffer
46787
- ]);
46788
- });
46789
- };
46790
- if (ready) return ready;
46791
- var wasm_base = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:P8Yqdbk;3sezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfgocl4cifcd4hxdndndndnaoc9WGgmTmbcbhPcehsawcjdfhzalhHinaraH9Rax6midnaraHaxfgl9RcK6mbczhoinawcj;cbfaogifgoc9WfhOdndndndndnaHaic9WfgAco4fRbbaAci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOalRblalRbbgAco4gCaCciSgCE86bbaocGfalclfaCfgORbbaAcl4ciGgCaCciSgCE86bbaocVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbaoc7faOaCfgORbbaAciGgAaAciSgAE86bbaoctfaOaAfgARbbalRbegOco4gCaCciSgCE86bbaoc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc93faAaCfgARbbaOciGgOaOciSgOE86bbaoc94faAaOfgARbbalRbdgOco4gCaCciSgCE86bbaoc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc97faAaCfgARbbaOciGgOaOciSgOE86bbaoc98faAaOfgORbbalRbiglco4gAaAciSgAE86bbaoc99faOaAfgORbbalcl4ciGgAaAciSgAE86bbaoc9:faOaAfgORbbalcd4ciGgAaAciSgAE86bbaocufaOaAfgoRbbalciGglalciSglE86bbaoalfhlxdkaOalRbwalRbbgAcl4gCaCcsSgCE86bbaocGfalcwfaCfgORbbaAcsGgAaAcsSgAE86bbaocVfaOaAfgORbbalRbegAcl4gCaCcsSgCE86bbaoc7faOaCfgORbbaAcsGgAaAcsSgAE86bbaoctfaOaAfgORbbalRbdgAcl4gCaCcsSgCE86bbaoc91faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc4faOaAfgORbbalRbigAcl4gCaCcsSgCE86bbaoc93faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc94faOaAfgORbbalRblgAcl4gCaCcsSgCE86bbaoc95faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc96faOaAfgORbbalRbvgAcl4gCaCcsSgCE86bbaoc97faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc98faOaAfgORbbalRbogAcl4gCaCcsSgCE86bbaoc99faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc9:faOaAfgORbbalRbrglcl4gAaAcsSgAE86bbaocufaOaAfgoRbbalcsGglalcsSglE86bbaoalfhlxekaOal8Pbb83bbaOcwfalcwf8Pbb83bbalczfhlkdnaiam9pmbaiczfhoaral9RcL0mekkaiam6mialTmidnakTmbawaPfRbbhOcbhoazhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkkazcefhzaPcefgPad6hsalhHaPad9hmexvkkcbhlasceGmdxikalaxad2fhCdnakTmbcbhHcehsawcjdfhminaral9Rax6mialTmdalaxfhlawaHfRbbhOcbhoamhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkamcefhmaHcefgHad6hsaHad9hmbkaChlxikcbhocehsinaral9Rax6mdalTmealaxfhlaocefgoad6hsadao9hmbkaChlxdkcbhlasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqalmbkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;yzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok: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:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2geTmbinababydbgdcwtcw91:Yadce91cjjj;8ifcjjj98G::NUdbabclfhbaecufgembkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfhiaeczfheadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb";
46792
- var wasm_simd = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;t9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;h8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;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:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgohAaoclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;uzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:EPliuo97eue978Jjjjjbca9Rhidndnadcl9hmbdnaec98GglTmbcbhvabhdinadadpbbbgocKp: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:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaiaeciGgvcdtgdVcbczad9R;8kbaiabalcdtfglad;8qbbdnavTmbaiaipblbgocKp: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:RepxbbFbbbFbbbFbbbFbp9op9qpklbkalaiad;8qbbskdnaec98GgxTmbcbhvabhdinadczfglalpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;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;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgvax6mbkkaxae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabaxcitfglad;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;ab9Rhidnadcd4ae2glc98GgvTmbcbhdabheinaeaepbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbaeczfheadclfgdav6mbkkdnaval9pmbaialciGgdcdtgeVcbc;abae9R;8kbaiabavcdtfgvae;8qbbdnadTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiae;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb";
46793
- var wasmpack = new Uint8Array([
46794
- 32,
46795
- 0,
46796
- 65,
46797
- 2,
46798
- 1,
46799
- 106,
46800
- 34,
46801
- 33,
46802
- 3,
46803
- 128,
46804
- 11,
46805
- 4,
46806
- 13,
46807
- 64,
46808
- 6,
46809
- 253,
46810
- 10,
46811
- 7,
46812
- 15,
46813
- 116,
46814
- 127,
46815
- 5,
46816
- 8,
46817
- 12,
46818
- 40,
46819
- 16,
46820
- 19,
46821
- 54,
46822
- 20,
46823
- 9,
46824
- 27,
46825
- 255,
46826
- 113,
46827
- 17,
46828
- 42,
46829
- 67,
46830
- 24,
46831
- 23,
46832
- 146,
46833
- 148,
46834
- 18,
46835
- 14,
46836
- 22,
46837
- 45,
46838
- 70,
46839
- 69,
46840
- 56,
46841
- 114,
46842
- 101,
46843
- 21,
46844
- 25,
46845
- 63,
46846
- 75,
46847
- 136,
46848
- 108,
46849
- 28,
46850
- 118,
46851
- 29,
46852
- 73,
46853
- 115
46854
- ]);
46855
- // @ts-ignore
46856
- var wasm = SystemInfo._detectSIMDSupported() ? wasm_simd : wasm_base;
46857
- var instance;
46858
- ready = WebAssembly.instantiate(unpack(wasm)).then(function(result) {
46859
- instance = result.instance;
46860
- instance.exports.__wasm_call_ctors();
46861
- }).then(function() {
46862
- return {
46863
- workerCount: 4,
46864
- ready: ready,
46865
- useWorkers: function useWorkers(workerCount) {
46866
- this.workerCount = workerCount != null ? workerCount : this.workerCount;
46867
- initWorkers(this.workerCount);
46868
- },
46869
- decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
46870
- if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
46871
- if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
46872
- return ready.then(function() {
46873
- var target = new Uint8Array(count * stride);
46874
- decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
46875
- return target;
46876
- });
46877
- },
46878
- release: function release() {
46879
- for(var i = 0; i < workers.length; i++){
46880
- workers[i].object.terminate();
46881
- }
46882
- }
46883
- };
46884
- });
46885
- var filters = {
46886
- NONE: "",
46887
- OCTAHEDRAL: "meshopt_decodeFilterOct",
46888
- QUATERNION: "meshopt_decodeFilterQuat",
46889
- EXPONENTIAL: "meshopt_decodeFilterExp"
46890
- };
46891
- var decoders = {
46892
- ATTRIBUTES: "meshopt_decodeVertexBuffer",
46893
- TRIANGLES: "meshopt_decodeIndexBuffer",
46894
- INDICES: "meshopt_decodeIndexSequence"
46895
- };
46896
- var workers = [];
46897
- var requestId = 0;
46898
- return ready;
46899
- }
46900
46980
  exports.GLTFLoader = /*#__PURE__*/ function(Loader1) {
46901
46981
  var GLTFLoader = function GLTFLoader() {
46902
46982
  return Loader1.apply(this, arguments);
@@ -46920,10 +47000,19 @@
46920
47000
  var context = new GLTFParserContext(glTFResource, resourceManager, _extends({
46921
47001
  keepMeshData: false
46922
47002
  }, params));
46923
- return new AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress) {
47003
+ return new AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress, onTaskCancel) {
46924
47004
  context._setTaskCompleteProgress = setTaskCompleteProgress;
46925
47005
  context._setTaskDetailProgress = setTaskDetailProgress;
46926
- context.parse().then(resolve).catch(reject);
47006
+ onTaskCancel(function() {
47007
+ var getPromises = context._getPromises;
47008
+ for(var i = 0, n = getPromises.length; i < n; i++){
47009
+ getPromises[i].cancel();
47010
+ }
47011
+ });
47012
+ context.parse().then(resolve).catch(function(e) {
47013
+ glTFResource.destroy();
47014
+ reject(e);
47015
+ });
46927
47016
  });
46928
47017
  };
46929
47018
  /**
@@ -48443,18 +48532,24 @@
48443
48532
  exports.GLTFMaterialParser._checkOtherTextureTransform(clearcoatTexture, "Clear coat");
48444
48533
  context.get(exports.GLTFParserType.Texture, clearcoatTexture.index).then(function(texture) {
48445
48534
  material.clearCoatTexture = texture;
48535
+ }).catch(function(e) {
48536
+ Logger.error("KHR_materials_clearcoat: clearcoat texture error", e);
48446
48537
  });
48447
48538
  }
48448
48539
  if (clearcoatRoughnessTexture) {
48449
48540
  exports.GLTFMaterialParser._checkOtherTextureTransform(clearcoatRoughnessTexture, "Clear coat roughness");
48450
48541
  context.get(exports.GLTFParserType.Texture, clearcoatRoughnessTexture.index).then(function(texture) {
48451
48542
  material.clearCoatRoughnessTexture = texture;
48543
+ }).catch(function(e) {
48544
+ Logger.error("KHR_materials_clearcoat: clearcoat roughness texture error", e);
48452
48545
  });
48453
48546
  }
48454
48547
  if (clearcoatNormalTexture) {
48455
48548
  exports.GLTFMaterialParser._checkOtherTextureTransform(clearcoatNormalTexture, "Clear coat normal");
48456
48549
  context.get(exports.GLTFParserType.Texture, clearcoatNormalTexture.index).then(function(texture) {
48457
48550
  material.clearCoatNormalTexture = texture;
48551
+ }).catch(function(e) {
48552
+ Logger.error("KHR_materials_clearcoat: clearcoat normal texture error", e);
48458
48553
  });
48459
48554
  }
48460
48555
  };
@@ -48495,6 +48590,8 @@
48495
48590
  context.get(exports.GLTFParserType.Texture, diffuseTexture.index).then(function(texture) {
48496
48591
  material.baseTexture = texture;
48497
48592
  GLTFParser.executeExtensionsAdditiveAndParse(diffuseTexture.extensions, context, material, diffuseTexture);
48593
+ }).catch(function(e) {
48594
+ Logger.error("KHR_materials_pbrSpecularGlossiness: diffuse texture error", e);
48498
48595
  });
48499
48596
  }
48500
48597
  if (specularFactor) {
@@ -48507,6 +48604,8 @@
48507
48604
  exports.GLTFMaterialParser._checkOtherTextureTransform(specularGlossinessTexture, "Specular glossiness");
48508
48605
  context.get(exports.GLTFParserType.Texture, specularGlossinessTexture.index).then(function(texture) {
48509
48606
  material.specularGlossinessTexture = texture;
48607
+ }).catch(function(e) {
48608
+ Logger.error("KHR_materials_pbrSpecularGlossiness: specular glossiness texture error", e);
48510
48609
  });
48511
48610
  }
48512
48611
  material.name = ownerSchema.name;
@@ -48553,6 +48652,8 @@
48553
48652
  return variantNames[index].name;
48554
48653
  })
48555
48654
  });
48655
+ }).catch(function(e) {
48656
+ Logger.error("KHR_materials_variants: material error", e);
48556
48657
  });
48557
48658
  };
48558
48659
  var _glTFResource;
@@ -48585,57 +48686,49 @@
48585
48686
  _inherits(KHR_texture_basisu, GLTFExtensionParser1);
48586
48687
  var _proto = KHR_texture_basisu.prototype;
48587
48688
  _proto.createAndParse = function createAndParse(context, schema, textureInfo) {
48588
- return _async_to_generator(function() {
48589
- var glTF, glTFResource, engine, url, sampler, textureName, source, _glTF_images_source, uri, bufferViewIndex, mimeType, imageName, samplerInfo, index, promise, bufferView;
48590
- return __generator(this, function(_state) {
48591
- glTF = context.glTF, glTFResource = context.glTFResource;
48592
- engine = glTFResource.engine, url = glTFResource.url;
48593
- sampler = textureInfo.sampler, textureName = textureInfo.name;
48594
- source = schema.source;
48595
- _glTF_images_source = glTF.images[source], uri = _glTF_images_source.uri, bufferViewIndex = _glTF_images_source.bufferView, mimeType = _glTF_images_source.mimeType, imageName = _glTF_images_source.name;
48596
- samplerInfo = sampler !== undefined && GLTFUtils.getSamplerInfo(glTF.samplers[sampler]);
48597
- if (uri) {
48598
- index = uri.lastIndexOf(".");
48599
- promise = engine.resourceManager.load({
48600
- url: Utils.resolveAbsoluteUrl(url, uri),
48601
- type: exports.AssetType.KTX2
48602
- }).onProgress(undefined, context._onTaskDetail).then(function(texture) {
48603
- if (!texture.name) {
48604
- texture.name = textureName || imageName || "texture_" + index;
48605
- }
48689
+ var glTF = context.glTF, glTFResource = context.glTFResource;
48690
+ var engine = glTFResource.engine, url = glTFResource.url;
48691
+ var sampler = textureInfo.sampler, textureName = textureInfo.name;
48692
+ var source = schema.source;
48693
+ var _glTF_images_source = glTF.images[source], uri = _glTF_images_source.uri, bufferViewIndex = _glTF_images_source.bufferView, mimeType = _glTF_images_source.mimeType, imageName = _glTF_images_source.name;
48694
+ var samplerInfo = sampler !== undefined && GLTFUtils.getSamplerInfo(glTF.samplers[sampler]);
48695
+ if (uri) {
48696
+ var index = uri.lastIndexOf(".");
48697
+ var promise = engine.resourceManager.load({
48698
+ url: Utils.resolveAbsoluteUrl(url, uri),
48699
+ type: exports.AssetType.KTX2
48700
+ }).onProgress(undefined, context._onTaskDetail).then(function(texture) {
48701
+ if (!texture.name) {
48702
+ texture.name = textureName || imageName || "texture_" + index;
48703
+ }
48704
+ if (sampler !== undefined) {
48705
+ GLTFUtils.parseSampler(texture, samplerInfo);
48706
+ }
48707
+ return texture;
48708
+ });
48709
+ context._addTaskCompletePromise(promise);
48710
+ return promise;
48711
+ } else {
48712
+ var bufferView = glTF.bufferViews[bufferViewIndex];
48713
+ return new AssetPromise(function(resolve, reject) {
48714
+ context.get(exports.GLTFParserType.Buffer, bufferView.buffer).then(function(buffer) {
48715
+ var imageBuffer = new Uint8Array(buffer, bufferView.byteOffset, bufferView.byteLength);
48716
+ exports.KTX2Loader._parseBuffer(imageBuffer, engine).then(function(param) {
48717
+ var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
48718
+ var texture = exports.KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params);
48719
+ texture.name = textureName || imageName || "texture_" + bufferViewIndex;
48606
48720
  if (sampler !== undefined) {
48607
48721
  GLTFUtils.parseSampler(texture, samplerInfo);
48608
48722
  }
48609
- return texture;
48610
- });
48611
- context._addTaskCompletePromise(promise);
48612
- return [
48613
- 2,
48614
- promise
48615
- ];
48616
- } else {
48617
- bufferView = glTF.bufferViews[bufferViewIndex];
48618
- return [
48619
- 2,
48620
- context.get(exports.GLTFParserType.Buffer, bufferView.buffer).then(function(buffer) {
48621
- var imageBuffer = new Uint8Array(buffer, bufferView.byteOffset, bufferView.byteLength);
48622
- return exports.KTX2Loader._parseBuffer(imageBuffer, engine).then(function(param) {
48623
- var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
48624
- return exports.KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params);
48625
- }).then(function(texture) {
48626
- texture.name = textureName || imageName || "texture_" + bufferViewIndex;
48627
- if (sampler !== undefined) {
48628
- GLTFUtils.parseSampler(texture, samplerInfo);
48629
- }
48630
- var bufferTextureRestoreInfo = new BufferTextureRestoreInfo(texture, bufferView, mimeType);
48631
- context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
48632
- return texture;
48633
- });
48634
- })
48635
- ];
48636
- }
48723
+ var bufferTextureRestoreInfo = new BufferTextureRestoreInfo(texture, bufferView, mimeType);
48724
+ context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
48725
+ resolve(texture);
48726
+ }).catch(reject);
48727
+ }).catch(function(e) {
48728
+ Logger.error("KHR_texture_basisu: buffer error", e);
48729
+ });
48637
48730
  });
48638
- })();
48731
+ }
48639
48732
  };
48640
48733
  return KHR_texture_basisu;
48641
48734
  }(GLTFExtensionParser);
@@ -48721,6 +48814,8 @@
48721
48814
  return getMeshoptDecoder().then(function(decoder) {
48722
48815
  return decoder.decodeGltfBuffer(schema.count, schema.byteStride, new Uint8Array(arrayBuffer, schema.byteOffset, schema.byteLength), schema.mode, schema.filter);
48723
48816
  });
48817
+ }).catch(function(e) {
48818
+ Logger.error("EXT_meshopt_compression: buffer error", e);
48724
48819
  });
48725
48820
  };
48726
48821
  return EXT_meshopt_compression;
@@ -48742,6 +48837,8 @@
48742
48837
  exports.GLTFMaterialParser._checkOtherTextureTransform(anisotropyTexture, "Anisotropy texture");
48743
48838
  context.get(exports.GLTFParserType.Texture, anisotropyTexture.index).then(function(texture) {
48744
48839
  material.anisotropyTexture = texture;
48840
+ }).catch(function(e) {
48841
+ Logger.error("KHR_materials_anisotropy: anisotropy texture error", e);
48745
48842
  });
48746
48843
  }
48747
48844
  };
@@ -48768,19 +48865,10 @@
48768
48865
  _inherits(EXT_texture_webp, GLTFExtensionParser1);
48769
48866
  var _proto = EXT_texture_webp.prototype;
48770
48867
  _proto.createAndParse = function createAndParse(context, schema, textureInfo, textureIndex) {
48771
- var _this = this;
48772
- return _async_to_generator(function() {
48773
- var webPIndex, sampler, tmp, fallbackIndex, textureName, texture;
48774
- return __generator(this, function(_state) {
48775
- webPIndex = schema.source;
48776
- sampler = textureInfo.sampler, tmp = textureInfo.source, fallbackIndex = tmp === void 0 ? 0 : tmp, textureName = textureInfo.name;
48777
- texture = exports.GLTFTextureParser._parseTexture(context, _this._supportWebP ? webPIndex : fallbackIndex, textureIndex, sampler, textureName);
48778
- return [
48779
- 2,
48780
- texture
48781
- ];
48782
- });
48783
- })();
48868
+ var webPIndex = schema.source;
48869
+ var sampler = textureInfo.sampler, tmp = textureInfo.source, fallbackIndex = tmp === void 0 ? 0 : tmp, textureName = textureInfo.name;
48870
+ var texture = exports.GLTFTextureParser._parseTexture(context, this._supportWebP ? webPIndex : fallbackIndex, textureIndex, sampler, textureName);
48871
+ return texture;
48784
48872
  };
48785
48873
  return EXT_texture_webp;
48786
48874
  }(GLTFExtensionParser);
@@ -48789,7 +48877,7 @@
48789
48877
  ], EXT_texture_webp);
48790
48878
 
48791
48879
  //@ts-ignore
48792
- var version = "1.3.25";
48880
+ var version = "1.3.27";
48793
48881
  console.log("Galacean engine version: " + version);
48794
48882
  for(var key in CoreObjects){
48795
48883
  Loader.registerClass(key, CoreObjects[key]);