@galacean/engine 1.4.13 → 1.4.15

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
@@ -24198,12 +24198,24 @@
24198
24198
  this._onCancelHandler && this._onCancelHandler();
24199
24199
  return this;
24200
24200
  };
24201
- /**
24202
- * Return a new resource Promise through the provided asset promise collection.
24203
- * The resolved of the new AssetPromise will be triggered when all the Promises in the provided set are completed.
24204
- * @param - Promise Collection
24205
- * @returns AssetPromise
24206
- */ AssetPromise.all = function all(promises) {
24201
+ AssetPromise.resolve = function resolve(value) {
24202
+ if (value === undefined) {
24203
+ return new AssetPromise(function(resolve) {
24204
+ return resolve();
24205
+ });
24206
+ } else if (_instanceof1$2(value, AssetPromise) || _instanceof1$2(value, Promise)) {
24207
+ return new AssetPromise(function(resolve, reject) {
24208
+ value.then(function(resolved) {
24209
+ return resolve(resolved);
24210
+ }, reject);
24211
+ });
24212
+ } else {
24213
+ return new AssetPromise(function(resolve) {
24214
+ return resolve(value);
24215
+ });
24216
+ }
24217
+ };
24218
+ AssetPromise.all = function all(values) {
24207
24219
  return new AssetPromise(function(resolve, reject, setTaskCompleteProgress) {
24208
24220
  var onComplete = function onComplete(index, resultValue) {
24209
24221
  completed++;
@@ -24214,7 +24226,7 @@
24214
24226
  }
24215
24227
  };
24216
24228
  var onProgress = function onProgress(promise, index) {
24217
- if (_instanceof1$2(promise, Promise) || _instanceof1$2(promise, AssetPromise)) {
24229
+ if (_instanceof1$2(promise, AssetPromise) || _instanceof1$2(promise, Promise)) {
24218
24230
  promise.then(function(value) {
24219
24231
  onComplete(index, value);
24220
24232
  }, reject);
@@ -24224,14 +24236,14 @@
24224
24236
  });
24225
24237
  }
24226
24238
  };
24227
- var count = promises.length;
24239
+ var count = Array.from(values).length;
24228
24240
  var results = new Array(count);
24229
24241
  var completed = 0;
24230
24242
  if (count === 0) {
24231
24243
  return resolve(results);
24232
24244
  }
24233
24245
  for(var i = 0; i < count; i++){
24234
- onProgress(promises[i], i);
24246
+ onProgress(values[i], i);
24235
24247
  }
24236
24248
  });
24237
24249
  };
@@ -24809,12 +24821,12 @@
24809
24821
  var obj = this._objectPool[refId];
24810
24822
  var promise;
