@mtkruto/node 0.0.999 → 0.1.100
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/0_deps.d.ts +1 -1
- package/esm/0_deps.js +1 -1
- package/esm/3_errors.d.ts +1531 -0
- package/esm/3_errors.js +1531 -0
- package/esm/4_constants.d.ts +1 -1
- package/esm/4_constants.js +1 -1
- package/esm/4_errors.d.ts +25 -0
- package/esm/4_errors.js +64 -0
- package/esm/client/2_client_plain.js +1 -1
- package/esm/client/4_client.d.ts +2 -1
- package/esm/client/4_client.js +24 -41
- package/esm/deps/deno.land/x/{tgcrypto@0.1.3 → tgcrypto@0.3.2}/mod.d.ts +2 -6
- package/esm/deps/deno.land/x/tgcrypto@0.3.2/mod.js +158 -0
- package/esm/deps/deno.land/x/tgcrypto@0.3.2/tgcrypto.d.ts +2 -0
- package/esm/deps/deno.land/x/tgcrypto@0.3.2/tgcrypto.js +308 -0
- package/esm/mod.d.ts +3 -2
- package/esm/mod.js +3 -2
- package/esm/tl/2_types.d.ts +1 -1
- package/esm/tl/2_types.js +1 -2
- package/esm/tl/3_functions.d.ts +1 -1
- package/esm/tl/3_functions.js +1 -2
- package/esm/transport/0_obfuscation.js +1 -1
- package/esm/transport/0_transport.js +2 -2
- package/esm/types/0__file_id.js +0 -1
- package/esm/types/1_bot_command_scope.d.ts +1 -1
- package/esm/types/1_bot_command_scope.js +1 -1
- package/esm/types/1_chat.d.ts +1 -1
- package/esm/types/1_chat.js +1 -1
- package/esm/types/1_sticker.d.ts +1 -1
- package/esm/types/1_sticker.js +1 -1
- package/esm/types/1_user.d.ts +1 -1
- package/esm/types/1_user.js +1 -1
- package/esm/types/2_inline_keyboard_button.d.ts +1 -1
- package/esm/types/3_message.d.ts +12 -12
- package/esm/types/3_message.js +12 -12
- package/esm/types/5_inline_query_result.d.ts +1 -1
- package/esm/types/5_inline_query_result.js +1 -1
- package/esm/utilities/0_crypto.d.ts +1 -2
- package/esm/utilities/0_crypto.js +5 -12
- package/package.json +1 -1
- package/script/0_deps.d.ts +1 -1
- package/script/0_deps.js +3 -4
- package/script/3_errors.d.ts +1531 -0
- package/script/3_errors.js +2053 -0
- package/script/4_constants.d.ts +1 -1
- package/script/4_constants.js +1 -1
- package/script/4_errors.d.ts +25 -0
- package/script/4_errors.js +88 -0
- package/script/client/2_client_plain.js +1 -1
- package/script/client/4_client.d.ts +2 -1
- package/script/client/4_client.js +24 -41
- package/script/deps/deno.land/x/{tgcrypto@0.1.3 → tgcrypto@0.3.2}/mod.d.ts +2 -6
- package/script/deps/deno.land/x/tgcrypto@0.3.2/mod.js +171 -0
- package/script/deps/deno.land/x/tgcrypto@0.3.2/tgcrypto.d.ts +2 -0
- package/script/deps/deno.land/x/tgcrypto@0.3.2/tgcrypto.js +310 -0
- package/script/mod.d.ts +3 -2
- package/script/mod.js +16 -3
- package/script/tl/2_types.d.ts +1 -1
- package/script/tl/2_types.js +0 -1
- package/script/tl/3_functions.d.ts +1 -1
- package/script/tl/3_functions.js +0 -1
- package/script/transport/0_obfuscation.js +1 -1
- package/script/transport/0_transport.js +2 -2
- package/script/types/0__file_id.js +0 -1
- package/script/types/1_bot_command_scope.d.ts +1 -1
- package/script/types/1_bot_command_scope.js +1 -1
- package/script/types/1_chat.d.ts +1 -1
- package/script/types/1_chat.js +1 -1
- package/script/types/1_sticker.d.ts +1 -1
- package/script/types/1_sticker.js +1 -1
- package/script/types/1_user.d.ts +1 -1
- package/script/types/1_user.js +1 -1
- package/script/types/2_inline_keyboard_button.d.ts +1 -1
- package/script/types/3_message.d.ts +12 -12
- package/script/types/3_message.js +12 -12
- package/script/types/5_inline_query_result.d.ts +1 -1
- package/script/types/5_inline_query_result.js +1 -1
- package/script/utilities/0_crypto.d.ts +1 -2
- package/script/utilities/0_crypto.js +4 -11
- package/esm/deps/deno.land/x/tgcrypto@0.1.3/mod.js +0 -68
- package/esm/deps/deno.land/x/tgcrypto@0.1.3/tgcrypto.d.ts +0 -2
- package/esm/deps/deno.land/x/tgcrypto@0.1.3/tgcrypto.js +0 -1078
- package/script/deps/deno.land/x/tgcrypto@0.1.3/mod.js +0 -82
- package/script/deps/deno.land/x/tgcrypto@0.1.3/tgcrypto.d.ts +0 -2
- package/script/deps/deno.land/x/tgcrypto@0.1.3/tgcrypto.js +0 -1080
|
@@ -1,1080 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var Module = (() => {
|
|
4
|
-
var _scriptDir = require("url").pathToFileURL(__filename).href;
|
|
5
|
-
return (function (Module = {}) {
|
|
6
|
-
var Module = typeof Module != "undefined" ? Module : {};
|
|
7
|
-
var readyPromiseResolve, readyPromiseReject;
|
|
8
|
-
Module["ready"] = new Promise(function (resolve, reject) { readyPromiseResolve = resolve; readyPromiseReject = reject; });
|
|
9
|
-
var moduleOverrides = Object.assign({}, Module);
|
|
10
|
-
var arguments_ = [];
|
|
11
|
-
var thisProgram = "./this.program";
|
|
12
|
-
var quit_ = (status, toThrow) => { throw toThrow; };
|
|
13
|
-
var ENVIRONMENT_IS_WEB = true;
|
|
14
|
-
var ENVIRONMENT_IS_WORKER = false;
|
|
15
|
-
var scriptDirectory = "";
|
|
16
|
-
function locateFile(path) { if (Module["locateFile"]) {
|
|
17
|
-
return Module["locateFile"](path, scriptDirectory);
|
|
18
|
-
} return scriptDirectory + path; }
|
|
19
|
-
var read_, readAsync, readBinary, setWindowTitle;
|
|
20
|
-
if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
|
|
21
|
-
if (ENVIRONMENT_IS_WORKER) {
|
|
22
|
-
scriptDirectory = self.location.href;
|
|
23
|
-
}
|
|
24
|
-
else if (typeof document != "undefined" && document.currentScript) {
|
|
25
|
-
scriptDirectory = document.currentScript.src;
|
|
26
|
-
}
|
|
27
|
-
if (_scriptDir) {
|
|
28
|
-
scriptDirectory = _scriptDir;
|
|
29
|
-
}
|
|
30
|
-
if (scriptDirectory.indexOf("blob:") !== 0) {
|
|
31
|
-
scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1);
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
scriptDirectory = "";
|
|
35
|
-
}
|
|
36
|
-
{
|
|
37
|
-
read_ = url => { try {
|
|
38
|
-
var xhr = new XMLHttpRequest;
|
|
39
|
-
xhr.open("GET", url, false);
|
|
40
|
-
xhr.send(null);
|
|
41
|
-
return xhr.responseText;
|
|
42
|
-
}
|
|
43
|
-
catch (err) {
|
|
44
|
-
var data = tryParseAsDataURI(url);
|
|
45
|
-
if (data) {
|
|
46
|
-
return intArrayToString(data);
|
|
47
|
-
}
|
|
48
|
-
throw err;
|
|
49
|
-
} };
|
|
50
|
-
if (ENVIRONMENT_IS_WORKER) {
|
|
51
|
-
readBinary = url => { try {
|
|
52
|
-
var xhr = new XMLHttpRequest;
|
|
53
|
-
xhr.open("GET", url, false);
|
|
54
|
-
xhr.responseType = "arraybuffer";
|
|
55
|
-
xhr.send(null);
|
|
56
|
-
return new Uint8Array(xhr.response);
|
|
57
|
-
}
|
|
58
|
-
catch (err) {
|
|
59
|
-
var data = tryParseAsDataURI(url);
|
|
60
|
-
if (data) {
|
|
61
|
-
return data;
|
|
62
|
-
}
|
|
63
|
-
throw err;
|
|
64
|
-
} };
|
|
65
|
-
}
|
|
66
|
-
readAsync = (url, onload, onerror) => { var xhr = new XMLHttpRequest; xhr.open("GET", url, true); xhr.responseType = "arraybuffer"; xhr.onload = () => { if (xhr.status == 200 || xhr.status == 0 && xhr.response) {
|
|
67
|
-
onload(xhr.response);
|
|
68
|
-
return;
|
|
69
|
-
} var data = tryParseAsDataURI(url); if (data) {
|
|
70
|
-
onload(data.buffer);
|
|
71
|
-
return;
|
|
72
|
-
} onerror(); }; xhr.onerror = onerror; xhr.send(null); };
|
|
73
|
-
}
|
|
74
|
-
setWindowTitle = title => document.title = title;
|
|
75
|
-
}
|
|
76
|
-
else { }
|
|
77
|
-
var out = Module["print"] || console.log.bind(console);
|
|
78
|
-
var err = Module["printErr"] || console.warn.bind(console);
|
|
79
|
-
Object.assign(Module, moduleOverrides);
|
|
80
|
-
moduleOverrides = null;
|
|
81
|
-
if (Module["arguments"])
|
|
82
|
-
arguments_ = Module["arguments"];
|
|
83
|
-
if (Module["thisProgram"])
|
|
84
|
-
thisProgram = Module["thisProgram"];
|
|
85
|
-
if (Module["quit"])
|
|
86
|
-
quit_ = Module["quit"];
|
|
87
|
-
var wasmBinary;
|
|
88
|
-
if (Module["wasmBinary"])
|
|
89
|
-
wasmBinary = Module["wasmBinary"];
|
|
90
|
-
var noExitRuntime = Module["noExitRuntime"] || true;
|
|
91
|
-
if (typeof WebAssembly != "object") {
|
|
92
|
-
abort("no native wasm support detected");
|
|
93
|
-
}
|
|
94
|
-
var wasmMemory;
|
|
95
|
-
var ABORT = false;
|
|
96
|
-
var EXITSTATUS;
|
|
97
|
-
function assert(condition, text) { if (!condition) {
|
|
98
|
-
abort(text);
|
|
99
|
-
} }
|
|
100
|
-
var UTF8Decoder = typeof TextDecoder != "undefined" ? new TextDecoder("utf8") : undefined;
|
|
101
|
-
function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) { var endIdx = idx + maxBytesToRead; var endPtr = idx; while (heapOrArray[endPtr] && !(endPtr >= endIdx))
|
|
102
|
-
++endPtr; if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {
|
|
103
|
-
return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));
|
|
104
|
-
} var str = ""; while (idx < endPtr) {
|
|
105
|
-
var u0 = heapOrArray[idx++];
|
|
106
|
-
if (!(u0 & 128)) {
|
|
107
|
-
str += String.fromCharCode(u0);
|
|
108
|
-
continue;
|
|
109
|
-
}
|
|
110
|
-
var u1 = heapOrArray[idx++] & 63;
|
|
111
|
-
if ((u0 & 224) == 192) {
|
|
112
|
-
str += String.fromCharCode((u0 & 31) << 6 | u1);
|
|
113
|
-
continue;
|
|
114
|
-
}
|
|
115
|
-
var u2 = heapOrArray[idx++] & 63;
|
|
116
|
-
if ((u0 & 240) == 224) {
|
|
117
|
-
u0 = (u0 & 15) << 12 | u1 << 6 | u2;
|
|
118
|
-
}
|
|
119
|
-
else {
|
|
120
|
-
u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63;
|
|
121
|
-
}
|
|
122
|
-
if (u0 < 65536) {
|
|
123
|
-
str += String.fromCharCode(u0);
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
var ch = u0 - 65536;
|
|
127
|
-
str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
|
|
128
|
-
}
|
|
129
|
-
} return str; }
|
|
130
|
-
function UTF8ToString(ptr, maxBytesToRead) { return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ""; }
|
|
131
|
-
function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { if (!(maxBytesToWrite > 0))
|
|
132
|
-
return 0; var startIdx = outIdx; var endIdx = outIdx + maxBytesToWrite - 1; for (var i = 0; i < str.length; ++i) {
|
|
133
|
-
var u = str.charCodeAt(i);
|
|
134
|
-
if (u >= 55296 && u <= 57343) {
|
|
135
|
-
var u1 = str.charCodeAt(++i);
|
|
136
|
-
u = 65536 + ((u & 1023) << 10) | u1 & 1023;
|
|
137
|
-
}
|
|
138
|
-
if (u <= 127) {
|
|
139
|
-
if (outIdx >= endIdx)
|
|
140
|
-
break;
|
|
141
|
-
heap[outIdx++] = u;
|
|
142
|
-
}
|
|
143
|
-
else if (u <= 2047) {
|
|
144
|
-
if (outIdx + 1 >= endIdx)
|
|
145
|
-
break;
|
|
146
|
-
heap[outIdx++] = 192 | u >> 6;
|
|
147
|
-
heap[outIdx++] = 128 | u & 63;
|
|
148
|
-
}
|
|
149
|
-
else if (u <= 65535) {
|
|
150
|
-
if (outIdx + 2 >= endIdx)
|
|
151
|
-
break;
|
|
152
|
-
heap[outIdx++] = 224 | u >> 12;
|
|
153
|
-
heap[outIdx++] = 128 | u >> 6 & 63;
|
|
154
|
-
heap[outIdx++] = 128 | u & 63;
|
|
155
|
-
}
|
|
156
|
-
else {
|
|
157
|
-
if (outIdx + 3 >= endIdx)
|
|
158
|
-
break;
|
|
159
|
-
heap[outIdx++] = 240 | u >> 18;
|
|
160
|
-
heap[outIdx++] = 128 | u >> 12 & 63;
|
|
161
|
-
heap[outIdx++] = 128 | u >> 6 & 63;
|
|
162
|
-
heap[outIdx++] = 128 | u & 63;
|
|
163
|
-
}
|
|
164
|
-
} heap[outIdx] = 0; return outIdx - startIdx; }
|
|
165
|
-
function stringToUTF8(str, outPtr, maxBytesToWrite) { return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); }
|
|
166
|
-
function lengthBytesUTF8(str) { var len = 0; for (var i = 0; i < str.length; ++i) {
|
|
167
|
-
var c = str.charCodeAt(i);
|
|
168
|
-
if (c <= 127) {
|
|
169
|
-
len++;
|
|
170
|
-
}
|
|
171
|
-
else if (c <= 2047) {
|
|
172
|
-
len += 2;
|
|
173
|
-
}
|
|
174
|
-
else if (c >= 55296 && c <= 57343) {
|
|
175
|
-
len += 4;
|
|
176
|
-
++i;
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
len += 3;
|
|
180
|
-
}
|
|
181
|
-
} return len; }
|
|
182
|
-
var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAP64, HEAPU64, HEAPF64;
|
|
183
|
-
function updateMemoryViews() { var b = wasmMemory.buffer; Module["HEAP8"] = HEAP8 = new Int8Array(b); Module["HEAP16"] = HEAP16 = new Int16Array(b); Module["HEAP32"] = HEAP32 = new Int32Array(b); Module["HEAPU8"] = HEAPU8 = new Uint8Array(b); Module["HEAPU16"] = HEAPU16 = new Uint16Array(b); Module["HEAPU32"] = HEAPU32 = new Uint32Array(b); Module["HEAPF32"] = HEAPF32 = new Float32Array(b); Module["HEAPF64"] = HEAPF64 = new Float64Array(b); Module["HEAP64"] = HEAP64 = new BigInt64Array(b); Module["HEAPU64"] = HEAPU64 = new BigUint64Array(b); }
|
|
184
|
-
var wasmTable;
|
|
185
|
-
var __ATPRERUN__ = [];
|
|
186
|
-
var __ATINIT__ = [];
|
|
187
|
-
var __ATPOSTRUN__ = [];
|
|
188
|
-
var runtimeInitialized = false;
|
|
189
|
-
function preRun() { if (Module["preRun"]) {
|
|
190
|
-
if (typeof Module["preRun"] == "function")
|
|
191
|
-
Module["preRun"] = [Module["preRun"]];
|
|
192
|
-
while (Module["preRun"].length) {
|
|
193
|
-
addOnPreRun(Module["preRun"].shift());
|
|
194
|
-
}
|
|
195
|
-
} callRuntimeCallbacks(__ATPRERUN__); }
|
|
196
|
-
function initRuntime() { runtimeInitialized = true; callRuntimeCallbacks(__ATINIT__); }
|
|
197
|
-
function postRun() { if (Module["postRun"]) {
|
|
198
|
-
if (typeof Module["postRun"] == "function")
|
|
199
|
-
Module["postRun"] = [Module["postRun"]];
|
|
200
|
-
while (Module["postRun"].length) {
|
|
201
|
-
addOnPostRun(Module["postRun"].shift());
|
|
202
|
-
}
|
|
203
|
-
} callRuntimeCallbacks(__ATPOSTRUN__); }
|
|
204
|
-
function addOnPreRun(cb) { __ATPRERUN__.unshift(cb); }
|
|
205
|
-
function addOnInit(cb) { __ATINIT__.unshift(cb); }
|
|
206
|
-
function addOnPostRun(cb) { __ATPOSTRUN__.unshift(cb); }
|
|
207
|
-
var runDependencies = 0;
|
|
208
|
-
var runDependencyWatcher = null;
|
|
209
|
-
var dependenciesFulfilled = null;
|
|
210
|
-
function addRunDependency(id) { runDependencies++; if (Module["monitorRunDependencies"]) {
|
|
211
|
-
Module["monitorRunDependencies"](runDependencies);
|
|
212
|
-
} }
|
|
213
|
-
function removeRunDependency(id) { runDependencies--; if (Module["monitorRunDependencies"]) {
|
|
214
|
-
Module["monitorRunDependencies"](runDependencies);
|
|
215
|
-
} if (runDependencies == 0) {
|
|
216
|
-
if (runDependencyWatcher !== null) {
|
|
217
|
-
clearInterval(runDependencyWatcher);
|
|
218
|
-
runDependencyWatcher = null;
|
|
219
|
-
}
|
|
220
|
-
if (dependenciesFulfilled) {
|
|
221
|
-
var callback = dependenciesFulfilled;
|
|
222
|
-
dependenciesFulfilled = null;
|
|
223
|
-
callback();
|
|
224
|
-
}
|
|
225
|
-
} }
|
|
226
|
-
function abort(what) { if (Module["onAbort"]) {
|
|
227
|
-
Module["onAbort"](what);
|
|
228
|
-
} what = "Aborted(" + what + ")"; err(what); ABORT = true; EXITSTATUS = 1; what += ". Build with -sASSERTIONS for more info."; var e = new WebAssembly.RuntimeError(what); readyPromiseReject(e); throw e; }
|
|
229
|
-
var dataURIPrefix = "data:application/octet-stream;base64,";
|
|
230
|
-
function isDataURI(filename) { return filename.startsWith(dataURIPrefix); }
|
|
231
|
-
var wasmBinaryFile;
|
|
232
|
-
wasmBinaryFile = "data:application/octet-stream;base64,AGFzbQEAAAABuwEaYAF/AX9gA39/fwBgAn9/AGABfwBgBH9/f38AYAAAYAV/f39/fwBgAn9/AX9gA39/fwF/YAZ/f39/f38AYAABf2ACf34AYAV/fn5+fgBgBH9+fn8AYAJ+fgF+YAN/fn4AYAl/f39/f39/f38AYAd/f39/f39/AGAFf39/fn4AYA1/f39/f39/f39/f39/AGAEf39/fgF/YAR/f39+AGADf39+AGACf34Bf2AFf39/f38Bf2AEf39/fwF/ApEBGAFhAWEAAQFhAWIABgFhAWMAAQFhAWQAEAFhAWUAEQFhAWYAAQFhAWcABwFhAWgABAFhAWkABQFhAWoAAgFhAWsAAQFhAWwAEgFhAW0ACgFhAW4AAwFhAW8AAwFhAXAACQFhAXEAAAFhAXIAAQFhAXMAEwFhAXQAAgFhAXUABgFhAXYAAgFhAXcABwFhAXgABAOmAaQBAAADAAgMAAIHAAINAAAAAA4CAwMBAgAADQADAAEBAQIIAQADAgABAAABBwAHAgcBAgIAAQEBAQUBAwADAgIHBQMHAQADAQEDBgADAgQDAwMCAgMCBgEAAwADAAADAwAEBwECAQMCBQICAgABAAACCw4ADAIDAA8CAQEPBQAUCAcVFgAXGBkIAQoDAAABAgULBAQGBAQAAAAACQkGBggEBAgIBQAEBQFwAT09BQYBAYACgAIGCAF/AUHQ7gQLByQIAXkCAAF6AE8BQQAkAUIBAAFDALsBAUQAugEBRQArAUYAsAEJaQEAQQELPDdINkd2cqYBrAGrAaoBqQGoAacBpQGkAaMBogGhAaABnwGeAZ0BnAGbAZoBmQGYAZcBlgGVAYUBkwGFASp8fLkBKrgBsQGzAbcBKrIBtAG2ASq1ASquASqtASqvAXRzcXN0cQqdrgOkASkBAX8jAEEQayIBJAAgASAANgIMIAEoAgxBCGoQGSEAIAFBEGokACAACzMBAX8jAEEQayIBJAAgASAANgIMIwBBEGsiACABKAIMNgIMIAAoAgwhACABQRBqJAAgAAsfACAAED0EQCAAEEogABAZKAIIQf////8HcUEBEEELCycBAX8jAEEQayIBJAAgASAANgIMIAEoAgwQiQEhACABQRBqJAAgAAt0AQF/IAJFBEAgACgCBCABKAIERg8LIAAgAUYEQEEBDwsgASgCBCICLQAAIQECQCAAKAIEIgMtAAAiAEUNACAAIAFHDQADQCACLQABIQEgAy0AASIARQ0BIAJBAWohAiADQQFqIQMgACABRg0ACwsgACABRgt1AQF+IAAgASAEfiACIAN+fCADQiCIIgIgAUIgiCIEfnwgA0L/////D4MiAyABQv////8PgyIBfiIFQiCIIAMgBH58IgNCIIh8IAEgAn4gA0L/////D4N8IgFCIIh8NwMIIAAgBUL/////D4MgAUIghoQ3AwALDgAgAEHQAGoQJEHQAGoLUwEBfyMAQRBrIgIkACACIAA2AgwgAiABNgIIIAIoAgghASACKAIMIgBB8OcANgIAIABB4OgANgIAIABBBGogARCGASAAQaTpADYCACACQRBqJAALugIBA38jAEFAaiICJAAgACgCACIDQQRrKAIAIQQgA0EIaygCACEDIAJCADcCICACQgA3AiggAkIANwIwIAJCADcANyACQgA3AhggAkEANgIUIAJBhOIANgIQIAIgADYCDCACIAE2AgggACADaiEAQQAhAwJAIAQgAUEAEBwEQCACQQE2AjggBCACQQhqIAAgAEEBQQAgBCgCACgCFBEJACAAQQAgAigCIEEBRhshAwwBCyAEIAJBCGogAEEBQQAgBCgCACgCGBEGAAJAAkAgAigCLA4CAAECCyACKAIcQQAgAigCKEEBRhtBACACKAIkQQFGG0EAIAIoAjBBAUYbIQMMAQsgAigCIEEBRwRAIAIoAjANASACKAIkQQFHDQEgAigCKEEBRw0BCyACKAIYIQMLIAJBQGskACADCzYBAX8jAEEQayIBJAAgASAANgIMIwBBEGsiACABKAIMKAIANgIMIAAoAgwhACABQRBqJAAgAAumAwEEfyMAQRBrIgMkACADIAA2AgggAyABNgIEIAMgAygCCCIANgIMIAMoAgQQJyEBIwBBEGsgATYCDCMAQRBrIgEkACABIAA2AgwgASADQQNqNgIIIAEgA0ECajYCBCMAQRBrIgIgASgCDCIENgIIIAIoAggaIAEoAgQhBSMAQRBrIgIgBDYCDCACIAU2AgggAigCDBogAUEQaiQAAkAgAygCBBA9QQFxRQRAIAMoAgQQGSEBIAAQGSICIAEpAgA3AgAgAiABKAIINgIIDAELIAMoAgQQSiEBIwBBEGsiAiABNgIMIAIoAgwhBSAD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A3EgAygCBEEYdkECdEGwOmooAgBBgICAeHEgAygCEEEQdkH/AXFBAnRBsMIAaigCAEGAgPwHcXNzc3M2AhQgAygCKCADKAIUQQh0IAMoAhRBGHZyQf+B/AdxIAMoAhRBGHQgAygCFEEIdnJBgP6DeHFyNgIMC5QDAQF/IwBBIGsiAiQAIAIgADYCHCACIAE2AhggAkEENgIUIAJBDjYCECACQQg2AgwgAkEANgIIA0AgAigCCCACKAIMT0UEQCACKAIIQQJ0IgAgAigCGGogACACKAIcIgFqLQAAQRh0IABBAWogAWotAABBEHRyIABBAmogAWotAABBCHRyIABBA2ogAWotAAByNgIAIAIgAigCCEEBajYCCAwBCwsgAiACKAIMNgIIA0AgAigCCCACKAIUIAIoAhBBAWpsT0UEQCACIAIoAhggAigCCEEBa0ECdGooAgA2AgQCQCACKAIIIAIoAgxwRQRAIAIgAigCBCIAQQh0IABBGHZyEJQBIAIoAghBAWsgAigCDG5BAnRBgApqKAIAczYCBAwBCwJAIAIoAgxBBk0NACACKAIIIAIoAgxwQQRHDQAgAiACKAIEEJQBNgIECwsgAigCGCIAIAIoAggiAUECdGogASACKAIMa0ECdCAAaigCACACKAIEczYCACACIAIoAghBAWo2AggMAQsLIAJBIGokAAuABAEDfyACQYAETwRAIAAgASACEBEgAA8LIAAgAmohAwJAIAAgAXNBA3FFBEACQCAAQQNxRQRAIAAhAgwBCyACRQRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAkEDcUUNASACIANJDQALCwJAIANBfHEiBEHAAEkNACACIARBQGoiBUsNAANAIAIgASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAIgASgCDDYCDCACIAEoAhA2AhAgAiABKAIUNgIUIAIgASgCGDYCGCACIAEoAhw2AhwgAiABKAIgNgIgIAIgASgCJDYCJCACIAEoAig2AiggAiABKAIsNgIsIAIgASgCMDYCMCACIAEoAjQ2AjQgAiABKAI4NgI4IAIgASgCPDYCPCABQUBrIQEgAkFAayICIAVNDQALCyACIARPDQEDQCACIAEoAgA2AgAgAUEEaiEBIAJBBGoiAiAESQ0ACwwBCyADQQRJBEAgACECDAELIAAgA0EEayIESwRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAiABLQABOgABIAIgAS0AAjoAAiACIAEtAAM6AAMgAUEEaiEBIAJBBGoiAiAETQ0ACwsgAiADSQRAA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgIgA0cNAAsLIAALYwECfyMAQRBrIgMkACADIAE2AgwgAyACNgIIIAMoAgwhAiADKAIIIQQjAEEQayIBIAA2AgwgASACNgIIIAEgBDYCBCABKAIMIgAgASgCCDYCACAAIAEoAgQ2AgQgA0EQaiQACzEBAX8jAEEQayIBJAAgASAANgIMIAEoAgwoAgAQDiABKAIMKAIAIQAgAUEQaiQAIAALlAEBB38jAEEQayICJAAgAiAANgIMIAIoAgwiABAhIQMgABAhIAAQJkEDdGohBCAAECEhByMAQRBrIgEgADYCDCAHIAEoAgwiASgCBCABKAIAa0F4cWohBSAAECEgABAmQQN0aiEGIwBBIGsiASAANgIcIAEgAzYCGCABIAQ2AhQgASAFNgIQIAEgBjYCDCACQRBqJAALdwECfyMAQSBrIgIkACACIAA2AhggAiABNgIUIAJBFjYCDCACKAIYIQEjAEEQayIAIAJBE2oiAzYCDCAAJAAgACADNgIMIABBEGokACACIAIoAgw2AhwgAUEEQeDYAEHQ2AAgAigCDCACKAIUQQAQBCACQSBqJAALLAEBfyMAQRBrIgEkACABIAA2AgwgASgCDBAZLQALQQd2IQAgAUEQaiQAIAALZAEBfyMAQRBrIgMkACADIAA2AgwgAyABNgIIIAMgAjYCBCADKAIIIQEgAygCBCECIwBBEGsiACADKAIMNgIMIAAgATYCCCAAIAI2AgQgACgCCCAAKAIEKQIANwIAIANBEGokAAs5AQJ/IwBBEGsiASQAIAEgADYCDCABKAIMEBkhACMAQRBrIgIgADYCDCACKAIMIQAgAUEQaiQAIAALTgEDfyMAQRBrIgEkACABIAA2AgxBCBAvIQAgASgCDCICKAIAIQMgACACKAIENgIEIAAgAzYCACABIAA2AgggASgCCCEAIAFBEGokACAAC4ECAQJ/IwBBEGsiAyQAIAMgADYCDCADIAE2AgggAyACNgIEIwBBEGsiACADKAIENgIMAkAgACgCDEEI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AgggBiADKAIMNgIIIAYgAygCCDYCDCADQSBqJAAgBigCDBogBkEQaiQACy8BAn4gACABKQMIIgMgAikDCCIEfTcDCCAAIAEpAwAgAikDAH0gAyAEVK19NwMAC64BAgF/A34jAEFAaiIDJAAgA0EwaiABKQMAIgQgAikDACIFEI4BIAQgAikDCBAoIQQgASkDCCAFECghBSADIAMpAzg3AxggAyADKQMwNwMQIAMgBCADKQMYIgZ8IgQ3AyggAyADKQMQIAQgBlStfDcDICADIAMpAyg3AwggAyADKQMgNwMAIAAgBSADKQMIIgR8IgU3AwggACADKQMAIAQgBVatfDcDACADQUBrJAAL1QIBAn8CQCAAIAFGDQAgASAAIAJqIgRrQQAgAkEBdGtNBEAgACABIAIQOBoPCyAAIAFzQQNxIQMCQAJAIAAgAUkEQCADDQIgAEEDcUUNAQNAIAJFDQQgACABLQAAOgAAIAFBAWohASACQQFrIQIgAEEBaiIAQQNxDQALDAELAkAgAw0AIARBA3EEQANAIAJFDQUgACACQQFrIgJqIgMgASACai0AADoAACADQQNxDQALCyACQQNNDQADQCAAIAJBBGsiAmogASACaigCADYCACACQQNLDQALCyACRQ0CA0AgACACQQFrIgJqIAEgAmotAAA6AAAgAg0ACwwCCyACQQNNDQADQCAAIAEoAgA2AgAgAUEEaiEBIABBBGohACACQQRrIgJBA0sNAAsLIAJFDQADQCAAIAEtAAA6AAAgAEEBaiEAIAFBAWohASACQQFrIgINAAsLC6MBAQN/IwBBEGsiAiQAIAJBvOoANgIMIAIoAgwhASMAQRBrIgAkACAAIAE2AgwgAEEHNgIIIAAoAgwiASAAKAIINgIAIAFBADYCBCAAKAIIEQUAIAFBzOoAKAIANgIEQczqACABNgIAIABBEGokACACQRBqJABB0OoAQSA2AgBB1OoAQQA2AgAQkwFB1OoAQczqACgCADYCAEHM6gBB0OoANgIAC3QBAn8jAEEQayIDJAAgAyAANgIMIAMgATYCCCADIAI2AgQgAygCDCEBIAMoAgghAiADKAIEIQQjAEEQayIAJAAgACABNgIMIAAgAjYCCCAAIAQ2AgQgACgCCCAAKAIEQQN0QQQQQSAAQRBqJAAgA0EQaiQACykBAX8jAEEQ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AhAlIQcgAxAlIQMgBS0AD0EBcSEIIwBBsAJrIgIkACACIAQ2AqwCIAIgBjYCqAIgAiAHNgKkAiACIAM2AqACIAIgCDoAnwIgAiACKAKoAhAkNgKYAiACKAKYAiACKAKsAiACKAKoAhA4GgJAIAItAJ8CBEAgAigCpAIgAkEQahA3IAJBADYCDANAIAIoAgwgAigCqAJJBEAgAkEANgIIA0AgAigCCEEQSQRAIAIoApgCIAIoAggiAyACKAIMamoiBCADIAIoAqACai0AACAELQAAczoAACACIAIoAghBAWo2AggMAQsLIAIoApgCIAIoAgxqIgMgAyACQRBqEDYgAigCoAIiAyACKAKYAiACKAIMaiIEKQAANwAAIAMgBCkACDcACCACIAIoAgxBEGo2AgwMAQsLDAELIAIoAqQCIAJBEGoQSCACQQA2AgwDQCACKAIMIAIoAqgCSQRAIAIgAigCmAIgAigCDGoiAykAADcAgAIgAiADKQAINwCIAiACKAKYAiACKAIMaiACKAKYAiACKAIMaiACQRBqEEcgAkEANgIIA0AgAigCCEEQSQRAIAIoApgCIAIoAggiAyACKAIMamoiBCADIAIoAqACai0AACAELQAAczoAACACIAIoAghBAWo2AggMAQsLIAIoAqACIgMgAikAgAI3AAAgAyACKQCIAjcACCACIAIoAgxBEGo2AgwMAQsLCyACKAKYAiEDIAJBsAJqJAAgBSADNgIIIAUgARAbIAUoAggQOSAAIAUQjwEgBUEgaiQADwsgAEHE6QBBBRACAAtWAQF/IwBBEGsiAyQAIAMgADYCDCADIAE2AgggAyACNgIEIAMoAgghASMAQRBrIgAgAygCDCICNgIMIAAgATYCCCAAKAIMQQA2AgAgAhBTIANBEGokAAs7AQF/IwBBEGsiASQAIAEgADYCDAJ/IAEoAgwiABA9QQFxBEAgABBKDAELIAAQPwshACABQRBqJAAgAAtQAQF/IwBBEGsiASQAIAEgADYCDCABKAIMIgBBADYCACAAQQA2AgQgAUEANgIIIABBCGogAUEIaiABQQdqEG0jAEEQayAANgIMIAFBEGokAAspAQF/IwBBEGsiASQAIAEgADYCDCABKAIMEBkoAgQhACABQRBqJAAgAAsLACAAEHIaIAAQKwsUACAAQfToADYCACAAQQRqEHUgAAsHACAAKAIECwsAIAAQdhogABArCycBAX8gACgCAEEMayIAIAAoAghBAWsiATYCCCABQQBIBEAgABArCwsUACAAQeDoADYCACAAQQRqEHUgAAuaAQAgAEEBOgA1AkAgACgCBCACRw0AIABBAToANAJAIAAoAhAiAkUEQCAAQQE2AiQgACADNgIYIAAgATYCECADQQFHDQIgACgCMEEBRg0BDAILIAEgAkYEQCAAKAIYIgJBAkYEQCAAIAM2AhggAyECCyAAKAIwQQFHDQIgAkEBRg0BDAILIAAgACgCJEEBajYCJAsgAEEBOgA2CwtMAQF/AkAgAUUNACABQYTkABAgIgFFDQAgASgCCCAAKAIIQX9zcQ0AIAAoAgwgASgCDEEAEBxFDQAgACgCECABKAIQQQAQHCECCyACC10BAX8gACgCECIDRQRAIABBATYCJCAAIAI2AhggACABNgIQDwsCQCABIANGBEAgACgCGEECRw0BIAAgAjYCGA8LIABBAToANiAAQQI2AhggACAAKAIkQQFqNgIkCwv/AQECfyMAQSBrIgIkACACIAA2AgwgAiABNgIIIwBBEGsiAyIAIAIoAgw2AgwgAiAAKAIMNgIEIAIoAgghACACIAJBBGo2AhwgAiAANgIYIAIoAhwhASADIgAgAigCGDYCDCACQRBqIgMgACgCDCkCADcCACAAJAAgACABNgIMIAAgAzYCCCAAIAAoAggoAgQ2AgQgACgCBEF/SwRAQefQAEH0zgBB7gFBt9AAEAcACyAAKAIMKAIAIAAoAggoAgA2AgAgACgCDCgCACAAKAIENgIEIAAoAgwiASABKAIAQQhqNgIAIABBEGokACMAQRBrIAIoAhw2AgwgAkEgaiQAC04BAX8jAEEQayIDJAAgAyACNgIMIAAQiQEiAkEASQRAEAgACyADIAI2AgggA0EMaiADQQhqEFkoAgAhAiABIAAQggEgAhBLIANBEGokAAsDAAELKwEBfyAAEBkiAiACLQALQYABcSABcjoACyAAEBkiACAALQALQf8AcToACwsJAEHazwAQWAALCwAgABAZIAE2AgQLOAEBfyAAEBkiAiACKAIIQYCAgIB4cSABQf////8HcXI2AgggABAZIgAgACgCCEGAgICAeHI2AggLCwAgABAZIAE2AgALOQECfyMAQRBrIgEkACABIAA2AgwgASgCDBBuIQAjAEEQayICIAA2AgwgAigCDCEAIAFBEGokACAACxgAIAJBARBEIQEgACACNgIEIAAgATYCAAsNACAAECcaQe////8HCwQAIAALOAECfyABEI0BIgJBDWoQLyIDQQA2AgggAyACNgIEIAMgAjYCACAAIANBDGogASACQQFqEDg2AgALfgIBfgJ/IwBBEGsiAyQAIAACfiABUARAQgAMAQsgAyABIAFCP4ciAoUgAn0iAkIAIAJ5pyIEQTFqECMgAykDCEKAgICAgIDAAIVBvoABIARrrUIwhnwgAUKAgICAgICAgIB/g4QhAiADKQMACzcDACAAIAI3AwggA0EQaiQAC4UBAQJ/IwBBEGsiAiQAAn5CACABQjCIp0H//wFxIgNB//8ASQ0AGiABQj+HQv///////////wCFIANBv4ABa0G/f00NABogAiAAIAFC////////P4NCgICAgICAwACEQe+AASADaxAwIAIpAwAiAEIAIAB9IAFCAFkbCyEAIAJBEGokACAAC2ABAn8jAEEQayICJAAgAiAANgIMAn8gAigCDCIBED1BAXEEQCABEHAMAQsjAEEQayIAJAAgACABNgIMIAAoAgwQGS0AC0H/AHEhASAAQRBqJAAgAQshACACQRBqJAAgAAvFCQIEfwV+IwBB8ABrIgYkACAEQv///////////wCDIQkCQAJAIAFQIgUgAkL///////////8AgyIKQoCAgICAgMD//wB9QoCAgICAgMCAgH9UIApQG0UEQCADQgBSIAlCgICAgICAwP//AH0iC0KAgICAgIDAgIB/ViALQoCAgICAgMCAgH9RGw0BCyAFIApCgICAgICAwP//AFQgCkKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEEIAEhAwwCCyADUCAJQoCAgICAgMD//wBUIAlCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhBAwCCyABIApCgICAgICAwP//AIWEUARAQoCAgICAgOD//wAgAiABIAOFIAIgBIVCgICAgICAgICAf4WEUCIFGyEEQgAgASAFGyEDDAILIAMgCUKAgICAgIDA//8AhYRQDQEgASAKhFAEQCADIAmEQgBSDQIgASADgyEDIAIgBIMhBAwCCyADIAmEQgBSDQAgASEDIAIhBAwB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AyACNgIYCyAFKAIUIgNFDQAgAiADNgIUIAMgAjYCGAsgACABQQFyNgIEIAAgAWogATYCACAAQfDqACgCAEcNAUHk6gAgATYCAA8LIAUgAkF+cTYCBCAAIAFBAXI2AgQgACABaiABNgIACyABQf8BTQRAIAFBeHFBhOsAaiECAn9B3OoAKAIAIgNBASABQQN2dCIBcUUEQEHc6gAgASADcjYCACACDAELIAIoAggLIQEgAiAANgIIIAEgADYCDCAAIAI2AgwgACABNgIIDwtBHyEEIAFB////B00EQCABQSYgAUEIdmciAmt2QQFxIAJBAXRrQT5qIQQLIAAgBDYCHCAAQgA3AhAgBEECdEGM7QBqIQcCQAJAQeDqACgCACIDQQEgBHQiAnFFBEBB4OoAIAIgA3I2AgAgByAANgIAIAAgBzYCGAwBCyABQRkgBEEBdmtBACAEQR9HG3QhBCAHKAIAIQIDQCACIgMoAgRBeHEgAUYNAiAEQR12IQIgBEEBdCEEIAMgAkEEcWoiB0EQaigCACICDQALIAcgADYCECAAIAM2AhgLIAAgADYCDCAAIAA2AggPCyADKAIIIgEgADYCDCADIAA2AgggAEEANgIYIAAgAzYCDCAAIAE2AggLC7wCAQJ/IABBADoAACAAQTRqIgFBAWtBADoAACAAQQA6AAIgAEEAOgABIAFBA2tBADoAACABQQJrQQA6AAAgAEEAOgADIAFBBGtBADoAACAAQQAgAGtBA3EiAWoiAEEANgIAIABBNCABa0F8cSICaiIBQQRrQQA2AgACQCACQQlJDQAgAEEANgIIIABBADYCBCABQQhrQQA2AgAgAUEMa0EANgIAIAJBGUkNACAAQQA2AhggAEEANgIUIABBADYCECAAQQA2AgwgAUEQa0EANgIAIAFBFGtBADYCACABQRhrQQA2AgAgAUEca0EANgIAIAIgAEEEcUEYciICayIBQSBJDQAgACACaiEAA0AgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIABBIGohACABQSBrIgFBH0sNAAsLC2kBA38CQCAAIgFBA3EEQANAIAEtAABFDQIgAUEBaiIBQQNxDQALCwNAIAEiAkEEaiEBIAIoAgAiA0F/cyADQYGChAhrcUGAgYKEeHFFDQALA0AgAiIBQQFqIQIgAS0AAA0ACwsgASAAawt4AQR+IAAgAkL/////D4MiAyABQiCIIgR+IgVC/////w+DIAJCIIgiAiABQv////8PgyIBfiIGQv////8Pg3wgASADfiIBQiCIfCIDQiCGIAFC/////w+DhDcDCCAAIAIgBH4gBUIgiHwgBkIgiHwgA0IgiHw3AwALQQEBfyMAQRBrIgIkACACIAA2AgwgAiABNgIIIAIoAgwhACACIAIoAggQeiAAQYTaACACEBkQBjYCACACQRBqJAALQAEDfiABIAEpAwAiAyACrSIEiCIFNwMAIAEgA0HAACACa62GIAEpAwggBIiEIgM3AwggACADNwMIIAAgBTcDAAtsAQJ+AkAgAkHAAE4EQCABKQMIIQMgAUIANwMIIAEgAyACQUBqrYY3AwAMAQsgASABKQMIIgMgAq0iBIY3AwggASABKQMAIASGIANBwAAgAmutiIQ3AwALIAAgASkDADcDACAAIAEpAwg3AwgLqiMCBX8RfiMAQcAFayIDJAAgAyABNwO4BSADIAI3A7AFAkAgAykDsAUiCUIwiCIKQv//AX1CgYB+WARAIAlCgICAgICAwP//AFIgCUL///////////8Ag0IAUnFFBEAgAykDuAVQDQILIAlCgICAgICAwP//AFoEQCMAQSBrIgUkACMAQRBrIgQkACAEIAEgAiABIAJCgICAgICAgICAf4UQigEgBCkDACEBIAUgBCkDCDcDGCAFIAE3AxAgBEEQaiQAIAUpAxAiCiEBIAUpAxghAiMAQdACayIEJAAgAkL///////8/gyIJIQgCQAJAIAJCMIinQf//AXEiB0H//wFrQYGAfksgB0H//wFrQYKAfk9xDQAgAVAgAkL///////////8AgyINQoCAgICAgMD//wBUIA1CgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhDAwCCyAKUCACQv///////////wCDIgtCgICAgICAwP//AFQgC0KAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEMDAILIAEgDUKAgICAgIDA//8AhYRQBEAgCiALQoCAgICAgMD//wCFhFAEQEIAIQFCgICAgICA4P//ACEMDAMLQoCAgICAgMD//wAhDEIAIQEMAgsgCiALQoCAgICAgMD//wCFhFAEQEIAIQEMAgsgASANhFAEQEKAgICAgIDg//8AQgAgCiALhFAbIQxCACEBDAILIAogC4RQBEBCgICAgICAwP//ACEMQgAhAQwCCyANQv///////z9YBEAgBEHAAmogASAJIAEgCSAJUCIGG3kgBkEGdK18pyIGQQ9rECNBECAGayEGIAQpA8gCIQkgBCkDwAIhAQsgC0L///////8/Vg0AIARBsAJqIAogCCAKIAggCFAiBxt5IAdBBnStfKciB0EPaxAjIAYgB2pBEGshBiAEKQO4AiEIIAQpA7ACIQoLIARBoAJqIAhCgICAgICAwACEIg1CD4YgCkIxiIQiAkIAQoCAgICw5ryC9QAgAn0iCEIAEB0gBEGQAmpCACAEKQOoAn1CACAIQgAQHSAEQYACaiAEKQOYAkIBhiAEKQOQAkI/iIQiCEIAIAJCABAdIARB8AFqIAhCAEIAIAQpA4gCfUIAEB0gBEHgAWogBCkD+AFCAYYgBCkD8AFCP4iEIghCACACQgAQHSAEQdABaiAIQgBCACAEKQPoAX1CABAdIARBwAFqIAQpA9gBQgGGIAQpA9ABQj+IhCIIQgAgAkIAEB0gBEGwAWogCEIAQgAgBCkDyAF9QgAQHSAEQaABaiACQgAgBCkDuAFCAYYgBCkDsAFCP4iEQgF9IgJCABAdIARBkAFqIApCD4ZCACACQgAQHSAEQfAAaiACQgBCACAEKQOoASAEKQOgASILIAQpA5gBfCIIIAtUrXwgCEIBVq18fUIAEB0gBEGAAWpCASAIfUIAIAJCABAdAn8gBCkDcCISQgGGIg4gBCkDiAEiEUIBhiAEKQOAAUI/iIR8IhBC5+wAfSIUQiCIIgggCUKAgICAgIDAAIQiFUIBhiIXQiCIIgt+IhMgAUIBhiICQiCIIg8gECAUVq0gDiAQVq0gBCkDeEIBhiASQj+IhCARQj+IfHx8QgF9IhJCIIgiEH58Ig4gE1StIA4gDiASQv////8PgyISIAFCP4giGCAJQgGGhEL/////D4MiCX58IhFWrXwgCyAQfnwgCyASfiITIAkgEH58Ig4gE1StQiCGIA5CIIiEfCARIBEgDkIghnwiDlatfCAOIA4gFEL/////D4MiFCAJfiITIAggD358IhEgE1StIBEgESASIAJC/v///w+DIhN+fCIWVq18fCIRVq18IBEgCyAUfiIOIBAgE358IgsgCCAJfnwiCSAPIBJ+fCIQQiCIIAkgEFatIAsgDlStIAkgC1StfHxCIIaEfCIJIBFUrXwgCSAWIAggE34iCCAPIBR+fCILQiCIIAggC1atQiCGhHwiCCAWVK0gCCAQQiCGfCAIVK18fCILIAlUrXwiD0L/////////AFgEQCAXIBiEIRUgBEHQAGogCyAPIAogDRAdIAFCMYYgBCkDWH0gBCkDUCIBQgBSrX0hCUIAIAF9IQggBkH+/wBqDAELIARB4ABqIA9CP4YgC0IBiIQiCyAPQgGIIg8gCiANEB0gAUIwhiAEKQNofSAEKQNgIgJCAFKtfSEJQgAgAn0hCCABIQIgBkH//wBqCyIGQf//AU4EQEKAgICAgIDA//8AIQxCACEBDAELAn4gBkEASgRAIAlCAYYgCEI/iIQhCSAPQv///////z+DIAatQjCGhCECIAhCAYYMAQsgBkGPf0wEQEIAIQEMAgsgBEFAayALIA9BASAGaxAwIARBMGogAiAVIAZB8ABqECMgBEEgaiAKIA0gBCkDQCILIAQpA0giAhAdIAQpAzggBCkDKEIBhiAEKQMgIgFCP4iEfSAEKQMwIgggAUIBhiIBVK19IQkgCCABfQshASAEQRBqIAogDUIDQgAQHSAEIAogDUIFQgAQHSACIAsgCyAKIAEgC0IBgyIMfCIIVCAJIAggDFStfCIBIA1WIAEgDVEbrXwiClatfCICIAogCiACQoCAgICAgMD//wBUIAggBCkDEFYgASAEKQMYIgJWIAEgAlEbca18IgJWrXwiCiACIApCgICAgICAwP//AFQgCCAEKQMAViABIAQpAwgiClYgASAKURtxrXwiASACVK18IQwLIAUgATcDACAFIAw3AwggBEHQAmokACADIAUpAwg3AwggAyAFKQMANwMAIAVBIGokACADKQMIIQIgAykDACEBDAILIwBB4ABrIgQkACACQoCAgICAgMC3wACFQoCAgICAgICAgH+DIQkgAkL///////8/gyIKQiCIIQwCQCACQjCIp0H//wFxIgZB//8Ba0GCgH5JBEAgAVAgAkL///////////8AgyIIQoCAgICAgMD//wBUIAhCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhCQwCCyABIAhCgICAgICAwP//AIWEUARAIAlCgICAgICAwP//AIQhCUIAIQEMAgsgASAIhFAEQEIAIQEMAgsgCEL///////8/WAR+IARB0ABqIAEgCiABIAogClAiBRt5IAVBBnStfKciBUEPaxAjQRAgBWshBSAEKQNYIgpCIIghDCAEKQNQBSABCyEBCyABQiCIIgJCAH4iCyABQv////8PgyINQgB+fCIBQiCGIgggCFStIApC/////w+DIg9CAH4iECABIAtUrUIghiABQiCIhHwiCiAMQoCABIQiC0IAfiISIA1CH4Z8IgxCIIZ8Ig18IQEgBSAGakHwAGohBQJAIAJCH4YiAiACVK0gC0IfhnwgAiACIgtWrXwgD0IfhiICQgBUrUIghiACQiCIhHwgCyALIAJCIIZ8IgJWrXwgAiACIAwgElStQiCGIAxCIIiEfCIMVq18IAwgDCAKIBBUrSAKIA1WrXx8IgJWrXwiCkKAgICAgIDAAINCAFIEQCAFQQFqIQUMAQsgCEI/iCEMIApCAYYgAkI/iIQhCiACQgGGIAFCP4iEIQIgCEIBhiEIIAwgAUIBhoQhAQsgBUH//wFOBEAgCUKAgICAgIDA//8AhCEJQgAhAQwBCwJ+IAVBAEwEQEEBIAVrIgZB/wBNBEAgBEEwaiAIIAEgBUH/AGoiBRAjIARBIGogAiAKIAUQIyAEQRBqIAggASAGEDAgBCACIAogBhAwIAQpAzAgBCkDOIRCAFKtIAQpAyAgBCkDEISEIQggBCkDKCAEKQMYhCEBIAQpAwAhAiAEKQMIDAILQgAhAQwCCyAKQv///////z+DIAWtQjCGhAsgCYQhCSAIUCABQgBZIAFCgICAgICAgICAf1EbRQRAIAkgAkIBfCIBUK18IQkMAQsgCCABQoCAgICAgICAgH+FhEIAUgRAIAIhAQwBCyAJIAIgAkIBg3wiASACVK18IQkLIAMgATcD0AMgAyAJNwPYAyAEQeAAaiQAIAMpA9gDIQEgAyADKQPQAzcDuAUgAyABNwOwBSADMwG2BULwAH0hCgsgAyADKQO4BTcDyAMgAyADKQOwBTcDwAMgA0GgBWogA0HAA2pBDxCRASADIAMpA6AFQoCAgICAgICAgH+EIgI3A6AFIApCAYOnBEAgAyADKQOoBTcDuAMgAyADKQOgBTcDsAMgA0GQBWogA0GwA2pBARCQASADIAMpA5gFNwOoBSADIAMpA5AFIgI3A6AFCyADKQOwBUIqiKdB/wBxQQF0QdDfAGovAQBBEHQiBK0gAkIgiH5CIIinIQVCgICAgICAgIBAIAIgBK0iAUGAgICAfCAFrSABfkIgiKdrrX5CIIhCIYYiARAoIgIgARAofSIJIAEQKCEBIANCADcDmAMgA0IANwOYBSADIAMpA6gFNwOoAyADQoCAgICAgICAQCAJIAIQKEIBhiABQgGGIgEQKH0gARAoQgGGIgE3A5AFIAMgAykDoAU3A6ADIAMgATcDkAMgA0GABWoiBCADQaADaiADQZADahBNIAMgAykDiAU3A4gDIAMgAykDmAU3A/gCIAMgAykDgAU3A4ADIAMgAykDkAU3A/ACIANB8ARqIANBgANqIANB8AJqEE0gA0HY4QApAwA3A+gCIAMgAykD+AQ3A9gCIANB0OEAKQMANwPgAiADIAMpA/AENwPQAiADQeAEaiADQeACaiADQdACahBMIAMgAykD6AQ3A8gCIAMgAykDiAU3A7gCIAMgAykD4AQ3A8ACIAMgAykDgAU3A7ACIANB0ARqIgUgA0HAAmogA0GwAmoQTSADIAMpA9gEIgE3A4gFIAMgATcDqAIgAyADKQPQBCIBNwOABSADIAE3A6ACIAMgAykDqAIiAUIEfTcDyAQgAyADKQOgAiABQgRUrX03A8AEIAMgAykDyAQ3A5gCIAMgAykDwAQ3A5ACIAQgA0GQAmpBDRCQASADIAMpA6gFNwOIAiADIAMpA6AFNwOAAiADQaAEaiADQYACakHiABCRASADIAMpA4gFIgE3A/gBIAMgATcD6AEgAyADKQOABSIBNwPwASADIAE3A+ABIANBkARqIAMpA/gBIgEgAykD6AEiAhCOASADIAMpA5AEIAEgAykD4AF+IAIgAykD8AF+fHw3A5AEIAMgAykDqAQ3A9gBIAMgAykDmAQ3A8gBIAMgAykDoAQ3A9ABIAMgAykDkAQ3A8ABIANBsARqIANB0AFqIANBwAFqEEwgAyADKQOIBTcDuAEgAyADKQO4BDcDqAEgAyADKQOABTcDsAEgAyADKQOwBDcDoAEgBSADQbABaiADQaABahBMIAMgAykDiAU3A5gBIAMgAykDgAU3A5ABIAMgAykDmAEiAUIBfCICNwP4AyADIAMpA5ABIAEgAlatfDcD8AMgAyADKQP4AzcDiAEgAyADKQPYBDcDeCADIAMpA/ADNwOAASADIAMpA9AENwNwIAMgAykDeCIBIAMpA4gBfCICNwOIBCADIAEgAlatIAMpA3AgAykDgAF8fDcDgAQgAyADKQOIBTcDaCADIAMpA4AFNwNgIAMpA4gEIQIgAykDgAQhASADIAMpA2giCSADKQPQBCIIQj+IfCIMNwOIBCADIAMpA2AgCSAMVq18NwOABCADIAMpA4gEIgk3A4gFIAMgCTcDSCADIAMpA4AEIgk3A4AFIAMgCTcDQCADIANBQGsiBCkDCDcDUCADIAQpAwBC////////P4MgCkL//wB8QgGIQjCGhDcDWCADQgA3A+gDIANCADcDKCADQgA3A+ADIANCADcDICADIAMpAyg3AzAgAyADKQMgQv///////z+DIAEgAoRCAFKtIAEgCIVCMIhCgIACg4RCMIaENwM4IANBEGogAykDUCADKQNYIAMpAzAgAykDOBCKASADKQMYIQIgAykDECEBCyAAIAI3AwggACABNwMAIANBwAVqJAALnwQAQeTkAEHT0AAQFUH85ABBu84AQQFBAUEAEBRBiOUAQafOAEEBQYB/Qf8AEAFBoOUAQaDOAEEBQYB/Qf8AEAFBlOUAQZ7OAEEBQQBB/wEQAUGs5QBB0MwAQQJBgIB+Qf//ARABQbjlAEHHzABBAkEAQf//AxABQcTlAEGzzQBBBEGAgICAeEH/////BxABQdDlAEGqzQBBBEEAQX8QAUHc5QBByM8AQQRBgICAgHhB/////wcQAUHo5QBBv88AQQRBAEF/EAFB9OUAQcbNAEEIQoCAgICAgICAgH9C////////////ABALQYDmAEHFzQBBCEIAQn8QC0GM5gBBv80AQQQQCkGY5gBBzNAAQQgQCkGw2QBB588AEAlB1NoAQbTUABAJQZzbAEEEQc3PABAFQejbAEECQfPPABAFQbTcAEEEQYLQABAFQaTYAEHAzgAQE0Hc3ABBAEHv0wAQAEGE3QBBAEHV1AAQAEGE2gBBAUGN1AAQAEGs3QBBAkH/0AAQAEHU3QBBA0Ge0QAQAEH83QBBBEHG0QAQAEGk3gBBBUHj0QAQAEHM3gBBBEH61AAQAEH03gBBBUGY1QAQAEGE3QBBAEHJ0gAQAEGE2gBBAUGo0gAQAEGs3QBBAkGL0wAQAEHU3QBBA0Hp0gAQAEH83QBBBEHO0wAQAEGk3gBBBUGs0wAQAEGc3wBBBkGJ0gAQAEHE3wBBB0G/1QAQAAuHAQEBfyMAQRBrIgEgADYCDCABKAIMIgBBBHZBD3FBBHRBgAhqIABBD3FqLQAAIABBDHZBD3FBBHRBgAhqIABBCHZBD3FqLQAAQQh0aiAAQRR2QQ9xQQR0QYAIaiAAQRB2QQ9xai0AAEEQdGogAEEcdkEEdEGACGogAEEYdkEPcWotAABBGHRqC6EBAQJ/IwBBIGsiBCQAIAQgADYCHCAEIAE2AhggBCACNgIUIAQgAzcDCCAEKAIcKAIAIQAjAEEQayIFIgEgBCgCGDYCDCABKAIMIQEgBSICIAQoAhQ2AgwgAigCDCECIAUgBCkDCDcDCCAEIAUpAwg3AwAgASACIAQgABEIAEEBcSEAIwBBEGsiASAAOgAPIAEtAA9BAXEhACAEQSBqJAAgAAt2AQN/IwBBEGsiAyQAIAMgADYCDCADIAE2AgggAyACNgIEIAMoAgwoAgAhACMAQRBrIgEgAygCCDYCDCADIQUgASgCDCEEIwBBEGsiASADKAIENgIMIAUgBCABKAIMIAARAQAgAxA6IQAgAxAyIANBEGokACAAC44BAQJ/IwBBEGsiAiQAIAIgADYCDCACIAE2AggjAEEQayIAIAIoAgg2AgwgACgCDCEDIAIoAgwiACgCBCEBIAAoAgAhACACIAFBAXUgA2oiAyABQQFxBH8gAygCACAAaigCAAUgAAsRAAA2AgQjAEEQayIAIAJBBGo2AgwgACgCDCgCACEAIAJBEGokACAAC68BAQJ/IwBBIGsiBCQAIAQgADYCHCAEIAE2AhggBCACNgIUIAQgAzcDCCMAQRBrIgAgBCgCGDYCDCAAKAIMIQIgBCgCHCIAKAIEIQEgACgCACEAIAFBAXUgAmohAiABQQFxBEAgAigCACAAaigCACEACyMAQRBrIgUiASAEKAIUNgIMIAEoAgwhASAFIAQpAwg3AwggBCAFKQMINwMAIAIgASAEIAARAQAgBEEgaiQAC5YBAQJ/IwBBIGsiAyQAIAMgADYCHCADIAE2AhggAyACNwMQIwBBEGsiACADKAIYNgIMIAAoAgwhBCADKAIcIgAoAgQhASAAKAIAIQAgAUEBdSAEaiEEIAFBAXEEQCAEKAIAIABqKAIAIQALIwBBEGsiASADKQMQNwMIIAMgASkDCDcDCCAEIANBCGogABECACADQSBqJAALOgECfyMAQRBrIgEkACABIAA2AgwgASgCDBEKACEAIwBBEGsiAiAANgIMIAIoAgwhACABQRBqJAAgAAtVAQN/IwBBIGsiAiQAIAIgADYCHCACIAE3AxAgAigCHCEDIwBBEGsiBCACKQMQNwMIIAJBDGoiACAEKQMIIAMRCwAgABA6IQMgABAyIAJBIGokACADC6gBAQJ/IwBB0ABrIgUkACAFIAA2AkwgBSABNgJIIAUgAjYCRCAFIAM2AkAgBSAENgI8IAUoAkwhACAFQSxqIgEgBSgCSBApIAVBIGoiAiAFKAJEECkgBUEUaiIDIAUoAkAQKSAFQQhqIgQgBSgCPBApIAVBOGoiBiABIAIgAyAEIAARBgAgBhA6IQAgBhAyIAQQGiADEBogAhAaIAEQGiAFQdAAaiQAIAALiwEBAn8jAEFAaiIEJAAgBCAANgI8IAQgATYCOCAEIAI2AjQgBCADNgIwIAQoAjwhACAEQSBqIgEgBCgCOBApIARBFGoiAiAEKAI0ECkgBEEIaiIDIAQoAjAQKSAEQSxqIgUgASACIAMgABEEACAFEDohACAFEDIgAxAaIAIQGiABEBogBEFAayQAIAALagIBfwF+IwBBEGsiAyQAIAMgADYCDCADIAE2AgggAyACNgIEIAMoAgQpAwAhBCADKAIIIQEjAEEQayIAIAMoAgw2AgwgACABNgIIIAAoAgwoAgAgACgCCEEDdGogBDcDACADQRBqJABBAQuZAwIEfwF+IwBBEGsiAyQAIAMgADYCDCADIAE2AgggAyACNgIEAkAgAygCBCEGIwBBEGsiASADKAIINgIMIAYgASgCDCIBKAIEIAEoAgBrQQN1SQRAIAMoAgQhASMAQRBrIgIgAygCCDYCDCACIAE2AgggAigCDCgCACACKAIIQQN0aiEBIAIkACACIAA2AgwgAiABNgIIIAIoAgwhBSACKAIIIQAjAEEgayIBJAAgASACNgIUIAEgADYCECMAQRBrIgAgASgCFDYCDCABIAAoAgw2AgwgASgCECEEIAEgAUEMajYCHCABIAQ2AhggASgCHCEEIAAgASgCGDYCDCAAKAIMKQMAIQcgACAENgIMIAAgBzcDACAAKAIMKAIAIAApAwA3AwAgACgCDCIEIAQoAgBBCGo2AgAgACABKAIcNgIMIAFBIGokACAFQfTlACACEBkQBjYCAAwBCyMAQRBrIgIkACACIAA2AgwjAEEQayIBIAA2AgwgAUEBNgIIIAEoAgwgASgCCDYCAAsgAkEQaiQAIANBEGokAAsOAQF/QQwQLyIAEG8gAAstAQF/IwBBEGsiASQAIAEgADYCDCABKAIMIgAEQCAAEGogABArCyABQRBqJAALLAEBfyMAQRBrIgEkACABIAA2AgwjAEEQayABKAIMNgIMIAFBEGokAEHI1gALIwEBfyMAQRBrIgEgADYCDCABKAIMIgAoAgQgACgCAGtBA3ULmQgBC38jAEEQayIEJAAgBCAANgIMIAQgATYCCCAEIAI2AgQjAEEQayIAIAQoAgwiAjYCDCAEIAAoAgwiACgCBCAAKAIAa0EDdTYCAAJAIAQoAgAgBCgCCEkEQCAEKAIIIAQoAgBrIQAgBCgCBCEDIwBBMGsiASQAIAEgAjYCLCABIAA2AiggASADNgIkAkAgASgCLCICEBgoAgAgAigCBGtBA3UgASgCKE8EQCABKAIoIQMgASgCJCEGIwBBIGsiACQAIAAgAjYCHCAAIAM2AhggACAGNgIUIABBCGogACgCHCICIAAoAhgQNSAAIAAoAhA2AgQgACAAKAIMNgIAA0AgACgCACAAKAIERwRAIAIQGCEJIwBBEGsiAyAAKAIANgIMIAkgAygCDCAAKAIUEDQgACAAKAIAQQhqIgM2AgAgACADNgIMDAELCyMAQRBrIgIgAEEIajYCDCACKAIMIgIoAgAgAigCBDYCBCAAQSBqJAAMAQsgASACEBg2AiAjAEEQayIAIAI2AgwgAUEMaiIGIQ0gAiABKAIoIAAoAgwiACgCBCAAKAIAa0EDdWoQRiEKIwBBEGsiACACNgIMIA0gCiAAKAIMIgAoAgQgACgCAGtBA3UgASgCIBBkIAEoAighAyABKAIkIQUjAEEgayIAJAAgACAGNgIcIAAgAzYCGCAAIAU2AhQgACgCHCIHQQhqIQUgACgCGCEIIwBBEGsiAyAAQQhqNgIMIAMgBTYCCCADIAg2AgQgAygCDCIFIAMoAggoAgA2AgAgBSADKAIIKAIAIAMoAgRBA3RqNgIEIAUgAygCCDYCCANAIAAoAgggACgCDEcEQCAHEC4hCyMAQRBrIgMgACgCCDYCDCALIAMoAgwgACgCFBA0IAAgACgCCEEIajYCCAwBCwsjAEEQayIDIABBCGo2AgwgAygCDCIDKAIIIAMoAgA2AgAgAEEgaiQAIAIgBhBjIAYQYgsgAUEwaiQADAELIAQoAgAgBCgCCEsEQCACKAIAIAQoAghBA3RqIQEjAEEQayIAJAAgACACNgIMIAAgATYCCCAAKAIIIQIjAEEQayIDIAAoAgwiATYCDCADIAI2AggjAEEQayICIAE2AgwgACACKAIMIgIoAgQgAigCAGtBA3U2AgQgASAAKAIIEFQgACgCBCEDIwBBEGsiAiQAIAIgATYCDCACIAM2AgggAigCDCIBECEhBiABECEgARAmQQN0aiEFIAEQISACKAIIQQN0aiEHIAEQISEMIwBBEGsiAyABNgIMIAwgAygCDCIDKAIEIAMoAgBrQXhxaiEIIwBBIGsiAyABNgIcIAMgBjYCGCADIAU2AhQgAyAHNgIQIAMgCDYCDCACQRBqJAAgAEEQaiQACwsgBEEQaiQAC/4CAQZ/IwBBEGsiAyQAIAMgADYCDCADIAE2AggCQCADKAIMIgEoAgQgARAYKAIARwRAIAMoAgghAiMAQSBrIgAkACAAIAE2AhwgACACNgIYIABBDGoiASAAKAIcIgJBARA1IAIQGCEEIwBBEGsiAiAAKAIQNgIMIAQgAigCDCAAKAIYEDQgACAAKAIQQQhqNgIQIwBBEGsiAiABNgIMIAIoAgwiASgCACABKAIENgIEDAELIAMoAgghAiMAQSBrIgAkACAAIAE2AhwgACACNgIYIAAgACgCHCIBEBg2AhQjAEEQayICIAE2AgwgACEHIAEgAigCDCICKAIEIAIoAgBrQQN1QQFqEEYhBSMAQRBrIgIgATYCDCAHIAUgAigCDCICKAIEIAIoAgBrQQN1IAAoAhQQZCAAKAIUIQYjAEEQayICIAAoAgg2AgwgBiACKAIMIAAoAhgQNCAAIAAoAghBCGo2AgggASAAEGMgABBiCyAAQSBqJAAgA0EQaiQAC9oNAQd/IwBBEGsiBiQAIwBBgAJrIgAkACAAQZLOADYCUCAAQQA2AkwgAEEONgJIIABBADYCRCAAQQ82AkAgAEEANgI8IABBEDYCOCAAKAJQIQEgACAAQTdqIgI2AmggACABNgJkIABBETYCYCAAQQA2AlwgAEEANgJYIABBEjYCVCAAIAAoAmA2AugBIAAoAmAhASAAIAAoAlw2AvABIAAoAlwhBCAAIAAoAlg2AuwBIAAoAlghAyAAKAJkIQUgACAAKAJUNgL0AUHI1gBB+NYAQbDXAEEAQcDXACABQcPXACAEQcPXACADIAVBxdcAIAAoAlQQEiAAIAI2AmwgACAAKAJsNgL8ASAAQRM2AvgBIAAoAvwBIQQgACgC+AEhAiMAQRBrIgEkACABIAI2AgggAUEZNgIAIwBBEGsgAUEHaiIDNgIMIwBBEGsiAiQAIAIgAzYCDCACQRBqJAAgASABKAIANgIMQcjWAEEBQcjXAEHA1wAgASgCACABKAIIEA8gAUEQaiQAIAAoAkghASAAIAAoAkw2AjAgACABNgIsIAAgACkCLDcDcCAAKAJwIQEgACgCdCECIAAgBDYCjAEgAEHQzgA2AogBIAAgAjYChAEgACABNgKAASAAKAKMASEEIAAoAogBIQIgACgCgAEhASAAIAAoAoQBNgJ8IAAgATYCeCAAIAApAng3AwgjAEEgayIBJAAgACgCCCEDIAAoAgwhBSABIAI2AhggASAFNgIUIAEgAzYCECABQRo2AgwgASgCGCEDIwBBEGsiAiABQQtqIgU2AgwgAiQAIAIgBTYCDCACQRBqJAAgASABKAIMNgIcQcjWACADQQNBzNcAQdjXACABKAIMIAFBEGoQQEEAQQAQAyABQSBqJAAgACgCQCEBIAAgACgCRDYCKCAAIAE2AiQgACAAKQIkNwOQASAAKAKQASEBIAAoApQBIQIgACAENgKsASAAQZHQADYCqAEgACACNgKkASAAIAE2AqABIAAoAqwBIQQgACgCqAEhAiAAKAKgASEBIAAgACgCpAE2ApwBIAAgATYCmAEgACAAKQKYATcDACMAQSBrIgEkACAAKAIAIQMgACgCBCEFIAEgAjYCGCABIAU2AhQgASADNgIQIAFBGzYCDCABKAIYIQMjAEEQayICIAFBC2oiBTYCDCACJAAgAiAFNgIMIAJBEGokACABIAEoAgw2AhxByNYAIANBBEHg1wBB8NcAIAEoAgwgAUEQahBAQQBBABADIAFBIGokACAAKAI4IQEgACAAKAI8NgIgIAAgATYCHCAAIAApAhw3A7ABIAAoArABIQEgACgCtAEhAiAAIAQ2AswBIABBk9AANgLIASAAIAI2AsQBIAAgATYCwAEgACgCzAEhBCAAKALIASECIAAoAsABIQEgACAAKALEATYCvAEgACABNgK4ASAAIAApArgBNwMQIwBBIGsiASQAIAAoAhAhAyAAKAIUIQUgASACNgIYIAEgBTYCFCABIAM2AhAgAUEcNgIMIAEoAhghAyMAQRBrIgIgAUELaiIFNgIMIAIkACACIAU2AgwgAkEQaiQAIAEgASgCDDYCHEHI1gAgA0ECQfjXAEGA2AAgASgCDCABQRBqEEBBAEEAEAMgAUEgaiQAIAAgBDYC2AEgAEG7zQA2AtQBIABBFDYC0AEgACgC2AEhBCAAKALUASECIAAoAtABIQMjAEEgayIBJAAgASACNgIYIAEgAzYCFCABQR02AgwgASgCGCEDIwBBEGsiAiABQRNqIgU2AgwgAiQAIAIgBTYCDCACQRBqJAAgASABKAIMNgIcQcjWACADQQNBhNgAQazYACABKAIMIAFBFGoQUkEAQQAQAyABQSBqJAAgACAENgLkASAAQbfNADYC4AEgAEEVNgLcASAAKALgASECIAAoAtwBIQQjAEEgayIBJAAgASACNgIYIAEgBDYCFCABQR42AgwgASgCGCEEIwBBEGsiAiABQRNqIgM2AgwgAiQAIAIgAzYCDCACQRBqJAAgASABKAIMNgIcQcjWACAEQQRBwNgAQdDYACABKAIMIAFBFGoQUkEAQQAQAyABQSBqJAAgAEGAAmokAEHkzABBCBA8QY7NAEEJEDxB1swAEGVBgM0AEGVB8swAQQsQPEGczQBBDBA8IwBBIGsiACQAIABBmNAANgIYIABBDTYCFCAAQRg2AgwgACgCGCECIwBBEGsgAEETaiIENgIMIwBBEGsiASQAIAEgBDYCDCABQRBqJAAgACAAKAIMNgIcIAJBAkHc2QBBgNgAIAAoAgwgACgCFEEAEAQgAEEgaiQAIAZBEGokAAuNDQEQfyMAQeABayICJAAgAiAANgLcASACIAE3A9ABIAJByABqIAIpA9ABEIcBIAJBOGogAikDSCACKQNQEJIBIAIgAikDOCACKQNAEIgBNwPIAQNAIAIpA9ABIAIpA8gBIgEgAX5TBEAgAiACKQPIAUIBfTcDyAEMAQsLA0AgAikD0AEgAikDyAEiASABflUEQCACIAIpA8gBQgF8NwPIAQwBCwsgAiACKQPIASIBIAF+IAIpA9ABfTcDwAECQANAIAJBKGogAikDwAEQhwEgAkEYaiACKQMoIAIpAzAQkgEgAiACKQMYIAIpAyAQiAE3A7gBA0AgAikDwAEgAikDuAEiASABflMEQCACIAIpA7gBQgF9NwO4AQwBCwsDQCACKQPAASACKQO4ASIBIAF+VQRAIAIgAikDuAFCAXw3A7gBDAELCwJAIAIpA8ABQgBSBEAgAikD0AEgAikDuAEgAikDyAF8VQ0BCyACQn83A4ABIAJCfzcDiAEgAiACQYABajYClAEgAkECNgKYASACIAIpApQBNwMIIAJBnAFqIgsgAkEIahBrDAILAkAgAikDwAEgAikDuAEiASABflEEQCACIAIpA8gBIAIpA7gBfDcDsAEgAgJ+IAIpA8gBIAIpA7gBVQRAIAIpA8gBIAIpA7gBfQwBCyACKQO4ASACKQPIAX0LNwOoAQwBCyACIAIpA8gBQgF8NwPIASACIAIpA8gBIAIpA8gBfiACKQPQAX03A8ABDAELCyACKQOwASACKQOoAVUEQCMAQRBrIgMgAkGwAWo2AgwgAyACQagBajYCCCADIAMoAgwpAwA3AwAgAygCDCADKAIIKQMANwMAIAMoAgggAykDADcDAAsgAiACKQOwATcDWCACIAIpA6gBNwNgIAIgAkHYAGo2AmwgAkECNgJwIAIgAikCbDcDECACQfQAaiILIAJBEGoQawsjAEEQayIIJAAgCCAANgIMIAggCzYCCCAIKAIMIQwgCCgCCCEAIwBBIGsiBSQAIAUgCDYCFCAFIAA2AhAjAEEQayIJIAUoAhQ2AgwgBSAJKAIMNgIMIAUoAhAhACAFIAVBDGo2AhwgBSAANgIYIAUoAhwhDSAFKAIYIQAgCSQAIAkgADYCDEEMEC8iDiEDIAkoAgwhBCMAQTBrIgAkACAAIAM2AiggACAENgIkIAAgACgCKCIHNgIsIAdBADYCACAHQQA2AgQgAEEANgIgIAAoAiQQGCEEIwBBEGsiAyAENgIMIAMkACADIAdBCGo2AgwgAyAAQSBqNgIIIAMgAEEfajYCBCADKAIIIQYjAEEQayIEIAMoAgwiCjYCDCAEIAY2AgggBCgCDEEANgIAIAMoAgQhBiMAQRBrIgQgCjYCDCAEIAY2AgggBCgCDBogA0EQaiQAIwBBEGsiAyAAQRBqNgIMIAMgBzYCCCADKAIMIAMoAgg2AgAgAEEUaiAAKAIQEGkjAEEQayAHNgIMIwBBEGsiAyAAKAIkNgIMIAAgAygCDCIDKAIEIAMoAgBrQQN1NgIMIAAoAgwEQCAHIAAoAgwQaCAAKAIkIgMoAgAhBiADKAIEIQMgACgCDCEKIwBBIGsiBCQAIAQgBzYCHCAEIAY2AhggBCADNgIUIAQgCjYCECAEQQRqIgcgBCgCHCIDIAQoAhAQNSADEBghBiAEKAIYIQogBCgCFCEPIAQoAgghECMAQSBrIgMkACADIAY2AhwgAyAKNgIYIAMgDzYCFCADIBA2AhAgAyADKAIQNgIMA0AgAygCGCADKAIURwRAIAMoAhwhESMAQRBrIgYgAygCEDYCDCARIAYoAgwgAygCGBA0IAMgAygCGEEIajYCGCADIAMoAhBBCGo2AhAMAQsLIAMoAhAhBiADQSBqJAAgBCAGNgIIIwBBEGsiAyAHNgIMIAMoAgwiAygCACADKAIENgIEIARBIGokAAsjAEEQayIDIABBFGoiBDYCDCADKAIMQQE6AAQgBBBnIAAoAiwaIABBMGokACAJQRBqJAAjAEEQayIAJAAgACANNgIMIAAgDjYCCCAAIAAoAgg2AgQgACgCBEF/SwRAQefQAEH0zgBB5gFBt9AAEAcACyAAKAIMKAIAIAAoAgQ2AgAgACgCDCIDIAMoAgBBCGo2AgAgAEEQaiQAIwBBEGsgBSgCHDYCDCAFQSBqJAAgDEHI1gAgCBAZEAY2AgAgCEEQaiQAIAsQaiACQeABaiQAC2kBAn8jAEFAaiIEJAAgBCAANgI8IAQgATYCOCAEIAI2AjQgBCADNgIwIARBJGoiBSABECIgBEEYaiIBIAIQIiAEQQxqIgIgAxAiIAAgBSABIAJBABBsIAIQGiABEBogBRAaIARBQGskAAtpAQJ/IwBBQGoiBCQAIAQgADYCPCAEIAE2AjggBCACNgI0IAQgAzYCMCAEQSRqIgUgARAiIARBGGoiASACECIgBEEMaiICIAMQIiAAIAUgASACQQEQbCACEBogARAaIAUQGiAEQUBrJAAL6w4BB38jAEHQAGsiBiQAIAYgADYCTCAGIAE2AkggBiACNgJEIAYgAzYCQCAGIAQ2AjwCQCABEBtFBEBBCBAeIgBBsMwAEB8MAQsgAhAbQSBHBEBBCBAeIgBB4s0AEB8MAQsgAxAbQRBHBEBBCBAeIgBBzs0AEB8MAQsgBBAbQQFHBEBBCBAeIgBBotAAEB8MAQsjAEEQayIHJAAgByAENgIMIAdBADYCCCAHKAIMEG4gBygCCGohBSAHQRBqJAAgBS0AAMBBD0oEQEEIEB4hAiMAQRBrIgAkACAAIAI2AgwgAEGB1gA2AgggACgCCCEDIAAoAgwiAUHw5wA2AgAgAUH06AA2AgAgAUEEaiADEIYBIAFB2OkANgIAIABBEGokACACQZTqAEEGEAIACyAGQRAQJDYCOCADIAYoAjhBEBB7IAZBARAkNgI0IAQgBigCNEEBEHsgARAlIQMgARAbIQQgAhAlIQcgBigCOCEFIAYoAjQhCCMAQbACayICJAAgAiADNgKsAiACIAQ2AqgCIAIgBzYCpAIgAiAFNgKgAiACIAg2ApwCIAIgAigCqAIQJDYCmAIgAigCmAIgAigCrAIgAigCqAIQOBogAigCpAIgAkEQaiIDEDcgAigCoAIgAkGAAmogAxA2IAJBADYCDANAIAIoAgwgAigCqAJJBEAgAkEANgIIA0ACfyACKAKoAiACKAIMa0EQSQRAIAIoAqgCIAIoAgxrDAELQRALIAIoAghLBEAgAigCnAIiBC0AACEDIAQgA0EBajoAACACKAKYAiACKAIMIAIoAghqaiIEIAJBgAJqIANqLQAAIAQtAABzOgAAIAIoApwCLQAAQRBPBEAgAigCnAJBADoAAAsgAigCnAItAABFBEAgAkEQNgIEA0ACQCACIAIoAgQiA0EBazYCBCADRQ0AIAIoAqACIAIoAgRqIgQtAABBAWohAyAEIAM6AAAgA0H/AXFFDQELCyACKAKgAiACQYACaiACQRBqEDYLIAIgAigCCEEBajYCCAwBCwsgAiACKAIMQRBqNgIMDAELCyACKAKYAiEDIAJBsAJqJAAgBiADNgIwIAZBJGoiBxBvIAZBHGoiAiABEBsgBigCMBA5IAcgAhBJIAZBFGoiAUEQIAYoAjgQOSAHIAEQSSAGQQxqIgFBASAGKAI0EDkgByABEEkjAEEQayIDJAAgAyAANgIMIAMgBzYCCCADKAIIIQIjAEEQayIBJAAgASACNgIIIAEoAggiAiEEIAIoAgAhBSMAQRBrIgIgAUEMajYCDCACIAQ2AgggAiAFNgIEIAIoAgwgAigCBDYCACABKAIMIQIgAUEQaiQAIAMgAjYCBCADKAIIIQIjAEEQayIBJAAgASACNgIIIAEoAggiAiEEIAIoAgQhBSMAQRBrIgIgAUEMajYCDCACIAQ2AgggAiAFNgIEIAIoAgwgAigCBDYCACABKAIMIQIgAUEQaiQAIAMgAjYCACADKAIEIQIgAygCACEEIwBBIGsiASQAIAEgADYCHCABIAI2AhggASAENgIUIAFBADoAEyMAQRBrIgQkACAEIAA2AgwQDCEFIwBBEGsiAiAANgIMIAIgBTYCCCACKAIMIAIoAgg2AgAgBEEQaiQAIAEgASgCGDYCDANAIwBBEGsiAiQAIAIgAUEMajYCDCACIAFBFGo2AgggAigCDCEFIAIoAgghCCMAQRBrIgQkACAEIAU2AgwgBCAINgIIIwBBEGsiBSAEKAIMNgIMIAUoAgwoAgAhCyMAQRBrIgUgBCgCCDYCDCALIAUoAgwoAgBGIQUgBEEQaiQAIAVBf3NBAXEhBCACQRBqJAAgBARAIwBBEGsiBCABQQxqIgo2AgwgBCgCDCgCACECIAQkACAEIAA2AgwgBEHvzgA2AgggBCACNgIEIAQoAgwoAgAhBSAEKAIIIQggBCgCBCEJIwBBIGsiAiQAIAIgBTYCHCACIAg2AhggAiAJNgIUIwBBEGsiCCQAQcjqAC0AAEEBcUUEQCMAQRBrIgUgCEEPaiIJNgIMIAUkACAFIAk2AgwgBUEQaiQAQcTqAEECQYzaABAWNgIAQcjqAEEBOgAAC0HE6gAoAgAhBSAIQRBqJAAgAiAFNgIQIAJBCGoiBSACKAIUEHogAigCECACKAIcIAIoAhggBRAZEBcgAkEgaiQAIARBEGokACMAQRBrIgIgCjYCDCACKAIMIgIgAigCAEEIajYCAAwBCwsgAUEBOgATIAEtABNBAXFFBEAgABAyCyABQSBqJAAgA0EQaiQAIwBBEGsiASQAIAEgBzYCDCABKAIMIQIjAEEQayIAIAFBCGoiAzYCDCAAIAI2AgggACgCDCAAKAIINgIAIwBBEGsiAiQAIAIgAzYCDCACKAIMIgAoAgAQOyMAQRBrIAAoAgA2AgwgACgCACgCAARAIAAoAgAQUSAAKAIAEBggACgCACgCACAAKAIAECYQUAsgAkEQaiQAIAFBEGokACAGQdAAaiQADwsgAEHE6QBBBRACAAtpAQJ/IwBBQGoiBCQAIAQgADYCPCAEIAE2AjggBCACNgI0IAQgAzYCMCAEQSRqIgUgARAiIARBGGoiASACECIgBEEMaiICIAMQIiAAIAUgASACQQAQYCACEBogARAaIAUQGiAEQUBrJAALaQECfyMAQUBqIgQkACAEIAA2AjwgBCABNgI4IAQgAjYCNCAEIAM2AjAgBEEkaiIFIAEQIiAEQRhqIgEgAhAiIARBDGoiAiADECIgACAFIAEgAkEBEGAgAhAaIAEQGiAFEBogBEFAayQACwYAQdrOAAsGAEHY0AALBgBBrM4ACxYAIABFBEBBAA8LIABBlOMAECBBAEcLGgAgACABKAIIIAUQHARAIAEgAiADIAQQdwsLNwAgACABKAIIIAUQHARAIAEgAiADIAQQdw8LIAAoAggiACABIAIgAyAEIAUgACgCACgCFBEJAAunAQAgACABKAIIIAQQHARAAkAgASgCBCACRw0AIAEoAhxBAUYNACABIAM2AhwLDwsCQCAAIAEoAgAgBBAcRQ0AAkAgAiABKAIQRwRAIAEoAhQgAkcNAQsgA0EBRw0BIAFBATYCIA8LIAEgAjYCFCABIAM2AiAgASABKAIoQQFqNgIoAkAgASgCJEEBRw0AIAEoAhhBAkcNACABQQE6ADYLIAFBBDYCLAsLiAIAIAAgASgCCCAEEBwEQAJAIAEoAgQgAkcNACABKAIcQQFGDQAgASADNgIcCw8LAkAgACABKAIAIAQQHARAAkAgAiABKAIQRwRAIAEoAhQgAkcNAQsgA0EBRw0CIAFBATYCIA8LIAEgAzYCIAJAIAEoAixBBEYNACABQQA7ATQgACgCCCIAIAEgAiACQQEgBCAAKAIAKAIUEQkAIAEtADUEQCABQQM2AiwgAS0ANEUNAQwDCyABQQQ2AiwLIAEgAjYCFCABIAEoAihBAWo2AiggASgCJEEBRw0BIAEoAhhBAkcNASABQQE6ADYPCyAAKAIIIgAgASACIAMgBCAAKAIAKAIYEQYACwuABQEEfyMAQUBqIgQkAAJAIAFB8OQAQQAQHARAIAJBADYCAEEBIQUMAQsCQCAAIAEgAC0ACEEYcQR/QQEFIAFFDQEgAUHk4gAQICIDRQ0BIAMtAAhBGHFBAEcLEBwhBgsgBgRAQQEhBSACKAIAIgBFDQEgAiAAKAIANgIADAELAkAgAUUNACABQZTjABAgIgZFDQEgAigCACIBBEAgAiABKAIANgIACyAGKAIIIgMgACgCCCIBQX9zcUEHcQ0BIANBf3MgAXFB4ABxDQFBASEFIAAoAgwgBigCDEEAEBwNASAAKAIMQeTkAEEAEBwEQCAGKAIMIgBFDQIgAEHI4wAQIEUhBQwCCyAAKAIMIgNFDQBBACEFIANBlOMAECAiAQRAIAAtAAhBAXFFDQICfyAGKAIMIQBBACECAkADQEEAIABFDQIaIABBlOMAECAiA0UNASADKAIIIAEoAghBf3NxDQFBASABKAIMIAMoAgxBABAcDQIaIAEtAAhBAXFFDQEgASgCDCIARQ0BIABBlOMAECAiAQRAIAMoAgwhAAwBCwsgAEGE5AAQICIARQ0AIAAgAygCDBB4IQILIAILIQUMAgsgA0GE5AAQICIBBEAgAC0ACEEBcUUNAiABIAYoAgwQeCEFDAILIANBtOIAECAiAUUNASAGKAIMIgBFDQEgAEG04gAQICIARQ0BIARBDGoQjAEgBEEBNgI4IARBfzYCFCAEIAE2AhAgBCAANgIIIAAgBEEIaiACKAIAQQEgACgCACgCHBEEAAJAIAQoAiAiAEEBRw0AIAIoAgBFDQAgAiAEKAIYNgIACyAAQQFGIQUMAQtBACEFCyAEQUBrJAAgBQsxACAAIAEoAghBABAcBEAgASACIAMQeQ8LIAAoAggiACABIAIgAyAAKAIAKAIcEQQACxgAIAAgASgCCEEAEBwEQCABIAIgAxB5CwuZAQEBfyMAQUBqIgMkAAJ/QQEgACABQQAQHA0AGkEAIAFFDQAaQQAgAUG04gAQICIBRQ0AGiADQQxqEIwBIANBATYCOCADQX82AhQgAyAANgIQIAMgATYCCCABIANBCGogAigCAEEBIAEoAgAoAhwRBAAgAygCICIAQQFGBEAgAiADKAIYNgIACyAAQQFGCyEAIANBQGskACAACwoAIAAgAUEAEBwLJAEBf0HM6gAoAgAiAARAA0AgACgCABEFACAAKAIEIgANAAsLCyUBAn8gACgCBCIAEI0BQQFqIgEQJCICBH8gAiAAIAEQOAVBAAsLC7liBQBBgAgLsFBjfHd78mtvxTABZyv+16t2yoLJffpZR/Ct1KKvnKRywLf9kyY2P/fMNKXl8XHYMRUExyPDGJYFmgcSgOLrJ7J1CYMsGhtuWqBSO9azKeMvhFPRAO0g/LFbasu+OUpMWM/Q76r7Q00zhUX5An9QPJ+oUaNAj5KdOPW8ttohEP/z0s0ME+xfl0QXxKd+PWRdGXNggU/cIiqQiEbuuBTeXgvb4DI6CkkGJFzC06xikZXkeefIN22N1U6pbFb06mV6rgi6eCUuHKa0xujddB9LvYuKcD61ZkgD9g5hNVe5hsEdnuH4mBFp2Y6Umx6H6c5VKN+MoYkNv+ZCaEGZLQ+wVLsWAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAAbAAAANgAAAAAAAAAAUKf0UVNlQX7DpBcall4nOstrqzvxRZ0fq1j6rJMD40tV+jAg9m12rZF2zIglTAL1/NflT9fLKsWARDUmj6NitUlasd5nG7olmA7qReHA/l0CdS/DEvBMgaOXRo3G+dNr51+PA5WckhXrem2/2llSlS2DvtTTIXRYKWngSUTIyY5qicJ1eHmO9Gs+WJndcbkntk/hvhetiPBmrCDJtDrOfRhK32OCMRrlYDNRl0V/U2Lgd2SxhK5ruxyggf6UKwj5WGhIcBn9RY+HbN6Ut/h7UiPTc6viAktyV48f4yqrVWYHKOuyA8K1L5p7xYalCDfT8ocoMLKlvyO6agMCXIIW7Sscz4qStHmn8PIH86HiaU7N9Npl1b4FBh9iNNGK/qbEnVMuNKBV86Iy4YoFdev2pDnsgwuq72BABp9xXlEQbr35iiE+PQbdlq4FPt1GveZNtY1UkQVdxHFv1AYE/xVQYCT7mBmX6b3WzENAiXee2We9QuiwiIuJBzhbGefb7sh5Rwp8oekPQnzJHoT4AAAAAIOGgAlI7SsyrHARHk5yWmz7/w79VjiFDx7Vrj0nOS02ZNkPCiGmXGjRVFubOi42JLFnCgwP51eT0pbutJ6RmxtPxcCAoiDcYWlLd1oWGhIcCrqT4uUqoMBD4CI8HRcbEgsNCQ6tx4vyuai2LcipHhSFGfFXTAd1r7vdme79YH+jnyYB97z1clzFO2ZENH77W3YpQ4vcxiPLaPzttmPx5LjK3DHXEIVjQkAilxMgEcaEfSRKhfg9u9IRMvmubaEpx0svnh3zMLLc7FKGDdDjwXdsFrMrmblwqfpIlBEiZOlHxIz8qBo/8KDYLH1W75AzIsdOSYfB0TjZ/qLKjDYL1JjPgfWmKN56pSaOt9qkv60/5J06LA2SeFCbzF9qYkZ+VMITjfbouNiQXvc5LvWvw4K+gF2ffJPQaakt1W+zEiXPO5msyKd9GBBuY5zoe7s72wl4Js30GFluAbea7KiaT4NlbpXmfub/qgjPvCHm6BXv2Zvnus42b0rUCZ/q1nywKa+ypDExIz8qMJSlxsBmojU3vE50psqC/LDQkOAV2KczSpgE8ffa7EEOUM1/L/aRF43WTXZNsO9DVE2qzN8EluTjtdGeG4hqTLgfLMF/UWVGBOpenV01jAFzdIf6LkEL+1odZ7NS0tuSM1YQ6RNH1m2MYdeaegyhN44U+FmJPBPr7iepzjXJYbft5RzhPLFHelnf0pw/c/JVec4UGL83x3PqzfdTW6r9XxRvPd+G20R4gfOvyj7EaLksNCQ4X0CjwnLDHRYMJeK8i0k8KEGVDf9xAag53rMMCJzktNiQwVZkYYTLe3C2MtV0XGxIQle40GNjxqV8fPiEd3fumXt79o3y8v8Na2vWvW9v3rHFxZFUMDBgUAEBAgNnZ86pKytWff7+5xnX17Viq6tN5nZ27JrKyo9FgoIfncnJiUB9ffqH+vrvFVlZsutHR47J8PD7C62tQezU1LNnoqJf/a+vReqcnCO/pKRT93Jy5JbAwJtbt7d1wv394RyTkz2uJiZMajY2bFo/P35B9/f1AszMg080NGhcpaVR9OXl0TTx8fkIcXHik9jYq3MxMWJTFRUqPwQECAzHx5VSIyNGZcPDnV4YGDAolpY3oQUFCg+ami+1BwcOCRISJDaAgBub4uLfPevrzSYnJ05psrJ/zXV16p8JCRIbg4MdniwsWHQaGjQuGxs2LW5u3LJaWrTuoKBb+1JSpPY7O3ZN1ta3YbOzfc4pKVJ74+PdPi8vXnGEhBOXU1Om9dHRuWgAAAAA7e3BLCAgQGD8/OMfsbF5yFtbtu1qatS+y8uNRr6+Z9k5OXJLSkqU3kxMmNRYWLDoz8+FStDQu2vv78UqqqpP5fv77RZDQ4bFTU2a1zMzZlWFhRGURUWKz/n56RACAgQGf3/+gVBQoPA8PHhEn58luqioS+NRUaLzo6Nd/kBAgMCPjwWKkpI/rZ2dIbw4OHBI9fXxBLy8Y9+2tnfB2tqvdSEhQmMQECAw///lGvPz/Q7S0r9tzc2BTAwMGBQTEyY17OzDL19fvuGXlzWiRESIzBcXLjnExJNXp6dV8n5+/II9PXpHZGTIrF1duucZGTIrc3PmlWBgwKCBgRmYT0+e0dzco38iIkRmKipUfpCQO6uIiAuDRkaMyu7uxym4uGvTFBQoPN7ep3leXrziCwsWHdvbrXbg4Ns7MjJkVjo6dE4KChQeSUmS2wYGDAokJEhsXFy45MLCn13T071urKxD72JixKaRkTmolZUxpOTk0zd5efKL5+fVMsjIi0M3N25ZbW3at42NAYzV1bFkTk6c0qmpSeBsbNi0Vlas+vT08wfq6s8lZWXKr3p69I6urkfpCAgQGLq6b9V4ePCIJSVKby4uXHIcHDgkpqZX8bS0c8fGxpdR6OjLI93doXx0dOicHx8+IUtLlt29vWHci4sNhoqKD4VwcOCQPj58QrW1ccRmZsyqSEiQ2AMDBgX29vcBDg4cEmFhwqM1NWpfV1eu+bm5adCGhheRwcGZWB0dOieenie54eHZOPj46xOYmCuzEREiM2lp0rvZ2alwjo4HiZSUM6ebmy22Hh48IoeHFZLp6ckgzs6HSVVVqv8oKFB439+leoyMA4+hoVn4iYkJgA0NGhe/v2Xa5ubXMUJChMZoaNC4QUGCw5mZKbAtLVp3Dw8eEbCwe8tUVKj8u7tt1hYWLDqn9FFQZUF+U6QXGsNeJzqWa6s7y0WdH/FY+qyrA+NLk/owIFVtdq32dsyIkUwC9SXX5U/8yyrF10Q1JoCjYrWPWrHeSRu6JWcO6kWYwP5d4XUvwwLwTIESl0aNo/nTa8ZfjwPnnJIVlXptv+tZUpXag77ULSF0WNNp4EkpyMmORInCdWp5jvR4PliZa3G5J91P4b62rYjwF6wgyWY6zn20St9jGDEa5YIzUZdgf1NiRXdkseCua7uEoIH+HCsI+ZRoSHBY/UWPGWzelIf4e1K303OrIwJLcuKPH+NXq1VmKijrsgfCtS8De8WGmgg306WHKDDypb8jsmoDArqCFu1cHM+KK7R5p5LyB/Pw4mlOofTaZc2+BQbVYjTRH/6mxIpTLjSdVfOioOGKBTLr9qR17IMLOe9gQKqfcV4GEG69UYohPvkG3ZY9BT7drr3mTUaNVJG1XcRxBdQGBG8VUGD/+5gZJOm91pdDQInMntlnd0LosL2LiQeIWxnnOO7IedsKfKFHD0J86R6E+MkAAAAAhoAJg+0rMkhwER6sclpsTv8O/fs4hQ9W1a49HjktNifZDwpkplxoIVRbm9EuNiQ6ZwoMsedXkw+W7rTSkZsbnsXAgE8g3GGiS3daaRoSHBa6k+IKKqDA5eAiPEMXGxIdDQkOC8eL8q2oti25qR4UyBnxV4UHda9M3Znuu2B/o/0mAfef9XJcvDtmRMV++1s0KUOLdsYjy9z87bZo8eS4Y9wx18qFY0IQIpcTQBHGhCAkSoV9PbvS+DL5rhGhKcdtL54dSzCy3PNShg3s48F30BazK2y5cKmZSJQR+mTpRyKM/KjEP/CgGix9VtiQMyLvTkmHx9E42cGiyoz+C9SYNoH1ps/eeqUojrfaJr+tP6SdOizkknhQDcxfaptGflRiE432wrjYkOj3OS5er8OC9YBdn76T0Gl8LdVvqRIlz7OZrMg7fRgQp2Oc6G67O9t7eCbNCRhZbvS3muwBmk+DqG6V5mXm/6p+z7whCOgV7+ab57rZNm9Kzgmf6tR8sCnWsqQxryM/KjGUpcYwZqI1wLxOdDfKgvym0JDgsNinMxWYBPFK2uxB91DNfw72kRcv1k12jbDvQ01NqsxUBJbk37XRnuOIakwbHyzBuFFlRn/qXp0ENYwBXXSH+nNBC/suHWezWtLbklJWEOkzR9ZtE2HXmowMoTd6FPhZjjwT64knqc7uyWG3NeUc4e2xR3o839KcWXPyVT/OFBh5N8dzv833U+qq/V9bbz3fFNtEeIbzr8qBxGi5PjQkOCxAo8Jfwx0WciXivAxJPCiLlQ3/QQGoOXGzDAje5LTYnMFWZJCEy3thtjLVcFxsSHRXuNBC9FFQp0F+U2UXGsOkJzqWXqs7y2udH/FF+qyrWONLkwMwIFX6dq32bcyIkXYC9SVM5U/81yrF18s1JoBEYrWPo7HeSVq6JWcb6kWYDv5d4cAvwwJ1TIES8EaNo5fTa8b5jwPnX5IVlZxtv+t6UpXaWb7ULYN0WNMh4EkpacmORMjCdWqJjvR4eViZaz65J91x4b62T4jwF60gyWaszn20Ot9jGEoa5YIxUZdgM1NiRX9kseB3a7uEroH+HKAI+ZQrSHBYaEWPGf3elIdse1K3+HOrI9NLcuICH+NXj1VmKqvrsgcotS8DwsWGmns306UIKDDyh78jsqUDArpqFu1cgs+KKxx5p5K0B/Pw8mlOoeLaZc30BQbVvjTRH2KmxIr+LjSdU/OioFWKBTLh9qR164MLOexgQKrvcV4Gn269URAhPvmK3ZY9Bj7drgXmTUa9VJG1jcRxBV0GBG/UUGD/FZgZJPu91pfpQInMQ9lnd57osL1CiQeIixnnOFvIedvufKFHCkJ86Q+E+MkeAAAAAIAJg4YrMkjtER6scFpsTnIO/fv/hQ9WOK49HtUtNic5Dwpk2VxoIaZbm9FUNiQ6LgoMsWdXkw/n7rTSlpsbnpHAgE/F3GGiIHdaaUsSHBYak+IKuqDA5SoiPEPgGxIdFwkOCw2L8q3Hti25qB4UyKnxV4UZda9MB5nuu91/o/1gAfefJnJcvPVmRMU7+1s0fkOLdikjy9zG7bZo/OS4Y/Ex18rcY0IQhZcTQCLGhCARSoV9JLvS+D35rhEyKcdtoZ4dSy+y3PMwhg3sUsF30OOzK2wWcKmZuZQR+kjpRyJk/KjEjPCgGj99VtgsMyLvkEmHx0442cHRyoz+otSYNgv1ps+BeqUo3rfaJo6tP6S/OizknXhQDZJfapvMflRiRo32whPYkOi4OS5e98OC9a9dn76A0Gl8k9VvqS0lz7MSrMg7mRgQp32c6G5jO9t7uybNCXhZbvQYmuwBt0+DqJqV5mVu/6p+5rwhCM8V7+bo57rZm29Kzjaf6tQJsCnWfKQxr7I/KjEjpcYwlKI1wGZOdDe8gvymypDgsNCnMxXYBPFKmOxB99rNfw5QkRcv9k12jdbvQ02wqsxUTZbk3wTRnuO1akwbiCzBuB9lRn9RXp0E6owBXTWH+nN0C/suQWezWh3bklLSEOkzVtZtE0fXmoxhoTd6DPhZjhQT64k8qc7uJ2G3Nckc4e3lR3o8sdKcWd/yVT9zFBh5zsdzvzf3U+rN/V9bqj3fFG9EeIbbr8qB82i5PsQkOCw0o8JfQB0WcsPivAwlPCiLSQ3/QZWoOXEBDAjes7TYnORWZJDBy3thhDLVcLZsSHRcuNBCV1FQp/R+U2VBGsOkFzqWXic7y2urH/FFnayrWPpLkwPjIFX6MK32bXaIkXbM9SVMAk/81+XF18sqJoBENbWPo2LeSVqxJWcbukWYDupd4cD+wwJ1L4ES8EyNo5dGa8b50wPnX48VlZySv+t6bZXaWVLULYO+WNMhdEkpaeCORMjJdWqJwvR4eY6Zaz5YJ91xub62T+HwF62IyWasIH20Os5jGErf5YIxGpdgM1FiRX9TseB3ZLuErmv+HKCB+ZQrCHBYaEiPGf1FlIds3lK3+HurI9NzcuICS+NXjx9mKqtVsgco6y8DwrWGmnvF06UINzDyhygjsqW/ArpqA+1cghaKKxzPp5K0efPw8gdOoeJpZc302gbVvgXRH2I0xIr+pjSdUy6ioFXzBTLhiqR16/YLOeyDQKrvYF4Gn3G9URBuPvmKIZY9Bt3drgU+TUa95pG1jVRxBV3EBG/UBmD/FVAZJPuY1pfpvYnMQ0Bnd57ZsL1C6AeIi4nnOFsZedvuyKFHCnx86Q9C+MkehAAAAAAJg4aAMkjtKx6scBFsTnJa/fv/Dg9WOIU9HtWuNic5LQpk2Q9oIaZcm9FUWyQ6LjYMsWcKkw/nV7TSlu4bnpGbgE/FwGGiINxaaUt3HBYaEuIKupPA5SqgPEPgIhIdFxsOCw0J8q3Hiy25qLYUyKkeV4UZ8a9MB3Xuu92Zo/1gf/efJgFcvPVyRMU7Zls0fvuLdilDy9zGI7Zo/O24Y/Hk18rcMUIQhWMTQCKXhCARxoV9JErS+D27rhEy+cdtoSkdSy+e3PMwsg3sUoZ30OPBK2wWs6mZuXAR+kiURyJk6ajEjPygGj/wVtgsfSLvkDOHx05J2cHROIz+osqYNgvUps+B9aUo3nraJo63P6S/rSzknTpQDZJ4apvMX1RiRn72whONkOi42C5e9zmC9a/Dn76AXWl8k9BvqS3Vz7MSJcg7mawQp30Y6G5jnNt7uzvNCXgmbvQYWewBt5qDqJpP5mVulap+5v8hCM+87+boFbrZm+dKzjZv6tQJnynWfLAxr7KkKjEjP8YwlKU1wGaidDe8TvymyoLgsNCQMxXYp/FKmARB99rsfw5QzRcv9pF2jdZNQ02w78xUTark3wSWnuO10UwbiGrBuB8sRn9RZZ0E6l4BXTWM+nN0h/suQQuzWh1nklLS2+kzVhBtE0fWmoxh1zd6DKFZjhT464k8E87uJ6m3Nclh4e3lHHo8sUecWd/SVT9z8hh5zhRzvzfHU+rN919bqv3fFG89eIbbRMqB86+5PsRoOCw0JMJfQKMWcsMdvAwl4iiLSTz/QZUNOXEBqAjeswzYnOS0ZJDBVnthhMvVcLYySHRcbNBCV7ilY2PGhHx8+Jl3d+6Ne3v2DfLy/71ra9axb2/eVMXFkVAwMGADAQECqWdnzn0rK1YZ/v7nYtfXtearq02adnbsRcrKj52Cgh9AycmJh319+hX6+u/rWVmyyUdHjgvw8Pvsra1BZ9TUs/2iol/qr69Fv5ycI/ekpFOWcnLkW8DAm8K3t3Uc/f3hrpOTPWomJkxaNjZsQT8/fgL39/VPzMyDXDQ0aPSlpVE05eXRCPHx+ZNxceJz2NirUzExYj8VFSoMBAQIUsfHlWUjI0Zew8OdKBgYMKGWljcPBQUKtZqaLwkHBw42EhIkm4CAGz3i4t8m6+vNaScnTs2ysn+fdXXqGwkJEp6Dgx10LCxYLhoaNC0bGzaybm7c7lpatPugoFv2UlKkTTs7dmHW1rfOs7N9eykpUj7j491xLy9el4SEE/VTU6Zo0dG5AAAAACzt7cFgICBAH/z848ixsXntW1u2vmpq1EbLy43Zvr5nSzk5ct5KSpTUTEyY6FhYsErPz4Vr0NC7Ku/vxeWqqk8W+/vtxUNDhtdNTZpVMzNmlIWFEc9FRYoQ+fnpBgICBIF/f/7wUFCgRDw8eLqfnyXjqKhL81FRov6jo13AQECAio+PBa2Skj+8nZ0hSDg4cAT19fHfvLxjwba2d3Xa2q9jISFCMBAQIBr//+UO8/P9bdLSv0zNzYEUDAwYNRMTJi/s7MPhX1++opeXNcxERIg5FxcuV8TEk/Knp1WCfn78Rz09eqxkZMjnXV26KxkZMpVzc+agYGDAmIGBGdFPT55/3NyjZiIiRH4qKlSrkJA7g4iIC8pGRowp7u7H07i4azwUFCh53t6n4l5evB0LCxZ229utO+Dg21YyMmROOjp0HgoKFNtJSZIKBgYMbCQkSORcXLhdwsKfbtPTve+srEOmYmLEqJGROaSVlTE35OTTi3l58jLn59VDyMiLWTc3brdtbdqMjY0BZNXVsdJOTpzgqalJtGxs2PpWVqwH9PTzJerqz69lZcqOenr06a6uRxgICBDVurpviHh48G8lJUpyLi5cJBwcOPGmplfHtLRzUcbGlyPo6Mt83d2hnHR06CEfHz7dS0uW3L29YYaLiw2FiooPkHBw4EI+PnzEtbVxqmZmzNhISJAFAwMGAfb29xIODhyjYWHCXzU1avlXV67QublpkYaGF1jBwZknHR06uZ6eJzjh4dkT+Pjrs5iYKzMRESK7aWnScNnZqYmOjgenlJQztpubLSIeHjySh4cVIOnpyUnOzof/VVWqeCgoUHrf36WPjIwD+KGhWYCJiQkXDQ0a2r+/ZTHm5tfGQkKEuGho0MNBQYKwmZkpdy0tWhEPDx7LsLB7/FRUqNa7u206FhYsY8alY3z4hHx37pl3e/aNe/L/DfJr1r1rb96xb8WRVMUwYFAwAQIDAWfOqWcrVn0r/ucZ/te1YterTearduyadsqPRcqCH52CyYlAyX36h3367xX6WbLrWUeOyUfw+wvwrUHsrdSzZ9SiX/2ir0Xqr5wjv5ykU/ekcuSWcsCbW8C3dcK3/eEc/ZM9rpMmTGomNmxaNj9+QT/39QL3zINPzDRoXDSlUfSl5dE05fH5CPFx4pNx2Ktz2DFiUzEVKj8VBAgMBMeVUscjRmUjw51ewxgwKBiWN6GWBQoPBZovtZoHDgkHEiQ2EoAbm4Di3z3i680m6ydOaSeyf82ydeqfdQkSGwmDHZ6DLFh0LBo0LhobNi0bbtyyblq07lqgW/ugUqT2Ujt2TTvWt2HWs33OsylSeynj3T7jL15xL4QTl4RTpvVT0blo0QAAAADtwSztIEBgIPzjH/yxecixW7btW2rUvmrLjUbLvmfZvjlySzlKlN5KTJjUTFiw6FjPhUrP0Ltr0O/FKu+qT+Wq++0W+0OGxUNNmtdNM2ZVM4URlIVFis9F+ekQ+QIEBgJ//oF/UKDwUDx4RDyfJbqfqEvjqFGi81GjXf6jQIDAQI8Fio+SP62SnSG8nThwSDj18QT1vGPfvLZ3wbbar3XaIUJjIRAgMBD/5Rr/8/0O89K/bdLNgUzNDBgUDBMmNRPswy/sX77hX5c1opdEiMxEFy45F8STV8SnVfKnfvyCfj16Rz1kyKxkXbrnXRkyKxlz5pVzYMCgYIEZmIFPntFP3KN/3CJEZiIqVH4qkDurkIgLg4hGjMpG7scp7rhr07gUKDwU3qd53l684l4LFh0L26122+DbO+AyZFYyOnROOgoUHgpJkttJBgwKBiRIbCRcuORcwp9dwtO9btOsQ++sYsSmYpE5qJGVMaSV5NM35Hnyi3nn1TLnyItDyDduWTdt2rdtjQGMjdWxZNVOnNJOqUngqWzYtGxWrPpW9PMH9OrPJeplyq9levSOeq5H6a4IEBgIum/VunjwiHglSm8lLlxyLhw4JBymV/GmtHPHtMaXUcboyyPo3aF83XTonHQfPiEfS5bdS71h3L2LDYaLig+FinDgkHA+fEI+tXHEtWbMqmZIkNhIAwYFA/b3AfYOHBIOYcKjYTVqXzVXrvlXuWnQuYYXkYbBmVjBHTonHZ4nuZ7h2Tjh+OsT+Jgrs5gRIjMRadK7admpcNmOB4mOlDOnlJsttpsePCIehxWSh+nJIOnOh0nOVar/VShQeCjfpXrfjAOPjKFZ+KGJCYCJDRoXDb9l2r/m1zHmQoTGQmjQuGhBgsNBmSmwmS1ady0PHhEPsHvLsFSo/FS7bda7Fiw6FsalY2P4hHx87pl3d/aNe3v/DfLy1r1ra96xb2+RVMXFYFAwMAIDAQHOqWdnVn0rK+cZ/v61YtfXTearq+yadnaPRcrKH52CgolAycn6h3197xX6+rLrWVmOyUdH+wvw8EHsra2zZ9TUX/2iokXqr68jv5ycU/ekpOSWcnKbW8DAdcK3t+Ec/f09rpOTTGomJmxaNjZ+QT8/9QL394NPzMxoXDQ0UfSlpdE05eX5CPHx4pNxcatz2NhiUzExKj8VFQgMBASVUsfHRmUjI51ew8MwKBgYN6GWlgoPBQUvtZqaDgkHByQ2EhIbm4CA3z3i4s0m6+tOaScnf82ysuqfdXUSGwkJHZ6Dg1h0LCw0LhoaNi0bG9yybm607lpaW/ugoKT2UlJ2TTs7t2HW1n3Os7NSeykp3T7j415xLy8Tl4SEpvVTU7lo0dEAAAAAwSzt7UBgICDjH/z8ecixsbbtW1vUvmpqjUbLy2fZvr5ySzk5lN5KSpjUTEyw6FhYhUrPz7tr0NDFKu/vT+Wqqu0W+/uGxUNDmtdNTWZVMzMRlIWFis9FRekQ+fkEBgIC/oF/f6DwUFB4RDw8Jbqfn0vjqKii81FRXf6jo4DAQEAFio+PP62SkiG8nZ1wSDg48QT19WPfvLx3wba2r3Xa2kJjISEgMBAQ5Rr///0O8/O/bdLSgUzNzRgUDAwmNRMTwy/s7L7hX181opeXiMxERC45FxeTV8TEVfKnp/yCfn56Rz09yKxkZLrnXV0yKxkZ5pVzc8CgYGAZmIGBntFPT6N/3NxEZiIiVH4qKjurkJALg4iIjMpGRscp7u5r07i4KDwUFKd53t684l5eFh0LC61229vbO+DgZFYyMnROOjoUHgoKkttJSQwKBgZIbCQkuORcXJ9dwsK9btPTQ++srMSmYmI5qJGRMaSVldM35OTyi3l51TLn54tDyMhuWTc32rdtbQGMjY2xZNXVnNJOTkngqanYtGxsrPpWVvMH9PTPJerqyq9lZfSOenpH6a6uEBgICG/VurrwiHh4Sm8lJVxyLi44JBwcV/GmpnPHtLSXUcbGyyPo6KF83d3onHR0PiEfH5bdS0th3L29DYaLiw+FiorgkHBwfEI+PnHEtbXMqmZmkNhISAYFAwP3Afb2HBIODsKjYWFqXzU1rvlXV2nQubkXkYaGmVjBwTonHR0nuZ6e2Tjh4esT+Pgrs5iYIjMREdK7aWmpcNnZB4mOjjOnlJQttpubPCIeHhWSh4fJIOnph0nOzqr/VVVQeCgopXrf3wOPjIxZ+KGhCYCJiRoXDQ1l2r+/1zHm5oTGQkLQuGhogsNBQSmwmZlady0tHhEPD3vLsLCo/FRUbda7uyw6FhZSCWrVMDalOL9Ao56B89f7fOM5gpsv/4c0jkNExN7py1R7lDKmwiM97kyVC0L6w04ILqFmKNkksnZboklti9Elcvj2ZIZomBbUpFzMXWW2kmxwSFD97bnaXhVGV6eNnYSQ2KsAjLzTCvfkWAW4s0UG0Cwej8o/DwLBr70DAROKazqREUFPZ9zql/LPzvC05nOWrHQi5601heL5N+gcdd9uR/EacR0pxYlvt2IOqhi+G/xWPkvG0nkgmtvA/njNWvQf3agziAfHMbESEFkngOxfYFF/qRm1Sg0t5Xqfk8mc76DgO02uKvWwyOu7PINTmWEXKwR+unfWJuFpFGNVIQx9ZGF0YSBtdXN0IG5vdCBiZSBlbXB0eQB1bnNpZ25lZCBzaG9ydABjdHIyNTZFbmNyeXB0AGlnZTI1NkVuY3J5cHQAY2JjMjU2RW5jcnlwdABjdHIyNTZEZWNyeXB0AGlnZTI1NkRlY3J5cHQAY2JjMjU2RGVjcnlwdAB1bnNpZ25lZCBpbnQAc2V0AGdldABmbG9hdAB1aW50NjRfdABpdiBtdXN0IGJlIDE2IGJ5dGVzAGtleSBtdXN0IGJlIDMyIGJ5dGVzAGl2IG11c3QgYmUgMzIgYnl0ZXMAdmVjdG9yAEludDY0VmVjdG9yAHVuc2lnbmVkIGNoYXIAc3RkOjpleGNlcHRpb24AYm9vbABlbXNjcmlwdGVuOjp2YWwAcHVzaF9iYWNrAGJhZF9hcnJheV9uZXdfbGVuZ3RoAHB1c2gAL2hvbWUvcm9qL2Vtc2RrL3Vwc3RyZWFtL2Vtc2NyaXB0ZW4vY2FjaGUvc3lzcm9vdC9pbmNsdWRlL2Vtc2NyaXB0ZW4vdmFsLmgAdW5zaWduZWQgbG9uZwBzdGQ6OndzdHJpbmcAYmFzaWNfc3RyaW5nAHN0ZDo6c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAHJlc2l6ZQBmYWN0b3JpemUAc3RhdGUgbXVzdCBiZSAxIGJ5dGUAd3JpdGVHZW5lcmljV2lyZVR5cGUAZG91YmxlAHZvaWQAc3RkOjpiYWRfYWxsb2MAc2hvcnRfcHRyIDw9IFVJTlQzMl9NQVgAZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgBkYXRhIHNpemUgbXVzdCBiZSBkaXZpc2libGUgYnkgMTYAc3RhdGUgbXVzdCBiZSBpbiB0aGUgcmFuZ2UgMC4uMTUATlN0M19fMjZ2ZWN0b3JJeE5TXzlhbGxvY2F0b3JJeEVFRUUAAAAoMwAAIisAAFBOU3QzX18yNnZlY3Rvckl4TlNfOWFsbG9jYXRvckl4RUVFRQAAAACsMwAAUCsAAAAAAABIKwAAUEtOU3QzX18yNnZlY3Rvckl4TlNfOWFsbG9jYXRvckl4RUVFRQAAAKwzAACIKwAAAQAAAEgrAABpaQB2AHZpAHgrAABkMgAAeCsAAPQyAAB2aWlpAAAAAGQyAAB4KwAA6DIAAPQyAAB2aWlpaQAAAOgyAACwKwAAaWlpACQsAABIKwAA6DIAAE4xMGVtc2NyaXB0ZW4zdmFsRQAAKDMAABAsAABpaWlpAEHA2AALFXwyAABIKwAA6DIAAPQyAABpaWlpaQBB4NgAC1YkLAAAsCwAALAsAACwLAAATlN0M19fMjEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUAACgzAABwLABBwNkAC/YQJCwAALAsAACwLAAAsCwAALAsAABpaWlpaWkAACQsAAD0MgAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaEVFAAAoMwAA5CwAAGQyAAAELQAATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUAACgzAAAULQAATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUAACgzAABcLQAATlN0M19fMjEyYmFzaWNfc3RyaW5nSURzTlNfMTFjaGFyX3RyYWl0c0lEc0VFTlNfOWFsbG9jYXRvcklEc0VFRUUAAAAoMwAApC0AAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0lEaU5TXzExY2hhcl90cmFpdHNJRGlFRU5TXzlhbGxvY2F0b3JJRGlFRUVFAAAAKDMAAPAtAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ljRUUAACgzAAA8LgAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAAAoMwAAZC4AAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQAAKDMAAIwuAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUAACgzAAC0LgAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaUVFAAAoMwAA3C4AAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQAAKDMAAAQvAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lsRUUAACgzAAAsLwAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbUVFAAAoMwAAVC8AAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQAAKDMAAHwvAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUAACgzAACkLwAAAAAAAFG08LKWsUSw+a62rXmsQ6sUquuoyKeqppKlgKRzo2uiaKFqoHCfe56KnZ2ctZvRmvCZE5k6mGWXk5bElfiUMJRrk6mS6pEukXWQvo8Kj1mOqo3+jFSMrIsHi2SKxIkliYmI7odWh8CGK4aZhQiFeYTsg2GD2IJQgsmBRYHCgECAAv8O/SX7R/lz96r16vM08ofw4+5H7bPrJ+qj6CfnsuVD5NzieuEg4Mvefd003PHas9l72EjXGtbx1M3TrdKS0XvQac9bzlHNSsxIy0rKT8lYyGTHdMaHxZ3Et8PUwvTBFsE8wGW/kL6+ve+8I7xZu5G6zLkKuUq4jLfQthe2YLUAAAAAAAAAwAAAAAAAAAAATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAAAAAUDMAAOAwAAAwNQAATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAAAAUDMAABAxAAAEMQAATjEwX19jeHhhYml2MTE3X19wYmFzZV90eXBlX2luZm9FAAAAUDMAAEAxAAAEMQAATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UAUDMAAHAxAABkMQAATjEwX19jeHhhYml2MTIwX19mdW5jdGlvbl90eXBlX2luZm9FAAAAAFAzAACgMQAABDEAAE4xMF9fY3h4YWJpdjEyOV9fcG9pbnRlcl90b19tZW1iZXJfdHlwZV9pbmZvRQAAAFAzAADUMQAAZDEAAAAAAABUMgAAIQAAACIAAAAjAAAAJAAAACUAAABOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAUDMAACwyAAAEMQAAdgAAABgyAABgMgAARG4AABgyAABsMgAAYgAAABgyAAB4MgAAYwAAABgyAACEMgAAaAAAABgyAACQMgAAYQAAABgyAACcMgAAcwAAABgyAACoMgAAdAAAABgyAAC0MgAAaQAAABgyAADAMgAAagAAABgyAADMMgAAbAAAABgyAADYMgAAbQAAABgyAADkMgAAeAAAABgyAADwMgAAeQAAABgyAAD8MgAAZgAAABgyAAAIMwAAZAAAABgyAAAUMwAAAAAAADQxAAAhAAAAJgAAACMAAAAkAAAAJwAAACgAAAApAAAAKgAAAAAAAACYMwAAIQAAACsAAAAjAAAAJAAAACcAAAAsAAAALQAAAC4AAABOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UAAAAAUDMAAHAzAAA0MQAAAAAAAJQxAAAhAAAALwAAACMAAAAkAAAAMAAAAAAAAAAkNAAAHwAAADEAAAAyAAAAAAAAAEw0AAAfAAAAMwAAADQAAAAAAAAADDQAAB8AAAA1AAAANgAAAFN0OWV4Y2VwdGlvbgAAAAAoMwAA/DMAAFN0OWJhZF9hbGxvYwAAAABQMwAAFDQAAAw0AABTdDIwYmFkX2FycmF5X25ld19sZW5ndGgAAAAAUDMAADA0AAAkNAAAAAAAAJA0AAAFAAAANwAAADgAAAAAAAAACDUAAAYAAAA5AAAAOgAAAFN0MTFsb2dpY19lcnJvcgBQMwAAgDQAAAw0AAAAAAAAxDQAAAUAAAA7AAAAOAAAAFN0MTJsZW5ndGhfZXJyb3IAAAAAUDMAALA0AACQNAAAAAAAABQ1AAAGAAAAPAAAADoAAABTdDExcmFuZ2VfZXJyb3IAU3QxM3J1bnRpbWVfZXJyb3IAAABQMwAA9DQAAAw0AABQMwAA5DQAAAg1AABTdDl0eXBlX2luZm8AAAAAKDMAACA1AEG46gALA1A3AQAsD3RhcmdldF9mZWF0dXJlcwIrD211dGFibGUtZ2xvYmFscysIc2lnbi1leHQ=";
|
|
233
|
-
if (!isDataURI(wasmBinaryFile)) {
|
|
234
|
-
wasmBinaryFile = locateFile(wasmBinaryFile);
|
|
235
|
-
}
|
|
236
|
-
function getBinary(file) { try {
|
|
237
|
-
if (file == wasmBinaryFile && wasmBinary) {
|
|
238
|
-
return new Uint8Array(wasmBinary);
|
|
239
|
-
}
|
|
240
|
-
var binary = tryParseAsDataURI(file);
|
|
241
|
-
if (binary) {
|
|
242
|
-
return binary;
|
|
243
|
-
}
|
|
244
|
-
if (readBinary) {
|
|
245
|
-
return readBinary(file);
|
|
246
|
-
}
|
|
247
|
-
throw "both async and sync fetching of the wasm failed";
|
|
248
|
-
}
|
|
249
|
-
catch (err) {
|
|
250
|
-
abort(err);
|
|
251
|
-
} }
|
|
252
|
-
function getBinaryPromise(binaryFile) { if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {
|
|
253
|
-
if (typeof fetch == "function") {
|
|
254
|
-
return fetch(binaryFile, { credentials: "same-origin" }).then(function (response) { if (!response["ok"]) {
|
|
255
|
-
throw "failed to load wasm binary file at '" + binaryFile + "'";
|
|
256
|
-
} return response["arrayBuffer"](); }).catch(function () { return getBinary(binaryFile); });
|
|
257
|
-
}
|
|
258
|
-
} return Promise.resolve().then(function () { return getBinary(binaryFile); }); }
|
|
259
|
-
function instantiateArrayBuffer(binaryFile, imports, receiver) { return getBinaryPromise(binaryFile).then(function (binary) { return WebAssembly.instantiate(binary, imports); }).then(function (instance) { return instance; }).then(receiver, function (reason) { err("failed to asynchronously prepare wasm: " + reason); abort(reason); }); }
|
|
260
|
-
function instantiateAsync(binary, binaryFile, imports, callback) { if (!binary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(binaryFile) && typeof fetch == "function") {
|
|
261
|
-
return fetch(binaryFile, { credentials: "same-origin" }).then(function (response) { var result = WebAssembly.instantiateStreaming(response, imports); return result.then(callback, function (reason) { err("wasm streaming compile failed: " + reason); err("falling back to ArrayBuffer instantiation"); return instantiateArrayBuffer(binaryFile, imports, callback); }); });
|
|
262
|
-
}
|
|
263
|
-
else {
|
|
264
|
-
return instantiateArrayBuffer(binaryFile, imports, callback);
|
|
265
|
-
} }
|
|
266
|
-
function createWasm() { var info = { "a": wasmImports }; function receiveInstance(instance, module) { var exports = instance.exports; Module["asm"] = exports; wasmMemory = Module["asm"]["y"]; updateMemoryViews(); wasmTable = Module["asm"]["B"]; addOnInit(Module["asm"]["z"]); removeRunDependency("wasm-instantiate"); return exports; } addRunDependency("wasm-instantiate"); function receiveInstantiationResult(result) { receiveInstance(result["instance"]); } if (Module["instantiateWasm"]) {
|
|
267
|
-
try {
|
|
268
|
-
return Module["instantiateWasm"](info, receiveInstance);
|
|
269
|
-
}
|
|
270
|
-
catch (e) {
|
|
271
|
-
err("Module.instantiateWasm callback failed with error: " + e);
|
|
272
|
-
readyPromiseReject(e);
|
|
273
|
-
}
|
|
274
|
-
} instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject); return {}; }
|
|
275
|
-
function callRuntimeCallbacks(callbacks) { while (callbacks.length > 0) {
|
|
276
|
-
callbacks.shift()(Module);
|
|
277
|
-
} }
|
|
278
|
-
function intArrayToString(array) { var ret = []; for (var i = 0; i < array.length; i++) {
|
|
279
|
-
var chr = array[i];
|
|
280
|
-
if (chr > 255) {
|
|
281
|
-
chr &= 255;
|
|
282
|
-
}
|
|
283
|
-
ret.push(String.fromCharCode(chr));
|
|
284
|
-
} return ret.join(""); }
|
|
285
|
-
function ___assert_fail(condition, filename, line, func) { abort("Assertion failed: " + UTF8ToString(condition) + ", at: " + [filename ? UTF8ToString(filename) : "unknown filename", line, func ? UTF8ToString(func) : "unknown function"]); }
|
|
286
|
-
function ExceptionInfo(excPtr) { this.excPtr = excPtr; this.ptr = excPtr - 24; this.set_type = function (type) { HEAPU32[this.ptr + 4 >> 2] = type; }; this.get_type = function () { return HEAPU32[this.ptr + 4 >> 2]; }; this.set_destructor = function (destructor) { HEAPU32[this.ptr + 8 >> 2] = destructor; }; this.get_destructor = function () { return HEAPU32[this.ptr + 8 >> 2]; }; this.set_refcount = function (refcount) { HEAP32[this.ptr >> 2] = refcount; }; this.set_caught = function (caught) { caught = caught ? 1 : 0; HEAP8[this.ptr + 12 >> 0] = caught; }; this.get_caught = function () { return HEAP8[this.ptr + 12 >> 0] != 0; }; this.set_rethrown = function (rethrown) { rethrown = rethrown ? 1 : 0; HEAP8[this.ptr + 13 >> 0] = rethrown; }; this.get_rethrown = function () { return HEAP8[this.ptr + 13 >> 0] != 0; }; this.init = function (type, destructor) { this.set_adjusted_ptr(0); this.set_type(type); this.set_destructor(destructor); this.set_refcount(0); this.set_caught(false); this.set_rethrown(false); }; this.add_ref = function () { var value = HEAP32[this.ptr >> 2]; HEAP32[this.ptr >> 2] = value + 1; }; this.release_ref = function () { var prev = HEAP32[this.ptr >> 2]; HEAP32[this.ptr >> 2] = prev - 1; return prev === 1; }; this.set_adjusted_ptr = function (adjustedPtr) { HEAPU32[this.ptr + 16 >> 2] = adjustedPtr; }; this.get_adjusted_ptr = function () { return HEAPU32[this.ptr + 16 >> 2]; }; this.get_exception_ptr = function () { var isPointer = ___cxa_is_pointer_type(this.get_type()); if (isPointer) {
|
|
287
|
-
return HEAPU32[this.excPtr >> 2];
|
|
288
|
-
} var adjusted = this.get_adjusted_ptr(); if (adjusted !== 0)
|
|
289
|
-
return adjusted; return this.excPtr; }; }
|
|
290
|
-
var exceptionLast = 0;
|
|
291
|
-
var uncaughtExceptionCount = 0;
|
|
292
|
-
function ___cxa_throw(ptr, type, destructor) { var info = new ExceptionInfo(ptr); info.init(type, destructor); exceptionLast = ptr; uncaughtExceptionCount++; throw ptr; }
|
|
293
|
-
function embindRepr(v) { if (v === null) {
|
|
294
|
-
return "null";
|
|
295
|
-
} var t = typeof v; if (t === "object" || t === "array" || t === "function") {
|
|
296
|
-
return v.toString();
|
|
297
|
-
}
|
|
298
|
-
else {
|
|
299
|
-
return "" + v;
|
|
300
|
-
} }
|
|
301
|
-
function embind_init_charCodes() { var codes = new Array(256); for (var i = 0; i < 256; ++i) {
|
|
302
|
-
codes[i] = String.fromCharCode(i);
|
|
303
|
-
} embind_charCodes = codes; }
|
|
304
|
-
var embind_charCodes = undefined;
|
|
305
|
-
function readLatin1String(ptr) { var ret = ""; var c = ptr; while (HEAPU8[c]) {
|
|
306
|
-
ret += embind_charCodes[HEAPU8[c++]];
|
|
307
|
-
} return ret; }
|
|
308
|
-
var awaitingDependencies = {};
|
|
309
|
-
var registeredTypes = {};
|
|
310
|
-
var typeDependencies = {};
|
|
311
|
-
var char_0 = 48;
|
|
312
|
-
var char_9 = 57;
|
|
313
|
-
function makeLegalFunctionName(name) { if (undefined === name) {
|
|
314
|
-
return "_unknown";
|
|
315
|
-
} name = name.replace(/[^a-zA-Z0-9_]/g, "$"); var f = name.charCodeAt(0); if (f >= char_0 && f <= char_9) {
|
|
316
|
-
return "_" + name;
|
|
317
|
-
} return name; }
|
|
318
|
-
function createNamedFunction(name, body) { name = makeLegalFunctionName(name); return { [name]: function () { return body.apply(this, arguments); } }[name]; }
|
|
319
|
-
function extendError(baseErrorType, errorName) { var errorClass = createNamedFunction(errorName, function (message) { this.name = errorName; this.message = message; var stack = new Error(message).stack; if (stack !== undefined) {
|
|
320
|
-
this.stack = this.toString() + "\n" + stack.replace(/^Error(:[^\n]*)?\n/, "");
|
|
321
|
-
} }); errorClass.prototype = Object.create(baseErrorType.prototype); errorClass.prototype.constructor = errorClass; errorClass.prototype.toString = function () { if (this.message === undefined) {
|
|
322
|
-
return this.name;
|
|
323
|
-
}
|
|
324
|
-
else {
|
|
325
|
-
return this.name + ": " + this.message;
|
|
326
|
-
} }; return errorClass; }
|
|
327
|
-
var BindingError = undefined;
|
|
328
|
-
function throwBindingError(message) { throw new BindingError(message); }
|
|
329
|
-
var InternalError = undefined;
|
|
330
|
-
function throwInternalError(message) { throw new InternalError(message); }
|
|
331
|
-
function whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) { myTypes.forEach(function (type) { typeDependencies[type] = dependentTypes; }); function onComplete(typeConverters) { var myTypeConverters = getTypeConverters(typeConverters); if (myTypeConverters.length !== myTypes.length) {
|
|
332
|
-
throwInternalError("Mismatched type converter count");
|
|
333
|
-
} for (var i = 0; i < myTypes.length; ++i) {
|
|
334
|
-
registerType(myTypes[i], myTypeConverters[i]);
|
|
335
|
-
} } var typeConverters = new Array(dependentTypes.length); var unregisteredTypes = []; var registered = 0; dependentTypes.forEach((dt, i) => { if (registeredTypes.hasOwnProperty(dt)) {
|
|
336
|
-
typeConverters[i] = registeredTypes[dt];
|
|
337
|
-
}
|
|
338
|
-
else {
|
|
339
|
-
unregisteredTypes.push(dt);
|
|
340
|
-
if (!awaitingDependencies.hasOwnProperty(dt)) {
|
|
341
|
-
awaitingDependencies[dt] = [];
|
|
342
|
-
}
|
|
343
|
-
awaitingDependencies[dt].push(() => { typeConverters[i] = registeredTypes[dt]; ++registered; if (registered === unregisteredTypes.length) {
|
|
344
|
-
onComplete(typeConverters);
|
|
345
|
-
} });
|
|
346
|
-
} }); if (0 === unregisteredTypes.length) {
|
|
347
|
-
onComplete(typeConverters);
|
|
348
|
-
} }
|
|
349
|
-
function registerType(rawType, registeredInstance, options = {}) { if (!("argPackAdvance" in registeredInstance)) {
|
|
350
|
-
throw new TypeError("registerType registeredInstance requires argPackAdvance");
|
|
351
|
-
} var name = registeredInstance.name; if (!rawType) {
|
|
352
|
-
throwBindingError('type "' + name + '" must have a positive integer typeid pointer');
|
|
353
|
-
} if (registeredTypes.hasOwnProperty(rawType)) {
|
|
354
|
-
if (options.ignoreDuplicateRegistrations) {
|
|
355
|
-
return;
|
|
356
|
-
}
|
|
357
|
-
else {
|
|
358
|
-
throwBindingError("Cannot register type '" + name + "' twice");
|
|
359
|
-
}
|
|
360
|
-
} registeredTypes[rawType] = registeredInstance; delete typeDependencies[rawType]; if (awaitingDependencies.hasOwnProperty(rawType)) {
|
|
361
|
-
var callbacks = awaitingDependencies[rawType];
|
|
362
|
-
delete awaitingDependencies[rawType];
|
|
363
|
-
callbacks.forEach(cb => cb());
|
|
364
|
-
} }
|
|
365
|
-
function integerReadValueFromPointer(name, shift, signed) { switch (shift) {
|
|
366
|
-
case 0: return signed ? function readS8FromPointer(pointer) { return HEAP8[pointer]; } : function readU8FromPointer(pointer) { return HEAPU8[pointer]; };
|
|
367
|
-
case 1: return signed ? function readS16FromPointer(pointer) { return HEAP16[pointer >> 1]; } : function readU16FromPointer(pointer) { return HEAPU16[pointer >> 1]; };
|
|
368
|
-
case 2: return signed ? function readS32FromPointer(pointer) { return HEAP32[pointer >> 2]; } : function readU32FromPointer(pointer) { return HEAPU32[pointer >> 2]; };
|
|
369
|
-
case 3: return signed ? function readS64FromPointer(pointer) { return HEAP64[pointer >> 3]; } : function readU64FromPointer(pointer) { return HEAPU64[pointer >> 3]; };
|
|
370
|
-
default: throw new TypeError("Unknown integer type: " + name);
|
|
371
|
-
} }
|
|
372
|
-
function __embind_register_bigint(primitiveType, name, size, minRange, maxRange) { name = readLatin1String(name); var shift = getShiftFromSize(size); var isUnsignedType = name.indexOf("u") != -1; if (isUnsignedType) {
|
|
373
|
-
maxRange = (1n << 64n) - 1n;
|
|
374
|
-
} registerType(primitiveType, { name: name, "fromWireType": function (value) { return value; }, "toWireType": function (destructors, value) { if (typeof value != "bigint" && typeof value != "number") {
|
|
375
|
-
throw new TypeError('Cannot convert "' + embindRepr(value) + '" to ' + this.name);
|
|
376
|
-
} if (value < minRange || value > maxRange) {
|
|
377
|
-
throw new TypeError('Passing a number "' + embindRepr(value) + '" from JS side to C/C++ side to an argument of type "' + name + '", which is outside the valid range [' + minRange + ", " + maxRange + "]!");
|
|
378
|
-
} return value; }, "argPackAdvance": 8, "readValueFromPointer": integerReadValueFromPointer(name, shift, !isUnsignedType), destructorFunction: null }); }
|
|
379
|
-
function getShiftFromSize(size) { switch (size) {
|
|
380
|
-
case 1: return 0;
|
|
381
|
-
case 2: return 1;
|
|
382
|
-
case 4: return 2;
|
|
383
|
-
case 8: return 3;
|
|
384
|
-
default: throw new TypeError("Unknown type size: " + size);
|
|
385
|
-
} }
|
|
386
|
-
function __embind_register_bool(rawType, name, size, trueValue, falseValue) { var shift = getShiftFromSize(size); name = readLatin1String(name); registerType(rawType, { name: name, "fromWireType": function (wt) { return !!wt; }, "toWireType": function (destructors, o) { return o ? trueValue : falseValue; }, "argPackAdvance": 8, "readValueFromPointer": function (pointer) { var heap; if (size === 1) {
|
|
387
|
-
heap = HEAP8;
|
|
388
|
-
}
|
|
389
|
-
else if (size === 2) {
|
|
390
|
-
heap = HEAP16;
|
|
391
|
-
}
|
|
392
|
-
else if (size === 4) {
|
|
393
|
-
heap = HEAP32;
|
|
394
|
-
}
|
|
395
|
-
else {
|
|
396
|
-
throw new TypeError("Unknown boolean type size: " + name);
|
|
397
|
-
} return this["fromWireType"](heap[pointer >> shift]); }, destructorFunction: null }); }
|
|
398
|
-
function ClassHandle_isAliasOf(other) { if (!(this instanceof ClassHandle)) {
|
|
399
|
-
return false;
|
|
400
|
-
} if (!(other instanceof ClassHandle)) {
|
|
401
|
-
return false;
|
|
402
|
-
} var leftClass = this.$$.ptrType.registeredClass; var left = this.$$.ptr; var rightClass = other.$$.ptrType.registeredClass; var right = other.$$.ptr; while (leftClass.baseClass) {
|
|
403
|
-
left = leftClass.upcast(left);
|
|
404
|
-
leftClass = leftClass.baseClass;
|
|
405
|
-
} while (rightClass.baseClass) {
|
|
406
|
-
right = rightClass.upcast(right);
|
|
407
|
-
rightClass = rightClass.baseClass;
|
|
408
|
-
} return leftClass === rightClass && left === right; }
|
|
409
|
-
function shallowCopyInternalPointer(o) { return { count: o.count, deleteScheduled: o.deleteScheduled, preservePointerOnDelete: o.preservePointerOnDelete, ptr: o.ptr, ptrType: o.ptrType, smartPtr: o.smartPtr, smartPtrType: o.smartPtrType }; }
|
|
410
|
-
function throwInstanceAlreadyDeleted(obj) { function getInstanceTypeName(handle) { return handle.$$.ptrType.registeredClass.name; } throwBindingError(getInstanceTypeName(obj) + " instance already deleted"); }
|
|
411
|
-
var finalizationRegistry = false;
|
|
412
|
-
function detachFinalizer(handle) { }
|
|
413
|
-
function runDestructor($$) { if ($$.smartPtr) {
|
|
414
|
-
$$.smartPtrType.rawDestructor($$.smartPtr);
|
|
415
|
-
}
|
|
416
|
-
else {
|
|
417
|
-
$$.ptrType.registeredClass.rawDestructor($$.ptr);
|
|
418
|
-
} }
|
|
419
|
-
function releaseClassHandle($$) { $$.count.value -= 1; var toDelete = 0 === $$.count.value; if (toDelete) {
|
|
420
|
-
runDestructor($$);
|
|
421
|
-
} }
|
|
422
|
-
function downcastPointer(ptr, ptrClass, desiredClass) { if (ptrClass === desiredClass) {
|
|
423
|
-
return ptr;
|
|
424
|
-
} if (undefined === desiredClass.baseClass) {
|
|
425
|
-
return null;
|
|
426
|
-
} var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass); if (rv === null) {
|
|
427
|
-
return null;
|
|
428
|
-
} return desiredClass.downcast(rv); }
|
|
429
|
-
var registeredPointers = {};
|
|
430
|
-
function getInheritedInstanceCount() { return Object.keys(registeredInstances).length; }
|
|
431
|
-
function getLiveInheritedInstances() { var rv = []; for (var k in registeredInstances) {
|
|
432
|
-
if (registeredInstances.hasOwnProperty(k)) {
|
|
433
|
-
rv.push(registeredInstances[k]);
|
|
434
|
-
}
|
|
435
|
-
} return rv; }
|
|
436
|
-
var deletionQueue = [];
|
|
437
|
-
function flushPendingDeletes() { while (deletionQueue.length) {
|
|
438
|
-
var obj = deletionQueue.pop();
|
|
439
|
-
obj.$$.deleteScheduled = false;
|
|
440
|
-
obj["delete"]();
|
|
441
|
-
} }
|
|
442
|
-
var delayFunction = undefined;
|
|
443
|
-
function setDelayFunction(fn) { delayFunction = fn; if (deletionQueue.length && delayFunction) {
|
|
444
|
-
delayFunction(flushPendingDeletes);
|
|
445
|
-
} }
|
|
446
|
-
function init_embind() { Module["getInheritedInstanceCount"] = getInheritedInstanceCount; Module["getLiveInheritedInstances"] = getLiveInheritedInstances; Module["flushPendingDeletes"] = flushPendingDeletes; Module["setDelayFunction"] = setDelayFunction; }
|
|
447
|
-
var registeredInstances = {};
|
|
448
|
-
function getBasestPointer(class_, ptr) { if (ptr === undefined) {
|
|
449
|
-
throwBindingError("ptr should not be undefined");
|
|
450
|
-
} while (class_.baseClass) {
|
|
451
|
-
ptr = class_.upcast(ptr);
|
|
452
|
-
class_ = class_.baseClass;
|
|
453
|
-
} return ptr; }
|
|
454
|
-
function getInheritedInstance(class_, ptr) { ptr = getBasestPointer(class_, ptr); return registeredInstances[ptr]; }
|
|
455
|
-
function makeClassHandle(prototype, record) { if (!record.ptrType || !record.ptr) {
|
|
456
|
-
throwInternalError("makeClassHandle requires ptr and ptrType");
|
|
457
|
-
} var hasSmartPtrType = !!record.smartPtrType; var hasSmartPtr = !!record.smartPtr; if (hasSmartPtrType !== hasSmartPtr) {
|
|
458
|
-
throwInternalError("Both smartPtrType and smartPtr must be specified");
|
|
459
|
-
} record.count = { value: 1 }; return attachFinalizer(Object.create(prototype, { $$: { value: record } })); }
|
|
460
|
-
function RegisteredPointer_fromWireType(ptr) { var rawPointer = this.getPointee(ptr); if (!rawPointer) {
|
|
461
|
-
this.destructor(ptr);
|
|
462
|
-
return null;
|
|
463
|
-
} var registeredInstance = getInheritedInstance(this.registeredClass, rawPointer); if (undefined !== registeredInstance) {
|
|
464
|
-
if (0 === registeredInstance.$$.count.value) {
|
|
465
|
-
registeredInstance.$$.ptr = rawPointer;
|
|
466
|
-
registeredInstance.$$.smartPtr = ptr;
|
|
467
|
-
return registeredInstance["clone"]();
|
|
468
|
-
}
|
|
469
|
-
else {
|
|
470
|
-
var rv = registeredInstance["clone"]();
|
|
471
|
-
this.destructor(ptr);
|
|
472
|
-
return rv;
|
|
473
|
-
}
|
|
474
|
-
} function makeDefaultHandle() { if (this.isSmartPointer) {
|
|
475
|
-
return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this.pointeeType, ptr: rawPointer, smartPtrType: this, smartPtr: ptr });
|
|
476
|
-
}
|
|
477
|
-
else {
|
|
478
|
-
return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this, ptr: ptr });
|
|
479
|
-
} } var actualType = this.registeredClass.getActualType(rawPointer); var registeredPointerRecord = registeredPointers[actualType]; if (!registeredPointerRecord) {
|
|
480
|
-
return makeDefaultHandle.call(this);
|
|
481
|
-
} var toType; if (this.isConst) {
|
|
482
|
-
toType = registeredPointerRecord.constPointerType;
|
|
483
|
-
}
|
|
484
|
-
else {
|
|
485
|
-
toType = registeredPointerRecord.pointerType;
|
|
486
|
-
} var dp = downcastPointer(rawPointer, this.registeredClass, toType.registeredClass); if (dp === null) {
|
|
487
|
-
return makeDefaultHandle.call(this);
|
|
488
|
-
} if (this.isSmartPointer) {
|
|
489
|
-
return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp, smartPtrType: this, smartPtr: ptr });
|
|
490
|
-
}
|
|
491
|
-
else {
|
|
492
|
-
return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp });
|
|
493
|
-
} }
|
|
494
|
-
function attachFinalizer(handle) { if ("undefined" === typeof FinalizationRegistry) {
|
|
495
|
-
attachFinalizer = handle => handle;
|
|
496
|
-
return handle;
|
|
497
|
-
} finalizationRegistry = new FinalizationRegistry(info => { releaseClassHandle(info.$$); }); attachFinalizer = handle => { var $$ = handle.$$; var hasSmartPtr = !!$$.smartPtr; if (hasSmartPtr) {
|
|
498
|
-
var info = { $$: $$ };
|
|
499
|
-
finalizationRegistry.register(handle, info, handle);
|
|
500
|
-
} return handle; }; detachFinalizer = handle => finalizationRegistry.unregister(handle); return attachFinalizer(handle); }
|
|
501
|
-
function ClassHandle_clone() { if (!this.$$.ptr) {
|
|
502
|
-
throwInstanceAlreadyDeleted(this);
|
|
503
|
-
} if (this.$$.preservePointerOnDelete) {
|
|
504
|
-
this.$$.count.value += 1;
|
|
505
|
-
return this;
|
|
506
|
-
}
|
|
507
|
-
else {
|
|
508
|
-
var clone = attachFinalizer(Object.create(Object.getPrototypeOf(this), { $$: { value: shallowCopyInternalPointer(this.$$) } }));
|
|
509
|
-
clone.$$.count.value += 1;
|
|
510
|
-
clone.$$.deleteScheduled = false;
|
|
511
|
-
return clone;
|
|
512
|
-
} }
|
|
513
|
-
function ClassHandle_delete() { if (!this.$$.ptr) {
|
|
514
|
-
throwInstanceAlreadyDeleted(this);
|
|
515
|
-
} if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) {
|
|
516
|
-
throwBindingError("Object already scheduled for deletion");
|
|
517
|
-
} detachFinalizer(this); releaseClassHandle(this.$$); if (!this.$$.preservePointerOnDelete) {
|
|
518
|
-
this.$$.smartPtr = undefined;
|
|
519
|
-
this.$$.ptr = undefined;
|
|
520
|
-
} }
|
|
521
|
-
function ClassHandle_isDeleted() { return !this.$$.ptr; }
|
|
522
|
-
function ClassHandle_deleteLater() { if (!this.$$.ptr) {
|
|
523
|
-
throwInstanceAlreadyDeleted(this);
|
|
524
|
-
} if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) {
|
|
525
|
-
throwBindingError("Object already scheduled for deletion");
|
|
526
|
-
} deletionQueue.push(this); if (deletionQueue.length === 1 && delayFunction) {
|
|
527
|
-
delayFunction(flushPendingDeletes);
|
|
528
|
-
} this.$$.deleteScheduled = true; return this; }
|
|
529
|
-
function init_ClassHandle() { ClassHandle.prototype["isAliasOf"] = ClassHandle_isAliasOf; ClassHandle.prototype["clone"] = ClassHandle_clone; ClassHandle.prototype["delete"] = ClassHandle_delete; ClassHandle.prototype["isDeleted"] = ClassHandle_isDeleted; ClassHandle.prototype["deleteLater"] = ClassHandle_deleteLater; }
|
|
530
|
-
function ClassHandle() { }
|
|
531
|
-
function ensureOverloadTable(proto, methodName, humanName) { if (undefined === proto[methodName].overloadTable) {
|
|
532
|
-
var prevFunc = proto[methodName];
|
|
533
|
-
proto[methodName] = function () { if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) {
|
|
534
|
-
throwBindingError("Function '" + humanName + "' called with an invalid number of arguments (" + arguments.length + ") - expects one of (" + proto[methodName].overloadTable + ")!");
|
|
535
|
-
} return proto[methodName].overloadTable[arguments.length].apply(this, arguments); };
|
|
536
|
-
proto[methodName].overloadTable = [];
|
|
537
|
-
proto[methodName].overloadTable[prevFunc.argCount] = prevFunc;
|
|
538
|
-
} }
|
|
539
|
-
function exposePublicSymbol(name, value, numArguments) { if (Module.hasOwnProperty(name)) {
|
|
540
|
-
if (undefined === numArguments || undefined !== Module[name].overloadTable && undefined !== Module[name].overloadTable[numArguments]) {
|
|
541
|
-
throwBindingError("Cannot register public name '" + name + "' twice");
|
|
542
|
-
}
|
|
543
|
-
ensureOverloadTable(Module, name, name);
|
|
544
|
-
if (Module.hasOwnProperty(numArguments)) {
|
|
545
|
-
throwBindingError("Cannot register multiple overloads of a function with the same number of arguments (" + numArguments + ")!");
|
|
546
|
-
}
|
|
547
|
-
Module[name].overloadTable[numArguments] = value;
|
|
548
|
-
}
|
|
549
|
-
else {
|
|
550
|
-
Module[name] = value;
|
|
551
|
-
if (undefined !== numArguments) {
|
|
552
|
-
Module[name].numArguments = numArguments;
|
|
553
|
-
}
|
|
554
|
-
} }
|
|
555
|
-
function RegisteredClass(name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast) { this.name = name; this.constructor = constructor; this.instancePrototype = instancePrototype; this.rawDestructor = rawDestructor; this.baseClass = baseClass; this.getActualType = getActualType; this.upcast = upcast; this.downcast = downcast; this.pureVirtualFunctions = []; }
|
|
556
|
-
function upcastPointer(ptr, ptrClass, desiredClass) { while (ptrClass !== desiredClass) {
|
|
557
|
-
if (!ptrClass.upcast) {
|
|
558
|
-
throwBindingError("Expected null or instance of " + desiredClass.name + ", got an instance of " + ptrClass.name);
|
|
559
|
-
}
|
|
560
|
-
ptr = ptrClass.upcast(ptr);
|
|
561
|
-
ptrClass = ptrClass.baseClass;
|
|
562
|
-
} return ptr; }
|
|
563
|
-
function constNoSmartPtrRawPointerToWireType(destructors, handle) { if (handle === null) {
|
|
564
|
-
if (this.isReference) {
|
|
565
|
-
throwBindingError("null is not a valid " + this.name);
|
|
566
|
-
}
|
|
567
|
-
return 0;
|
|
568
|
-
} if (!handle.$$) {
|
|
569
|
-
throwBindingError('Cannot pass "' + embindRepr(handle) + '" as a ' + this.name);
|
|
570
|
-
} if (!handle.$$.ptr) {
|
|
571
|
-
throwBindingError("Cannot pass deleted object as a pointer of type " + this.name);
|
|
572
|
-
} var handleClass = handle.$$.ptrType.registeredClass; var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); return ptr; }
|
|
573
|
-
function genericPointerToWireType(destructors, handle) { var ptr; if (handle === null) {
|
|
574
|
-
if (this.isReference) {
|
|
575
|
-
throwBindingError("null is not a valid " + this.name);
|
|
576
|
-
}
|
|
577
|
-
if (this.isSmartPointer) {
|
|
578
|
-
ptr = this.rawConstructor();
|
|
579
|
-
if (destructors !== null) {
|
|
580
|
-
destructors.push(this.rawDestructor, ptr);
|
|
581
|
-
}
|
|
582
|
-
return ptr;
|
|
583
|
-
}
|
|
584
|
-
else {
|
|
585
|
-
return 0;
|
|
586
|
-
}
|
|
587
|
-
} if (!handle.$$) {
|
|
588
|
-
throwBindingError('Cannot pass "' + embindRepr(handle) + '" as a ' + this.name);
|
|
589
|
-
} if (!handle.$$.ptr) {
|
|
590
|
-
throwBindingError("Cannot pass deleted object as a pointer of type " + this.name);
|
|
591
|
-
} if (!this.isConst && handle.$$.ptrType.isConst) {
|
|
592
|
-
throwBindingError("Cannot convert argument of type " + (handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name) + " to parameter type " + this.name);
|
|
593
|
-
} var handleClass = handle.$$.ptrType.registeredClass; ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); if (this.isSmartPointer) {
|
|
594
|
-
if (undefined === handle.$$.smartPtr) {
|
|
595
|
-
throwBindingError("Passing raw pointer to smart pointer is illegal");
|
|
596
|
-
}
|
|
597
|
-
switch (this.sharingPolicy) {
|
|
598
|
-
case 0:
|
|
599
|
-
if (handle.$$.smartPtrType === this) {
|
|
600
|
-
ptr = handle.$$.smartPtr;
|
|
601
|
-
}
|
|
602
|
-
else {
|
|
603
|
-
throwBindingError("Cannot convert argument of type " + (handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name) + " to parameter type " + this.name);
|
|
604
|
-
}
|
|
605
|
-
break;
|
|
606
|
-
case 1:
|
|
607
|
-
ptr = handle.$$.smartPtr;
|
|
608
|
-
break;
|
|
609
|
-
case 2:
|
|
610
|
-
if (handle.$$.smartPtrType === this) {
|
|
611
|
-
ptr = handle.$$.smartPtr;
|
|
612
|
-
}
|
|
613
|
-
else {
|
|
614
|
-
var clonedHandle = handle["clone"]();
|
|
615
|
-
ptr = this.rawShare(ptr, Emval.toHandle(function () { clonedHandle["delete"](); }));
|
|
616
|
-
if (destructors !== null) {
|
|
617
|
-
destructors.push(this.rawDestructor, ptr);
|
|
618
|
-
}
|
|
619
|
-
}
|
|
620
|
-
break;
|
|
621
|
-
default: throwBindingError("Unsupporting sharing policy");
|
|
622
|
-
}
|
|
623
|
-
} return ptr; }
|
|
624
|
-
function nonConstNoSmartPtrRawPointerToWireType(destructors, handle) { if (handle === null) {
|
|
625
|
-
if (this.isReference) {
|
|
626
|
-
throwBindingError("null is not a valid " + this.name);
|
|
627
|
-
}
|
|
628
|
-
return 0;
|
|
629
|
-
} if (!handle.$$) {
|
|
630
|
-
throwBindingError('Cannot pass "' + embindRepr(handle) + '" as a ' + this.name);
|
|
631
|
-
} if (!handle.$$.ptr) {
|
|
632
|
-
throwBindingError("Cannot pass deleted object as a pointer of type " + this.name);
|
|
633
|
-
} if (handle.$$.ptrType.isConst) {
|
|
634
|
-
throwBindingError("Cannot convert argument of type " + handle.$$.ptrType.name + " to parameter type " + this.name);
|
|
635
|
-
} var handleClass = handle.$$.ptrType.registeredClass; var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); return ptr; }
|
|
636
|
-
function simpleReadValueFromPointer(pointer) { return this["fromWireType"](HEAP32[pointer >> 2]); }
|
|
637
|
-
function RegisteredPointer_getPointee(ptr) { if (this.rawGetPointee) {
|
|
638
|
-
ptr = this.rawGetPointee(ptr);
|
|
639
|
-
} return ptr; }
|
|
640
|
-
function RegisteredPointer_destructor(ptr) { if (this.rawDestructor) {
|
|
641
|
-
this.rawDestructor(ptr);
|
|
642
|
-
} }
|
|
643
|
-
function RegisteredPointer_deleteObject(handle) { if (handle !== null) {
|
|
644
|
-
handle["delete"]();
|
|
645
|
-
} }
|
|
646
|
-
function init_RegisteredPointer() { RegisteredPointer.prototype.getPointee = RegisteredPointer_getPointee; RegisteredPointer.prototype.destructor = RegisteredPointer_destructor; RegisteredPointer.prototype["argPackAdvance"] = 8; RegisteredPointer.prototype["readValueFromPointer"] = simpleReadValueFromPointer; RegisteredPointer.prototype["deleteObject"] = RegisteredPointer_deleteObject; RegisteredPointer.prototype["fromWireType"] = RegisteredPointer_fromWireType; }
|
|
647
|
-
function RegisteredPointer(name, registeredClass, isReference, isConst, isSmartPointer, pointeeType, sharingPolicy, rawGetPointee, rawConstructor, rawShare, rawDestructor) { this.name = name; this.registeredClass = registeredClass; this.isReference = isReference; this.isConst = isConst; this.isSmartPointer = isSmartPointer; this.pointeeType = pointeeType; this.sharingPolicy = sharingPolicy; this.rawGetPointee = rawGetPointee; this.rawConstructor = rawConstructor; this.rawShare = rawShare; this.rawDestructor = rawDestructor; if (!isSmartPointer && registeredClass.baseClass === undefined) {
|
|
648
|
-
if (isConst) {
|
|
649
|
-
this["toWireType"] = constNoSmartPtrRawPointerToWireType;
|
|
650
|
-
this.destructorFunction = null;
|
|
651
|
-
}
|
|
652
|
-
else {
|
|
653
|
-
this["toWireType"] = nonConstNoSmartPtrRawPointerToWireType;
|
|
654
|
-
this.destructorFunction = null;
|
|
655
|
-
}
|
|
656
|
-
}
|
|
657
|
-
else {
|
|
658
|
-
this["toWireType"] = genericPointerToWireType;
|
|
659
|
-
} }
|
|
660
|
-
function replacePublicSymbol(name, value, numArguments) { if (!Module.hasOwnProperty(name)) {
|
|
661
|
-
throwInternalError("Replacing nonexistant public symbol");
|
|
662
|
-
} if (undefined !== Module[name].overloadTable && undefined !== numArguments) {
|
|
663
|
-
Module[name].overloadTable[numArguments] = value;
|
|
664
|
-
}
|
|
665
|
-
else {
|
|
666
|
-
Module[name] = value;
|
|
667
|
-
Module[name].argCount = numArguments;
|
|
668
|
-
} }
|
|
669
|
-
var wasmTableMirror = [];
|
|
670
|
-
function getWasmTableEntry(funcPtr) { var func = wasmTableMirror[funcPtr]; if (!func) {
|
|
671
|
-
if (funcPtr >= wasmTableMirror.length)
|
|
672
|
-
wasmTableMirror.length = funcPtr + 1;
|
|
673
|
-
wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr);
|
|
674
|
-
} return func; }
|
|
675
|
-
function embind__requireFunction(signature, rawFunction) { signature = readLatin1String(signature); function makeDynCaller() { return getWasmTableEntry(rawFunction); } var fp = makeDynCaller(); if (typeof fp != "function") {
|
|
676
|
-
throwBindingError("unknown function pointer with signature " + signature + ": " + rawFunction);
|
|
677
|
-
} return fp; }
|
|
678
|
-
var UnboundTypeError = undefined;
|
|
679
|
-
function getTypeName(type) { var ptr = ___getTypeName(type); var rv = readLatin1String(ptr); _free(ptr); return rv; }
|
|
680
|
-
function throwUnboundTypeError(message, types) { var unboundTypes = []; var seen = {}; function visit(type) { if (seen[type]) {
|
|
681
|
-
return;
|
|
682
|
-
} if (registeredTypes[type]) {
|
|
683
|
-
return;
|
|
684
|
-
} if (typeDependencies[type]) {
|
|
685
|
-
typeDependencies[type].forEach(visit);
|
|
686
|
-
return;
|
|
687
|
-
} unboundTypes.push(type); seen[type] = true; } types.forEach(visit); throw new UnboundTypeError(message + ": " + unboundTypes.map(getTypeName).join([", "])); }
|
|
688
|
-
function __embind_register_class(rawType, rawPointerType, rawConstPointerType, baseClassRawType, getActualTypeSignature, getActualType, upcastSignature, upcast, downcastSignature, downcast, name, destructorSignature, rawDestructor) { name = readLatin1String(name); getActualType = embind__requireFunction(getActualTypeSignature, getActualType); if (upcast) {
|
|
689
|
-
upcast = embind__requireFunction(upcastSignature, upcast);
|
|
690
|
-
} if (downcast) {
|
|
691
|
-
downcast = embind__requireFunction(downcastSignature, downcast);
|
|
692
|
-
} rawDestructor = embind__requireFunction(destructorSignature, rawDestructor); var legalFunctionName = makeLegalFunctionName(name); exposePublicSymbol(legalFunctionName, function () { throwUnboundTypeError("Cannot construct " + name + " due to unbound types", [baseClassRawType]); }); whenDependentTypesAreResolved([rawType, rawPointerType, rawConstPointerType], baseClassRawType ? [baseClassRawType] : [], function (base) { base = base[0]; var baseClass; var basePrototype; if (baseClassRawType) {
|
|
693
|
-
baseClass = base.registeredClass;
|
|
694
|
-
basePrototype = baseClass.instancePrototype;
|
|
695
|
-
}
|
|
696
|
-
else {
|
|
697
|
-
basePrototype = ClassHandle.prototype;
|
|
698
|
-
} var constructor = createNamedFunction(legalFunctionName, function () { if (Object.getPrototypeOf(this) !== instancePrototype) {
|
|
699
|
-
throw new BindingError("Use 'new' to construct " + name);
|
|
700
|
-
} if (undefined === registeredClass.constructor_body) {
|
|
701
|
-
throw new BindingError(name + " has no accessible constructor");
|
|
702
|
-
} var body = registeredClass.constructor_body[arguments.length]; if (undefined === body) {
|
|
703
|
-
throw new BindingError("Tried to invoke ctor of " + name + " with invalid number of parameters (" + arguments.length + ") - expected (" + Object.keys(registeredClass.constructor_body).toString() + ") parameters instead!");
|
|
704
|
-
} return body.apply(this, arguments); }); var instancePrototype = Object.create(basePrototype, { constructor: { value: constructor } }); constructor.prototype = instancePrototype; var registeredClass = new RegisteredClass(name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast); var referenceConverter = new RegisteredPointer(name, registeredClass, true, false, false); var pointerConverter = new RegisteredPointer(name + "*", registeredClass, false, false, false); var constPointerConverter = new RegisteredPointer(name + " const*", registeredClass, false, true, false); registeredPointers[rawType] = { pointerType: pointerConverter, constPointerType: constPointerConverter }; replacePublicSymbol(legalFunctionName, constructor); return [referenceConverter, pointerConverter, constPointerConverter]; }); }
|
|
705
|
-
function heap32VectorToArray(count, firstElement) { var array = []; for (var i = 0; i < count; i++) {
|
|
706
|
-
array.push(HEAPU32[firstElement + i * 4 >> 2]);
|
|
707
|
-
} return array; }
|
|
708
|
-
function runDestructors(destructors) { while (destructors.length) {
|
|
709
|
-
var ptr = destructors.pop();
|
|
710
|
-
var del = destructors.pop();
|
|
711
|
-
del(ptr);
|
|
712
|
-
} }
|
|
713
|
-
function new_(constructor, argumentList) { if (!(constructor instanceof Function)) {
|
|
714
|
-
throw new TypeError("new_ called with constructor type " + typeof constructor + " which is not a function");
|
|
715
|
-
} var dummy = createNamedFunction(constructor.name || "unknownFunctionName", function () { }); dummy.prototype = constructor.prototype; var obj = new dummy; var r = constructor.apply(obj, argumentList); return r instanceof Object ? r : obj; }
|
|
716
|
-
function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc, isAsync) { var argCount = argTypes.length; if (argCount < 2) {
|
|
717
|
-
throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!");
|
|
718
|
-
} var isClassMethodFunc = argTypes[1] !== null && classType !== null; var needsDestructorStack = false; for (var i = 1; i < argTypes.length; ++i) {
|
|
719
|
-
if (argTypes[i] !== null && argTypes[i].destructorFunction === undefined) {
|
|
720
|
-
needsDestructorStack = true;
|
|
721
|
-
break;
|
|
722
|
-
}
|
|
723
|
-
} var returns = argTypes[0].name !== "void"; var argsList = ""; var argsListWired = ""; for (var i = 0; i < argCount - 2; ++i) {
|
|
724
|
-
argsList += (i !== 0 ? ", " : "") + "arg" + i;
|
|
725
|
-
argsListWired += (i !== 0 ? ", " : "") + "arg" + i + "Wired";
|
|
726
|
-
} var invokerFnBody = "return function " + makeLegalFunctionName(humanName) + "(" + argsList + ") {\n" + "if (arguments.length !== " + (argCount - 2) + ") {\n" + "throwBindingError('function " + humanName + " called with ' + arguments.length + ' arguments, expected " + (argCount - 2) + " args!');\n" + "}\n"; if (needsDestructorStack) {
|
|
727
|
-
invokerFnBody += "var destructors = [];\n";
|
|
728
|
-
} var dtorStack = needsDestructorStack ? "destructors" : "null"; var args1 = ["throwBindingError", "invoker", "fn", "runDestructors", "retType", "classParam"]; var args2 = [throwBindingError, cppInvokerFunc, cppTargetFunc, runDestructors, argTypes[0], argTypes[1]]; if (isClassMethodFunc) {
|
|
729
|
-
invokerFnBody += "var thisWired = classParam.toWireType(" + dtorStack + ", this);\n";
|
|
730
|
-
} for (var i = 0; i < argCount - 2; ++i) {
|
|
731
|
-
invokerFnBody += "var arg" + i + "Wired = argType" + i + ".toWireType(" + dtorStack + ", arg" + i + "); // " + argTypes[i + 2].name + "\n";
|
|
732
|
-
args1.push("argType" + i);
|
|
733
|
-
args2.push(argTypes[i + 2]);
|
|
734
|
-
} if (isClassMethodFunc) {
|
|
735
|
-
argsListWired = "thisWired" + (argsListWired.length > 0 ? ", " : "") + argsListWired;
|
|
736
|
-
} invokerFnBody += (returns || isAsync ? "var rv = " : "") + "invoker(fn" + (argsListWired.length > 0 ? ", " : "") + argsListWired + ");\n"; if (needsDestructorStack) {
|
|
737
|
-
invokerFnBody += "runDestructors(destructors);\n";
|
|
738
|
-
}
|
|
739
|
-
else {
|
|
740
|
-
for (var i = isClassMethodFunc ? 1 : 2; i < argTypes.length; ++i) {
|
|
741
|
-
var paramName = i === 1 ? "thisWired" : "arg" + (i - 2) + "Wired";
|
|
742
|
-
if (argTypes[i].destructorFunction !== null) {
|
|
743
|
-
invokerFnBody += paramName + "_dtor(" + paramName + "); // " + argTypes[i].name + "\n";
|
|
744
|
-
args1.push(paramName + "_dtor");
|
|
745
|
-
args2.push(argTypes[i].destructorFunction);
|
|
746
|
-
}
|
|
747
|
-
}
|
|
748
|
-
} if (returns) {
|
|
749
|
-
invokerFnBody += "var ret = retType.fromWireType(rv);\n" + "return ret;\n";
|
|
750
|
-
}
|
|
751
|
-
else { } invokerFnBody += "}\n"; args1.push(invokerFnBody); var invokerFunction = new_(Function, args1).apply(null, args2); return invokerFunction; }
|
|
752
|
-
function __embind_register_class_constructor(rawClassType, argCount, rawArgTypesAddr, invokerSignature, invoker, rawConstructor) { assert(argCount > 0); var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); invoker = embind__requireFunction(invokerSignature, invoker); whenDependentTypesAreResolved([], [rawClassType], function (classType) { classType = classType[0]; var humanName = "constructor " + classType.name; if (undefined === classType.registeredClass.constructor_body) {
|
|
753
|
-
classType.registeredClass.constructor_body = [];
|
|
754
|
-
} if (undefined !== classType.registeredClass.constructor_body[argCount - 1]) {
|
|
755
|
-
throw new BindingError("Cannot register multiple constructors with identical number of parameters (" + (argCount - 1) + ") for class '" + classType.name + "'! Overload resolution is currently only performed using the parameter count, not actual type info!");
|
|
756
|
-
} classType.registeredClass.constructor_body[argCount - 1] = () => { throwUnboundTypeError("Cannot construct " + classType.name + " due to unbound types", rawArgTypes); }; whenDependentTypesAreResolved([], rawArgTypes, function (argTypes) { argTypes.splice(1, 0, null); classType.registeredClass.constructor_body[argCount - 1] = craftInvokerFunction(humanName, argTypes, null, invoker, rawConstructor); return []; }); return []; }); }
|
|
757
|
-
function __embind_register_class_function(rawClassType, methodName, argCount, rawArgTypesAddr, invokerSignature, rawInvoker, context, isPureVirtual, isAsync) { var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); methodName = readLatin1String(methodName); rawInvoker = embind__requireFunction(invokerSignature, rawInvoker); whenDependentTypesAreResolved([], [rawClassType], function (classType) { classType = classType[0]; var humanName = classType.name + "." + methodName; if (methodName.startsWith("@@")) {
|
|
758
|
-
methodName = Symbol[methodName.substring(2)];
|
|
759
|
-
} if (isPureVirtual) {
|
|
760
|
-
classType.registeredClass.pureVirtualFunctions.push(methodName);
|
|
761
|
-
} function unboundTypesHandler() { throwUnboundTypeError("Cannot call " + humanName + " due to unbound types", rawArgTypes); } var proto = classType.registeredClass.instancePrototype; var method = proto[methodName]; if (undefined === method || undefined === method.overloadTable && method.className !== classType.name && method.argCount === argCount - 2) {
|
|
762
|
-
unboundTypesHandler.argCount = argCount - 2;
|
|
763
|
-
unboundTypesHandler.className = classType.name;
|
|
764
|
-
proto[methodName] = unboundTypesHandler;
|
|
765
|
-
}
|
|
766
|
-
else {
|
|
767
|
-
ensureOverloadTable(proto, methodName, humanName);
|
|
768
|
-
proto[methodName].overloadTable[argCount - 2] = unboundTypesHandler;
|
|
769
|
-
} whenDependentTypesAreResolved([], rawArgTypes, function (argTypes) { var memberFunction = craftInvokerFunction(humanName, argTypes, classType, rawInvoker, context, isAsync); if (undefined === proto[methodName].overloadTable) {
|
|
770
|
-
memberFunction.argCount = argCount - 2;
|
|
771
|
-
proto[methodName] = memberFunction;
|
|
772
|
-
}
|
|
773
|
-
else {
|
|
774
|
-
proto[methodName].overloadTable[argCount - 2] = memberFunction;
|
|
775
|
-
} return []; }); return []; }); }
|
|
776
|
-
var emval_free_list = [];
|
|
777
|
-
var emval_handle_array = [{}, { value: undefined }, { value: null }, { value: true }, { value: false }];
|
|
778
|
-
function __emval_decref(handle) { if (handle > 4 && 0 === --emval_handle_array[handle].refcount) {
|
|
779
|
-
emval_handle_array[handle] = undefined;
|
|
780
|
-
emval_free_list.push(handle);
|
|
781
|
-
} }
|
|
782
|
-
function count_emval_handles() { var count = 0; for (var i = 5; i < emval_handle_array.length; ++i) {
|
|
783
|
-
if (emval_handle_array[i] !== undefined) {
|
|
784
|
-
++count;
|
|
785
|
-
}
|
|
786
|
-
} return count; }
|
|
787
|
-
function get_first_emval() { for (var i = 5; i < emval_handle_array.length; ++i) {
|
|
788
|
-
if (emval_handle_array[i] !== undefined) {
|
|
789
|
-
return emval_handle_array[i];
|
|
790
|
-
}
|
|
791
|
-
} return null; }
|
|
792
|
-
function init_emval() { Module["count_emval_handles"] = count_emval_handles; Module["get_first_emval"] = get_first_emval; }
|
|
793
|
-
var Emval = { toValue: handle => { if (!handle) {
|
|
794
|
-
throwBindingError("Cannot use deleted val. handle = " + handle);
|
|
795
|
-
} return emval_handle_array[handle].value; }, toHandle: value => { switch (value) {
|
|
796
|
-
case undefined: return 1;
|
|
797
|
-
case null: return 2;
|
|
798
|
-
case true: return 3;
|
|
799
|
-
case false: return 4;
|
|
800
|
-
default: {
|
|
801
|
-
var handle = emval_free_list.length ? emval_free_list.pop() : emval_handle_array.length;
|
|
802
|
-
emval_handle_array[handle] = { refcount: 1, value: value };
|
|
803
|
-
return handle;
|
|
804
|
-
}
|
|
805
|
-
} } };
|
|
806
|
-
function __embind_register_emval(rawType, name) { name = readLatin1String(name); registerType(rawType, { name: name, "fromWireType": function (handle) { var rv = Emval.toValue(handle); __emval_decref(handle); return rv; }, "toWireType": function (destructors, value) { return Emval.toHandle(value); }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: null }); }
|
|
807
|
-
function floatReadValueFromPointer(name, shift) { switch (shift) {
|
|
808
|
-
case 2: return function (pointer) { return this["fromWireType"](HEAPF32[pointer >> 2]); };
|
|
809
|
-
case 3: return function (pointer) { return this["fromWireType"](HEAPF64[pointer >> 3]); };
|
|
810
|
-
default: throw new TypeError("Unknown float type: " + name);
|
|
811
|
-
} }
|
|
812
|
-
function __embind_register_float(rawType, name, size) { var shift = getShiftFromSize(size); name = readLatin1String(name); registerType(rawType, { name: name, "fromWireType": function (value) { return value; }, "toWireType": function (destructors, value) { return value; }, "argPackAdvance": 8, "readValueFromPointer": floatReadValueFromPointer(name, shift), destructorFunction: null }); }
|
|
813
|
-
function __embind_register_function(name, argCount, rawArgTypesAddr, signature, rawInvoker, fn, isAsync) { var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr); name = readLatin1String(name); rawInvoker = embind__requireFunction(signature, rawInvoker); exposePublicSymbol(name, function () { throwUnboundTypeError("Cannot call " + name + " due to unbound types", argTypes); }, argCount - 1); whenDependentTypesAreResolved([], argTypes, function (argTypes) { var invokerArgsArray = [argTypes[0], null].concat(argTypes.slice(1)); replacePublicSymbol(name, craftInvokerFunction(name, invokerArgsArray, null, rawInvoker, fn, isAsync), argCount - 1); return []; }); }
|
|
814
|
-
function __embind_register_integer(primitiveType, name, size, minRange, maxRange) { name = readLatin1String(name); if (maxRange === -1) {
|
|
815
|
-
maxRange = 4294967295;
|
|
816
|
-
} var shift = getShiftFromSize(size); var fromWireType = value => value; if (minRange === 0) {
|
|
817
|
-
var bitshift = 32 - 8 * size;
|
|
818
|
-
fromWireType = value => value << bitshift >>> bitshift;
|
|
819
|
-
} var isUnsignedType = name.includes("unsigned"); var checkAssertions = (value, toTypeName) => { }; var toWireType; if (isUnsignedType) {
|
|
820
|
-
toWireType = function (destructors, value) { checkAssertions(value, this.name); return value >>> 0; };
|
|
821
|
-
}
|
|
822
|
-
else {
|
|
823
|
-
toWireType = function (destructors, value) { checkAssertions(value, this.name); return value; };
|
|
824
|
-
} registerType(primitiveType, { name: name, "fromWireType": fromWireType, "toWireType": toWireType, "argPackAdvance": 8, "readValueFromPointer": integerReadValueFromPointer(name, shift, minRange !== 0), destructorFunction: null }); }
|
|
825
|
-
function __embind_register_memory_view(rawType, dataTypeIndex, name) { var typeMapping = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array, BigInt64Array, BigUint64Array]; var TA = typeMapping[dataTypeIndex]; function decodeMemoryView(handle) { handle = handle >> 2; var heap = HEAPU32; var size = heap[handle]; var data = heap[handle + 1]; return new TA(heap.buffer, data, size); } name = readLatin1String(name); registerType(rawType, { name: name, "fromWireType": decodeMemoryView, "argPackAdvance": 8, "readValueFromPointer": decodeMemoryView }, { ignoreDuplicateRegistrations: true }); }
|
|
826
|
-
function __embind_register_std_string(rawType, name) { name = readLatin1String(name); var stdStringIsUTF8 = name === "std::string"; registerType(rawType, { name: name, "fromWireType": function (value) { var length = HEAPU32[value >> 2]; var payload = value + 4; var str; if (stdStringIsUTF8) {
|
|
827
|
-
var decodeStartPtr = payload;
|
|
828
|
-
for (var i = 0; i <= length; ++i) {
|
|
829
|
-
var currentBytePtr = payload + i;
|
|
830
|
-
if (i == length || HEAPU8[currentBytePtr] == 0) {
|
|
831
|
-
var maxRead = currentBytePtr - decodeStartPtr;
|
|
832
|
-
var stringSegment = UTF8ToString(decodeStartPtr, maxRead);
|
|
833
|
-
if (str === undefined) {
|
|
834
|
-
str = stringSegment;
|
|
835
|
-
}
|
|
836
|
-
else {
|
|
837
|
-
str += String.fromCharCode(0);
|
|
838
|
-
str += stringSegment;
|
|
839
|
-
}
|
|
840
|
-
decodeStartPtr = currentBytePtr + 1;
|
|
841
|
-
}
|
|
842
|
-
}
|
|
843
|
-
}
|
|
844
|
-
else {
|
|
845
|
-
var a = new Array(length);
|
|
846
|
-
for (var i = 0; i < length; ++i) {
|
|
847
|
-
a[i] = String.fromCharCode(HEAPU8[payload + i]);
|
|
848
|
-
}
|
|
849
|
-
str = a.join("");
|
|
850
|
-
} _free(value); return str; }, "toWireType": function (destructors, value) { if (value instanceof ArrayBuffer) {
|
|
851
|
-
value = new Uint8Array(value);
|
|
852
|
-
} var length; var valueIsOfTypeString = typeof value == "string"; if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) {
|
|
853
|
-
throwBindingError("Cannot pass non-string to std::string");
|
|
854
|
-
} if (stdStringIsUTF8 && valueIsOfTypeString) {
|
|
855
|
-
length = lengthBytesUTF8(value);
|
|
856
|
-
}
|
|
857
|
-
else {
|
|
858
|
-
length = value.length;
|
|
859
|
-
} var base = _malloc(4 + length + 1); var ptr = base + 4; HEAPU32[base >> 2] = length; if (stdStringIsUTF8 && valueIsOfTypeString) {
|
|
860
|
-
stringToUTF8(value, ptr, length + 1);
|
|
861
|
-
}
|
|
862
|
-
else {
|
|
863
|
-
if (valueIsOfTypeString) {
|
|
864
|
-
for (var i = 0; i < length; ++i) {
|
|
865
|
-
var charCode = value.charCodeAt(i);
|
|
866
|
-
if (charCode > 255) {
|
|
867
|
-
_free(ptr);
|
|
868
|
-
throwBindingError("String has UTF-16 code units that do not fit in 8 bits");
|
|
869
|
-
}
|
|
870
|
-
HEAPU8[ptr + i] = charCode;
|
|
871
|
-
}
|
|
872
|
-
}
|
|
873
|
-
else {
|
|
874
|
-
for (var i = 0; i < length; ++i) {
|
|
875
|
-
HEAPU8[ptr + i] = value[i];
|
|
876
|
-
}
|
|
877
|
-
}
|
|
878
|
-
} if (destructors !== null) {
|
|
879
|
-
destructors.push(_free, base);
|
|
880
|
-
} return base; }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: function (ptr) { _free(ptr); } }); }
|
|
881
|
-
var UTF16Decoder = typeof TextDecoder != "undefined" ? new TextDecoder("utf-16le") : undefined;
|
|
882
|
-
function UTF16ToString(ptr, maxBytesToRead) { var endPtr = ptr; var idx = endPtr >> 1; var maxIdx = idx + maxBytesToRead / 2; while (!(idx >= maxIdx) && HEAPU16[idx])
|
|
883
|
-
++idx; endPtr = idx << 1; if (endPtr - ptr > 32 && UTF16Decoder)
|
|
884
|
-
return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); var str = ""; for (var i = 0; !(i >= maxBytesToRead / 2); ++i) {
|
|
885
|
-
var codeUnit = HEAP16[ptr + i * 2 >> 1];
|
|
886
|
-
if (codeUnit == 0)
|
|
887
|
-
break;
|
|
888
|
-
str += String.fromCharCode(codeUnit);
|
|
889
|
-
} return str; }
|
|
890
|
-
function stringToUTF16(str, outPtr, maxBytesToWrite) { if (maxBytesToWrite === undefined) {
|
|
891
|
-
maxBytesToWrite = 2147483647;
|
|
892
|
-
} if (maxBytesToWrite < 2)
|
|
893
|
-
return 0; maxBytesToWrite -= 2; var startPtr = outPtr; var numCharsToWrite = maxBytesToWrite < str.length * 2 ? maxBytesToWrite / 2 : str.length; for (var i = 0; i < numCharsToWrite; ++i) {
|
|
894
|
-
var codeUnit = str.charCodeAt(i);
|
|
895
|
-
HEAP16[outPtr >> 1] = codeUnit;
|
|
896
|
-
outPtr += 2;
|
|
897
|
-
} HEAP16[outPtr >> 1] = 0; return outPtr - startPtr; }
|
|
898
|
-
function lengthBytesUTF16(str) { return str.length * 2; }
|
|
899
|
-
function UTF32ToString(ptr, maxBytesToRead) { var i = 0; var str = ""; while (!(i >= maxBytesToRead / 4)) {
|
|
900
|
-
var utf32 = HEAP32[ptr + i * 4 >> 2];
|
|
901
|
-
if (utf32 == 0)
|
|
902
|
-
break;
|
|
903
|
-
++i;
|
|
904
|
-
if (utf32 >= 65536) {
|
|
905
|
-
var ch = utf32 - 65536;
|
|
906
|
-
str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
|
|
907
|
-
}
|
|
908
|
-
else {
|
|
909
|
-
str += String.fromCharCode(utf32);
|
|
910
|
-
}
|
|
911
|
-
} return str; }
|
|
912
|
-
function stringToUTF32(str, outPtr, maxBytesToWrite) { if (maxBytesToWrite === undefined) {
|
|
913
|
-
maxBytesToWrite = 2147483647;
|
|
914
|
-
} if (maxBytesToWrite < 4)
|
|
915
|
-
return 0; var startPtr = outPtr; var endPtr = startPtr + maxBytesToWrite - 4; for (var i = 0; i < str.length; ++i) {
|
|
916
|
-
var codeUnit = str.charCodeAt(i);
|
|
917
|
-
if (codeUnit >= 55296 && codeUnit <= 57343) {
|
|
918
|
-
var trailSurrogate = str.charCodeAt(++i);
|
|
919
|
-
codeUnit = 65536 + ((codeUnit & 1023) << 10) | trailSurrogate & 1023;
|
|
920
|
-
}
|
|
921
|
-
HEAP32[outPtr >> 2] = codeUnit;
|
|
922
|
-
outPtr += 4;
|
|
923
|
-
if (outPtr + 4 > endPtr)
|
|
924
|
-
break;
|
|
925
|
-
} HEAP32[outPtr >> 2] = 0; return outPtr - startPtr; }
|
|
926
|
-
function lengthBytesUTF32(str) { var len = 0; for (var i = 0; i < str.length; ++i) {
|
|
927
|
-
var codeUnit = str.charCodeAt(i);
|
|
928
|
-
if (codeUnit >= 55296 && codeUnit <= 57343)
|
|
929
|
-
++i;
|
|
930
|
-
len += 4;
|
|
931
|
-
} return len; }
|
|
932
|
-
function __embind_register_std_wstring(rawType, charSize, name) { name = readLatin1String(name); var decodeString, encodeString, getHeap, lengthBytesUTF, shift; if (charSize === 2) {
|
|
933
|
-
decodeString = UTF16ToString;
|
|
934
|
-
encodeString = stringToUTF16;
|
|
935
|
-
lengthBytesUTF = lengthBytesUTF16;
|
|
936
|
-
getHeap = () => HEAPU16;
|
|
937
|
-
shift = 1;
|
|
938
|
-
}
|
|
939
|
-
else if (charSize === 4) {
|
|
940
|
-
decodeString = UTF32ToString;
|
|
941
|
-
encodeString = stringToUTF32;
|
|
942
|
-
lengthBytesUTF = lengthBytesUTF32;
|
|
943
|
-
getHeap = () => HEAPU32;
|
|
944
|
-
shift = 2;
|
|
945
|
-
} registerType(rawType, { name: name, "fromWireType": function (value) { var length = HEAPU32[value >> 2]; var HEAP = getHeap(); var str; var decodeStartPtr = value + 4; for (var i = 0; i <= length; ++i) {
|
|
946
|
-
var currentBytePtr = value + 4 + i * charSize;
|
|
947
|
-
if (i == length || HEAP[currentBytePtr >> shift] == 0) {
|
|
948
|
-
var maxReadBytes = currentBytePtr - decodeStartPtr;
|
|
949
|
-
var stringSegment = decodeString(decodeStartPtr, maxReadBytes);
|
|
950
|
-
if (str === undefined) {
|
|
951
|
-
str = stringSegment;
|
|
952
|
-
}
|
|
953
|
-
else {
|
|
954
|
-
str += String.fromCharCode(0);
|
|
955
|
-
str += stringSegment;
|
|
956
|
-
}
|
|
957
|
-
decodeStartPtr = currentBytePtr + charSize;
|
|
958
|
-
}
|
|
959
|
-
} _free(value); return str; }, "toWireType": function (destructors, value) { if (!(typeof value == "string")) {
|
|
960
|
-
throwBindingError("Cannot pass non-string to C++ string type " + name);
|
|
961
|
-
} var length = lengthBytesUTF(value); var ptr = _malloc(4 + length + charSize); HEAPU32[ptr >> 2] = length >> shift; encodeString(value, ptr + 4, length + charSize); if (destructors !== null) {
|
|
962
|
-
destructors.push(_free, ptr);
|
|
963
|
-
} return ptr; }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: function (ptr) { _free(ptr); } }); }
|
|
964
|
-
function __embind_register_void(rawType, name) { name = readLatin1String(name); registerType(rawType, { isVoid: true, name: name, "argPackAdvance": 0, "fromWireType": function () { return undefined; }, "toWireType": function (destructors, o) { return undefined; } }); }
|
|
965
|
-
var emval_symbols = {};
|
|
966
|
-
function getStringOrSymbol(address) { var symbol = emval_symbols[address]; if (symbol === undefined) {
|
|
967
|
-
return readLatin1String(address);
|
|
968
|
-
} return symbol; }
|
|
969
|
-
var emval_methodCallers = [];
|
|
970
|
-
function __emval_call_void_method(caller, handle, methodName, args) { caller = emval_methodCallers[caller]; handle = Emval.toValue(handle); methodName = getStringOrSymbol(methodName); caller(handle, methodName, null, args); }
|
|
971
|
-
function emval_addMethodCaller(caller) { var id = emval_methodCallers.length; emval_methodCallers.push(caller); return id; }
|
|
972
|
-
function requireRegisteredType(rawType, humanName) { var impl = registeredTypes[rawType]; if (undefined === impl) {
|
|
973
|
-
throwBindingError(humanName + " has unknown type " + getTypeName(rawType));
|
|
974
|
-
} return impl; }
|
|
975
|
-
function emval_lookupTypes(argCount, argTypes) { var a = new Array(argCount); for (var i = 0; i < argCount; ++i) {
|
|
976
|
-
a[i] = requireRegisteredType(HEAPU32[argTypes + i * 4 >> 2], "parameter " + i);
|
|
977
|
-
} return a; }
|
|
978
|
-
var emval_registeredMethods = [];
|
|
979
|
-
function __emval_get_method_caller(argCount, argTypes) { var types = emval_lookupTypes(argCount, argTypes); var retType = types[0]; var signatureName = retType.name + "_$" + types.slice(1).map(function (t) { return t.name; }).join("_") + "$"; var returnId = emval_registeredMethods[signatureName]; if (returnId !== undefined) {
|
|
980
|
-
return returnId;
|
|
981
|
-
} var params = ["retType"]; var args = [retType]; var argsList = ""; for (var i = 0; i < argCount - 1; ++i) {
|
|
982
|
-
argsList += (i !== 0 ? ", " : "") + "arg" + i;
|
|
983
|
-
params.push("argType" + i);
|
|
984
|
-
args.push(types[1 + i]);
|
|
985
|
-
} var functionName = makeLegalFunctionName("methodCaller_" + signatureName); var functionBody = "return function " + functionName + "(handle, name, destructors, args) {\n"; var offset = 0; for (var i = 0; i < argCount - 1; ++i) {
|
|
986
|
-
functionBody += " var arg" + i + " = argType" + i + ".readValueFromPointer(args" + (offset ? "+" + offset : "") + ");\n";
|
|
987
|
-
offset += types[i + 1]["argPackAdvance"];
|
|
988
|
-
} functionBody += " var rv = handle[name](" + argsList + ");\n"; for (var i = 0; i < argCount - 1; ++i) {
|
|
989
|
-
if (types[i + 1]["deleteObject"]) {
|
|
990
|
-
functionBody += " argType" + i + ".deleteObject(arg" + i + ");\n";
|
|
991
|
-
}
|
|
992
|
-
} if (!retType.isVoid) {
|
|
993
|
-
functionBody += " return retType.toWireType(destructors, rv);\n";
|
|
994
|
-
} functionBody += "};\n"; params.push(functionBody); var invokerFunction = new_(Function, params).apply(null, args); returnId = emval_addMethodCaller(invokerFunction); emval_registeredMethods[signatureName] = returnId; return returnId; }
|
|
995
|
-
function __emval_incref(handle) { if (handle > 4) {
|
|
996
|
-
emval_handle_array[handle].refcount += 1;
|
|
997
|
-
} }
|
|
998
|
-
function __emval_new_array() { return Emval.toHandle([]); }
|
|
999
|
-
function __emval_take_value(type, arg) { type = requireRegisteredType(type, "_emval_take_value"); var v = type["readValueFromPointer"](arg); return Emval.toHandle(v); }
|
|
1000
|
-
function _abort() { abort(""); }
|
|
1001
|
-
function _emscripten_memcpy_big(dest, src, num) { HEAPU8.copyWithin(dest, src, src + num); }
|
|
1002
|
-
function abortOnCannotGrowMemory(requestedSize) { abort("OOM"); }
|
|
1003
|
-
function _emscripten_resize_heap(requestedSize) { var oldSize = HEAPU8.length; requestedSize = requestedSize >>> 0; abortOnCannotGrowMemory(requestedSize); }
|
|
1004
|
-
embind_init_charCodes();
|
|
1005
|
-
BindingError = Module["BindingError"] = extendError(Error, "BindingError");
|
|
1006
|
-
InternalError = Module["InternalError"] = extendError(Error, "InternalError");
|
|
1007
|
-
init_ClassHandle();
|
|
1008
|
-
init_embind();
|
|
1009
|
-
init_RegisteredPointer();
|
|
1010
|
-
UnboundTypeError = Module["UnboundTypeError"] = extendError(Error, "UnboundTypeError");
|
|
1011
|
-
init_emval();
|
|
1012
|
-
var decodeBase64 = typeof atob == "function" ? atob : function (input) { var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; var output = ""; var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); do {
|
|
1013
|
-
enc1 = keyStr.indexOf(input.charAt(i++));
|
|
1014
|
-
enc2 = keyStr.indexOf(input.charAt(i++));
|
|
1015
|
-
enc3 = keyStr.indexOf(input.charAt(i++));
|
|
1016
|
-
enc4 = keyStr.indexOf(input.charAt(i++));
|
|
1017
|
-
chr1 = enc1 << 2 | enc2 >> 4;
|
|
1018
|
-
chr2 = (enc2 & 15) << 4 | enc3 >> 2;
|
|
1019
|
-
chr3 = (enc3 & 3) << 6 | enc4;
|
|
1020
|
-
output = output + String.fromCharCode(chr1);
|
|
1021
|
-
if (enc3 !== 64) {
|
|
1022
|
-
output = output + String.fromCharCode(chr2);
|
|
1023
|
-
}
|
|
1024
|
-
if (enc4 !== 64) {
|
|
1025
|
-
output = output + String.fromCharCode(chr3);
|
|
1026
|
-
}
|
|
1027
|
-
} while (i < input.length); return output; };
|
|
1028
|
-
function intArrayFromBase64(s) { try {
|
|
1029
|
-
var decoded = decodeBase64(s);
|
|
1030
|
-
var bytes = new Uint8Array(decoded.length);
|
|
1031
|
-
for (var i = 0; i < decoded.length; ++i) {
|
|
1032
|
-
bytes[i] = decoded.charCodeAt(i);
|
|
1033
|
-
}
|
|
1034
|
-
return bytes;
|
|
1035
|
-
}
|
|
1036
|
-
catch (_) {
|
|
1037
|
-
throw new Error("Converting base64 string to bytes failed.");
|
|
1038
|
-
} }
|
|
1039
|
-
function tryParseAsDataURI(filename) { if (!isDataURI(filename)) {
|
|
1040
|
-
return;
|
|
1041
|
-
} return intArrayFromBase64(filename.slice(dataURIPrefix.length)); }
|
|
1042
|
-
var wasmImports = { "h": ___assert_fail, "c": ___cxa_throw, "l": __embind_register_bigint, "u": __embind_register_bool, "s": __embind_register_class, "p": __embind_register_class_constructor, "d": __embind_register_class_function, "t": __embind_register_emval, "k": __embind_register_float, "e": __embind_register_function, "b": __embind_register_integer, "a": __embind_register_memory_view, "j": __embind_register_std_string, "f": __embind_register_std_wstring, "v": __embind_register_void, "x": __emval_call_void_method, "n": __emval_decref, "w": __emval_get_method_caller, "o": __emval_incref, "m": __emval_new_array, "g": __emval_take_value, "i": _abort, "r": _emscripten_memcpy_big, "q": _emscripten_resize_heap };
|
|
1043
|
-
var asm = createWasm();
|
|
1044
|
-
var ___wasm_call_ctors = function () { return (___wasm_call_ctors = Module["asm"]["z"]).apply(null, arguments); };
|
|
1045
|
-
var _malloc = function () { return (_malloc = Module["asm"]["A"]).apply(null, arguments); };
|
|
1046
|
-
var ___getTypeName = Module["___getTypeName"] = function () { return (___getTypeName = Module["___getTypeName"] = Module["asm"]["C"]).apply(null, arguments); };
|
|
1047
|
-
var __embind_initialize_bindings = Module["__embind_initialize_bindings"] = function () { return (__embind_initialize_bindings = Module["__embind_initialize_bindings"] = Module["asm"]["D"]).apply(null, arguments); };
|
|
1048
|
-
var ___errno_location = function () { return (___errno_location = Module["asm"]["__errno_location"]).apply(null, arguments); };
|
|
1049
|
-
var _free = function () { return (_free = Module["asm"]["E"]).apply(null, arguments); };
|
|
1050
|
-
var ___cxa_is_pointer_type = function () { return (___cxa_is_pointer_type = Module["asm"]["F"]).apply(null, arguments); };
|
|
1051
|
-
var calledRun;
|
|
1052
|
-
dependenciesFulfilled = function runCaller() { if (!calledRun)
|
|
1053
|
-
run(); if (!calledRun)
|
|
1054
|
-
dependenciesFulfilled = runCaller; };
|
|
1055
|
-
function run() { if (runDependencies > 0) {
|
|
1056
|
-
return;
|
|
1057
|
-
} preRun(); if (runDependencies > 0) {
|
|
1058
|
-
return;
|
|
1059
|
-
} function doRun() { if (calledRun)
|
|
1060
|
-
return; calledRun = true; Module["calledRun"] = true; if (ABORT)
|
|
1061
|
-
return; initRuntime(); readyPromiseResolve(Module); if (Module["onRuntimeInitialized"])
|
|
1062
|
-
Module["onRuntimeInitialized"](); postRun(); } if (Module["setStatus"]) {
|
|
1063
|
-
Module["setStatus"]("Running...");
|
|
1064
|
-
setTimeout(function () { setTimeout(function () { Module["setStatus"](""); }, 1); doRun(); }, 1);
|
|
1065
|
-
}
|
|
1066
|
-
else {
|
|
1067
|
-
doRun();
|
|
1068
|
-
} }
|
|
1069
|
-
if (Module["preInit"]) {
|
|
1070
|
-
if (typeof Module["preInit"] == "function")
|
|
1071
|
-
Module["preInit"] = [Module["preInit"]];
|
|
1072
|
-
while (Module["preInit"].length > 0) {
|
|
1073
|
-
Module["preInit"].pop()();
|
|
1074
|
-
}
|
|
1075
|
-
}
|
|
1076
|
-
run();
|
|
1077
|
-
return Module.ready;
|
|
1078
|
-
});
|
|
1079
|
-
})();
|
|
1080
|
-
exports.default = Module;
|