@mediapipe/tasks-vision 0.1.0-alpha-11 → 0.1.0-alpha-13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,10 @@
1
- // Build 523775288
1
+ // Build 527689245
2
2
 
3
3
  var ModuleFactory = (() => {
4
4
  var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
5
5
  if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
6
6
  return (
7
- function(ModuleFactory) {
8
- ModuleFactory = ModuleFactory || {};
7
+ function(ModuleFactory = {}) {
9
8
 
10
9
  var Module = typeof ModuleFactory != "undefined" ? ModuleFactory : {};
11
10
 
@@ -43,12 +42,6 @@ function locateFile(path) {
43
42
 
44
43
  var read_, readAsync, readBinary, setWindowTitle;
45
44
 
46
- function logExceptionOnExit(e) {
47
- if (e instanceof ExitStatus) return;
48
- let toLog = e;
49
- err("exiting due to exception: " + toLog);
50
- }
51
-
52
45
  if (ENVIRONMENT_IS_NODE) {
53
46
  var fs = require("fs");
54
47
  var nodePath = require("path");
@@ -74,25 +67,13 @@ if (ENVIRONMENT_IS_NODE) {
74
67
  if (err) onerror(err); else onload(data.buffer);
75
68
  });
76
69
  };
77
- if (process["argv"].length > 1) {
78
- thisProgram = process["argv"][1].replace(/\\/g, "/");
70
+ if (!Module["thisProgram"] && process.argv.length > 1) {
71
+ thisProgram = process.argv[1].replace(/\\/g, "/");
79
72
  }
80
- arguments_ = process["argv"].slice(2);
81
- process["on"]("uncaughtException", function(ex) {
82
- if (!(ex instanceof ExitStatus)) {
83
- throw ex;
84
- }
85
- });
86
- process["on"]("unhandledRejection", function(reason) {
87
- throw reason;
88
- });
73
+ arguments_ = process.argv.slice(2);
89
74
  quit_ = (status, toThrow) => {
90
- if (keepRuntimeAlive()) {
91
- process["exitCode"] = status;
92
- throw toThrow;
93
- }
94
- logExceptionOnExit(toThrow);
95
- process["exit"](status);
75
+ process.exitCode = status;
76
+ throw toThrow;
96
77
  };
97
78
  Module["inspect"] = function() {
98
79
  return "[Emscripten Module object]";
@@ -181,119 +162,20 @@ function assert(condition, text) {
181
162
  }
182
163
  }
183
164
 
184
- var UTF8Decoder = typeof TextDecoder != "undefined" ? new TextDecoder("utf8") : undefined;
165
+ var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
185
166
 
186
- function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {
187
- var endIdx = idx + maxBytesToRead;
188
- var endPtr = idx;
189
- while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;
190
- if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {
191
- return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));
192
- }
193
- var str = "";
194
- while (idx < endPtr) {
195
- var u0 = heapOrArray[idx++];
196
- if (!(u0 & 128)) {
197
- str += String.fromCharCode(u0);
198
- continue;
199
- }
200
- var u1 = heapOrArray[idx++] & 63;
201
- if ((u0 & 224) == 192) {
202
- str += String.fromCharCode((u0 & 31) << 6 | u1);
203
- continue;
204
- }
205
- var u2 = heapOrArray[idx++] & 63;
206
- if ((u0 & 240) == 224) {
207
- u0 = (u0 & 15) << 12 | u1 << 6 | u2;
208
- } else {
209
- u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63;
210
- }
211
- if (u0 < 65536) {
212
- str += String.fromCharCode(u0);
213
- } else {
214
- var ch = u0 - 65536;
215
- str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
216
- }
217
- }
218
- return str;
167
+ function updateMemoryViews() {
168
+ var b = wasmMemory.buffer;
169
+ Module["HEAP8"] = HEAP8 = new Int8Array(b);
170
+ Module["HEAP16"] = HEAP16 = new Int16Array(b);
171
+ Module["HEAP32"] = HEAP32 = new Int32Array(b);
172
+ Module["HEAPU8"] = HEAPU8 = new Uint8Array(b);
173
+ Module["HEAPU16"] = HEAPU16 = new Uint16Array(b);
174
+ Module["HEAPU32"] = HEAPU32 = new Uint32Array(b);
175
+ Module["HEAPF32"] = HEAPF32 = new Float32Array(b);
176
+ Module["HEAPF64"] = HEAPF64 = new Float64Array(b);
219
177
  }
220
178
 
221
- function UTF8ToString(ptr, maxBytesToRead) {
222
- return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
223
- }
224
-
225
- function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {
226
- if (!(maxBytesToWrite > 0)) return 0;
227
- var startIdx = outIdx;
228
- var endIdx = outIdx + maxBytesToWrite - 1;
229
- for (var i = 0; i < str.length; ++i) {
230
- var u = str.charCodeAt(i);
231
- if (u >= 55296 && u <= 57343) {
232
- var u1 = str.charCodeAt(++i);
233
- u = 65536 + ((u & 1023) << 10) | u1 & 1023;
234
- }
235
- if (u <= 127) {
236
- if (outIdx >= endIdx) break;
237
- heap[outIdx++] = u;
238
- } else if (u <= 2047) {
239
- if (outIdx + 1 >= endIdx) break;
240
- heap[outIdx++] = 192 | u >> 6;
241
- heap[outIdx++] = 128 | u & 63;
242
- } else if (u <= 65535) {
243
- if (outIdx + 2 >= endIdx) break;
244
- heap[outIdx++] = 224 | u >> 12;
245
- heap[outIdx++] = 128 | u >> 6 & 63;
246
- heap[outIdx++] = 128 | u & 63;
247
- } else {
248
- if (outIdx + 3 >= endIdx) break;
249
- heap[outIdx++] = 240 | u >> 18;
250
- heap[outIdx++] = 128 | u >> 12 & 63;
251
- heap[outIdx++] = 128 | u >> 6 & 63;
252
- heap[outIdx++] = 128 | u & 63;
253
- }
254
- }
255
- heap[outIdx] = 0;
256
- return outIdx - startIdx;
257
- }
258
-
259
- function stringToUTF8(str, outPtr, maxBytesToWrite) {
260
- return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
261
- }
262
-
263
- function lengthBytesUTF8(str) {
264
- var len = 0;
265
- for (var i = 0; i < str.length; ++i) {
266
- var c = str.charCodeAt(i);
267
- if (c <= 127) {
268
- len++;
269
- } else if (c <= 2047) {
270
- len += 2;
271
- } else if (c >= 55296 && c <= 57343) {
272
- len += 4;
273
- ++i;
274
- } else {
275
- len += 3;
276
- }
277
- }
278
- return len;
279
- }
280
-
281
- var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
282
-
283
- function updateGlobalBufferAndViews(buf) {
284
- buffer = buf;
285
- Module["HEAP8"] = HEAP8 = new Int8Array(buf);
286
- Module["HEAP16"] = HEAP16 = new Int16Array(buf);
287
- Module["HEAP32"] = HEAP32 = new Int32Array(buf);
288
- Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf);
289
- Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf);
290
- Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf);
291
- Module["HEAPF32"] = HEAPF32 = new Float32Array(buf);
292
- Module["HEAPF64"] = HEAPF64 = new Float64Array(buf);
293
- }
294
-
295
- var INITIAL_MEMORY = Module["INITIAL_MEMORY"] || 16777216;
296
-
297
179
  var wasmTable;
298
180
 
299
181
  var __ATPRERUN__ = [];
@@ -306,8 +188,10 @@ var __ATPOSTRUN__ = [];
306
188
 
307
189
  var runtimeInitialized = false;
308
190
 
191
+ var runtimeKeepaliveCounter = 0;
192
+
309
193
  function keepRuntimeAlive() {
310
- return noExitRuntime;
194
+ return noExitRuntime || runtimeKeepaliveCounter > 0;
311
195
  }
312
196
 
313
197
  function preRun() {
@@ -431,23 +315,23 @@ function getBinary(file) {
431
315
  }
432
316
  }
433
317
 
434
- function getBinaryPromise() {
318
+ function getBinaryPromise(binaryFile) {
435
319
  if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {
436
- if (typeof fetch == "function" && !isFileURI(wasmBinaryFile)) {
437
- return fetch(wasmBinaryFile, {
320
+ if (typeof fetch == "function" && !isFileURI(binaryFile)) {
321
+ return fetch(binaryFile, {
438
322
  credentials: "same-origin"
439
323
  }).then(function(response) {
440
324
  if (!response["ok"]) {
441
- throw "failed to load wasm binary file at '" + wasmBinaryFile + "'";
325
+ throw "failed to load wasm binary file at '" + binaryFile + "'";
442
326
  }
443
327
  return response["arrayBuffer"]();
444
328
  }).catch(function() {
445
- return getBinary(wasmBinaryFile);
329
+ return getBinary(binaryFile);
446
330
  });
447
331
  } else {
448
332
  if (readAsync) {
449
333
  return new Promise(function(resolve, reject) {
450
- readAsync(wasmBinaryFile, function(response) {
334
+ readAsync(binaryFile, function(response) {
451
335
  resolve(new Uint8Array(response));
452
336
  }, reject);
453
337
  });
@@ -455,63 +339,65 @@ function getBinaryPromise() {
455
339
  }
456
340
  }
457
341
  return Promise.resolve().then(function() {
458
- return getBinary(wasmBinaryFile);
342
+ return getBinary(binaryFile);
343
+ });
344
+ }
345
+
346
+ function instantiateArrayBuffer(binaryFile, imports, receiver) {
347
+ return getBinaryPromise(binaryFile).then(function(binary) {
348
+ return WebAssembly.instantiate(binary, imports);
349
+ }).then(function(instance) {
350
+ return instance;
351
+ }).then(receiver, function(reason) {
352
+ err("failed to asynchronously prepare wasm: " + reason);
353
+ abort(reason);
459
354
  });
460
355
  }
461
356
 
357
+ function instantiateAsync(binary, binaryFile, imports, callback) {
358
+ if (!binary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(binaryFile) && !isFileURI(binaryFile) && !ENVIRONMENT_IS_NODE && typeof fetch == "function") {
359
+ return fetch(binaryFile, {
360
+ credentials: "same-origin"
361
+ }).then(function(response) {
362
+ var result = WebAssembly.instantiateStreaming(response, imports);
363
+ return result.then(callback, function(reason) {
364
+ err("wasm streaming compile failed: " + reason);
365
+ err("falling back to ArrayBuffer instantiation");
366
+ return instantiateArrayBuffer(binaryFile, imports, callback);
367
+ });
368
+ });
369
+ } else {
370
+ return instantiateArrayBuffer(binaryFile, imports, callback);
371
+ }
372
+ }
373
+
462
374
  function createWasm() {
463
375
  var info = {
464
- "a": asmLibraryArg
376
+ "a": wasmImports
465
377
  };
466
378
  function receiveInstance(instance, module) {
467
379
  var exports = instance.exports;
468
380
  Module["asm"] = exports;
469
381
  wasmMemory = Module["asm"]["jd"];
470
- updateGlobalBufferAndViews(wasmMemory.buffer);
382
+ updateMemoryViews();
471
383
  wasmTable = Module["asm"]["ld"];
472
384
  addOnInit(Module["asm"]["kd"]);
473
385
  removeRunDependency("wasm-instantiate");
386
+ return exports;
474
387
  }
475
388
  addRunDependency("wasm-instantiate");
476
389
  function receiveInstantiationResult(result) {
477
390
  receiveInstance(result["instance"]);
478
391
  }
479
- function instantiateArrayBuffer(receiver) {
480
- return getBinaryPromise().then(function(binary) {
481
- return WebAssembly.instantiate(binary, info);
482
- }).then(function(instance) {
483
- return instance;
484
- }).then(receiver, function(reason) {
485
- err("failed to asynchronously prepare wasm: " + reason);
486
- abort(reason);
487
- });
488
- }
489
- function instantiateAsync() {
490
- if (!wasmBinary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(wasmBinaryFile) && !isFileURI(wasmBinaryFile) && !ENVIRONMENT_IS_NODE && typeof fetch == "function") {
491
- return fetch(wasmBinaryFile, {
492
- credentials: "same-origin"
493
- }).then(function(response) {
494
- var result = WebAssembly.instantiateStreaming(response, info);
495
- return result.then(receiveInstantiationResult, function(reason) {
496
- err("wasm streaming compile failed: " + reason);
497
- err("falling back to ArrayBuffer instantiation");
498
- return instantiateArrayBuffer(receiveInstantiationResult);
499
- });
500
- });
501
- } else {
502
- return instantiateArrayBuffer(receiveInstantiationResult);
503
- }
504
- }
505
392
  if (Module["instantiateWasm"]) {
506
393
  try {
507
- var exports = Module["instantiateWasm"](info, receiveInstance);
508
- return exports;
394
+ return Module["instantiateWasm"](info, receiveInstance);
509
395
  } catch (e) {
510
396
  err("Module.instantiateWasm callback failed with error: " + e);
511
397
  readyPromiseReject(e);
512
398
  }
513
399
  }
514
- instantiateAsync().catch(readyPromiseReject);
400
+ instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);
515
401
  return {};
516
402
  }
517
403
 
@@ -520,15 +406,15 @@ var tempDouble;
520
406
  var tempI64;
521
407
 
522
408
  var ASM_CONSTS = {
523
- 1006158: $0 => {
409
+ 1030022: $0 => {
524
410
  const canvas = Emval.toValue($0);
525
411
  const context = canvas.getContext("webgpu");
526
412
  return JsValStore.add(context.getCurrentTexture());
527
413
  },
528
- 1006293: () => {
414
+ 1030157: () => {
529
415
  return typeof HTMLCanvasElement !== "undefined";
530
416
  },
531
- 1006348: ($0, $1, $2, $3, $4) => {
417
+ 1030212: ($0, $1, $2, $3, $4) => {
532
418
  const drawable = Emval.toValue($0);
533
419
  const device = JsValStore.get($1);
534
420
  const texture = JsValStore.get($2);
@@ -540,7 +426,7 @@ var ASM_CONSTS = {
540
426
  texture: texture
541
427
  }, [ width, height ]);
542
428
  },
543
- 1006599: ($0, $1, $2, $3) => {
429
+ 1030463: ($0, $1, $2, $3) => {
544
430
  const sourceExtTex = Emval.toValue($0);
545
431
  const device = JsValStore.get($1);
546
432
  const sampler = JsValStore.get($2);
@@ -557,56 +443,33 @@ var ASM_CONSTS = {
557
443
  });
558
444
  return JsValStore.add(bindGroup);
559
445
  },
560
- 1006947: ($0, $1) => {
446
+ 1030811: ($0, $1) => {
561
447
  const inputArray = Emval.toValue($0);
562
448
  const output = Emval.toValue($1);
563
449
  const ctx = output.getContext("2d");
564
450
  const image_data = new ImageData(inputArray, output.width, output.height);
565
451
  ctx.putImageData(image_data, 0, 0);
566
452
  },
567
- 1007171: ($0, $1) => {
453
+ 1031035: ($0, $1) => {
568
454
  const input = Emval.toValue($0);
569
455
  const outputArray = Emval.toValue($1);
570
456
  const ctx = input.getContext("2d");
571
457
  const data = ctx.getImageData(0, 0, input.width, input.height);
572
458
  outputArray.set(data.data);
573
459
  },
574
- 1007375: ($0, $1) => {
460
+ 1031239: ($0, $1) => {
575
461
  const input = Emval.toValue($0);
576
462
  const output = Emval.toValue($1);
577
463
  const ctx = output.getContext("2d");
578
464
  ctx.drawImage(input, 0, 0);
579
465
  },
580
- 1007511: () => {
466
+ 1031375: () => {
581
467
  return !!Module["preinitializedWebGPUDevice"];
582
468
  },
583
- 1007562: () => {
584
- let init_once = true;
585
- if (init_once) {
586
- const cachedFindCanvasEventTarget = findCanvasEventTarget;
587
- if (typeof cachedFindCanvasEventTarget !== "function") {
588
- if (typeof console !== "undefined") {
589
- console.error("Expected Emscripten global function " + '"findCanvasEventTarget" not found. WebGL context creation ' + "may fail.");
590
- }
591
- return;
592
- }
593
- findCanvasEventTarget = function(target) {
594
- if (target == 0) {
595
- if (Module && Module.canvas) {
596
- return Module.canvas;
597
- } else if (Module && Module.canvasCssSelector) {
598
- return cachedFindCanvasEventTarget(Module.canvasCssSelector);
599
- }
600
- if (typeof console !== "undefined") {
601
- console.warn("Module properties canvas and canvasCssSelector not " + "found during WebGL context creation.");
602
- }
603
- }
604
- return cachedFindCanvasEventTarget(target);
605
- };
606
- init_once = false;
607
- }
469
+ 1031426: () => {
470
+ specialHTMLTargets["#canvas"] = Module.canvas;
608
471
  },
609
- 1008347: () => {
472
+ 1031477: () => {
610
473
  return typeof wasmOffsetConverter !== "undefined";
611
474
  }
612
475
  };
@@ -828,11 +691,75 @@ var _emscripten_get_now;
828
691
 
829
692
  if (ENVIRONMENT_IS_NODE) {
830
693
  _emscripten_get_now = () => {
831
- var t = process["hrtime"]();
694
+ var t = process.hrtime();
832
695
  return t[0] * 1e3 + t[1] / 1e6;
833
696
  };
834
697
  } else _emscripten_get_now = () => performance.now();
835
698
 
699
+ function setMainLoop(browserIterationFunc, fps, simulateInfiniteLoop, arg, noSetTiming) {
700
+ assert(!Browser.mainLoop.func, "emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");
701
+ Browser.mainLoop.func = browserIterationFunc;
702
+ Browser.mainLoop.arg = arg;
703
+ var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop;
704
+ function checkIsRunning() {
705
+ if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) {
706
+ return false;
707
+ }
708
+ return true;
709
+ }
710
+ Browser.mainLoop.running = false;
711
+ Browser.mainLoop.runner = function Browser_mainLoop_runner() {
712
+ if (ABORT) return;
713
+ if (Browser.mainLoop.queue.length > 0) {
714
+ var start = Date.now();
715
+ var blocker = Browser.mainLoop.queue.shift();
716
+ blocker.func(blocker.arg);
717
+ if (Browser.mainLoop.remainingBlockers) {
718
+ var remaining = Browser.mainLoop.remainingBlockers;
719
+ var next = remaining % 1 == 0 ? remaining - 1 : Math.floor(remaining);
720
+ if (blocker.counted) {
721
+ Browser.mainLoop.remainingBlockers = next;
722
+ } else {
723
+ next = next + .5;
724
+ Browser.mainLoop.remainingBlockers = (8 * remaining + next) / 9;
725
+ }
726
+ }
727
+ out('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + " ms");
728
+ Browser.mainLoop.updateStatus();
729
+ if (!checkIsRunning()) return;
730
+ setTimeout(Browser.mainLoop.runner, 0);
731
+ return;
732
+ }
733
+ if (!checkIsRunning()) return;
734
+ Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0;
735
+ if (Browser.mainLoop.timingMode == 1 && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) {
736
+ Browser.mainLoop.scheduler();
737
+ return;
738
+ } else if (Browser.mainLoop.timingMode == 0) {
739
+ Browser.mainLoop.tickStartTime = _emscripten_get_now();
740
+ }
741
+ GL.newRenderingFrameStarted();
742
+ Browser.mainLoop.runIter(browserIterationFunc);
743
+ if (!checkIsRunning()) return;
744
+ if (typeof SDL == "object" && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData();
745
+ Browser.mainLoop.scheduler();
746
+ };
747
+ if (!noSetTiming) {
748
+ if (fps && fps > 0) _emscripten_set_main_loop_timing(0, 1e3 / fps); else _emscripten_set_main_loop_timing(1, 1);
749
+ Browser.mainLoop.scheduler();
750
+ }
751
+ if (simulateInfiniteLoop) {
752
+ throw "unwind";
753
+ }
754
+ }
755
+
756
+ function handleException(e) {
757
+ if (e instanceof ExitStatus || e == "unwind") {
758
+ return EXITSTATUS;
759
+ }
760
+ quit_(1, e);
761
+ }
762
+
836
763
  function ExitStatus(status) {
837
764
  this.name = "ExitStatus";
838
765
  this.message = "Program terminated with exit(" + status + ")";
@@ -904,20 +831,25 @@ var PATH = {
904
831
  }
905
832
  };
906
833
 
907
- function getRandomDevice() {
834
+ function initRandomFill() {
908
835
  if (typeof crypto == "object" && typeof crypto["getRandomValues"] == "function") {
909
- var randomBuffer = new Uint8Array(1);
910
- return () => {
911
- crypto.getRandomValues(randomBuffer);
912
- return randomBuffer[0];
913
- };
836
+ return view => crypto.getRandomValues(view);
914
837
  } else if (ENVIRONMENT_IS_NODE) {
915
838
  try {
916
839
  var crypto_module = require("crypto");
917
- return () => crypto_module["randomBytes"](1)[0];
840
+ var randomFillSync = crypto_module["randomFillSync"];
841
+ if (randomFillSync) {
842
+ return view => crypto_module["randomFillSync"](view);
843
+ }
844
+ var randomBytes = crypto_module["randomBytes"];
845
+ return view => (view.set(randomBytes(view.byteLength)), view);
918
846
  } catch (e) {}
919
847
  }
920
- return () => abort("randomDevice");
848
+ abort("initRandomDevice");
849
+ }
850
+
851
+ function randomFill(view) {
852
+ return (randomFill = initRandomFill())(view);
921
853
  }
922
854
 
923
855
  var PATH_FS = {
@@ -970,6 +902,58 @@ var PATH_FS = {
970
902
  }
971
903
  };
972
904
 
905
+ function lengthBytesUTF8(str) {
906
+ var len = 0;
907
+ for (var i = 0; i < str.length; ++i) {
908
+ var c = str.charCodeAt(i);
909
+ if (c <= 127) {
910
+ len++;
911
+ } else if (c <= 2047) {
912
+ len += 2;
913
+ } else if (c >= 55296 && c <= 57343) {
914
+ len += 4;
915
+ ++i;
916
+ } else {
917
+ len += 3;
918
+ }
919
+ }
920
+ return len;
921
+ }
922
+
923
+ function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {
924
+ if (!(maxBytesToWrite > 0)) return 0;
925
+ var startIdx = outIdx;
926
+ var endIdx = outIdx + maxBytesToWrite - 1;
927
+ for (var i = 0; i < str.length; ++i) {
928
+ var u = str.charCodeAt(i);
929
+ if (u >= 55296 && u <= 57343) {
930
+ var u1 = str.charCodeAt(++i);
931
+ u = 65536 + ((u & 1023) << 10) | u1 & 1023;
932
+ }
933
+ if (u <= 127) {
934
+ if (outIdx >= endIdx) break;
935
+ heap[outIdx++] = u;
936
+ } else if (u <= 2047) {
937
+ if (outIdx + 1 >= endIdx) break;
938
+ heap[outIdx++] = 192 | u >> 6;
939
+ heap[outIdx++] = 128 | u & 63;
940
+ } else if (u <= 65535) {
941
+ if (outIdx + 2 >= endIdx) break;
942
+ heap[outIdx++] = 224 | u >> 12;
943
+ heap[outIdx++] = 128 | u >> 6 & 63;
944
+ heap[outIdx++] = 128 | u & 63;
945
+ } else {
946
+ if (outIdx + 3 >= endIdx) break;
947
+ heap[outIdx++] = 240 | u >> 18;
948
+ heap[outIdx++] = 128 | u >> 12 & 63;
949
+ heap[outIdx++] = 128 | u >> 6 & 63;
950
+ heap[outIdx++] = 128 | u & 63;
951
+ }
952
+ }
953
+ heap[outIdx] = 0;
954
+ return outIdx - startIdx;
955
+ }
956
+
973
957
  function intArrayFromString(stringy, dontAddNull, length) {
974
958
  var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;
975
959
  var u8array = new Array(len);
@@ -1407,7 +1391,7 @@ var MEMFS = {
1407
1391
  var ptr;
1408
1392
  var allocated;
1409
1393
  var contents = stream.node.contents;
1410
- if (!(flags & 2) && contents.buffer === buffer) {
1394
+ if (!(flags & 2) && contents.buffer === HEAP8.buffer) {
1411
1395
  allocated = false;
1412
1396
  ptr = contents.byteOffset;
1413
1397
  } else {
@@ -2480,9 +2464,15 @@ var FS = {
2480
2464
  TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
2481
2465
  FS.mkdev("/dev/tty", FS.makedev(5, 0));
2482
2466
  FS.mkdev("/dev/tty1", FS.makedev(6, 0));
2483
- var random_device = getRandomDevice();
2484
- FS.createDevice("/dev", "random", random_device);
2485
- FS.createDevice("/dev", "urandom", random_device);
2467
+ var randomBuffer = new Uint8Array(1024), randomLeft = 0;
2468
+ var randomByte = () => {
2469
+ if (randomLeft === 0) {
2470
+ randomLeft = randomFill(randomBuffer).byteLength;
2471
+ }
2472
+ return randomBuffer[--randomLeft];
2473
+ };
2474
+ FS.createDevice("/dev", "random", randomByte);
2475
+ FS.createDevice("/dev", "urandom", randomByte);
2486
2476
  FS.mkdir("/dev/shm");
2487
2477
  FS.mkdir("/dev/shm/tmp");
2488
2478
  },
@@ -2538,6 +2528,7 @@ var FS = {
2538
2528
  ensureErrnoError: () => {
2539
2529
  if (FS.ErrnoError) return;
2540
2530
  FS.ErrnoError = function ErrnoError(errno, node) {
2531
+ this.name = "ErrnoError";
2541
2532
  this.node = node;
2542
2533
  this.setErrno = function(errno) {
2543
2534
  this.errno = errno;
@@ -2919,95 +2910,49 @@ var FS = {
2919
2910
  } else {
2920
2911
  processData(url);
2921
2912
  }
2922
- },
2923
- indexedDB: () => {
2924
- return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
2925
- },
2926
- DB_NAME: () => {
2927
- return "EM_FS_" + window.location.pathname;
2928
- },
2929
- DB_VERSION: 20,
2930
- DB_STORE_NAME: "FILE_DATA",
2931
- saveFilesToDB: (paths, onload, onerror) => {
2932
- onload = onload || (() => {});
2933
- onerror = onerror || (() => {});
2934
- var indexedDB = FS.indexedDB();
2935
- try {
2936
- var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
2937
- } catch (e) {
2938
- return onerror(e);
2913
+ }
2914
+ };
2915
+
2916
+ var UTF8Decoder = typeof TextDecoder != "undefined" ? new TextDecoder("utf8") : undefined;
2917
+
2918
+ function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {
2919
+ var endIdx = idx + maxBytesToRead;
2920
+ var endPtr = idx;
2921
+ while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;
2922
+ if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {
2923
+ return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));
2924
+ }
2925
+ var str = "";
2926
+ while (idx < endPtr) {
2927
+ var u0 = heapOrArray[idx++];
2928
+ if (!(u0 & 128)) {
2929
+ str += String.fromCharCode(u0);
2930
+ continue;
2939
2931
  }
2940
- openRequest.onupgradeneeded = () => {
2941
- out("creating db");
2942
- var db = openRequest.result;
2943
- db.createObjectStore(FS.DB_STORE_NAME);
2944
- };
2945
- openRequest.onsuccess = () => {
2946
- var db = openRequest.result;
2947
- var transaction = db.transaction([ FS.DB_STORE_NAME ], "readwrite");
2948
- var files = transaction.objectStore(FS.DB_STORE_NAME);
2949
- var ok = 0, fail = 0, total = paths.length;
2950
- function finish() {
2951
- if (fail == 0) onload(); else onerror();
2952
- }
2953
- paths.forEach(path => {
2954
- var putRequest = files.put(FS.analyzePath(path).object.contents, path);
2955
- putRequest.onsuccess = () => {
2956
- ok++;
2957
- if (ok + fail == total) finish();
2958
- };
2959
- putRequest.onerror = () => {
2960
- fail++;
2961
- if (ok + fail == total) finish();
2962
- };
2963
- });
2964
- transaction.onerror = onerror;
2965
- };
2966
- openRequest.onerror = onerror;
2967
- },
2968
- loadFilesFromDB: (paths, onload, onerror) => {
2969
- onload = onload || (() => {});
2970
- onerror = onerror || (() => {});
2971
- var indexedDB = FS.indexedDB();
2972
- try {
2973
- var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
2974
- } catch (e) {
2975
- return onerror(e);
2932
+ var u1 = heapOrArray[idx++] & 63;
2933
+ if ((u0 & 224) == 192) {
2934
+ str += String.fromCharCode((u0 & 31) << 6 | u1);
2935
+ continue;
2936
+ }
2937
+ var u2 = heapOrArray[idx++] & 63;
2938
+ if ((u0 & 240) == 224) {
2939
+ u0 = (u0 & 15) << 12 | u1 << 6 | u2;
2940
+ } else {
2941
+ u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63;
2942
+ }
2943
+ if (u0 < 65536) {
2944
+ str += String.fromCharCode(u0);
2945
+ } else {
2946
+ var ch = u0 - 65536;
2947
+ str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
2976
2948
  }
2977
- openRequest.onupgradeneeded = onerror;
2978
- openRequest.onsuccess = () => {
2979
- var db = openRequest.result;
2980
- try {
2981
- var transaction = db.transaction([ FS.DB_STORE_NAME ], "readonly");
2982
- } catch (e) {
2983
- onerror(e);
2984
- return;
2985
- }
2986
- var files = transaction.objectStore(FS.DB_STORE_NAME);
2987
- var ok = 0, fail = 0, total = paths.length;
2988
- function finish() {
2989
- if (fail == 0) onload(); else onerror();
2990
- }
2991
- paths.forEach(path => {
2992
- var getRequest = files.get(path);
2993
- getRequest.onsuccess = () => {
2994
- if (FS.analyzePath(path).exists) {
2995
- FS.unlink(path);
2996
- }
2997
- FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);
2998
- ok++;
2999
- if (ok + fail == total) finish();
3000
- };
3001
- getRequest.onerror = () => {
3002
- fail++;
3003
- if (ok + fail == total) finish();
3004
- };
3005
- });
3006
- transaction.onerror = onerror;
3007
- };
3008
- openRequest.onerror = onerror;
3009
2949
  }
3010
- };
2950
+ return str;
2951
+ }
2952
+
2953
+ function UTF8ToString(ptr, maxBytesToRead) {
2954
+ return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
2955
+ }
3011
2956
 
3012
2957
  var SYSCALLS = {
3013
2958
  DEFAULT_POLLMASK: 5,
@@ -3050,18 +2995,21 @@ var SYSCALLS = {
3050
2995
  HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1];
3051
2996
  HEAP32[buf + 48 >> 2] = 4096;
3052
2997
  HEAP32[buf + 52 >> 2] = stat.blocks;
3053
- tempI64 = [ Math.floor(stat.atime.getTime() / 1e3) >>> 0, (tempDouble = Math.floor(stat.atime.getTime() / 1e3),
2998
+ var atime = stat.atime.getTime();
2999
+ var mtime = stat.mtime.getTime();
3000
+ var ctime = stat.ctime.getTime();
3001
+ tempI64 = [ Math.floor(atime / 1e3) >>> 0, (tempDouble = Math.floor(atime / 1e3),
3054
3002
  +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ],
3055
3003
  HEAP32[buf + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1];
3056
- HEAPU32[buf + 64 >> 2] = 0;
3057
- tempI64 = [ Math.floor(stat.mtime.getTime() / 1e3) >>> 0, (tempDouble = Math.floor(stat.mtime.getTime() / 1e3),
3004
+ HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3;
3005
+ tempI64 = [ Math.floor(mtime / 1e3) >>> 0, (tempDouble = Math.floor(mtime / 1e3),
3058
3006
  +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ],
3059
3007
  HEAP32[buf + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1];
3060
- HEAPU32[buf + 80 >> 2] = 0;
3061
- tempI64 = [ Math.floor(stat.ctime.getTime() / 1e3) >>> 0, (tempDouble = Math.floor(stat.ctime.getTime() / 1e3),
3008
+ HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3;
3009
+ tempI64 = [ Math.floor(ctime / 1e3) >>> 0, (tempDouble = Math.floor(ctime / 1e3),
3062
3010
  +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ],
3063
3011
  HEAP32[buf + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1];
3064
- HEAPU32[buf + 96 >> 2] = 0;
3012
+ HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3;
3065
3013
  tempI64 = [ stat.ino >>> 0, (tempDouble = stat.ino, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ],
3066
3014
  HEAP32[buf + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1];
3067
3015
  return 0;
@@ -3109,70 +3057,13 @@ function exitJS(status, implicit) {
3109
3057
 
3110
3058
  var _exit = exitJS;
3111
3059
 
3112
- function handleException(e) {
3113
- if (e instanceof ExitStatus || e == "unwind") {
3114
- return EXITSTATUS;
3115
- }
3116
- quit_(1, e);
3117
- }
3118
-
3119
- function maybeExit() {}
3120
-
3121
- function setMainLoop(browserIterationFunc, fps, simulateInfiniteLoop, arg, noSetTiming) {
3122
- assert(!Browser.mainLoop.func, "emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");
3123
- Browser.mainLoop.func = browserIterationFunc;
3124
- Browser.mainLoop.arg = arg;
3125
- var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop;
3126
- function checkIsRunning() {
3127
- if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) {
3128
- maybeExit();
3129
- return false;
3130
- }
3131
- return true;
3132
- }
3133
- Browser.mainLoop.running = false;
3134
- Browser.mainLoop.runner = function Browser_mainLoop_runner() {
3135
- if (ABORT) return;
3136
- if (Browser.mainLoop.queue.length > 0) {
3137
- var start = Date.now();
3138
- var blocker = Browser.mainLoop.queue.shift();
3139
- blocker.func(blocker.arg);
3140
- if (Browser.mainLoop.remainingBlockers) {
3141
- var remaining = Browser.mainLoop.remainingBlockers;
3142
- var next = remaining % 1 == 0 ? remaining - 1 : Math.floor(remaining);
3143
- if (blocker.counted) {
3144
- Browser.mainLoop.remainingBlockers = next;
3145
- } else {
3146
- next = next + .5;
3147
- Browser.mainLoop.remainingBlockers = (8 * remaining + next) / 9;
3148
- }
3149
- }
3150
- out('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + " ms");
3151
- Browser.mainLoop.updateStatus();
3152
- if (!checkIsRunning()) return;
3153
- setTimeout(Browser.mainLoop.runner, 0);
3154
- return;
3155
- }
3156
- if (!checkIsRunning()) return;
3157
- Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0;
3158
- if (Browser.mainLoop.timingMode == 1 && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) {
3159
- Browser.mainLoop.scheduler();
3160
- return;
3161
- } else if (Browser.mainLoop.timingMode == 0) {
3162
- Browser.mainLoop.tickStartTime = _emscripten_get_now();
3060
+ function maybeExit() {
3061
+ if (!keepRuntimeAlive()) {
3062
+ try {
3063
+ _exit(EXITSTATUS);
3064
+ } catch (e) {
3065
+ handleException(e);
3163
3066
  }
3164
- GL.newRenderingFrameStarted();
3165
- Browser.mainLoop.runIter(browserIterationFunc);
3166
- if (!checkIsRunning()) return;
3167
- if (typeof SDL == "object" && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData();
3168
- Browser.mainLoop.scheduler();
3169
- };
3170
- if (!noSetTiming) {
3171
- if (fps && fps > 0) _emscripten_set_main_loop_timing(0, 1e3 / fps); else _emscripten_set_main_loop_timing(1, 1);
3172
- Browser.mainLoop.scheduler();
3173
- }
3174
- if (simulateInfiniteLoop) {
3175
- throw "unwind";
3176
3067
  }
3177
3068
  }
3178
3069
 
@@ -3182,6 +3073,7 @@ function callUserCallback(func) {
3182
3073
  }
3183
3074
  try {
3184
3075
  func();
3076
+ maybeExit();
3185
3077
  } catch (e) {
3186
3078
  handleException(e);
3187
3079
  }
@@ -3752,8 +3644,19 @@ function callRuntimeCallbacks(callbacks) {
3752
3644
  }
3753
3645
  }
3754
3646
 
3755
- function ___cxa_allocate_exception(size) {
3756
- return _malloc(size + 24) + 24;
3647
+ var wasmTableMirror = [];
3648
+
3649
+ function getWasmTableEntry(funcPtr) {
3650
+ var func = wasmTableMirror[funcPtr];
3651
+ if (!func) {
3652
+ if (funcPtr >= wasmTableMirror.length) wasmTableMirror.length = funcPtr + 1;
3653
+ wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr);
3654
+ }
3655
+ return func;
3656
+ }
3657
+
3658
+ function ___call_sighandler(fp, sig) {
3659
+ getWasmTableEntry(fp)(sig);
3757
3660
  }
3758
3661
 
3759
3662
  function ExceptionInfo(excPtr) {
@@ -3831,7 +3734,7 @@ function ___cxa_throw(ptr, type, destructor) {
3831
3734
  info.init(type, destructor);
3832
3735
  exceptionLast = ptr;
3833
3736
  uncaughtExceptionCount++;
3834
- throw ptr;
3737
+ throw exceptionLast;
3835
3738
  }
3836
3739
 
3837
3740
  function setErrNo(value) {
@@ -3895,7 +3798,7 @@ function ___syscall_fcntl64(fd, cmd, varargs) {
3895
3798
  }
3896
3799
  }
3897
3800
  } catch (e) {
3898
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
3801
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
3899
3802
  return -e.errno;
3900
3803
  }
3901
3804
  }
@@ -3905,7 +3808,7 @@ function ___syscall_fstat64(fd, buf) {
3905
3808
  var stream = SYSCALLS.getStreamFromFD(fd);
3906
3809
  return SYSCALLS.doStat(FS.stat, stream.path, buf);
3907
3810
  } catch (e) {
3908
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
3811
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
3909
3812
  return -e.errno;
3910
3813
  }
3911
3814
  }
@@ -3969,7 +3872,7 @@ function ___syscall_ioctl(fd, op, varargs) {
3969
3872
  return -28;
3970
3873
  }
3971
3874
  } catch (e) {
3972
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
3875
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
3973
3876
  return -e.errno;
3974
3877
  }
3975
3878
  }
@@ -3979,7 +3882,7 @@ function ___syscall_lstat64(path, buf) {
3979
3882
  path = SYSCALLS.getStr(path);
3980
3883
  return SYSCALLS.doStat(FS.lstat, path, buf);
3981
3884
  } catch (e) {
3982
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
3885
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
3983
3886
  return -e.errno;
3984
3887
  }
3985
3888
  }
@@ -3993,7 +3896,7 @@ function ___syscall_newfstatat(dirfd, path, buf, flags) {
3993
3896
  path = SYSCALLS.calculateAt(dirfd, path, allowEmpty);
3994
3897
  return SYSCALLS.doStat(nofollow ? FS.lstat : FS.stat, path, buf);
3995
3898
  } catch (e) {
3996
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
3899
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
3997
3900
  return -e.errno;
3998
3901
  }
3999
3902
  }
@@ -4006,7 +3909,7 @@ function ___syscall_openat(dirfd, path, flags, varargs) {
4006
3909
  var mode = varargs ? SYSCALLS.get() : 0;
4007
3910
  return FS.open(path, flags, mode).fd;
4008
3911
  } catch (e) {
4009
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
3912
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
4010
3913
  return -e.errno;
4011
3914
  }
4012
3915
  }
@@ -4016,16 +3919,14 @@ function ___syscall_stat64(path, buf) {
4016
3919
  path = SYSCALLS.getStr(path);
4017
3920
  return SYSCALLS.doStat(FS.stat, path, buf);
4018
3921
  } catch (e) {
4019
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
3922
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
4020
3923
  return -e.errno;
4021
3924
  }
4022
3925
  }
4023
3926
 
4024
- function __dlinit(main_dso_handle) {}
4025
-
4026
3927
  var dlopenMissingError = "To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking";
4027
3928
 
4028
- function __dlopen_js(filename, flag) {
3929
+ function __dlopen_js(handle) {
4029
3930
  abort(dlopenMissingError);
4030
3931
  }
4031
3932
 
@@ -4097,10 +3998,11 @@ function makeLegalFunctionName(name) {
4097
3998
 
4098
3999
  function createNamedFunction(name, body) {
4099
4000
  name = makeLegalFunctionName(name);
4100
- return function() {
4101
- "use strict";
4102
- return body.apply(this, arguments);
4103
- };
4001
+ return {
4002
+ [name]: function() {
4003
+ return body.apply(this, arguments);
4004
+ }
4005
+ }[name];
4104
4006
  }
4105
4007
 
4106
4008
  function extendError(baseErrorType, errorName) {
@@ -4185,47 +4087,53 @@ function __embind_register_bool(rawType, name, size, trueValue, falseValue) {
4185
4087
  });
4186
4088
  }
4187
4089
 
4188
- var emval_free_list = [];
4090
+ function HandleAllocator() {
4091
+ this.allocated = [ undefined ];
4092
+ this.freelist = [];
4093
+ this.get = function(id) {
4094
+ return this.allocated[id];
4095
+ };
4096
+ this.allocate = function(handle) {
4097
+ let id = this.freelist.pop() || this.allocated.length;
4098
+ this.allocated[id] = handle;
4099
+ return id;
4100
+ };
4101
+ this.free = function(id) {
4102
+ this.allocated[id] = undefined;
4103
+ this.freelist.push(id);
4104
+ };
4105
+ }
4189
4106
 
4190
- var emval_handle_array = [ {}, {
4191
- value: undefined
4192
- }, {
4193
- value: null
4194
- }, {
4195
- value: true
4196
- }, {
4197
- value: false
4198
- } ];
4107
+ var emval_handles = new HandleAllocator();
4199
4108
 
4200
4109
  function __emval_decref(handle) {
4201
- if (handle > 4 && 0 === --emval_handle_array[handle].refcount) {
4202
- emval_handle_array[handle] = undefined;
4203
- emval_free_list.push(handle);
4110
+ if (handle >= emval_handles.reserved && 0 === --emval_handles.get(handle).refcount) {
4111
+ emval_handles.free(handle);
4204
4112
  }
4205
4113
  }
4206
4114
 
4207
4115
  function count_emval_handles() {
4208
4116
  var count = 0;
4209
- for (var i = 5; i < emval_handle_array.length; ++i) {
4210
- if (emval_handle_array[i] !== undefined) {
4117
+ for (var i = emval_handles.reserved; i < emval_handles.allocated.length; ++i) {
4118
+ if (emval_handles.allocated[i] !== undefined) {
4211
4119
  ++count;
4212
4120
  }
4213
4121
  }
4214
4122
  return count;
4215
4123
  }
4216
4124
 
4217
- function get_first_emval() {
4218
- for (var i = 5; i < emval_handle_array.length; ++i) {
4219
- if (emval_handle_array[i] !== undefined) {
4220
- return emval_handle_array[i];
4221
- }
4222
- }
4223
- return null;
4224
- }
4225
-
4226
4125
  function init_emval() {
4126
+ emval_handles.allocated.push({
4127
+ value: undefined
4128
+ }, {
4129
+ value: null
4130
+ }, {
4131
+ value: true
4132
+ }, {
4133
+ value: false
4134
+ });
4135
+ emval_handles.reserved = emval_handles.allocated.length;
4227
4136
  Module["count_emval_handles"] = count_emval_handles;
4228
- Module["get_first_emval"] = get_first_emval;
4229
4137
  }
4230
4138
 
4231
4139
  var Emval = {
@@ -4233,7 +4141,7 @@ var Emval = {
4233
4141
  if (!handle) {
4234
4142
  throwBindingError("Cannot use deleted val. handle = " + handle);
4235
4143
  }
4236
- return emval_handle_array[handle].value;
4144
+ return emval_handles.get(handle).value;
4237
4145
  },
4238
4146
  toHandle: value => {
4239
4147
  switch (value) {
@@ -4251,12 +4159,10 @@ var Emval = {
4251
4159
 
4252
4160
  default:
4253
4161
  {
4254
- var handle = emval_free_list.length ? emval_free_list.pop() : emval_handle_array.length;
4255
- emval_handle_array[handle] = {
4162
+ return emval_handles.allocate({
4256
4163
  refcount: 1,
4257
4164
  value: value
4258
- };
4259
- return handle;
4165
+ });
4260
4166
  }
4261
4167
  }
4262
4168
  }
@@ -4389,7 +4295,7 @@ function __embind_register_memory_view(rawType, dataTypeIndex, name) {
4389
4295
  var heap = HEAPU32;
4390
4296
  var size = heap[handle];
4391
4297
  var data = heap[handle + 1];
4392
- return new TA(buffer, data, size);
4298
+ return new TA(heap.buffer, data, size);
4393
4299
  }
4394
4300
  name = readLatin1String(name);
4395
4301
  registerType(rawType, {
@@ -4402,6 +4308,10 @@ function __embind_register_memory_view(rawType, dataTypeIndex, name) {
4402
4308
  });
4403
4309
  }
4404
4310
 
4311
+ function stringToUTF8(str, outPtr, maxBytesToWrite) {
4312
+ return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
4313
+ }
4314
+
4405
4315
  function __embind_register_std_string(rawType, name) {
4406
4316
  name = readLatin1String(name);
4407
4317
  var stdStringIsUTF8 = name === "std::string";
@@ -4731,7 +4641,7 @@ function __emval_get_property(handle, key) {
4731
4641
 
4732
4642
  function __emval_incref(handle) {
4733
4643
  if (handle > 4) {
4734
- emval_handle_array[handle].refcount += 1;
4644
+ emval_handles.get(handle).refcount += 1;
4735
4645
  }
4736
4646
  }
4737
4647
 
@@ -4795,17 +4705,17 @@ function __gmtime_js(time, tmPtr) {
4795
4705
  HEAP32[tmPtr + 28 >> 2] = yday;
4796
4706
  }
4797
4707
 
4798
- function __isLeapYear(year) {
4708
+ function isLeapYear(year) {
4799
4709
  return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
4800
4710
  }
4801
4711
 
4802
- var __MONTH_DAYS_LEAP_CUMULATIVE = [ 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 ];
4712
+ var MONTH_DAYS_LEAP_CUMULATIVE = [ 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 ];
4803
4713
 
4804
- var __MONTH_DAYS_REGULAR_CUMULATIVE = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 ];
4714
+ var MONTH_DAYS_REGULAR_CUMULATIVE = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 ];
4805
4715
 
4806
- function __yday_from_date(date) {
4807
- var isLeapYear = __isLeapYear(date.getFullYear());
4808
- var monthDaysCumulative = isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE;
4716
+ function ydayFromDate(date) {
4717
+ var leap = isLeapYear(date.getFullYear());
4718
+ var monthDaysCumulative = leap ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE;
4809
4719
  var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;
4810
4720
  return yday;
4811
4721
  }
@@ -4819,7 +4729,7 @@ function __localtime_js(time, tmPtr) {
4819
4729
  HEAP32[tmPtr + 16 >> 2] = date.getMonth();
4820
4730
  HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;
4821
4731
  HEAP32[tmPtr + 24 >> 2] = date.getDay();
4822
- var yday = __yday_from_date(date) | 0;
4732
+ var yday = ydayFromDate(date) | 0;
4823
4733
  HEAP32[tmPtr + 28 >> 2] = yday;
4824
4734
  HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);
4825
4735
  var start = new Date(date.getFullYear(), 0, 1);
@@ -4845,7 +4755,7 @@ function __mktime_js(tmPtr) {
4845
4755
  date.setTime(date.getTime() + (trueOffset - guessedOffset) * 6e4);
4846
4756
  }
4847
4757
  HEAP32[tmPtr + 24 >> 2] = date.getDay();
4848
- var yday = __yday_from_date(date) | 0;
4758
+ var yday = ydayFromDate(date) | 0;
4849
4759
  HEAP32[tmPtr + 28 >> 2] = yday;
4850
4760
  HEAP32[tmPtr >> 2] = date.getSeconds();
4851
4761
  HEAP32[tmPtr + 4 >> 2] = date.getMinutes();
@@ -4865,7 +4775,7 @@ function __mmap_js(len, prot, flags, fd, off, allocated, addr) {
4865
4775
  HEAPU32[addr >> 2] = ptr;
4866
4776
  return 0;
4867
4777
  } catch (e) {
4868
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
4778
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
4869
4779
  return -e.errno;
4870
4780
  }
4871
4781
  }
@@ -4878,15 +4788,34 @@ function __munmap_js(addr, len, prot, flags, fd, offset) {
4878
4788
  }
4879
4789
  FS.munmap(stream);
4880
4790
  } catch (e) {
4881
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
4791
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
4882
4792
  return -e.errno;
4883
4793
  }
4884
4794
  }
4885
4795
 
4886
- function allocateUTF8(str) {
4796
+ var timers = {};
4797
+
4798
+ function __setitimer_js(which, timeout_ms) {
4799
+ if (timers[which]) {
4800
+ clearTimeout(timers[which].id);
4801
+ delete timers[which];
4802
+ }
4803
+ if (!timeout_ms) return 0;
4804
+ var id = setTimeout(() => {
4805
+ delete timers[which];
4806
+ callUserCallback(() => __emscripten_timeout(which, _emscripten_get_now()));
4807
+ }, timeout_ms);
4808
+ timers[which] = {
4809
+ id: id,
4810
+ timeout_ms: timeout_ms
4811
+ };
4812
+ return 0;
4813
+ }
4814
+
4815
+ function stringToNewUTF8(str) {
4887
4816
  var size = lengthBytesUTF8(str) + 1;
4888
4817
  var ret = _malloc(size);
4889
- if (ret) stringToUTF8Array(str, HEAP8, ret, size);
4818
+ if (ret) stringToUTF8(str, ret, size);
4890
4819
  return ret;
4891
4820
  }
4892
4821
 
@@ -4905,8 +4834,8 @@ function __tzset_js(timezone, daylight, tzname) {
4905
4834
  }
4906
4835
  var winterName = extractZone(winter);
4907
4836
  var summerName = extractZone(summer);
4908
- var winterNamePtr = allocateUTF8(winterName);
4909
- var summerNamePtr = allocateUTF8(summerName);
4837
+ var winterNamePtr = stringToNewUTF8(winterName);
4838
+ var summerNamePtr = stringToNewUTF8(summerName);
4910
4839
  if (summerOffset < winterOffset) {
4911
4840
  HEAPU32[tzname >> 2] = winterNamePtr;
4912
4841
  HEAPU32[tzname + 4 >> 2] = summerNamePtr;
@@ -4964,9 +4893,10 @@ function _emscripten_pc_get_function(pc) {
4964
4893
  }
4965
4894
 
4966
4895
  function emscripten_realloc_buffer(size) {
4896
+ var b = wasmMemory.buffer;
4967
4897
  try {
4968
- wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16);
4969
- updateGlobalBufferAndViews(wasmMemory.buffer);
4898
+ wasmMemory.grow(size - b.byteLength + 65535 >>> 16);
4899
+ updateMemoryViews();
4970
4900
  return 1;
4971
4901
  } catch (e) {}
4972
4902
  }
@@ -5054,7 +4984,7 @@ function _emscripten_stack_unwind_buffer(addr, buffer, count) {
5054
4984
  return i;
5055
4985
  }
5056
4986
 
5057
- function __webgl_enable_ANGLE_instanced_arrays(ctx) {
4987
+ function webgl_enable_ANGLE_instanced_arrays(ctx) {
5058
4988
  var ext = ctx.getExtension("ANGLE_instanced_arrays");
5059
4989
  if (ext) {
5060
4990
  ctx["vertexAttribDivisor"] = function(index, divisor) {
@@ -5070,7 +5000,7 @@ function __webgl_enable_ANGLE_instanced_arrays(ctx) {
5070
5000
  }
5071
5001
  }
5072
5002
 
5073
- function __webgl_enable_OES_vertex_array_object(ctx) {
5003
+ function webgl_enable_OES_vertex_array_object(ctx) {
5074
5004
  var ext = ctx.getExtension("OES_vertex_array_object");
5075
5005
  if (ext) {
5076
5006
  ctx["createVertexArray"] = function() {
@@ -5089,7 +5019,7 @@ function __webgl_enable_OES_vertex_array_object(ctx) {
5089
5019
  }
5090
5020
  }
5091
5021
 
5092
- function __webgl_enable_WEBGL_draw_buffers(ctx) {
5022
+ function webgl_enable_WEBGL_draw_buffers(ctx) {
5093
5023
  var ext = ctx.getExtension("WEBGL_draw_buffers");
5094
5024
  if (ext) {
5095
5025
  ctx["drawBuffers"] = function(n, bufs) {
@@ -5099,15 +5029,15 @@ function __webgl_enable_WEBGL_draw_buffers(ctx) {
5099
5029
  }
5100
5030
  }
5101
5031
 
5102
- function __webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(ctx) {
5032
+ function webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(ctx) {
5103
5033
  return !!(ctx.dibvbi = ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"));
5104
5034
  }
5105
5035
 
5106
- function __webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(ctx) {
5036
+ function webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(ctx) {
5107
5037
  return !!(ctx.mdibvbi = ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"));
5108
5038
  }
5109
5039
 
5110
- function __webgl_enable_WEBGL_multi_draw(ctx) {
5040
+ function webgl_enable_WEBGL_multi_draw(ctx) {
5111
5041
  return !!(ctx.multiDrawWebgl = ctx.getExtension("WEBGL_multi_draw"));
5112
5042
  }
5113
5043
 
@@ -5338,18 +5268,18 @@ var GL = {
5338
5268
  if (context.initExtensionsDone) return;
5339
5269
  context.initExtensionsDone = true;
5340
5270
  var GLctx = context.GLctx;
5341
- __webgl_enable_ANGLE_instanced_arrays(GLctx);
5342
- __webgl_enable_OES_vertex_array_object(GLctx);
5343
- __webgl_enable_WEBGL_draw_buffers(GLctx);
5344
- __webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);
5345
- __webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);
5271
+ webgl_enable_ANGLE_instanced_arrays(GLctx);
5272
+ webgl_enable_OES_vertex_array_object(GLctx);
5273
+ webgl_enable_WEBGL_draw_buffers(GLctx);
5274
+ webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);
5275
+ webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);
5346
5276
  if (context.version >= 2) {
5347
5277
  GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query_webgl2");
5348
5278
  }
5349
5279
  if (context.version < 2 || !GLctx.disjointTimerQueryExt) {
5350
5280
  GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query");
5351
5281
  }
5352
- __webgl_enable_WEBGL_multi_draw(GLctx);
5282
+ webgl_enable_WEBGL_multi_draw(GLctx);
5353
5283
  var exts = GLctx.getSupportedExtensions() || [];
5354
5284
  exts.forEach(function(ext) {
5355
5285
  if (!ext.includes("lose_context") && !ext.includes("debug")) {
@@ -5466,7 +5396,7 @@ var JSEvents = {
5466
5396
  }
5467
5397
  };
5468
5398
 
5469
- var __emscripten_webgl_power_preferences = [ "default", "low-power", "high-performance" ];
5399
+ var emscripten_webgl_power_preferences = [ "default", "low-power", "high-performance" ];
5470
5400
 
5471
5401
  var specialHTMLTargets = [ 0, typeof document != "undefined" ? document : 0, typeof window != "undefined" ? window : 0 ];
5472
5402
 
@@ -5501,7 +5431,7 @@ function _emscripten_webgl_do_create_context(target, attributes) {
5501
5431
  "antialias": !!HEAP32[a + (12 >> 2)],
5502
5432
  "premultipliedAlpha": !!HEAP32[a + (16 >> 2)],
5503
5433
  "preserveDrawingBuffer": !!HEAP32[a + (20 >> 2)],
5504
- "powerPreference": __emscripten_webgl_power_preferences[powerPreference],
5434
+ "powerPreference": emscripten_webgl_power_preferences[powerPreference],
5505
5435
  "failIfMajorPerformanceCaveat": !!HEAP32[a + (28 >> 2)],
5506
5436
  majorVersion: HEAP32[a + (32 >> 2)],
5507
5437
  minorVersion: HEAP32[a + (36 >> 2)],
@@ -5541,7 +5471,7 @@ function _emscripten_webgl_get_context_attributes(c, a) {
5541
5471
  HEAP32[a + 12 >> 2] = t.antialias;
5542
5472
  HEAP32[a + 16 >> 2] = t.premultipliedAlpha;
5543
5473
  HEAP32[a + 20 >> 2] = t.preserveDrawingBuffer;
5544
- var power = t["powerPreference"] && __emscripten_webgl_power_preferences.indexOf(t["powerPreference"]);
5474
+ var power = t["powerPreference"] && emscripten_webgl_power_preferences.indexOf(t["powerPreference"]);
5545
5475
  HEAP32[a + 24 >> 2] = power;
5546
5476
  HEAP32[a + 28 >> 2] = t.failIfMajorPerformanceCaveat;
5547
5477
  HEAP32[a + 32 >> 2] = c.version;
@@ -5575,8 +5505,7 @@ var WebGPU = {
5575
5505
  function Manager() {
5576
5506
  this.objects = {};
5577
5507
  this.nextId = 1;
5578
- this.create = function(object, wrapper) {
5579
- wrapper = wrapper || {};
5508
+ this.create = function(object, wrapper = {}) {
5580
5509
  var id = this.nextId++;
5581
5510
  wrapper.refcount = 1;
5582
5511
  wrapper.object = object;
@@ -5832,11 +5761,11 @@ function getEnvStrings() {
5832
5761
  return getEnvStrings.strings;
5833
5762
  }
5834
5763
 
5835
- function writeAsciiToMemory(str, buffer, dontAddNull) {
5764
+ function stringToAscii(str, buffer) {
5836
5765
  for (var i = 0; i < str.length; ++i) {
5837
5766
  HEAP8[buffer++ >> 0] = str.charCodeAt(i);
5838
5767
  }
5839
- if (!dontAddNull) HEAP8[buffer >> 0] = 0;
5768
+ HEAP8[buffer >> 0] = 0;
5840
5769
  }
5841
5770
 
5842
5771
  function _environ_get(__environ, environ_buf) {
@@ -5844,7 +5773,7 @@ function _environ_get(__environ, environ_buf) {
5844
5773
  getEnvStrings().forEach(function(string, i) {
5845
5774
  var ptr = environ_buf + bufSize;
5846
5775
  HEAPU32[__environ + i * 4 >> 2] = ptr;
5847
- writeAsciiToMemory(string, ptr);
5776
+ stringToAscii(string, ptr);
5848
5777
  bufSize += string.length + 1;
5849
5778
  });
5850
5779
  return 0;
@@ -5867,7 +5796,7 @@ function _fd_close(fd) {
5867
5796
  FS.close(stream);
5868
5797
  return 0;
5869
5798
  } catch (e) {
5870
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
5799
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
5871
5800
  return e.errno;
5872
5801
  }
5873
5802
  }
@@ -5882,6 +5811,9 @@ function doReadv(stream, iov, iovcnt, offset) {
5882
5811
  if (curr < 0) return -1;
5883
5812
  ret += curr;
5884
5813
  if (curr < len) break;
5814
+ if (typeof offset !== "undefined") {
5815
+ offset += curr;
5816
+ }
5885
5817
  }
5886
5818
  return ret;
5887
5819
  }
@@ -5893,7 +5825,7 @@ function _fd_read(fd, iov, iovcnt, pnum) {
5893
5825
  HEAPU32[pnum >> 2] = num;
5894
5826
  return 0;
5895
5827
  } catch (e) {
5896
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
5828
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
5897
5829
  return e.errno;
5898
5830
  }
5899
5831
  }
@@ -5913,7 +5845,7 @@ function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {
5913
5845
  if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;
5914
5846
  return 0;
5915
5847
  } catch (e) {
5916
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
5848
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
5917
5849
  return e.errno;
5918
5850
  }
5919
5851
  }
@@ -5927,6 +5859,9 @@ function doWritev(stream, iov, iovcnt, offset) {
5927
5859
  var curr = FS.write(stream, HEAP8, ptr, len, offset);
5928
5860
  if (curr < 0) return -1;
5929
5861
  ret += curr;
5862
+ if (typeof offset !== "undefined") {
5863
+ offset += curr;
5864
+ }
5930
5865
  }
5931
5866
  return ret;
5932
5867
  }
@@ -5938,18 +5873,13 @@ function _fd_write(fd, iov, iovcnt, pnum) {
5938
5873
  HEAPU32[pnum >> 2] = num;
5939
5874
  return 0;
5940
5875
  } catch (e) {
5941
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
5876
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
5942
5877
  return e.errno;
5943
5878
  }
5944
5879
  }
5945
5880
 
5946
5881
  function _getentropy(buffer, size) {
5947
- if (!_getentropy.randomDevice) {
5948
- _getentropy.randomDevice = getRandomDevice();
5949
- }
5950
- for (var i = 0; i < size; i++) {
5951
- HEAP8[buffer + i >> 0] = _getentropy.randomDevice();
5952
- }
5882
+ randomFill(HEAPU8.subarray(buffer, buffer + size));
5953
5883
  return 0;
5954
5884
  }
5955
5885
 
@@ -6029,8 +5959,9 @@ function convertI32PairToI53(lo, hi) {
6029
5959
  return (lo >>> 0) + hi * 4294967296;
6030
5960
  }
6031
5961
 
6032
- function _glClientWaitSync(sync, flags, timeoutLo, timeoutHi) {
6033
- return GLctx.clientWaitSync(GL.syncs[sync], flags, convertI32PairToI53(timeoutLo, timeoutHi));
5962
+ function _glClientWaitSync(sync, flags, timeout_low, timeout_high) {
5963
+ var timeout = convertI32PairToI53(timeout_low, timeout_high);
5964
+ return GLctx.clientWaitSync(GL.syncs[sync], flags, timeout);
6034
5965
  }
6035
5966
 
6036
5967
  function _glCompileShader(shader) {
@@ -6457,13 +6388,6 @@ function _glGetShaderiv(shader, pname, p) {
6457
6388
  }
6458
6389
  }
6459
6390
 
6460
- function stringToNewUTF8(jsString) {
6461
- var length = lengthBytesUTF8(jsString) + 1;
6462
- var cString = _malloc(length);
6463
- stringToUTF8(jsString, cString, length);
6464
- return cString;
6465
- }
6466
-
6467
6391
  function _glGetString(name_) {
6468
6392
  var ret = GL.stringCache[name_];
6469
6393
  if (!ret) {
@@ -6596,7 +6520,7 @@ function computeUnpackAlignedImageSize(width, height, sizePerPixel, alignment) {
6596
6520
  return height * alignedRowSize;
6597
6521
  }
6598
6522
 
6599
- function __colorChannelsInGlTextureFormat(format) {
6523
+ function colorChannelsInGlTextureFormat(format) {
6600
6524
  var colorChannels = {
6601
6525
  5: 3,
6602
6526
  6: 4,
@@ -6630,7 +6554,7 @@ function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, int
6630
6554
  var heap = heapObjectForWebGLType(type);
6631
6555
  var shift = heapAccessShiftForWebGLHeap(heap);
6632
6556
  var byteSize = 1 << shift;
6633
- var sizePerPixel = __colorChannelsInGlTextureFormat(format) * byteSize;
6557
+ var sizePerPixel = colorChannelsInGlTextureFormat(format) * byteSize;
6634
6558
  var bytes = computeUnpackAlignedImageSize(width, height, sizePerPixel, GL.unpackAlignment);
6635
6559
  return heap.subarray(pixels >> shift, pixels + bytes >> shift);
6636
6560
  }
@@ -6784,7 +6708,7 @@ function _glUniform4fv(location, count, value) {
6784
6708
  GLctx.uniform4fv(webglGetUniformLocation(location), view);
6785
6709
  }
6786
6710
 
6787
- var __miniTempWebGLIntBuffers = [];
6711
+ var miniTempWebGLIntBuffers = [];
6788
6712
 
6789
6713
  function _glUniform4iv(location, count, value) {
6790
6714
  if (GL.currentContext.version >= 2) {
@@ -6792,7 +6716,7 @@ function _glUniform4iv(location, count, value) {
6792
6716
  return;
6793
6717
  }
6794
6718
  if (count <= 72) {
6795
- var view = __miniTempWebGLIntBuffers[4 * count - 1];
6719
+ var view = miniTempWebGLIntBuffers[4 * count - 1];
6796
6720
  for (var i = 0; i < 4 * count; i += 4) {
6797
6721
  view[i] = HEAP32[value + 4 * i >> 2];
6798
6722
  view[i + 1] = HEAP32[value + (4 * i + 4) >> 2];
@@ -6885,22 +6809,22 @@ function _mediapipe_webgl_tex_image_drawable(drawableHandle) {
6885
6809
  GLctx.texImage2D(GLctx.TEXTURE_2D, 0, GLctx.RGBA, GLctx.RGBA, GLctx.UNSIGNED_BYTE, drawable);
6886
6810
  }
6887
6811
 
6888
- function __arraySum(array, index) {
6812
+ function arraySum(array, index) {
6889
6813
  var sum = 0;
6890
6814
  for (var i = 0; i <= index; sum += array[i++]) {}
6891
6815
  return sum;
6892
6816
  }
6893
6817
 
6894
- var __MONTH_DAYS_LEAP = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
6818
+ var MONTH_DAYS_LEAP = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
6895
6819
 
6896
- var __MONTH_DAYS_REGULAR = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
6820
+ var MONTH_DAYS_REGULAR = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
6897
6821
 
6898
- function __addDays(date, days) {
6822
+ function addDays(date, days) {
6899
6823
  var newDate = new Date(date.getTime());
6900
6824
  while (days > 0) {
6901
- var leap = __isLeapYear(newDate.getFullYear());
6825
+ var leap = isLeapYear(newDate.getFullYear());
6902
6826
  var currentMonth = newDate.getMonth();
6903
- var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];
6827
+ var daysInCurrentMonth = (leap ? MONTH_DAYS_LEAP : MONTH_DAYS_REGULAR)[currentMonth];
6904
6828
  if (days > daysInCurrentMonth - newDate.getDate()) {
6905
6829
  days -= daysInCurrentMonth - newDate.getDate() + 1;
6906
6830
  newDate.setDate(1);
@@ -7020,7 +6944,7 @@ function _strftime(s, maxsize, format, tm) {
7020
6944
  }
7021
6945
  }
7022
6946
  function getWeekBasedYear(date) {
7023
- var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);
6947
+ var thisDate = addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);
7024
6948
  var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);
7025
6949
  var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4);
7026
6950
  var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
@@ -7071,7 +6995,7 @@ function _strftime(s, maxsize, format, tm) {
7071
6995
  return leadingNulls(twelveHour, 2);
7072
6996
  },
7073
6997
  "%j": function(date) {
7074
- return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3);
6998
+ return leadingNulls(date.tm_mday + arraySum(isLeapYear(date.tm_year + 1900) ? MONTH_DAYS_LEAP : MONTH_DAYS_REGULAR, date.tm_mon - 1), 3);
7075
6999
  },
7076
7000
  "%m": function(date) {
7077
7001
  return leadingNulls(date.tm_mon + 1, 2);
@@ -7109,12 +7033,12 @@ function _strftime(s, maxsize, format, tm) {
7109
7033
  if (!val) {
7110
7034
  val = 52;
7111
7035
  var dec31 = (date.tm_wday + 7 - date.tm_yday - 1) % 7;
7112
- if (dec31 == 4 || dec31 == 5 && __isLeapYear(date.tm_year % 400 - 1)) {
7036
+ if (dec31 == 4 || dec31 == 5 && isLeapYear(date.tm_year % 400 - 1)) {
7113
7037
  val++;
7114
7038
  }
7115
7039
  } else if (val == 53) {
7116
7040
  var jan1 = (date.tm_wday + 371 - date.tm_yday) % 7;
7117
- if (jan1 != 4 && (jan1 != 3 || !__isLeapYear(date.tm_year))) val = 1;
7041
+ if (jan1 != 4 && (jan1 != 3 || !isLeapYear(date.tm_year))) val = 1;
7118
7042
  }
7119
7043
  return leadingNulls(val, 2);
7120
7044
  },
@@ -7351,11 +7275,7 @@ function _wgpuCommandEncoderRelease(id) {
7351
7275
 
7352
7276
  function _wgpuComputePassEncoderDispatchWorkgroups(passId, x, y, z) {
7353
7277
  var pass = WebGPU.mgrComputePassEncoder.get(passId);
7354
- if (pass["dispatchWorkgroups"]) {
7355
- pass["dispatchWorkgroups"](x, y, z);
7356
- } else {
7357
- pass["dispatch"](x, y, z);
7358
- }
7278
+ pass["dispatchWorkgroups"](x, y, z);
7359
7279
  }
7360
7280
 
7361
7281
  function _wgpuComputePassEncoderEnd(passId) {
@@ -7403,9 +7323,9 @@ function _wgpuDeviceCreateBindGroup(deviceId, descriptor) {
7403
7323
  var textureViewId = HEAPU32[entryPtr + 36 >> 2];
7404
7324
  var binding = HEAPU32[entryPtr + 4 >> 2];
7405
7325
  if (bufferId) {
7406
- var size_low = HEAPU32[entryPtr + 24 >> 2];
7407
- var size_high = HEAPU32[entryPtr + 28 >> 2];
7408
- var size = size_high === -1 && size_low === -1 ? undefined : size_high * 4294967296 + size_low;
7326
+ var size_low = HEAP32[entryPtr + 24 >> 2];
7327
+ var size_high = HEAP32[entryPtr + 28 >> 2];
7328
+ var size = size_high === -1 && size_low === -1 ? undefined : (size_high >>> 0) * 4294967296 + (size_low >>> 0);
7409
7329
  return {
7410
7330
  "binding": binding,
7411
7331
  "resource": {
@@ -7734,7 +7654,7 @@ function _wgpuQueueSubmit(queueId, commandCount, commands) {
7734
7654
  function _wgpuQueueWriteBuffer(queueId, bufferId, bufferOffset_low, bufferOffset_high, data, size) {
7735
7655
  var queue = WebGPU.mgrQueue.get(queueId);
7736
7656
  var buffer = WebGPU.mgrBuffer.get(bufferId);
7737
- var bufferOffset = bufferOffset_high * 4294967296 + bufferOffset_low;
7657
+ var bufferOffset = (bufferOffset_high >>> 0) * 4294967296 + (bufferOffset_low >>> 0);
7738
7658
  var subarray = HEAPU8.subarray(data, data + size);
7739
7659
  queue["writeBuffer"](buffer, bufferOffset, subarray, 0, size);
7740
7660
  }
@@ -7844,14 +7764,19 @@ function getCFunc(ident) {
7844
7764
  return func;
7845
7765
  }
7846
7766
 
7767
+ function stringToUTF8OnStack(str) {
7768
+ var size = lengthBytesUTF8(str) + 1;
7769
+ var ret = stackAlloc(size);
7770
+ stringToUTF8(str, ret, size);
7771
+ return ret;
7772
+ }
7773
+
7847
7774
  function ccall(ident, returnType, argTypes, args, opts) {
7848
7775
  var toC = {
7849
7776
  "string": str => {
7850
7777
  var ret = 0;
7851
7778
  if (str !== null && str !== undefined && str !== 0) {
7852
- var len = (str.length << 2) + 1;
7853
- ret = stackAlloc(len);
7854
- stringToUTF8(str, ret, len);
7779
+ ret = stringToUTF8OnStack(str);
7855
7780
  }
7856
7781
  return ret;
7857
7782
  },
@@ -8007,13 +7932,13 @@ for (var i = 0; i < 288; ++i) {
8007
7932
  miniTempWebGLFloatBuffers[i] = miniTempWebGLFloatBuffersStorage.subarray(0, i + 1);
8008
7933
  }
8009
7934
 
8010
- var __miniTempWebGLIntBuffersStorage = new Int32Array(288);
7935
+ var miniTempWebGLIntBuffersStorage = new Int32Array(288);
8011
7936
 
8012
7937
  for (var i = 0; i < 288; ++i) {
8013
- __miniTempWebGLIntBuffers[i] = __miniTempWebGLIntBuffersStorage.subarray(0, i + 1);
7938
+ miniTempWebGLIntBuffers[i] = miniTempWebGLIntBuffersStorage.subarray(0, i + 1);
8014
7939
  }
8015
7940
 
8016
- var asmLibraryArg = {
7941
+ var wasmImports = {
8017
7942
  "id": HaveOffsetConverter,
8018
7943
  "hd": JsOnEmptyPacketListener,
8019
7944
  "gd": JsOnFloat32ArrayImageListener,
@@ -8026,7 +7951,7 @@ var asmLibraryArg = {
8026
7951
  "ad": JsOnSimpleListenerString,
8027
7952
  "$c": JsOnUint8ClampedArrayImageListener,
8028
7953
  "_c": JsOnUint8ClampedArrayImageVectorListener,
8029
- "K": JsOnVectorFinishedListener,
7954
+ "J": JsOnVectorFinishedListener,
8030
7955
  "Zc": JsOnVectorListenerBool,
8031
7956
  "Yc": JsOnVectorListenerDouble,
8032
7957
  "Xc": JsOnVectorListenerFloat,
@@ -8035,19 +7960,18 @@ var asmLibraryArg = {
8035
7960
  "Uc": JsOnVectorListenerString,
8036
7961
  "Tc": JsOnWebGLTextureListener,
8037
7962
  "Sc": JsOnWebGLTextureVectorListener,
8038
- "D": JsWrapErrorListener,
7963
+ "C": JsWrapErrorListener,
8039
7964
  "Ja": JsWrapImageConverter,
8040
7965
  "r": JsWrapSimpleListeners,
8041
- "j": ___cxa_allocate_exception,
7966
+ "Rc": ___call_sighandler,
8042
7967
  "i": ___cxa_throw,
8043
7968
  "Ia": ___syscall_fcntl64,
8044
- "Rc": ___syscall_fstat64,
8045
- "Qc": ___syscall_ioctl,
8046
- "Pc": ___syscall_lstat64,
8047
- "Oc": ___syscall_newfstatat,
7969
+ "Qc": ___syscall_fstat64,
7970
+ "Pc": ___syscall_ioctl,
7971
+ "Oc": ___syscall_lstat64,
7972
+ "Nc": ___syscall_newfstatat,
8048
7973
  "Ha": ___syscall_openat,
8049
- "Nc": ___syscall_stat64,
8050
- "Jc": __dlinit,
7974
+ "Mc": ___syscall_stat64,
8051
7975
  "Ic": __dlopen_js,
8052
7976
  "Hc": __dlsym_js,
8053
7977
  "Qb": __embind_register_bigint,
@@ -8055,33 +7979,34 @@ var asmLibraryArg = {
8055
7979
  "Fc": __embind_register_emval,
8056
7980
  "Fa": __embind_register_float,
8057
7981
  "B": __embind_register_integer,
8058
- "m": __embind_register_memory_view,
7982
+ "k": __embind_register_memory_view,
8059
7983
  "Ea": __embind_register_std_string,
8060
7984
  "ha": __embind_register_std_wstring,
8061
7985
  "Ec": __embind_register_void,
8062
7986
  "Dc": __emscripten_get_now_is_monotonic,
8063
7987
  "ga": __emval_as,
8064
- "k": __emval_decref,
7988
+ "j": __emval_decref,
8065
7989
  "fa": __emval_get_global,
8066
7990
  "Da": __emval_get_property,
8067
7991
  "Ca": __emval_incref,
8068
7992
  "ea": __emval_instanceof,
8069
- "_": __emval_new_cstring,
7993
+ "Z": __emval_new_cstring,
8070
7994
  "da": __emval_run_destructors,
8071
7995
  "Ba": __emval_set_property,
8072
- "Z": __emval_take_value,
7996
+ "Y": __emval_take_value,
8073
7997
  "Cc": __emval_typeof,
8074
7998
  "Bc": __gmtime_js,
8075
7999
  "Ac": __localtime_js,
8076
8000
  "zc": __mktime_js,
8077
8001
  "yc": __mmap_js,
8078
8002
  "xc": __munmap_js,
8003
+ "Aa": __setitimer_js,
8079
8004
  "wc": __tzset_js,
8080
8005
  "a": _abort,
8081
8006
  "A": _emscripten_asm_const_int,
8082
8007
  "vc": _emscripten_date_now,
8083
8008
  "uc": _emscripten_get_heap_max,
8084
- "C": _emscripten_get_now,
8009
+ "q": _emscripten_get_now,
8085
8010
  "tc": _emscripten_memcpy_big,
8086
8011
  "sc": _emscripten_pc_get_function,
8087
8012
  "rc": _emscripten_resize_heap,
@@ -8090,85 +8015,85 @@ var asmLibraryArg = {
8090
8015
  "oc": _emscripten_webgl_create_context,
8091
8016
  "nc": _emscripten_webgl_destroy_context,
8092
8017
  "mc": _emscripten_webgl_get_context_attributes,
8093
- "Aa": _emscripten_webgl_get_current_context,
8018
+ "za": _emscripten_webgl_get_current_context,
8094
8019
  "lc": _emscripten_webgl_init_context_attributes,
8095
8020
  "kc": _emscripten_webgl_make_context_current,
8096
8021
  "jc": _emscripten_webgpu_export_bind_group_layout,
8097
- "za": _emscripten_webgpu_export_device,
8022
+ "ya": _emscripten_webgpu_export_device,
8098
8023
  "ic": _emscripten_webgpu_export_sampler,
8099
8024
  "hc": _emscripten_webgpu_export_texture,
8100
- "J": _emscripten_webgpu_get_device,
8025
+ "I": _emscripten_webgpu_get_device,
8101
8026
  "gc": _emscripten_webgpu_import_bind_group,
8102
8027
  "fc": _emscripten_webgpu_import_texture,
8103
- "R": _emscripten_webgpu_release_js_handle,
8104
- "Mc": _environ_get,
8105
- "Lc": _environ_sizes_get,
8106
- "ya": _exit,
8028
+ "Q": _emscripten_webgpu_release_js_handle,
8029
+ "Lc": _environ_get,
8030
+ "Kc": _environ_sizes_get,
8031
+ "xa": _exit,
8107
8032
  "ja": _fd_close,
8108
8033
  "Ga": _fd_read,
8109
8034
  "Rb": _fd_seek,
8110
8035
  "ia": _fd_write,
8111
8036
  "ec": _getentropy,
8112
8037
  "d": _glActiveTexture,
8113
- "Y": _glAttachShader,
8038
+ "X": _glAttachShader,
8114
8039
  "dc": _glBindAttribLocation,
8115
8040
  "e": _glBindBuffer,
8116
8041
  "cc": _glBindBufferBase,
8117
8042
  "t": _glBindFramebuffer,
8118
8043
  "b": _glBindTexture,
8119
8044
  "y": _glBindVertexArray,
8120
- "xa": _glBlendEquation,
8045
+ "wa": _glBlendEquation,
8121
8046
  "bc": _glBlendFunc,
8122
8047
  "s": _glBufferData,
8123
8048
  "v": _glClear,
8124
8049
  "ca": _glClearColor,
8125
8050
  "Pb": _glClientWaitSync,
8126
- "wa": _glCompileShader,
8127
- "va": _glCreateProgram,
8128
- "ua": _glCreateShader,
8129
- "I": _glDeleteBuffers,
8130
- "N": _glDeleteFramebuffers,
8051
+ "va": _glCompileShader,
8052
+ "ua": _glCreateProgram,
8053
+ "ta": _glCreateShader,
8054
+ "H": _glDeleteBuffers,
8055
+ "M": _glDeleteFramebuffers,
8131
8056
  "l": _glDeleteProgram,
8132
- "Q": _glDeleteShader,
8133
- "P": _glDeleteSync,
8057
+ "P": _glDeleteShader,
8058
+ "O": _glDeleteSync,
8134
8059
  "x": _glDeleteTextures,
8135
- "X": _glDeleteVertexArrays,
8136
- "H": _glDisable,
8060
+ "W": _glDeleteVertexArrays,
8061
+ "G": _glDisable,
8137
8062
  "w": _glDisableVertexAttribArray,
8138
- "n": _glDrawArrays,
8139
- "O": _glDrawBuffers,
8063
+ "m": _glDrawArrays,
8064
+ "N": _glDrawBuffers,
8140
8065
  "ac": _glEnable,
8141
- "q": _glEnableVertexAttribArray,
8142
- "ta": _glFenceSync,
8143
- "W": _glFinish,
8144
- "sa": _glFlush,
8066
+ "p": _glEnableVertexAttribArray,
8067
+ "sa": _glFenceSync,
8068
+ "V": _glFinish,
8069
+ "ba": _glFlush,
8145
8070
  "u": _glFramebufferTexture2D,
8146
8071
  "ra": _glFramebufferTextureLayer,
8147
8072
  "z": _glGenBuffers,
8148
- "M": _glGenFramebuffers,
8149
- "G": _glGenTextures,
8150
- "V": _glGenVertexArrays,
8073
+ "L": _glGenFramebuffers,
8074
+ "F": _glGenTextures,
8075
+ "U": _glGenVertexArrays,
8151
8076
  "qa": _glGetAttribLocation,
8152
- "U": _glGetError,
8153
- "p": _glGetIntegerv,
8077
+ "T": _glGetError,
8078
+ "o": _glGetIntegerv,
8154
8079
  "$b": _glGetProgramiv,
8155
8080
  "_b": _glGetShaderInfoLog,
8156
8081
  "Zb": _glGetShaderiv,
8157
- "F": _glGetString,
8082
+ "E": _glGetString,
8158
8083
  "Yb": _glGetUniformBlockIndex,
8159
- "g": _glGetUniformLocation,
8084
+ "h": _glGetUniformLocation,
8160
8085
  "pa": _glLinkProgram,
8161
- "T": _glPixelStorei,
8086
+ "S": _glPixelStorei,
8162
8087
  "oa": _glReadPixels,
8163
8088
  "na": _glShaderSource,
8164
- "E": _glTexImage2D,
8089
+ "D": _glTexImage2D,
8165
8090
  "ma": _glTexParameterfv,
8166
8091
  "c": _glTexParameteri,
8167
- "ba": _glTexStorage2D,
8092
+ "aa": _glTexStorage2D,
8168
8093
  "Xb": _glTexStorage3D,
8169
- "aa": _glTexSubImage2D,
8094
+ "$": _glTexSubImage2D,
8170
8095
  "Wb": _glTexSubImage3D,
8171
- "$": _glUniform1f,
8096
+ "_": _glUniform1f,
8172
8097
  "f": _glUniform1i,
8173
8098
  "Vb": _glUniform2f,
8174
8099
  "Ub": _glUniform2fv,
@@ -8176,15 +8101,15 @@ var asmLibraryArg = {
8176
8101
  "Tb": _glUniform4iv,
8177
8102
  "Sb": _glUniformBlockBinding,
8178
8103
  "ka": _glUniformMatrix4fv,
8179
- "h": _glUseProgram,
8180
- "o": _glVertexAttribPointer,
8181
- "L": _glViewport,
8104
+ "g": _glUseProgram,
8105
+ "n": _glVertexAttribPointer,
8106
+ "K": _glViewport,
8182
8107
  "Nb": mediapipe_create_utility_canvas2d,
8183
8108
  "Mb": _mediapipe_find_canvas_event_target,
8184
8109
  "Lb": mediapipe_import_external_texture,
8185
8110
  "Kb": _mediapipe_webgl_tex_image_drawable,
8186
- "Kc": _proc_exit,
8187
- "S": _strftime,
8111
+ "Jc": _proc_exit,
8112
+ "R": _strftime,
8188
8113
  "Jb": _strftime_l,
8189
8114
  "Ib": _wgpuBindGroupLayoutRelease,
8190
8115
  "Hb": _wgpuBindGroupRelease,
@@ -8243,8 +8168,8 @@ var asmLibraryArg = {
8243
8168
 
8244
8169
  var asm = createWasm();
8245
8170
 
8246
- var ___wasm_call_ctors = Module["___wasm_call_ctors"] = function() {
8247
- return (___wasm_call_ctors = Module["___wasm_call_ctors"] = Module["asm"]["kd"]).apply(null, arguments);
8171
+ var ___wasm_call_ctors = function() {
8172
+ return (___wasm_call_ctors = Module["asm"]["kd"]).apply(null, arguments);
8248
8173
  };
8249
8174
 
8250
8175
  var _free = Module["_free"] = function() {
@@ -8271,8 +8196,8 @@ var _registerModelResourcesGraphService = Module["_registerModelResourcesGraphSe
8271
8196
  return (_registerModelResourcesGraphService = Module["_registerModelResourcesGraphService"] = Module["asm"]["rd"]).apply(null, arguments);
8272
8197
  };
8273
8198
 
8274
- var ___errno_location = Module["___errno_location"] = function() {
8275
- return (___errno_location = Module["___errno_location"] = Module["asm"]["sd"]).apply(null, arguments);
8199
+ var ___errno_location = function() {
8200
+ return (___errno_location = Module["asm"]["sd"]).apply(null, arguments);
8276
8201
  };
8277
8202
 
8278
8203
  var _bindTextureToStream = Module["_bindTextureToStream"] = function() {
@@ -8443,29 +8368,37 @@ var __embind_initialize_bindings = Module["__embind_initialize_bindings"] = func
8443
8368
  return (__embind_initialize_bindings = Module["__embind_initialize_bindings"] = Module["asm"]["ge"]).apply(null, arguments);
8444
8369
  };
8445
8370
 
8446
- var _emscripten_builtin_memalign = Module["_emscripten_builtin_memalign"] = function() {
8447
- return (_emscripten_builtin_memalign = Module["_emscripten_builtin_memalign"] = Module["asm"]["he"]).apply(null, arguments);
8371
+ var ___dl_seterr = function() {
8372
+ return (___dl_seterr = Module["asm"]["__dl_seterr"]).apply(null, arguments);
8448
8373
  };
8449
8374
 
8450
- var stackSave = Module["stackSave"] = function() {
8451
- return (stackSave = Module["stackSave"] = Module["asm"]["ie"]).apply(null, arguments);
8375
+ var __emscripten_timeout = function() {
8376
+ return (__emscripten_timeout = Module["asm"]["he"]).apply(null, arguments);
8452
8377
  };
8453
8378
 
8454
- var stackRestore = Module["stackRestore"] = function() {
8455
- return (stackRestore = Module["stackRestore"] = Module["asm"]["je"]).apply(null, arguments);
8379
+ var _emscripten_builtin_memalign = function() {
8380
+ return (_emscripten_builtin_memalign = Module["asm"]["ie"]).apply(null, arguments);
8456
8381
  };
8457
8382
 
8458
- var stackAlloc = Module["stackAlloc"] = function() {
8459
- return (stackAlloc = Module["stackAlloc"] = Module["asm"]["ke"]).apply(null, arguments);
8383
+ var stackSave = function() {
8384
+ return (stackSave = Module["asm"]["je"]).apply(null, arguments);
8460
8385
  };
8461
8386
 
8462
- var ___cxa_is_pointer_type = Module["___cxa_is_pointer_type"] = function() {
8463
- return (___cxa_is_pointer_type = Module["___cxa_is_pointer_type"] = Module["asm"]["le"]).apply(null, arguments);
8387
+ var stackRestore = function() {
8388
+ return (stackRestore = Module["asm"]["ke"]).apply(null, arguments);
8464
8389
  };
8465
8390
 
8466
- var ___start_em_js = Module["___start_em_js"] = 999596;
8391
+ var stackAlloc = function() {
8392
+ return (stackAlloc = Module["asm"]["le"]).apply(null, arguments);
8393
+ };
8394
+
8395
+ var ___cxa_is_pointer_type = function() {
8396
+ return (___cxa_is_pointer_type = Module["asm"]["me"]).apply(null, arguments);
8397
+ };
8467
8398
 
8468
- var ___stop_em_js = Module["___stop_em_js"] = 1006158;
8399
+ var ___start_em_js = Module["___start_em_js"] = 1023460;
8400
+
8401
+ var ___stop_em_js = Module["___stop_em_js"] = 1030022;
8469
8402
 
8470
8403
  Module["addRunDependency"] = addRunDependency;
8471
8404
 
@@ -8483,10 +8416,10 @@ Module["FS_createDevice"] = FS.createDevice;
8483
8416
 
8484
8417
  Module["FS_unlink"] = FS.unlink;
8485
8418
 
8486
- Module["stringToNewUTF8"] = stringToNewUTF8;
8487
-
8488
8419
  Module["ccall"] = ccall;
8489
8420
 
8421
+ Module["stringToNewUTF8"] = stringToNewUTF8;
8422
+
8490
8423
  var calledRun;
8491
8424
 
8492
8425
  dependenciesFulfilled = function runCaller() {
@@ -8494,8 +8427,7 @@ dependenciesFulfilled = function runCaller() {
8494
8427
  if (!calledRun) dependenciesFulfilled = runCaller;
8495
8428
  };
8496
8429
 
8497
- function run(args) {
8498
- args = args || arguments_;
8430
+ function run() {
8499
8431
  if (runDependencies > 0) {
8500
8432
  return;
8501
8433
  }
@@ -8538,6 +8470,7 @@ run();
8538
8470
 
8539
8471
  return ModuleFactory.ready
8540
8472
  }
8473
+
8541
8474
  );
8542
8475
  })();
8543
8476
  if (typeof exports === 'object' && typeof module === 'object')