24811
24823
  if (obj) {
24812
- promise = Promise.resolve(obj);
24824
+ promise = AssetPromise.resolve(obj);
24813
24825
  } else {
24814
24826
  var resourceConfig = this._idResourceMap[refId];
24815
24827
  if (!resourceConfig) {
24816
24828
  Logger.warn("refId:" + refId + " is not find in this._idResourceMap.");
24817
- return Promise.resolve(null);
24829
+ return AssetPromise.resolve(null);
24818
24830
  }
24819
24831
  var url = resourceConfig.virtualPath;
24820
24832
  if (key) {
@@ -28879,7 +28891,7 @@
28879
28891
  }();
28880
28892
  var fragBlurH = "#define GLSLIFY 1\n#include <PostCommon>\n\nvarying vec2 v_uv;\nuniform sampler2D renderer_BlitTexture;\nuniform vec4 renderer_texelSize; // x: 1/width, y: 1/height, z: width, w: height\n\nvoid main(){\n\tvec2 texelSize = renderer_texelSize.xy * 2.0;\n\n // 9-tap gaussian blur on the downsampled source\n mediump vec4 c0 = sampleTexture(renderer_BlitTexture, v_uv - vec2(texelSize.x * 4.0, 0.0));\n mediump vec4 c1 = sampleTexture(renderer_BlitTexture, v_uv - vec2(texelSize.x * 3.0, 0.0));\n mediump vec4 c2 = sampleTexture(renderer_BlitTexture, v_uv - vec2(texelSize.x * 2.0, 0.0));\n mediump vec4 c3 = sampleTexture(renderer_BlitTexture, v_uv - vec2(texelSize.x * 1.0, 0.0));\n mediump vec4 c4 = sampleTexture(renderer_BlitTexture, v_uv);\n mediump vec4 c5 = sampleTexture(renderer_BlitTexture, v_uv + vec2(texelSize.x * 1.0, 0.0));\n mediump vec4 c6 = sampleTexture(renderer_BlitTexture, v_uv + vec2(texelSize.x * 2.0, 0.0));\n mediump vec4 c7 = sampleTexture(renderer_BlitTexture, v_uv + vec2(texelSize.x * 3.0, 0.0));\n mediump vec4 c8 = sampleTexture(renderer_BlitTexture, v_uv + vec2(texelSize.x * 4.0, 0.0));\n\n gl_FragColor = c0 * 0.01621622 + c1 * 0.05405405 + c2 * 0.12162162 + c3 * 0.19459459\n + c4 * 0.22702703\n + c5 * 0.19459459 + c6 * 0.12162162 + c7 * 0.05405405 + c8 * 0.01621622;\n\n #ifndef ENGINE_IS_COLORSPACE_GAMMA\n gl_FragColor = linearToGamma(gl_FragColor);\n #endif\n}"; // eslint-disable-line
28881
28893
  var fragBlurV = "#define GLSLIFY 1\n#include <PostCommon>\n\nvarying vec2 v_uv;\nuniform sampler2D renderer_BlitTexture;\nuniform vec4 renderer_texelSize; // x: 1/width, y: 1/height, z: width, w: height\n\nvoid main(){\n vec2 texelSize = renderer_texelSize.xy;\n\n // Optimized bilinear 5-tap gaussian on the same-sized source (9-tap equivalent)\n mediump vec4 c0 = sampleTexture(renderer_BlitTexture, v_uv - vec2(0.0, texelSize.y * 3.23076923));\n mediump vec4 c1 = sampleTexture(renderer_BlitTexture, v_uv - vec2(0.0, texelSize.y * 1.38461538));\n mediump vec4 c2 = sampleTexture(renderer_BlitTexture, v_uv);\n mediump vec4 c3 = sampleTexture(renderer_BlitTexture, v_uv + vec2(0.0, texelSize.y * 1.38461538));\n mediump vec4 c4 = sampleTexture(renderer_BlitTexture, v_uv + vec2(0.0, texelSize.y * 3.23076923));\n\n gl_FragColor = c0 * 0.07027027 + c1 * 0.31621622\n + c2 * 0.22702703\n + c3 * 0.31621622 + c4 * 0.07027027;\n\n #ifndef ENGINE_IS_COLORSPACE_GAMMA\n gl_FragColor = linearToGamma(gl_FragColor);\n #endif\n}"; // eslint-disable-line
28882
- var fragPrefilter = "#define GLSLIFY 1\n#include <PostCommon>\n\nvarying vec2 v_uv;\nuniform sampler2D renderer_BlitTexture;\nuniform vec4 material_BloomParams; // x: threshold (linear), y: threshold knee, z: scatter\nuniform vec4 renderer_texelSize; // x: 1/width, y: 1/height, z: width, w: height\n\nvoid main(){\n\t#ifdef BLOOM_HQ\n vec2 texelSize = renderer_texelSize.xy;\n mediump vec4 A = sampleTexture(renderer_BlitTexture, v_uv + texelSize * vec2(-1.0, -1.0));\n mediump vec4 B = sampleTexture(renderer_BlitTexture, v_uv + texelSize * vec2(0.0, -1.0));\n mediump vec4 C = sampleTexture(renderer_BlitTexture, v_uv + texelSize * vec2(1.0, -1.0));\n mediump vec4 D = sampleTexture(renderer_BlitTexture, v_uv + texelSize * vec2(-0.5, -0.5));\n mediump vec4 E = sampleTexture(renderer_BlitTexture, v_uv + texelSize * vec2(0.5, -0.5));\n mediump vec4 F = sampleTexture(renderer_BlitTexture, v_uv + texelSize * vec2(-1.0, 0.0));\n mediump vec4 G = sampleTexture(renderer_BlitTexture, v_uv);\n mediump vec4 H = sampleTexture(renderer_BlitTexture, v_uv + texelSize * vec2(1.0, 0.0));\n mediump vec4 I = sampleTexture(renderer_BlitTexture, v_uv + texelSize * vec2(-0.5, 0.5));\n mediump vec4 J = sampleTexture(renderer_BlitTexture, v_uv + texelSize * vec2(0.5, 0.5));\n mediump vec4 K = sampleTexture(renderer_BlitTexture, v_uv + texelSize * vec2(-1.0, 1.0));\n mediump vec4 L = sampleTexture(renderer_BlitTexture, v_uv + texelSize * vec2(0.0, 1.0));\n mediump vec4 M = sampleTexture(renderer_BlitTexture, v_uv + texelSize * vec2(1.0, 1.0));\n\n mediump vec2 scale = vec2(0.5, 0.125);\n mediump vec2 div = (1.0 / 4.0) * scale;\n\n mediump vec4 samplerColor = (D + E + I + J) * div.x;\n samplerColor += (A + B + G + F) * div.y;\n samplerColor += (B + C + H + G) * div.y;\n samplerColor += (F + G + L + K) * div.y;\n samplerColor += (G + H + M + L) * div.y;\n #else\n mediump vec4 samplerColor = sampleTexture(renderer_BlitTexture, v_uv);\n #endif\n\n mediump vec3 color = samplerColor.rgb;\n\n // User controlled clamp to limit crazy high broken spec\n color = min(color, HALF_MAX);\n\n // Thresholding\n mediump float brightness = max3(color);\n float threshold = material_BloomParams.x;\n float thresholdKnee = material_BloomParams.y;\n mediump float softness = clamp(brightness - threshold + thresholdKnee, 0.0, 2.0 * thresholdKnee);\n softness = (softness * softness) / (4.0 * thresholdKnee + 1e-4);\n mediump float multiplier = max(brightness - threshold, softness) / max(brightness, 1e-4);\n color *= multiplier;\n\n // Clamp colors to positive once in prefilter. Encode can have a sqrt, and sqrt(-x) == NaN. Up/Downsample passes would then spread the NaN.\n color = max(color, 0.0);\n\n gl_FragColor = vec4(color, samplerColor.a);\n \n #ifndef ENGINE_IS_COLORSPACE_GAMMA\n gl_FragColor = linearToGamma(gl_FragColor);\n #endif\n}"; // eslint-disable-line
28894
+ var fragPrefilter = "#define GLSLIFY 1\n#include <PostCommon>\n\nvarying vec2 v_uv;\nuniform sampler2D renderer_BlitTexture;\nuniform vec4 material_BloomParams; // x: threshold (linear), y: threshold knee, z: scatter\nuniform vec4 renderer_texelSize; // x: 1/width, y: 1/height, z: width, w: height\n\nvoid main(){\n\t#ifdef BLOOM_HQ\n vec2 texelSize = renderer_texelSize.xy;\n mediump vec4 A = sampleTexture(renderer_BlitTexture, v_uv + texelSize * vec2(-1.0, -1.0));\n mediump vec4 B = sampleTexture(renderer_BlitTexture, v_uv + texelSize * vec2(0.0, -1.0));\n mediump vec4 C = sampleTexture(renderer_BlitTexture, v_uv + texelSize * vec2(1.0, -1.0));\n mediump vec4 D = sampleTexture(renderer_BlitTexture, v_uv + texelSize * vec2(-0.5, -0.5));\n mediump vec4 E = sampleTexture(renderer_BlitTexture, v_uv + texelSize * vec2(0.5, -0.5));\n mediump vec4 F = sampleTexture(renderer_BlitTexture, v_uv + texelSize * vec2(-1.0, 0.0));\n mediump vec4 G = sampleTexture(renderer_BlitTexture, v_uv);\n mediump vec4 H = sampleTexture(renderer_BlitTexture, v_uv + texelSize * vec2(1.0, 0.0));\n mediump vec4 I = sampleTexture(renderer_BlitTexture, v_uv + texelSize * vec2(-0.5, 0.5));\n mediump vec4 J = sampleTexture(renderer_BlitTexture, v_uv + texelSize * vec2(0.5, 0.5));\n mediump vec4 K = sampleTexture(renderer_BlitTexture, v_uv + texelSize * vec2(-1.0, 1.0));\n mediump vec4 L = sampleTexture(renderer_BlitTexture, v_uv + texelSize * vec2(0.0, 1.0));\n mediump vec4 M = sampleTexture(renderer_BlitTexture, v_uv + texelSize * vec2(1.0, 1.0));\n\n mediump vec2 scale = vec2(0.5, 0.125);\n mediump vec2 div = (1.0 / 4.0) * scale;\n\n mediump vec4 samplerColor = (D + E + I + J) * div.x;\n samplerColor += (A + B + G + F) * div.y;\n samplerColor += (B + C + H + G) * div.y;\n samplerColor += (F + G + L + K) * div.y;\n samplerColor += (G + H + M + L) * div.y;\n #else\n mediump vec4 samplerColor = sampleTexture(renderer_BlitTexture, v_uv);\n #endif\n\n mediump vec3 color = samplerColor.rgb;\n\n // User controlled clamp to limit crazy high broken spec\n color = min(color, HALF_MAX);\n\n // Thresholding\n mediump float brightness = max3(color);\n float threshold = material_BloomParams.x;\n float thresholdKnee = material_BloomParams.y;\n mediump float softness = clamp(brightness - threshold + thresholdKnee, 0.0, 2.0 * thresholdKnee);\n softness = (softness * softness) / (4.0 * thresholdKnee + 1e-4);\n mediump float multiplier = max(brightness - threshold, softness) / max(brightness, 1e-4);\n color *= multiplier;\n\n // Clamp colors to positive once in prefilter. Encode can have a sqrt, and sqrt(-x) == NaN. Up/Downsample passes would then spread the NaN.\n color = max(color, 0.0);\n\n // Bloom is addtive blend mode, we should set alpha 0 to avoid browser background color dark when canvas alpha and premultiplyAlpha is true\n gl_FragColor = vec4(color, 0.0);\n \n #ifndef ENGINE_IS_COLORSPACE_GAMMA\n gl_FragColor = linearToGamma(gl_FragColor);\n #endif\n}\n"; // eslint-disable-line
28883
28895
  var fragUpsample = "#define GLSLIFY 1\n#include <PostCommon>\n#include <Filtering>\n\nvarying vec2 v_uv;\nuniform sampler2D renderer_BlitTexture;\nuniform sampler2D material_lowMipTexture;\nuniform vec4 material_BloomParams; // x: threshold (linear), y: threshold knee, z: scatter\nuniform vec4 material_lowMipTexelSize; // x: 1/width, y: 1/height, z: width, w: height\n\nvoid main(){\n mediump vec4 highMip = sampleTexture(renderer_BlitTexture, v_uv);\n\n #ifdef BLOOM_HQ\n mediump vec4 lowMip = sampleTexture2DBicubic(material_lowMipTexture, v_uv, material_lowMipTexelSize);\n #else\n mediump vec4 lowMip = sampleTexture(material_lowMipTexture, v_uv);\n #endif\n \n gl_FragColor = mix(highMip, lowMip, material_BloomParams.z);\n \n #ifndef ENGINE_IS_COLORSPACE_GAMMA\n gl_FragColor = linearToGamma(gl_FragColor);\n #endif\n}"; // eslint-disable-line
28884
28896
  /**
28885
28897
  * This controls the size of the bloom texture.
@@ -29125,7 +29137,7 @@
29125
29137
  var thresholdKnee = thresholdLinear * 0.5; // Hardcoded soft knee
29126
29138
  var bloomParams = bloomShaderData.getVector4(BloomEffect._bloomParams);
29127
29139
  var scatterLerp = MathUtil.lerp(0.05, 0.95, scatter.value);
29128
- bloomParams.x = threshold.value;
29140
+ bloomParams.x = thresholdLinear;
29129
29141
  bloomParams.y = thresholdKnee;
29130
29142
  bloomParams.z = scatterLerp;
29131
29143
  var bloomIntensityParams = uberShaderData.getVector4(BloomEffect._bloomIntensityParams);
@@ -43252,7 +43264,7 @@
43252
43264
  exports.MeshDecoder = /*#__PURE__*/ function() {
43253
43265
  function MeshDecoder() {}
43254
43266
  MeshDecoder.decode = function decode(engine, bufferReader) {
43255
- return new Promise(function(resolve) {
43267
+ return new AssetPromise(function(resolve) {
43256
43268
  var modelMesh = new ModelMesh(engine);
43257
43269
  var jsonDataString = bufferReader.nextStr();
43258
43270
  var encodedMeshData = JSON.parse(jsonDataString);
@@ -43385,7 +43397,7 @@
43385
43397
  exports.Texture2DDecoder = /*#__PURE__*/ function() {
43386
43398
  function Texture2DDecoder() {}
43387
43399
  Texture2DDecoder.decode = function decode(engine, bufferReader) {
43388
- return new Promise(function(resolve, reject) {
43400
+ return new AssetPromise(function(resolve, reject) {
43389
43401
  var objectId = bufferReader.nextStr();
43390
43402
  var mipmap = !!bufferReader.nextUint8();
43391
43403
  var filterMode = bufferReader.nextUint8();
@@ -43751,7 +43763,7 @@
43751
43763
  exports.AnimationClipDecoder = /*#__PURE__*/ function() {
43752
43764
  function AnimationClipDecoder() {}
43753
43765
  AnimationClipDecoder.decode = function decode(engine, bufferReader) {
43754
- return new Promise(function(resolve) {
43766
+ return new AssetPromise(function(resolve) {
43755
43767
  var name = bufferReader.nextStr();
43756
43768
  var clip = new AnimationClip(name);
43757
43769
  var eventsLen = bufferReader.nextUint16();
@@ -44751,6 +44763,202 @@
44751
44763
  "font"
44752
44764
  ], false)
44753
44765
  ], FontLoader);
44766
+ // Source: https://github.com/zeux/meshoptimizer/blob/master/js/meshopt_decoder.js
44767
+ var ready;
44768
+ function getMeshoptDecoder() {
44769
+ if (ready) return ready;
44770
+ 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";
44771
+ 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";
44772
+ var wasmpack = new Uint8Array([
44773
+ 32,
44774
+ 0,
44775
+ 65,
44776
+ 2,
44777
+ 1,
44778
+ 106,
44779
+ 34,
44780
+ 33,
44781
+ 3,
44782
+ 128,
44783
+ 11,
44784
+ 4,
44785
+ 13,
44786
+ 64,
44787
+ 6,
44788
+ 253,
44789
+ 10,
44790
+ 7,
44791
+ 15,
44792
+ 116,
44793
+ 127,
44794
+ 5,
44795
+ 8,
44796
+ 12,
44797
+ 40,
44798
+ 16,
44799
+ 19,
44800
+ 54,
44801
+ 20,
44802
+ 9,
44803
+ 27,
44804
+ 255,
44805
+ 113,
44806
+ 17,
44807
+ 42,
44808
+ 67,
44809
+ 24,
44810
+ 23,
44811
+ 146,
44812
+ 148,
44813
+ 18,
44814
+ 14,
44815
+ 22,
44816
+ 45,
44817
+ 70,
44818
+ 69,
44819
+ 56,
44820
+ 114,
44821
+ 101,
44822
+ 21,
44823
+ 25,
44824
+ 63,
44825
+ 75,
44826
+ 136,
44827
+ 108,
44828
+ 28,
44829
+ 118,
44830
+ 29,
44831
+ 73,
44832
+ 115
44833
+ ]);
44834
+ // @ts-ignore
44835
+ var wasm = SystemInfo._detectSIMDSupported() ? wasm_simd : wasm_base;
44836
+ var instance;
44837
+ ready = WebAssembly.instantiate(unpack(wasm)).then(function(result) {
44838
+ instance = result.instance;
44839
+ instance.exports.__wasm_call_ctors();
44840
+ }).then(function() {
44841
+ return {
44842
+ workerCount: 4,
44843
+ ready: ready,
44844
+ useWorkers: function useWorkers(workerCount) {
44845
+ this.workerCount = workerCount != null ? workerCount : this.workerCount;
44846
+ initWorkers(this.workerCount);
44847
+ },
44848
+ decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
44849
+ if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
44850
+ if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
44851
+ return ready.then(function() {
44852
+ var target = new Uint8Array(count * stride);
44853
+ decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
44854
+ return target;
44855
+ });
44856
+ },
44857
+ release: function release() {
44858
+ for(var i = 0; i < workers.length; i++){
44859
+ workers[i].object.terminate();
44860
+ }
44861
+ }
44862
+ };
44863
+ });
44864
+ function unpack(data) {
44865
+ var result = new Uint8Array(data.length);
44866
+ for(var i = 0; i < data.length; ++i){
44867
+ var ch = data.charCodeAt(i);
44868
+ result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4;
44869
+ }
44870
+ var write = 0;
44871
+ for(var i1 = 0; i1 < data.length; ++i1){
44872
+ result[write++] = result[i1] < 60 ? wasmpack[result[i1]] : (result[i1] - 60) * 64 + result[++i1];
44873
+ }
44874
+ return result.buffer.slice(0, write);
44875
+ }
44876
+ function decode(fun, target, count, size, source, filter) {
44877
+ var sbrk = instance.exports.sbrk;
44878
+ var count4 = count + 3 & ~3;
44879
+ var tp = sbrk(count4 * size);
44880
+ var sp = sbrk(source.length);
44881
+ var heap = new Uint8Array(instance.exports.memory.buffer);
44882
+ heap.set(source, sp);
44883
+ var res = fun(tp, count, size, sp, source.length);
44884
+ if (res == 0 && filter) {
44885
+ filter(tp, count4, size);
44886
+ }
44887
+ target.set(heap.subarray(tp, tp + count * size));
44888
+ sbrk(tp - sbrk(0));
44889
+ if (res != 0) {
44890
+ throw new Error("Malformed buffer data: " + res);
44891
+ }
44892
+ }
44893
+ var filters = {
44894
+ NONE: "",
44895
+ OCTAHEDRAL: "meshopt_decodeFilterOct",
44896
+ QUATERNION: "meshopt_decodeFilterQuat",
44897
+ EXPONENTIAL: "meshopt_decodeFilterExp"
44898
+ };
44899
+ var decoders = {
44900
+ ATTRIBUTES: "meshopt_decodeVertexBuffer",
44901
+ TRIANGLES: "meshopt_decodeIndexBuffer",
44902
+ INDICES: "meshopt_decodeIndexSequence"
44903
+ };
44904
+ var workers = [];
44905
+ var requestId = 0;
44906
+ function createWorker(url) {
44907
+ var worker = {
44908
+ object: new Worker(url),
44909
+ pending: 0,
44910
+ requests: {}
44911
+ };
44912
+ worker.object.onmessage = function(event) {
44913
+ var data = event.data;
44914
+ worker.pending -= data.count;
44915
+ worker.requests[data.id][data.action](data.value);
44916
+ delete worker.requests[data.id];
44917
+ };
44918
+ return worker;
44919
+ }
44920
+ function initWorkers(count) {
44921
+ 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 }';
44922
+ var blob = new Blob([
44923
+ source
44924
+ ], {
44925
+ type: "text/javascript"
44926
+ });
44927
+ var url = URL.createObjectURL(blob);
44928
+ for(var i = 0; i < count; ++i){
44929
+ workers[i] = createWorker(url);
44930
+ }
44931
+ URL.revokeObjectURL(url);
44932
+ }
44933
+ function decodeWorker(count, size, source, mode, filter) {
44934
+ var worker = workers[0];
44935
+ for(var i = 1; i < workers.length; ++i){
44936
+ if (workers[i].pending < worker.pending) {
44937
+ worker = workers[i];
44938
+ }
44939
+ }
44940
+ return new Promise(function(resolve, reject) {
44941
+ var data = new Uint8Array(source);
44942
+ var id = requestId++;
44943
+ worker.pending += count;
44944
+ worker.requests[id] = {
44945
+ resolve: resolve,
44946
+ reject: reject
44947
+ };
44948
+ worker.object.postMessage({
44949
+ id: id,
44950
+ count: count,
44951
+ size: size,
44952
+ source: data,
44953
+ mode: mode,
44954
+ filter: filter
44955
+ }, [
44956
+ data.buffer
44957
+ ]);
44958
+ });
44959
+ }
44960
+ return ready;
44961
+ }
44754
44962
  /**
44755
44963
  * The glTF resource.
44756
44964
  */ var GLTFResource = /*#__PURE__*/ function(ReferResource) {
@@ -44777,14 +44985,15 @@
44777
44985
  materials && this._disassociationSuperResource(materials);
44778
44986
  if (meshes) {
44779
44987
  for(var i = 0, n = meshes.length; i < n; i++){
44780
- this._disassociationSuperResource(meshes[i]);
44988
+ var meshArr = meshes[i];
44989
+ meshArr && this._disassociationSuperResource(meshArr);
44781
44990
  }
44782
44991
  }
44783
44992
  };
44784
44993
  _proto._disassociationSuperResource = function _disassociationSuperResource(resources) {
44785
44994
  for(var i = 0, n = resources.length; i < n; i++){
44786
- // @ts-ignore
44787
- resources[i]._disassociationSuperResource(this);
44995
+ var _resources_i;
44996
+ (_resources_i = resources[i]) == null ? void 0 : _resources_i._disassociationSuperResource(this);
44788
44997
  }
44789
44998
  };
44790
44999
  _create_class(GLTFResource, [
@@ -44982,6 +45191,7 @@
44982
45191
  this.params = params;
44983
45192
  this.accessorBufferCache = {};
44984
45193
  this.needAnimatorController = false;
45194
+ this./** @internal */ _getPromises = [];
44985
45195
  this._resourceCache = new Map();
44986
45196
  this._progress = {
44987
45197
  taskDetail: {},
@@ -45006,7 +45216,7 @@
45006
45216
  var _this = this;
45007
45217
  var parser = GLTFParserContext._parsers[type];
45008
45218
  if (!parser) {
45009
- return Promise.resolve(null);
45219
+ return AssetPromise.resolve(null);
45010
45220
  }
45011
45221
  var cache = this._resourceCache;
45012
45222
  var cacheKey = index === undefined ? "" + type : type + ":" + index;
@@ -45022,7 +45232,7 @@
45022
45232
  if (index === undefined) {
45023
45233
  resource = type === 8 ? glTFItems.map(function(_, index) {
45024
45234
  return _this.get(type, index);
45025
- }) : Promise.all(glTFItems.map(function(_, index) {
45235
+ }) : AssetPromise.all(glTFItems.map(function(_, index) {
45026
45236
  return _this.get(type, index);
45027
45237
  }));
45028
45238
  } else {
@@ -45030,12 +45240,15 @@
45030
45240
  isSubAsset && this._handleSubAsset(resource, type, index);
45031
45241
  }
45032
45242
  } else {
45033
- resource = Promise.resolve(null);
45243
+ resource = AssetPromise.resolve(null);
45034
45244
  }
45035
45245
  } else {
45036
45246
  resource = parser.parse(this, index);
45037
45247
  isSubAsset && this._handleSubAsset(resource, type, index);
45038
45248
  }
45249
+ if (_instanceof1(resource, AssetPromise)) {
45250
+ this._getPromises.push(resource);
45251
+ }
45039
45252
  cache.set(cacheKey, resource);
45040
45253
  return resource;
45041
45254
  };
@@ -45044,7 +45257,7 @@
45044
45257
  var promise = this.get(0).then(function(json) {
45045
45258
  _this.glTF = json;
45046
45259
  _this.needAnimatorController = !!(json.skins || json.animations);
45047
- return Promise.all([
45260
+ return AssetPromise.all([
45048
45261
  _this.get(1),
45049
45262
  _this.get(5),
45050
45263
  _this.get(6),
@@ -45107,6 +45320,8 @@
45107
45320
  _this.resourceManager._onSubAssetSuccess(url, "defaultSceneRoot", item);
45108
45321
  }
45109
45322
  }
45323
+ }).catch(function(e) {
45324
+ Logger.error("GLTFParserContext", "Failed to load " + glTFResourceKey + " " + index + ": " + e);
45110
45325
  });
45111
45326
  }
45112
45327
  };
@@ -45284,13 +45499,15 @@
45284
45499
  bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset1, count1));
45285
45500
  }
45286
45501
  return bufferInfo;
45502
+ }).catch(function(e) {
45503
+ Logger.error("GLTFUtil getAccessorBuffer error", e);
45287
45504
  });
45288
45505
  } else {
45289
45506
  var count = accessorCount * dataElementSize;
45290
45507
  var data = new TypedArray(count);
45291
45508
  var bufferInfo = new BufferInfo(data, false, elementStride);
45292
45509
  bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(undefined, TypedArray, undefined, count));
45293
- promise = Promise.resolve(bufferInfo);
45510
+ promise = AssetPromise.resolve(bufferInfo);
45294
45511
  }
45295
45512
  return accessor.sparse ? promise.then(function(bufferInfo) {
45296
45513
  return GLTFUtils.processingSparseData(context, accessor, bufferInfo).then(function() {
@@ -45325,7 +45542,7 @@
45325
45542
  var _accessor_sparse = accessor.sparse, count = _accessor_sparse.count, indices = _accessor_sparse.indices, values = _accessor_sparse.values;
45326
45543
  var indicesBufferView = bufferViews[indices.bufferView];
45327
45544
  var valuesBufferView = bufferViews[values.bufferView];
45328
- return Promise.all([
45545
+ return AssetPromise.all([
45329
45546
  context.get(GLTFParserType.BufferView, indices.bufferView),
45330
45547
  context.get(GLTFParserType.BufferView, values.bufferView)
45331
45548
  ]).then(function(param) {
@@ -45352,6 +45569,8 @@
45352
45569
  }
45353
45570
  }
45354
45571
  bufferInfo.data = data;
45572
+ }).catch(function(e) {
45573
+ Logger.error("GLTFUtil processingSparseData error", e);
45355
45574
  });
45356
45575
  };
45357
45576
  GLTFUtils.getIndexFormat = function getIndexFormat(type) {
@@ -46821,16 +47040,14 @@
46821
47040
  for(var _len = arguments.length, extra = new Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++){
46822
47041
  extra[_key - 5] = arguments[_key];
46823
47042
  }
47043
+ var _parser;
46824
47044
  var parser = GLTFParser.getExtensionParser(extensionName, GLTFExtensionMode.AdditiveParse);
46825
- if (parser) {
46826
- var _parser;
46827
- (_parser = parser).additiveParse.apply(_parser, [].concat([
46828
- context,
46829
- parseResource,
46830
- extensionSchema,
46831
- ownerSchema
46832
- ], extra));
46833
- }
47045
+ parser == null ? void 0 : (_parser = parser).additiveParse.apply(_parser, [].concat([
47046
+ context,
47047
+ parseResource,
47048
+ extensionSchema,
47049
+ ownerSchema
47050
+ ], extra));
46834
47051
  };
46835
47052
  return GLTFParser;
46836
47053
  }();
@@ -46894,7 +47111,7 @@
46894
47111
  var animationInfo = context.glTF.animations[index];
46895
47112
  var _animationInfo_name = animationInfo.name, name = _animationInfo_name === void 0 ? "AnimationClip" + index : _animationInfo_name;
46896
47113
  var animationClipPromise = GLTFParser.executeExtensionsCreateAndParse(animationInfo.extensions, context, animationInfo) || GLTFAnimationParser._parseStandardProperty(context, new AnimationClip(name), animationInfo);
46897
- return Promise.resolve(animationClipPromise).then(function(animationClip) {
47114
+ return AssetPromise.resolve(animationClipPromise).then(function(animationClip) {
46898
47115
  GLTFParser.executeExtensionsAdditiveAndParse(animationInfo.extensions, context, animationClip, animationInfo);
46899
47116
  return animationClip;
46900
47117
  });
@@ -46906,7 +47123,7 @@
46906
47123
  var glTFSampler = samplers[j];
46907
47124
  var inputAccessor = accessors[glTFSampler.input];
46908
47125
  var outputAccessor = accessors[glTFSampler.output];
46909
- var promise = Promise.all([
47126
+ var promise = AssetPromise.all([
46910
47127
  GLTFUtils.getAccessorBuffer(context, bufferViews, inputAccessor),
46911
47128
  GLTFUtils.getAccessorBuffer(context, bufferViews, outputAccessor)
46912
47129
  ]).then(function(bufferInfos) {
@@ -46957,7 +47174,7 @@
46957
47174
  // parse samplers
46958
47175
  for(var j = 0, m = len; j < m; j++)_loop(j);
46959
47176
  promises.push(context.get(GLTFParserType.Scene));
46960
- return Promise.all(promises).then(function() {
47177
+ return AssetPromise.all(promises).then(function() {
46961
47178
  for(var j = 0, m = channels.length; j < m; j++){
46962
47179
  var glTFChannel = channels[j];
46963
47180
  var target = glTFChannel.target;
@@ -47086,7 +47303,7 @@
47086
47303
  var _proto = GLTFBufferParser.prototype;
47087
47304
  _proto.parse = function parse(context, index) {
47088
47305
  var buffers = context.glTF.buffers;
47089
- return context.buffers ? Promise.resolve(context.buffers[index]) : this._parseSingleBuffer(context, buffers[index]);
47306
+ return context.buffers ? AssetPromise.resolve(context.buffers[index]) : this._parseSingleBuffer(context, buffers[index]);
47090
47307
  };
47091
47308
  _proto._parseSingleBuffer = function _parseSingleBuffer(context, bufferInfo) {
47092
47309
  var glTFResource = context.glTFResource, contentRestorer = context.contentRestorer, resourceManager = context.resourceManager;
@@ -47171,7 +47388,7 @@
47171
47388
  material.name = materialInfo.name;
47172
47389
  GLTFMaterialParser._parseStandardProperty(context, material, materialInfo);
47173
47390
  }
47174
- return Promise.resolve(material).then(function(material) {
47391
+ return AssetPromise.resolve(material).then(function(material) {
47175
47392
  // @ts-ignore
47176
47393
  material || (material = engine._basicResources._getBlinnPhongMaterial());
47177
47394
  GLTFParser.executeExtensionsAdditiveAndParse(materialInfo.extensions, context, material, materialInfo);
@@ -47201,6 +47418,8 @@
47201
47418
  context.get(GLTFParserType.Texture, baseColorTexture.index).then(function(texture) {
47202
47419
  material.baseTexture = texture;
47203
47420
  GLTFParser.executeExtensionsAdditiveAndParse(baseColorTexture.extensions, context, material, baseColorTexture);
47421
+ }).catch(function(e) {
47422
+ Logger.error("GLTFMaterialParser: baseColorTexture error", e);
47204
47423
  });
47205
47424
  }
47206
47425
  if (material.constructor === PBRMaterial) {
@@ -47210,6 +47429,8 @@
47210
47429
  GLTFMaterialParser._checkOtherTextureTransform(metallicRoughnessTexture, "Roughness metallic");
47211
47430
  context.get(GLTFParserType.Texture, metallicRoughnessTexture.index).then(function(texture) {
47212
47431
  material.roughnessMetallicTexture = texture;
47432
+ }).catch(function(e) {
47433
+ Logger.error("GLTFMaterialParser: metallicRoughnessTexture error", e);
47213
47434
  });
47214
47435
  }
47215
47436
  }
@@ -47219,6 +47440,8 @@
47219
47440
  GLTFMaterialParser._checkOtherTextureTransform(emissiveTexture, "Emissive");
47220
47441
  context.get(GLTFParserType.Texture, emissiveTexture.index).then(function(texture) {
47221
47442
  material.emissiveTexture = texture;
47443
+ }).catch(function(e) {
47444
+ Logger.error("GLTFMaterialParser: emissiveTexture error", e);
47222
47445
  });
47223
47446
  }
47224
47447
  if (emissiveFactor) {
@@ -47229,6 +47452,8 @@
47229
47452
  GLTFMaterialParser._checkOtherTextureTransform(normalTexture, "Normal");
47230
47453
  context.get(GLTFParserType.Texture, index).then(function(texture) {
47231
47454
  material.normalTexture = texture;
47455
+ }).catch(function(e) {
47456
+ Logger.error("GLTFMaterialParser: emissiveTexture error", e);
47232
47457
  });
47233
47458
  if (scale !== undefined) {
47234
47459
  material.normalTextureIntensity = scale;
@@ -47239,6 +47464,8 @@
47239
47464
  GLTFMaterialParser._checkOtherTextureTransform(occlusionTexture, "Occlusion");
47240
47465
  context.get(GLTFParserType.Texture, index1).then(function(texture) {
47241
47466
  material.occlusionTexture = texture;
47467
+ }).catch(function(e) {
47468
+ Logger.error("GLTFMaterialParser: occlusionTexture error", e);
47242
47469
  });
47243
47470
  if (strength !== undefined) {
47244
47471
  material.occlusionTextureIntensity = strength;
@@ -47281,7 +47508,7 @@
47281
47508
  _proto.parse = function parse(context, index) {
47282
47509
  var _loop = function _loop(i, length) {
47283
47510
  var gltfPrimitive = meshInfo.primitives[i];
47284
- primitivePromises[i] = new Promise(function(resolve) {
47511
+ primitivePromises[i] = new AssetPromise(function(resolve, reject) {
47285
47512
  var mesh = GLTFParser.executeExtensionsCreateAndParse(gltfPrimitive.extensions, context, gltfPrimitive, meshInfo);
47286
47513
  if (mesh) {
47287
47514
  if (_instanceof1(mesh, ModelMesh)) {
@@ -47302,7 +47529,7 @@
47302
47529
  var meshRestoreInfo = new ModelMeshRestoreInfo();
47303
47530
  meshRestoreInfo.mesh = mesh1;
47304
47531
  context.contentRestorer.meshes.push(meshRestoreInfo);
47305
- GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF, context.params.keepMeshData).then(resolve);
47532
+ GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF, context.params.keepMeshData).then(resolve, reject);
47306
47533
  }
47307
47534
  });
47308
47535
  };
@@ -47311,7 +47538,7 @@
47311
47538
  var engine = glTFResource.engine;
47312
47539
  var primitivePromises = new Array();
47313
47540
  for(var i = 0, length = meshInfo.primitives.length; i < length; i++)_loop(i);
47314
- return Promise.all(primitivePromises);
47541
+ return AssetPromise.all(primitivePromises);
47315
47542
  };
47316
47543
  /**
47317
47544
  * @internal
@@ -47394,7 +47621,7 @@
47394
47621
  var bufferBindIndex = 0;
47395
47622
  var promises = new Array();
47396
47623
  for(var attribute in attributes)_loop(attribute);
47397
- return Promise.all(promises).then(function() {
47624
+ return AssetPromise.all(promises).then(function() {
47398
47625
  mesh.setVertexElements(vertexElements);
47399
47626
  // Indices
47400
47627
  if (indices !== undefined) {
@@ -47444,7 +47671,7 @@
47444
47671
  var tangentTarget = targets["TANGENT"];
47445
47672
  var hasNormal = normalTarget !== undefined;
47446
47673
  var hasTangent = tangentTarget !== undefined;
47447
- var promise = Promise.all([
47674
+ var promise = AssetPromise.all([
47448
47675
  _this._getBlendShapeData(context, glTF, accessors[targets["POSITION"]]),
47449
47676
  hasNormal ? _this._getBlendShapeData(context, glTF, accessors[normalTarget]) : null,
47450
47677
  hasTangent ? _this._getBlendShapeData(context, glTF, accessors[tangentTarget]) : null
@@ -47464,7 +47691,7 @@
47464
47691
  var blendShapeCount = glTFTargets.length;
47465
47692
  var blendShapeCollection = new Array(blendShapeCount);
47466
47693
  for(var i = 0; i < blendShapeCount; i++)_this = this, _loop(i);
47467
- return Promise.all(promises).then(function() {
47694
+ return AssetPromise.all(promises).then(function() {
47468
47695
  for(var _iterator = _create_for_of_iterator_helper_loose(blendShapeCollection), _step; !(_step = _iterator()).done;){
47469
47696
  var blendShape = _step.value;
47470
47697
  mesh.addBlendShape(blendShape.blendShape);
@@ -47510,7 +47737,7 @@
47510
47737
  for(var i1 = 0; i1 < sceneNodes.length; i1++){
47511
47738
  promises.push(this._parseEntityComponent(context, sceneNodes[i1]));
47512
47739
  }
47513
- return Promise.all(promises).then(function() {
47740
+ return AssetPromise.all(promises).then(function() {
47514
47741
  GLTFParser.executeExtensionsAdditiveAndParse(sceneExtensions, context, sceneRoot, sceneInfo);
47515
47742
  return sceneRoot;
47516
47743
  });
@@ -47528,7 +47755,7 @@
47528
47755
  if (meshID !== undefined) {
47529
47756
  promise = this._createRenderer(context, entityInfo, entity);
47530
47757
  }
47531
- return Promise.resolve(promise).then(function() {
47758
+ return AssetPromise.resolve(promise).then(function() {
47532
47759
  var promises = [];
47533
47760
  var children = entityInfo.children;
47534
47761
  if (children) {
@@ -47536,7 +47763,7 @@
47536
47763
  promises.push(_this._parseEntityComponent(context, children[i]));
47537
47764
  }
47538
47765
  }
47539
- return Promise.all(promises);
47766
+ return AssetPromise.all(promises);
47540
47767
  });
47541
47768
  };
47542
47769
  _proto._createCamera = function _createCamera(resource, cameraSchema, entity) {
@@ -47585,10 +47812,10 @@
47585
47812
  var _glTFMeshPrimitives_i_material;
47586
47813
  materialPromises[i] = context.get(GLTFParserType.Material, (_glTFMeshPrimitives_i_material = glTFMeshPrimitives[i].material) != null ? _glTFMeshPrimitives_i_material : -1);
47587
47814
  }
47588
- return Promise.all([
47815
+ return AssetPromise.all([
47589
47816
  context.get(GLTFParserType.Mesh, meshID),
47590
47817
  skinID !== undefined && context.get(GLTFParserType.Skin, skinID),
47591
- Promise.all(materialPromises)
47818
+ AssetPromise.all(materialPromises)
47592
47819
  ]).then(function(param) {
47593
47820
  var _loop = function _loop(i) {
47594
47821
  var material = materials[i] || basicResources._getBlinnPhongMaterial();
@@ -47623,6 +47850,8 @@
47623
47850
  // @ts-ignore
47624
47851
  var basicResources = context.glTFResource.engine._basicResources;
47625
47852
  for(var i = 0; i < rendererCount; i++)_loop(i);
47853
+ }).catch(function(e) {
47854
+ Logger.error("GLTFSceneParser: create renderer error", e);
47626
47855
  });
47627
47856
  };
47628
47857
  _proto._computeLocalBounds = function _computeLocalBounds(skinnedMeshRenderer, mesh, bones, rootBone, inverseBindMatrices) {
@@ -47706,7 +47935,7 @@
47706
47935
  }
47707
47936
  return skin;
47708
47937
  });
47709
- return Promise.resolve(skinPromise);
47938
+ return AssetPromise.resolve(skinPromise);
47710
47939
  };
47711
47940
  _proto._findSkeletonRootBone = function _findSkeletonRootBone(joints, entities) {
47712
47941
  var paths = {};
@@ -47755,7 +47984,7 @@
47755
47984
  if (!texture) {
47756
47985
  texture = GLTFTextureParser._parseTexture(context, imageIndex, textureIndex, sampler, textureName);
47757
47986
  }
47758
- return Promise.resolve(texture).then(function(texture) {
47987
+ return AssetPromise.resolve(texture).then(function(texture) {
47759
47988
  GLTFParser.executeExtensionsAdditiveAndParse(extensions, context, texture, textureInfo);
47760
47989
  // @ts-ignore
47761
47990
  texture._associationSuperResource(glTFResource);
@@ -47800,6 +48029,8 @@
47800
48029
  context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
47801
48030
  return texture;
47802
48031
  });
48032
+ }).catch(function(e) {
48033
+ Logger.error("GLTFTextureParser: image buffer error", e);
47803
48034
  });
47804
48035
  }
47805
48036
  return texture;
@@ -47841,7 +48072,7 @@
47841
48072
  }
47842
48073
  }
47843
48074
  }
47844
- return Promise.resolve(null);
48075
+ return AssetPromise.resolve(null);
47845
48076
  };
47846
48077
  return GLTFValidator;
47847
48078
  }(GLTFParser);
@@ -47859,6 +48090,8 @@
47859
48090
  var extensions = bufferView.extensions, _bufferView_byteOffset = bufferView.byteOffset, byteOffset = _bufferView_byteOffset === void 0 ? 0 : _bufferView_byteOffset, byteLength = bufferView.byteLength, bufferIndex = bufferView.buffer;
47860
48091
  return extensions ? GLTFParser.executeExtensionsCreateAndParse(extensions, context, bufferView) : context.get(GLTFParserType.Buffer, bufferIndex).then(function(buffer) {
47861
48092
  return new Uint8Array(buffer, byteOffset, byteLength);
48093
+ }).catch(function(e) {
48094
+ Logger.error("GLTFBufferViewParser: buffer error", e);
47862
48095
  });
47863
48096
  };
47864
48097
  return GLTFBufferViewParser;
@@ -47875,11 +48108,13 @@
47875
48108
  _proto.parse = function parse(context) {
47876
48109
  var _this = this;
47877
48110
  if (!context.needAnimatorController) {
47878
- return Promise.resolve(null);
48111
+ return AssetPromise.resolve(null);
47879
48112
  }
47880
48113
  return context.get(GLTFParserType.Animation).then(function(animations) {
47881
48114
  var animatorController = _this._createAnimatorController(context, animations);
47882
- return Promise.resolve(animatorController);
48115
+ return AssetPromise.resolve(animatorController);
48116
+ }).catch(function(e) {
48117
+ Logger.error("GLTFAnimatorControllerParser: animator controller error", e);
47883
48118
  });
47884
48119
  };
47885
48120
  _proto._createAnimatorController = function _createAnimatorController(context, animations) {
@@ -47909,202 +48144,6 @@
47909
48144
  exports.GLTFAnimatorControllerParser = __decorate([
47910
48145
  registerGLTFParser(GLTFParserType.AnimatorController)
47911
48146
  ], exports.GLTFAnimatorControllerParser);
47912
- // Source: https://github.com/zeux/meshoptimizer/blob/master/js/meshopt_decoder.js
47913
- var ready;
47914
- function getMeshoptDecoder() {
47915
- if (ready) return ready;
47916
- 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";
47917
- 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";
47918
- var wasmpack = new Uint8Array([
47919
- 32,
47920
- 0,
47921
- 65,
47922
- 2,
47923
- 1,
47924
- 106,
47925
- 34,
47926
- 33,
47927
- 3,
47928
- 128,
47929
- 11,
47930
- 4,
47931
- 13,
47932
- 64,
47933
- 6,
47934
- 253,
47935
- 10,
47936
- 7,
47937
- 15,
47938
- 116,
47939
- 127,
47940
- 5,
47941
- 8,
47942
- 12,
47943
- 40,
47944
- 16,
47945
- 19,
47946
- 54,
47947
- 20,
47948
- 9,
47949
- 27,
47950
- 255,
47951
- 113,
47952
- 17,
47953
- 42,
47954
- 67,
47955
- 24,
47956
- 23,
47957
- 146,
47958
- 148,
47959
- 18,
47960
- 14,
47961
- 22,
47962
- 45,
47963
- 70,
47964
- 69,
47965
- 56,
47966
- 114,
47967
- 101,
47968
- 21,
47969
- 25,
47970
- 63,
47971
- 75,
47972
- 136,
47973
- 108,
47974
- 28,
47975
- 118,
47976
- 29,
47977
- 73,
47978
- 115
47979
- ]);
47980
- // @ts-ignore
47981
- var wasm = SystemInfo._detectSIMDSupported() ? wasm_simd : wasm_base;
47982
- var instance;
47983
- ready = WebAssembly.instantiate(unpack(wasm)).then(function(result) {
47984
- instance = result.instance;
47985
- instance.exports.__wasm_call_ctors();
47986
- }).then(function() {
47987
- return {
47988
- workerCount: 4,
47989
- ready: ready,
47990
- useWorkers: function useWorkers(workerCount) {
47991
- this.workerCount = workerCount != null ? workerCount : this.workerCount;
47992
- initWorkers(this.workerCount);
47993
- },
47994
- decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
47995
- if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
47996
- if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
47997
- return ready.then(function() {
47998
- var target = new Uint8Array(count * stride);
47999
- decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
48000
- return target;
48001
- });
48002
- },
48003
- release: function release() {
48004
- for(var i = 0; i < workers.length; i++){
48005
- workers[i].object.terminate();
48006
- }
48007
- }
48008
- };
48009
- });
48010
- function unpack(data) {
48011
- var result = new Uint8Array(data.length);
48012
- for(var i = 0; i < data.length; ++i){
48013
- var ch = data.charCodeAt(i);
48014
- result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4;
48015
- }
48016
- var write = 0;
48017
- for(var i1 = 0; i1 < data.length; ++i1){
48018
- result[write++] = result[i1] < 60 ? wasmpack[result[i1]] : (result[i1] - 60) * 64 + result[++i1];
48019
- }
48020
- return result.buffer.slice(0, write);
48021
- }
48022
- function decode(fun, target, count, size, source, filter) {
48023
- var sbrk = instance.exports.sbrk;
48024
- var count4 = count + 3 & ~3;
48025
- var tp = sbrk(count4 * size);
48026
- var sp = sbrk(source.length);
48027
- var heap = new Uint8Array(instance.exports.memory.buffer);
48028
- heap.set(source, sp);
48029
- var res = fun(tp, count, size, sp, source.length);
48030
- if (res == 0 && filter) {
48031
- filter(tp, count4, size);
48032
- }
48033
- target.set(heap.subarray(tp, tp + count * size));
48034
- sbrk(tp - sbrk(0));
48035
- if (res != 0) {
48036
- throw new Error("Malformed buffer data: " + res);
48037
- }
48038
- }
48039
- var filters = {
48040
- NONE: "",
48041
- OCTAHEDRAL: "meshopt_decodeFilterOct",
48042
- QUATERNION: "meshopt_decodeFilterQuat",
48043
- EXPONENTIAL: "meshopt_decodeFilterExp"
48044
- };
48045
- var decoders = {
48046
- ATTRIBUTES: "meshopt_decodeVertexBuffer",
48047
- TRIANGLES: "meshopt_decodeIndexBuffer",
48048
- INDICES: "meshopt_decodeIndexSequence"
48049
- };
48050
- var workers = [];
48051
- var requestId = 0;
48052
- function createWorker(url) {
48053
- var worker = {
48054
- object: new Worker(url),
48055
- pending: 0,
48056
- requests: {}
48057
- };
48058
- worker.object.onmessage = function(event) {
48059
- var data = event.data;
48060
- worker.pending -= data.count;
48061
- worker.requests[data.id][data.action](data.value);
48062
- delete worker.requests[data.id];
48063
- };
48064
- return worker;
48065
- }
48066
- function initWorkers(count) {
48067
- 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 }';
48068
- var blob = new Blob([
48069
- source
48070
- ], {
48071
- type: "text/javascript"
48072
- });
48073
- var url = URL.createObjectURL(blob);
48074
- for(var i = 0; i < count; ++i){
48075
- workers[i] = createWorker(url);
48076
- }
48077
- URL.revokeObjectURL(url);
48078
- }
48079
- function decodeWorker(count, size, source, mode, filter) {
48080
- var worker = workers[0];
48081
- for(var i = 1; i < workers.length; ++i){
48082
- if (workers[i].pending < worker.pending) {
48083
- worker = workers[i];
48084
- }
48085
- }
48086
- return new Promise(function(resolve, reject) {
48087
- var data = new Uint8Array(source);
48088
- var id = requestId++;
48089
- worker.pending += count;
48090
- worker.requests[id] = {
48091
- resolve: resolve,
48092
- reject: reject
48093
- };
48094
- worker.object.postMessage({
48095
- id: id,
48096
- count: count,
48097
- size: size,
48098
- source: data,
48099
- mode: mode,
48100
- filter: filter
48101
- }, [
48102
- data.buffer
48103
- ]);
48104
- });
48105
- }
48106
- return ready;
48107
- }
48108
48147
  exports.GLTFLoader = /*#__PURE__*/ function(Loader) {
48109
48148
  _inherits(GLTFLoader, Loader);
48110
48149
  function GLTFLoader() {
@@ -48128,10 +48167,19 @@
48128
48167
  var context = new GLTFParserContext(glTFResource, resourceManager, _extends({
48129
48168
  keepMeshData: false
48130
48169
  }, params));
48131
- return new AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress) {
48170
+ return new AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress, onTaskCancel) {
48132
48171
  context._setTaskCompleteProgress = setTaskCompleteProgress;
48133
48172
  context._setTaskDetailProgress = setTaskDetailProgress;
48134
- context.parse().then(resolve).catch(reject);
48173
+ onTaskCancel(function() {
48174
+ var getPromises = context._getPromises;
48175
+ for(var i = 0, n = getPromises.length; i < n; i++){
48176
+ getPromises[i].cancel();
48177
+ }
48178
+ });
48179
+ context.parse().then(resolve).catch(function(e) {
48180
+ glTFResource.destroy();
48181
+ reject(e);
48182
+ });
48135
48183
  });
48136
48184
  };
48137
48185
  /**
@@ -49649,18 +49697,24 @@
49649
49697
  exports.GLTFMaterialParser._checkOtherTextureTransform(clearcoatTexture, "Clear coat");
49650
49698
  context.get(GLTFParserType.Texture, clearcoatTexture.index).then(function(texture) {
49651
49699
  material.clearCoatTexture = texture;
49700
+ }).catch(function(e) {
49701
+ Logger.error("KHR_materials_clearcoat: clearcoat texture error", e);
49652
49702
  });
49653
49703
  }
49654
49704
  if (clearcoatRoughnessTexture) {
49655
49705
  exports.GLTFMaterialParser._checkOtherTextureTransform(clearcoatRoughnessTexture, "Clear coat roughness");
49656
49706
  context.get(GLTFParserType.Texture, clearcoatRoughnessTexture.index).then(function(texture) {
49657
49707
  material.clearCoatRoughnessTexture = texture;
49708
+ }).catch(function(e) {
49709
+ Logger.error("KHR_materials_clearcoat: clearcoat roughness texture error", e);
49658
49710
  });
49659
49711
  }
49660
49712
  if (clearcoatNormalTexture) {
49661
49713
  exports.GLTFMaterialParser._checkOtherTextureTransform(clearcoatNormalTexture, "Clear coat normal");
49662
49714
  context.get(GLTFParserType.Texture, clearcoatNormalTexture.index).then(function(texture) {
49663
49715
  material.clearCoatNormalTexture = texture;
49716
+ }).catch(function(e) {
49717
+ Logger.error("KHR_materials_clearcoat: clearcoat normal texture error", e);
49664
49718
  });
49665
49719
  }
49666
49720
  };
@@ -49701,6 +49755,8 @@
49701
49755
  context.get(GLTFParserType.Texture, diffuseTexture.index).then(function(texture) {
49702
49756
  material.baseTexture = texture;
49703
49757
  GLTFParser.executeExtensionsAdditiveAndParse(diffuseTexture.extensions, context, material, diffuseTexture);
49758
+ }).catch(function(e) {
49759
+ Logger.error("KHR_materials_pbrSpecularGlossiness: diffuse texture error", e);
49704
49760
  });
49705
49761
  }
49706
49762
  if (specularFactor) {
@@ -49713,6 +49769,8 @@
49713
49769
  exports.GLTFMaterialParser._checkOtherTextureTransform(specularGlossinessTexture, "Specular glossiness");
49714
49770
  context.get(GLTFParserType.Texture, specularGlossinessTexture.index).then(function(texture) {
49715
49771
  material.specularGlossinessTexture = texture;
49772
+ }).catch(function(e) {
49773
+ Logger.error("KHR_materials_pbrSpecularGlossiness: specular glossiness texture error", e);
49716
49774
  });
49717
49775
  }
49718
49776
  material.name = ownerSchema.name;
@@ -49740,12 +49798,16 @@
49740
49798
  exports.GLTFMaterialParser._checkOtherTextureTransform(sheenColorTexture, "Sheen texture");
49741
49799
  context.get(GLTFParserType.Texture, sheenColorTexture.index).then(function(texture) {
49742
49800
  material.sheenColorTexture = texture;
49801
+ }).catch(function(e) {
49802
+ Logger.error("KHR_materials_sheen: sheenColorTexture error", e);
49743
49803
  });
49744
49804
  }
49745
49805
  if (sheenRoughnessTexture) {
49746
49806
  exports.GLTFMaterialParser._checkOtherTextureTransform(sheenRoughnessTexture, "SheenRoughness texture");
49747
49807
  context.get(GLTFParserType.Texture, sheenRoughnessTexture.index).then(function(texture) {
49748
49808
  material.sheenRoughnessTexture = texture;
49809
+ }).catch(function(e) {
49810
+ Logger.error("KHR_materials_sheen: sheenRoughnessTexture error", e);
49749
49811
  });
49750
49812
  }
49751
49813
  };
@@ -49767,6 +49829,8 @@
49767
49829
  exports.GLTFMaterialParser._checkOtherTextureTransform(transmissionTexture, "Transmission texture");
49768
49830
  context.get(GLTFParserType.Texture, transmissionTexture.index).then(function(texture) {
49769
49831
  material.transmissionTexture = texture;
49832
+ }).catch(function(e) {
49833
+ Logger.error("KHR_materials_transmission: transmission texture error", e);
49770
49834
  });
49771
49835
  }
49772
49836
  };
@@ -49810,6 +49874,8 @@
49810
49874
  return variantNames[index].name;
49811
49875
  })
49812
49876
  });
49877
+ }).catch(function(e) {
49878
+ Logger.error("KHR_materials_variants: material error", e);
49813
49879
  });
49814
49880
  };
49815
49881
  var _glTFResource;
@@ -49842,6 +49908,8 @@
49842
49908
  exports.GLTFMaterialParser._checkOtherTextureTransform(thicknessTexture, "Thickness texture");
49843
49909
  context.get(GLTFParserType.Texture, thicknessTexture.index).then(function(texture) {
49844
49910
  material.thicknessTexture = texture;
49911
+ }).catch(function(e) {
49912
+ Logger.error("KHR_materials_volume: thickness texture error", e);
49845
49913
  });
49846
49914
  }
49847
49915
  };
@@ -49867,57 +49935,48 @@
49867
49935
  }
49868
49936
  var _proto = KHR_texture_basisu.prototype;
49869
49937
  _proto.createAndParse = function createAndParse(context, schema, textureInfo) {
49870
- return _async_to_generator(function() {
49871
- var glTF, glTFResource, engine, url, sampler, textureName, source, _glTF_images_source, uri, bufferViewIndex, mimeType, imageName, samplerInfo, index, promise, bufferView;
49872
- return __generator(this, function(_state) {
49873
- glTF = context.glTF, glTFResource = context.glTFResource;
49874
- engine = glTFResource.engine, url = glTFResource.url;
49875
- sampler = textureInfo.sampler, textureName = textureInfo.name;
49876
- source = schema.source;
49877
- _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;
49878
- samplerInfo = sampler !== undefined && GLTFUtils.getSamplerInfo(glTF.samplers[sampler]);
49879
- if (uri) {
49880
- index = uri.lastIndexOf(".");
49881
- promise = engine.resourceManager.load({
49882
- url: Utils.resolveAbsoluteUrl(url, uri),
49883
- type: AssetType.KTX2
49884
- }).onProgress(undefined, context._onTaskDetail).then(function(texture) {
49885
- if (!texture.name) {
49886
- texture.name = textureName || imageName || "texture_" + index;
49887
- }
49888
- if (sampler !== undefined) {
49889
- GLTFUtils.parseSampler(texture, samplerInfo);
49890
- }
49891
- return texture;
49892
- });
49893
- context._addTaskCompletePromise(promise);
49894
- return [
49895
- 2,
49896
- promise
49897
- ];
49898
- } else {
49899
- bufferView = glTF.bufferViews[bufferViewIndex];
49900
- return [
49901
- 2,
49902
- context.get(GLTFParserType.Buffer, bufferView.buffer).then(function(buffer) {
49903
- var imageBuffer = new Uint8Array(buffer, bufferView.byteOffset, bufferView.byteLength);
49904
- return exports.KTX2Loader._parseBuffer(imageBuffer, engine).then(function(param) {
49905
- var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
49906
- return exports.KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params);
49907
- }).then(function(texture) {
49908
- texture.name = textureName || imageName || "texture_" + bufferViewIndex;
49909
- if (sampler !== undefined) {
49910
- GLTFUtils.parseSampler(texture, samplerInfo);
49911
- }
49912
- var bufferTextureRestoreInfo = new BufferTextureRestoreInfo(texture, bufferView, mimeType);
49913
- context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
49914
- return texture;
49915
- });
49916
- })
49917
- ];
49938
+ var glTF = context.glTF, glTFResource = context.glTFResource;
49939
+ var engine = glTFResource.engine, url = glTFResource.url;
49940
+ var sampler = textureInfo.sampler, textureName = textureInfo.name;
49941
+ var source = schema.source;
49942
+ 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;
49943
+ var samplerInfo = sampler !== undefined && GLTFUtils.getSamplerInfo(glTF.samplers[sampler]);
49944
+ if (uri) {
49945
+ var index = uri.lastIndexOf(".");
49946
+ var promise = engine.resourceManager.load({
49947
+ url: Utils.resolveAbsoluteUrl(url, uri),
49948
+ type: AssetType.KTX2
49949
+ }).onProgress(undefined, context._onTaskDetail).then(function(texture) {
49950
+ if (!texture.name) {
49951
+ texture.name = textureName || imageName || "texture_" + index;
49952
+ }
49953
+ if (sampler !== undefined) {
49954
+ GLTFUtils.parseSampler(texture, samplerInfo);
49918
49955
  }
49956
+ return texture;
49919
49957
  });
49920
- })();
49958
+ context._addTaskCompletePromise(promise);
49959
+ return promise;
49960
+ } else {
49961
+ var bufferView = glTF.bufferViews[bufferViewIndex];
49962
+ return context.get(GLTFParserType.Buffer, bufferView.buffer).then(function(buffer) {
49963
+ var imageBuffer = new Uint8Array(buffer, bufferView.byteOffset, bufferView.byteLength);
49964
+ return exports.KTX2Loader._parseBuffer(imageBuffer, engine).then(function(param) {
49965
+ var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
49966
+ return exports.KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params);
49967
+ }).then(function(texture) {
49968
+ texture.name = textureName || imageName || "texture_" + bufferViewIndex;
49969
+ if (sampler !== undefined) {
49970
+ GLTFUtils.parseSampler(texture, samplerInfo);
49971
+ }
49972
+ var bufferTextureRestoreInfo = new BufferTextureRestoreInfo(texture, bufferView, mimeType);
49973
+ context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
49974
+ return texture;
49975
+ });
49976
+ }).catch(function(e) {
49977
+ Logger.error("KHR_texture_basisu: buffer error", e);
49978
+ });
49979
+ }
49921
49980
  };
49922
49981
  return KHR_texture_basisu;
49923
49982
  }(GLTFExtensionParser);
@@ -50003,6 +50062,8 @@
50003
50062
  return getMeshoptDecoder().then(function(decoder) {
50004
50063
  return decoder.decodeGltfBuffer(schema.count, schema.byteStride, new Uint8Array(arrayBuffer, schema.byteOffset, schema.byteLength), schema.mode, schema.filter);
50005
50064
  });
50065
+ }).catch(function(e) {
50066
+ Logger.error("EXT_meshopt_compression: buffer error", e);
50006
50067
  });
50007
50068
  };
50008
50069
  return EXT_meshopt_compression;
@@ -50024,6 +50085,8 @@
50024
50085
  exports.GLTFMaterialParser._checkOtherTextureTransform(anisotropyTexture, "Anisotropy texture");
50025
50086
  context.get(GLTFParserType.Texture, anisotropyTexture.index).then(function(texture) {
50026
50087
  material.anisotropyTexture = texture;
50088
+ }).catch(function(e) {
50089
+ Logger.error("KHR_materials_anisotropy: anisotropy texture error", e);
50027
50090
  });
50028
50091
  }
50029
50092
  };
@@ -50047,12 +50110,16 @@
50047
50110
  exports.GLTFMaterialParser._checkOtherTextureTransform(iridescenceTexture, "Iridescence texture");
50048
50111
  context.get(GLTFParserType.Texture, iridescenceTexture.index).then(function(texture) {
50049
50112
  material.iridescenceTexture = texture;
50113
+ }).catch(function(e) {
50114
+ Logger.error("KHR_materials_iridescence: iridescence texture error", e);
50050
50115
  });
50051
50116
  }
50052
50117
  if (iridescenceThicknessTexture) {
50053
50118
  exports.GLTFMaterialParser._checkOtherTextureTransform(iridescenceThicknessTexture, "IridescenceThickness texture");
50054
50119
  context.get(GLTFParserType.Texture, iridescenceThicknessTexture.index).then(function(texture) {
50055
50120
  material.iridescenceThicknessTexture = texture;
50121
+ }).catch(function(e) {
50122
+ Logger.error("KHR_materials_iridescence: iridescence thickness error", e);
50056
50123
  });
50057
50124
  }
50058
50125
  };
@@ -50078,19 +50145,10 @@
50078
50145
  }
50079
50146
  var _proto = EXT_texture_webp.prototype;
50080
50147
  _proto.createAndParse = function createAndParse(context, schema, textureInfo, textureIndex) {
50081
- var _this = this;
50082
- return _async_to_generator(function() {
50083
- var webPIndex, sampler, tmp, fallbackIndex, textureName, texture;
50084
- return __generator(this, function(_state) {
50085
- webPIndex = schema.source;
50086
- sampler = textureInfo.sampler, tmp = textureInfo.source, fallbackIndex = tmp === void 0 ? 0 : tmp, textureName = textureInfo.name;
50087
- texture = exports.GLTFTextureParser._parseTexture(context, _this._supportWebP ? webPIndex : fallbackIndex, textureIndex, sampler, textureName);
50088
- return [
50089
- 2,
50090
- texture
50091
- ];
50092
- });
50093
- })();
50148
+ var webPIndex = schema.source;
50149
+ var sampler = textureInfo.sampler, tmp = textureInfo.source, fallbackIndex = tmp === void 0 ? 0 : tmp, textureName = textureInfo.name;
50150
+ var texture = exports.GLTFTextureParser._parseTexture(context, this._supportWebP ? webPIndex : fallbackIndex, textureIndex, sampler, textureName);
50151
+ return texture;
50094
50152
  };
50095
50153
  return EXT_texture_webp;
50096
50154
  }(GLTFExtensionParser);
@@ -50099,7 +50157,7 @@
50099
50157
  ], EXT_texture_webp);
50100
50158
 
50101
50159
  //@ts-ignore
50102
- var version = "1.4.13";
50160
+ var version = "1.4.15";
50103
50161
  console.log("Galacean Engine Version: " + version);
50104
50162
  for(var key in CoreObjects){
50105
50163
  Loader.registerClass(key, CoreObjects[key]);