1
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// This code implements the `-sMODULARIZE` settings by taking the generated
2
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// JS program code (INNER_JS_CODE) and wrapping it in a factory function.
3
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Single threaded MINIMAL_RUNTIME programs do not need access to
5
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// document.currentScript, so a simple export declaration is enough.
6
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var initPikchrModule = (() => {
7
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// When MODULARIZE this JS may be executed later,
8
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// after document.currentScript is gone, so we save it.
9
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// In EXPORT_ES6 mode we can just use 'import.meta.url'.
10
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var _scriptName = globalThis.document?.currentScript?.src;
11
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return async function(moduleArg = {}) {
12
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var moduleRtn;
13
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
14
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// include: shell.js
15
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// include: minimum_runtime_check.js
16
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// end include: minimum_runtime_check.js
17
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// The Module object: Our interface to the outside world. We import
18
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// and export values on it. There are various ways Module can be used:
19
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// 1. Not defined. We create it here
20
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// 2. A function parameter, function(moduleArg) => Promise<Module>
21
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// 3. pre-run appended it, var Module = {}; ..generated code..
22
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// 4. External script tag defines var Module.
23
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// We need to check if Module already exists (e.g. case 3 above).
24
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Substitution will be replaced with actual code on later stage of the build,
25
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// this way Closure Compiler will not mangle it (e.g. case 4. above).
26
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Note that if you want to run closure, and also to use Module
27
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// after the generated code, you will need to define var Module = {};
28
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// before the code. Then that object will be used in the code, and you
29
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// can continue to use Module afterwards as well.
30
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var Module = moduleArg;
31
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
32
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Determine the runtime environment we are in. You can customize this by
33
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// setting the ENVIRONMENT setting at compile time (see settings.js).
34
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var ENVIRONMENT_IS_WEB = true;
35
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
36
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var ENVIRONMENT_IS_WORKER = false;
37
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
38
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// --pre-jses are emitted after the Module integration code, so that they can
39
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// refer to Module (if they choose; they can also define Module)
40
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var arguments_ = [];
41
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
42
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var thisProgram = "./this.program";
43
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
44
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var quit_ = (status, toThrow) => {
45
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
throw toThrow;
46
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
47
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
48
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// `/` should be present at the end if `scriptDirectory` is not empty
49
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var scriptDirectory = "";
50
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
51
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function locateFile(path) {
52
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (Module["locateFile"]) {
53
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return Module["locateFile"](path, scriptDirectory);
54
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
55
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return scriptDirectory + path;
56
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
57
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
58
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Hooks that are implemented differently in different runtime environments.
59
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var readAsync, readBinary;
60
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
61
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Note that this includes Node.js workers when relevant (pthreads is enabled).
62
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and
63
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// ENVIRONMENT_IS_NODE.
64
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
65
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
try {
66
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
scriptDirectory = new URL(".", _scriptName).href;
67
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
} catch {}
68
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
{
69
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// include: web_or_worker_shell_read.js
70
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
readAsync = async url => {
71
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var response = await fetch(url, {
72
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
credentials: "same-origin"
73
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
});
74
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (response.ok) {
75
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return response.arrayBuffer();
76
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
77
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
throw new Error(response.status + " : " + response.url);
78
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
79
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
80
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
} else {}
81
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
82
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var out = console.log.bind(console);
83
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
84
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var err = console.error.bind(console);
85
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
86
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// end include: shell.js
87
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// include: preamble.js
88
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// === Preamble library stuff ===
89
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Documentation for the public APIs defined in this file must be updated in:
90
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// site/source/docs/api_reference/preamble.js.rst
91
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// A prebuilt local version of the documentation is available at:
92
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// site/build/text/docs/api_reference/preamble.js.txt
93
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// You can also build docs locally as HTML or other formats in site/
94
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// An online HTML version (which may be of a different version of Emscripten)
95
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html
96
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var wasmBinary;
97
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
98
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Wasm globals
99
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
//========================================
100
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Runtime essentials
101
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
//========================================
102
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// whether we are quitting the application. no code should run after this.
103
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// set in exit() and abort()
104
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var ABORT = false;
105
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
106
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// set by exit() and abort(). Passed to 'onExit' handler.
107
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// NOTE: This is also used as the process return code in shell environments
108
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// but only when noExitRuntime is false.
109
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var EXITSTATUS;
110
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
111
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// include: runtime_common.js
112
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// include: runtime_stack_check.js
113
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// end include: runtime_stack_check.js
114
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// include: runtime_exceptions.js
115
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// end include: runtime_exceptions.js
116
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// include: runtime_debug.js
117
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// end include: runtime_debug.js
118
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var readyPromiseResolve, readyPromiseReject;
119
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
120
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Memory management
121
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var /** @type {!Int8Array} */ HEAP8, /** @type {!Uint8Array} */ HEAPU8, /** @type {!Int16Array} */ HEAP16, /** @type {!Uint16Array} */ HEAPU16, /** @type {!Int32Array} */ HEAP32, /** @type {!Uint32Array} */ HEAPU32, /** @type {!Float32Array} */ HEAPF32, /** @type {!Float64Array} */ HEAPF64;
122
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
123
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// BigInt64Array type is not correctly defined in closure
124
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var /** not-@type {!BigInt64Array} */ HEAP64, /* BigUint64Array type is not correctly defined in closure
125
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
/** not-@type {!BigUint64Array} */ HEAPU64;
126
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
127
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var runtimeInitialized = false;
128
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
129
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function updateMemoryViews() {
130
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var b = wasmMemory.buffer;
131
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
HEAP8 = new Int8Array(b);
132
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
HEAP16 = new Int16Array(b);
133
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
HEAPU8 = new Uint8Array(b);
134
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
HEAPU16 = new Uint16Array(b);
135
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
HEAP32 = new Int32Array(b);
136
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
HEAPU32 = new Uint32Array(b);
137
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
HEAPF32 = new Float32Array(b);
138
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
HEAPF64 = new Float64Array(b);
139
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
HEAP64 = new BigInt64Array(b);
140
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
HEAPU64 = new BigUint64Array(b);
141
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
142
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
143
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// include: memoryprofiler.js
144
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// end include: memoryprofiler.js
145
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// end include: runtime_common.js
146
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function preRun() {
147
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (Module["preRun"]) {
148
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (typeof Module["preRun"] == "function") Module["preRun"] = [ Module["preRun"] ];
149
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
while (Module["preRun"].length) {
150
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
addOnPreRun(Module["preRun"].shift());
151
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
152
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
153
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Begin ATPRERUNS hooks
154
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
callRuntimeCallbacks(onPreRuns);
155
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
156
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
157
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function initRuntime() {
158
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
runtimeInitialized = true;
159
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// No ATINITS hooks
160
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
wasmExports["e"]();
161
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
162
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
163
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function postRun() {
164
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// PThreads reuse the runtime from the main thread.
165
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (Module["postRun"]) {
166
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (typeof Module["postRun"] == "function") Module["postRun"] = [ Module["postRun"] ];
167
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
while (Module["postRun"].length) {
168
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
addOnPostRun(Module["postRun"].shift());
169
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
170
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
171
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Begin ATPOSTRUNS hooks
172
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
callRuntimeCallbacks(onPostRuns);
173
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
174
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
175
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
/** @param {string|number=} what */ function abort(what) {
176
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Module["onAbort"]?.(what);
177
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
what = "Aborted(" + what + ")";
178
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// TODO(sbc): Should we remove printing and leave it up to whoever
179
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// catches the exception?
180
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
err(what);
181
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ABORT = true;
182
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
what += ". Build with -sASSERTIONS for more info.";
183
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Use a wasm runtime error, because a JS error might be seen as a foreign
184
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// exception, which means we'd run destructors on it. We need the error to
185
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// simply make the program stop.
186
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// FIXME This approach does not work in Wasm EH because it currently does not assume
187
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// all RuntimeErrors are from traps; it decides whether a RuntimeError is from
188
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// a trap or not based on a hidden field within the object. So at the moment
189
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that
190
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// allows this in the wasm spec.
191
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Suppress closure compiler warning here. Closure compiler's builtin extern
192
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// definition for WebAssembly.RuntimeError claims it takes no arguments even
193
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// though it can.
194
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed.
195
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
/** @suppress {checkTypes} */ var e = new WebAssembly.RuntimeError(what);
196
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
readyPromiseReject?.(e);
197
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Throw the error whether or not MODULARIZE is set because abort is used
198
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// in code paths apart from instantiation where an exception is expected
199
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// to be thrown when abort is called.
200
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
throw e;
201
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
202
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
203
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var wasmBinaryFile;
204
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
205
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function findWasmBinary() {
206
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return locateFile("pikchr-v8806526039.wasm");
207
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
208
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
209
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function getBinarySync(file) {
210
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (file == wasmBinaryFile && wasmBinary) {
211
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return new Uint8Array(wasmBinary);
212
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
213
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (readBinary) {
214
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return readBinary(file);
215
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
216
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Throwing a plain string here, even though it not normally advisable since
217
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// this gets turning into an `abort` in instantiateArrayBuffer.
218
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
throw "both async and sync fetching of the wasm failed";
219
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
220
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
221
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
async function getWasmBinary(binaryFile) {
222
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// If we don't have the binary yet, load it asynchronously using readAsync.
223
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (!wasmBinary) {
224
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Fetch the binary using readAsync
225
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
try {
226
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var response = await readAsync(binaryFile);
227
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return new Uint8Array(response);
228
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
} catch {}
229
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
230
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Otherwise, getBinarySync should be able to get it synchronously
231
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return getBinarySync(binaryFile);
232
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
233
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
234
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
async function instantiateArrayBuffer(binaryFile, imports) {
235
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
try {
236
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var binary = await getWasmBinary(binaryFile);
237
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var instance = await WebAssembly.instantiate(binary, imports);
238
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return instance;
239
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
} catch (reason) {
240
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
err(`failed to asynchronously prepare wasm: ${reason}`);
241
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
abort(reason);
242
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
243
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
244
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
245
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
async function instantiateAsync(binary, binaryFile, imports) {
246
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (!binary) {
247
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
try {
248
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var response = fetch(binaryFile, {
249
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
credentials: "same-origin"
250
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
});
251
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var instantiationResult = await WebAssembly.instantiateStreaming(response, imports);
252
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return instantiationResult;
253
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
} catch (reason) {
254
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// We expect the most common failure cause to be a bad MIME type for the binary,
255
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// in which case falling back to ArrayBuffer instantiation should work.
256
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
err(`wasm streaming compile failed: ${reason}`);
257
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
err("falling back to ArrayBuffer instantiation");
258
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
259
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
260
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return instantiateArrayBuffer(binaryFile, imports);
261
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
262
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
263
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function getWasmImports() {
264
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// prepare imports
265
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var imports = {
266
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"a": wasmImports
267
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
268
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return imports;
269
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
270
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
271
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Create the wasm instance.
272
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Receives the wasm imports, returns the exports.
273
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
async function createWasm() {
274
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Load the wasm module and create an instance of using native support in the JS engine.
275
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// handle a generated wasm instance, receiving its exports and
276
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// performing other necessary setup
277
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
/** @param {WebAssembly.Module=} module*/ function receiveInstance(instance, module) {
278
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
wasmExports = instance.exports;
279
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
assignWasmExports(wasmExports);
280
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
updateMemoryViews();
281
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return wasmExports;
282
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
283
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Prefer streaming instantiation if available.
284
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function receiveInstantiationResult(result) {
285
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// 'result' is a ResultObject object which has both the module and instance.
286
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// receiveInstance() will swap in the exports (to Module.asm) so they can be called
287
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line.
288
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// When the regression is fixed, can restore the above PTHREADS-enabled path.
289
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return receiveInstance(result["instance"]);
290
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
291
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var info = getWasmImports();
292
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback
293
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// to manually instantiate the Wasm module themselves. This allows pages to
294
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// run the instantiation parallel to any other async startup actions they are
295
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// performing.
296
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Also pthreads and wasm workers initialize the wasm instance through this
297
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// path.
298
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (Module["instantiateWasm"]) {
299
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return new Promise((resolve, reject) => {
300
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Module["instantiateWasm"](info, (inst, mod) => {
301
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
resolve(receiveInstance(inst, mod));
302
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
});
303
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
});
304
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
305
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
wasmBinaryFile ??= findWasmBinary();
306
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info);
307
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var exports = receiveInstantiationResult(result);
308
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return exports;
309
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
310
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
311
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// end include: preamble.js
312
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Begin JS library code
313
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
class ExitStatus {
314
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
name="ExitStatus";
315
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
constructor(status) {
316
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
this.message = `Program terminated with exit(${status})`;
317
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
this.status = status;
318
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
319
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
320
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
321
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var callRuntimeCallbacks = callbacks => {
322
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
while (callbacks.length > 0) {
323
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Pass the module as the first argument.
324
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
callbacks.shift()(Module);
325
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
326
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
327
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
328
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var onPostRuns = [];
329
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
330
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var addOnPostRun = cb => onPostRuns.push(cb);
331
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
332
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var onPreRuns = [];
333
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
334
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var addOnPreRun = cb => onPreRuns.push(cb);
335
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
336
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
/**
337
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
* @param {number} ptr
338
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
* @param {string} type
339
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
*/ function getValue(ptr, type = "i8") {
340
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (type.endsWith("*")) type = "*";
341
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
switch (type) {
342
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "i1":
343
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return HEAP8[ptr];
344
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
345
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "i8":
346
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return HEAP8[ptr];
347
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
348
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "i16":
349
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return HEAP16[((ptr) >> 1)];
350
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
351
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "i32":
352
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return HEAP32[((ptr) >> 2)];
353
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
354
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "i64":
355
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return HEAP64[((ptr) >> 3)];
356
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
357
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "float":
358
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return HEAPF32[((ptr) >> 2)];
359
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
360
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "double":
361
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return HEAPF64[((ptr) >> 3)];
362
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
363
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "*":
364
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return HEAPU32[((ptr) >> 2)];
365
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
366
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
default:
367
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
abort(`invalid type for getValue: ${type}`);
368
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
369
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
370
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
371
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var noExitRuntime = true;
372
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
373
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
/**
374
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
* @param {number} ptr
375
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
* @param {number} value
376
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
* @param {string} type
377
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
*/ function setValue(ptr, value, type = "i8") {
378
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (type.endsWith("*")) type = "*";
379
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
switch (type) {
380
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "i1":
381
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
HEAP8[ptr] = value;
382
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
break;
383
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
384
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "i8":
385
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
HEAP8[ptr] = value;
386
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
break;
387
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
388
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "i16":
389
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
HEAP16[((ptr) >> 1)] = value;
390
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
break;
391
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
392
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "i32":
393
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
HEAP32[((ptr) >> 2)] = value;
394
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
break;
395
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
396
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "i64":
397
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
HEAP64[((ptr) >> 3)] = BigInt(value);
398
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
break;
399
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
400
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "float":
401
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
HEAPF32[((ptr) >> 2)] = value;
402
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
break;
403
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
404
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "double":
405
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
HEAPF64[((ptr) >> 3)] = value;
406
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
break;
407
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
408
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "*":
409
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
HEAPU32[((ptr) >> 2)] = value;
410
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
break;
411
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
412
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
default:
413
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
abort(`invalid type for setValue: ${type}`);
414
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
415
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
416
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
417
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var stackRestore = val => __emscripten_stack_restore(val);
418
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
419
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var stackSave = () => _emscripten_stack_get_current();
420
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
421
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var UTF8Decoder = new TextDecoder;
422
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
423
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => {
424
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var maxIdx = idx + maxBytesToRead;
425
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (ignoreNul) return maxIdx;
426
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// TextDecoder needs to know the byte length in advance, it doesn't stop on
427
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// null terminator by itself.
428
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// As a tiny code save trick, compare idx against maxIdx using a negation,
429
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// so that maxBytesToRead=undefined/NaN means Infinity.
430
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
while (heapOrArray[idx] && !(idx >= maxIdx)) ++idx;
431
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return idx;
432
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
433
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
434
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
/**
435
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
* Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the
436
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
* emscripten HEAP, returns a copy of that string as a Javascript String object.
437
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
*
438
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
* @param {number} ptr
439
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
* @param {number=} maxBytesToRead - An optional length that specifies the
440
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
* maximum number of bytes to read. You can omit this parameter to scan the
441
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
* string until the first 0 byte. If maxBytesToRead is passed, and the string
442
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
* at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the
443
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
* string will cut short at that byte index.
444
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
* @param {boolean=} ignoreNul - If true, the function will not stop on a NUL character.
445
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
* @return {string}
446
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
*/ var UTF8ToString = (ptr, maxBytesToRead, ignoreNul) => {
447
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (!ptr) return "";
448
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var end = findStringEnd(HEAPU8, ptr, maxBytesToRead, ignoreNul);
449
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));
450
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
451
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
452
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var ___assert_fail = (condition, filename, line, func) => abort(`Assertion failed: ${UTF8ToString(condition)}, at: ` + [ filename ? UTF8ToString(filename) : "unknown filename", line, func ? UTF8ToString(func) : "unknown function" ]);
453
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
454
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var abortOnCannotGrowMemory = requestedSize => {
455
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
abort("OOM");
456
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
457
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
458
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var _emscripten_resize_heap = requestedSize => {
459
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var oldSize = HEAPU8.length;
460
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned.
461
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
requestedSize >>>= 0;
462
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
abortOnCannotGrowMemory(requestedSize);
463
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
464
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
465
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var runtimeKeepaliveCounter = 0;
466
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
467
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0;
468
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
469
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var _proc_exit = code => {
470
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
EXITSTATUS = code;
471
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (!keepRuntimeAlive()) {
472
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Module["onExit"]?.(code);
473
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ABORT = true;
474
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
475
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
quit_(code, new ExitStatus(code));
476
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
477
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
478
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
/** @param {boolean|number=} implicit */ var exitJS = (status, implicit) => {
479
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
EXITSTATUS = status;
480
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
_proc_exit(status);
481
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
482
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
483
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var _exit = exitJS;
484
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
485
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var getCFunc = ident => {
486
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var func = Module["_" + ident];
487
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// closure exported function
488
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return func;
489
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
490
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
491
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var writeArrayToMemory = (array, buffer) => {
492
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
HEAP8.set(array, buffer);
493
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
494
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
495
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var lengthBytesUTF8 = str => {
496
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var len = 0;
497
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
for (var i = 0; i < str.length; ++i) {
498
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code
499
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// unit, not a Unicode code point of the character! So decode
500
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// UTF16->UTF32->UTF8.
501
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// See http://unicode.org/faq/utf_bom.html#utf16-3
502
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var c = str.charCodeAt(i);
503
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// possibly a lead surrogate
504
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (c <= 127) {
505
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
len++;
506
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
} else if (c <= 2047) {
507
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
len += 2;
508
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
} else if (c >= 55296 && c <= 57343) {
509
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
len += 4;
510
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
++i;
511
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
} else {
512
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
len += 3;
513
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
514
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
515
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return len;
516
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
517
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
518
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => {
519
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Parameter maxBytesToWrite is not optional. Negative values, 0, null,
520
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// undefined and false each don't write out any bytes.
521
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (!(maxBytesToWrite > 0)) return 0;
522
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var startIdx = outIdx;
523
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var endIdx = outIdx + maxBytesToWrite - 1;
524
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// -1 for string null terminator.
525
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
for (var i = 0; i < str.length; ++i) {
526
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description
527
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// and https://www.ietf.org/rfc/rfc2279.txt
528
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// and https://tools.ietf.org/html/rfc3629
529
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var u = str.codePointAt(i);
530
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (u <= 127) {
531
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (outIdx >= endIdx) break;
532
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
heap[outIdx++] = u;
533
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
} else if (u <= 2047) {
534
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (outIdx + 1 >= endIdx) break;
535
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
heap[outIdx++] = 192 | (u >> 6);
536
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
heap[outIdx++] = 128 | (u & 63);
537
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
} else if (u <= 65535) {
538
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (outIdx + 2 >= endIdx) break;
539
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
heap[outIdx++] = 224 | (u >> 12);
540
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
heap[outIdx++] = 128 | ((u >> 6) & 63);
541
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
heap[outIdx++] = 128 | (u & 63);
542
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
} else {
543
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (outIdx + 3 >= endIdx) break;
544
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
heap[outIdx++] = 240 | (u >> 18);
545
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
heap[outIdx++] = 128 | ((u >> 12) & 63);
546
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
heap[outIdx++] = 128 | ((u >> 6) & 63);
547
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
heap[outIdx++] = 128 | (u & 63);
548
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Gotcha: if codePoint is over 0xFFFF, it is represented as a surrogate pair in UTF-16.
549
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// We need to manually skip over the second code unit for correct iteration.
550
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
i++;
551
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
552
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
553
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Null-terminate the pointer to the buffer.
554
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
heap[outIdx] = 0;
555
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return outIdx - startIdx;
556
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
557
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
558
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var stringToUTF8 = (str, outPtr, maxBytesToWrite) => stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
559
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
560
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var stackAlloc = sz => __emscripten_stack_alloc(sz);
561
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
562
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var stringToUTF8OnStack = str => {
563
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var size = lengthBytesUTF8(str) + 1;
564
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var ret = stackAlloc(size);
565
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
stringToUTF8(str, ret, size);
566
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return ret;
567
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
568
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
569
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
/**
570
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
* @param {string|null=} returnType
571
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
* @param {Array=} argTypes
572
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
* @param {Array=} args
573
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
* @param {Object=} opts
574
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
*/ var ccall = (ident, returnType, argTypes, args, opts) => {
575
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// For fast lookup of conversion functions
576
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var toC = {
577
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"string": str => {
578
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var ret = 0;
579
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (str !== null && str !== undefined && str !== 0) {
580
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// null string
581
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ret = stringToUTF8OnStack(str);
582
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
583
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return ret;
584
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
},
585
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"array": arr => {
586
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var ret = stackAlloc(arr.length);
587
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
writeArrayToMemory(arr, ret);
588
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return ret;
589
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
590
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
591
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function convertReturnValue(ret) {
592
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (returnType === "string") {
593
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return UTF8ToString(ret);
594
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
595
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (returnType === "boolean") return Boolean(ret);
596
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return ret;
597
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
598
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var func = getCFunc(ident);
599
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var cArgs = [];
600
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var stack = 0;
601
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (args) {
602
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
for (var i = 0; i < args.length; i++) {
603
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var converter = toC[argTypes[i]];
604
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (converter) {
605
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (stack === 0) stack = stackSave();
606
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
cArgs[i] = converter(args[i]);
607
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
} else {
608
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
cArgs[i] = args[i];
609
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
610
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
611
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
612
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var ret = func(...cArgs);
613
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function onDone(ret) {
614
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (stack !== 0) stackRestore(stack);
615
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return convertReturnValue(ret);
616
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
617
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ret = onDone(ret);
618
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return ret;
619
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
620
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
621
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
/**
622
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
* @param {string=} returnType
623
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
* @param {Array=} argTypes
624
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
* @param {Object=} opts
625
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
*/ var cwrap = (ident, returnType, argTypes, opts) => {
626
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// When the function takes numbers and returns a number, we can just return
627
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// the original function
628
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var numericArgs = !argTypes || argTypes.every(type => type === "number" || type === "boolean");
629
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var numericRet = returnType !== "string";
630
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (numericRet && numericArgs && !opts) {
631
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return getCFunc(ident);
632
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
633
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return (...args) => ccall(ident, returnType, argTypes, args, opts);
634
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
635
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
636
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// End JS library code
637
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// include: postlibrary.js
638
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// This file is included after the automatically-generated JS library code
639
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// but before the wasm module is created.
640
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
{
641
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Begin ATMODULES hooks
642
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"];
643
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (Module["print"]) out = Module["print"];
644
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (Module["printErr"]) err = Module["printErr"];
645
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"];
646
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// End ATMODULES hooks
647
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (Module["arguments"]) arguments_ = Module["arguments"];
648
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (Module["thisProgram"]) thisProgram = Module["thisProgram"];
649
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (Module["preInit"]) {
650
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (typeof Module["preInit"] == "function") Module["preInit"] = [ Module["preInit"] ];
651
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
while (Module["preInit"].length > 0) {
652
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Module["preInit"].shift()();
653
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
654
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
655
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
656
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
657
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Begin runtime exports
658
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Module["stackSave"] = stackSave;
659
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
660
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Module["stackRestore"] = stackRestore;
661
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
662
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Module["stackAlloc"] = stackAlloc;
663
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
664
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Module["ccall"] = ccall;
665
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
666
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Module["cwrap"] = cwrap;
667
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
668
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Module["setValue"] = setValue;
669
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
670
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Module["getValue"] = getValue;
671
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
672
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// End runtime exports
673
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Begin JS library exports
674
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// End JS library exports
675
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// end include: postlibrary.js
676
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Imports from the Wasm binary.
677
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var _pikchr_version, _pikchr, __emscripten_stack_restore, __emscripten_stack_alloc, _emscripten_stack_get_current, memory, __indirect_function_table, wasmMemory;
678
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
679
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function assignWasmExports(wasmExports) {
680
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
_pikchr_version = Module["_pikchr_version"] = wasmExports["f"];
681
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
_pikchr = Module["_pikchr"] = wasmExports["g"];
682
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
__emscripten_stack_restore = wasmExports["h"];
683
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
__emscripten_stack_alloc = wasmExports["i"];
684
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
_emscripten_stack_get_current = wasmExports["j"];
685
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
memory = wasmMemory = wasmExports["d"];
686
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
__indirect_function_table = wasmExports["__indirect_function_table"];
687
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
688
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
689
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var wasmImports = {
690
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
/** @export */ a: ___assert_fail,
691
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
/** @export */ b: _emscripten_resize_heap,
692
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
/** @export */ c: _exit
693
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
694
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
695
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// include: postamble.js
696
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// === Auto-generated postamble setup entry stuff ===
697
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function run() {
698
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
preRun();
699
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function doRun() {
700
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// run may have just been called through dependencies being fulfilled just in this very frame,
701
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// or while the async setStatus time below was happening
702
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Module["calledRun"] = true;
703
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (ABORT) return;
704
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
initRuntime();
705
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
readyPromiseResolve?.(Module);
706
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Module["onRuntimeInitialized"]?.();
707
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
postRun();
708
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
709
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (Module["setStatus"]) {
710
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Module["setStatus"]("Running...");
711
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
setTimeout(() => {
712
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
setTimeout(() => Module["setStatus"](""), 1);
713
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
doRun();
714
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}, 1);
715
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
} else {
716
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
doRun();
717
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
718
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
719
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
720
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var wasmExports;
721
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
722
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// In modularize mode the generated code is within a factory function so we
723
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// can use await here (since it's not top-level-await).
724
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
wasmExports = await (createWasm());
725
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
726
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
run();
727
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
728
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// end include: postamble.js
729
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// include: postamble_modularize.js
730
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// In MODULARIZE mode we wrap the generated code in a factory function
731
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// and return either the Module itself, or a promise of the module.
732
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// We assign to the `moduleRtn` global here and configure closure to see
733
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// this as an extern so it won't get minified.
734
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (runtimeInitialized) {
735
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
moduleRtn = Module;
736
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
} else {
737
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Set up the promise that indicates the Module is initialized
738
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
moduleRtn = new Promise((resolve, reject) => {
739
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
readyPromiseResolve = resolve;
740
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
readyPromiseReject = reject;
741
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
});
742
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
743
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
744
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
745
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return moduleRtn;
746
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
747
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
})();
748
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
749
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Export using a UMD style export, or ES6 exports if selected
750
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (typeof exports === 'object' && typeof module === 'object') {
751
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
module.exports = initPikchrModule;
752
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// This default export looks redundant, but it allows TS to import this
753
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// commonjs style module.
754
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
module.exports.default = initPikchrModule;
755
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
} else if (typeof define === 'function' && define['amd'])
756
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
define([], () => initPikchrModule);
757
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
758
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!