@ofjansen/pcre2-wasm
Version:
PCRE2 (Perl Compatible Regular Expressions 2) compiled to WebAssembly for use in the browser
724 lines (605 loc) • 398 kB
JavaScript
var libpcre2 = (function() {
var _scriptDir = import.meta.url;
return (
function(libpcre2) {
libpcre2 = libpcre2 || {};
var Module = typeof libpcre2 !== "undefined" ? libpcre2 : {};
!function() {
Module.loaded = new Promise(resolve => {
Module.onRuntimeInitialized = resolve;
});
}();
var moduleOverrides = {};
var key;
for (key in Module) {
if (Module.hasOwnProperty(key)) {
moduleOverrides[key] = Module[key];
}
}
var arguments_ = [];
var thisProgram = "./this.program";
var quit_ = function(status, toThrow) {
throw toThrow;
};
var ENVIRONMENT_IS_WEB = true;
var ENVIRONMENT_IS_WORKER = false;
if (Module["ENVIRONMENT"]) {
throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)");
}
var scriptDirectory = "";
function locateFile(path) {
if (Module["locateFile"]) {
return Module["locateFile"](path, scriptDirectory);
}
return scriptDirectory + path;
}
var read_, readAsync, readBinary, setWindowTitle;
if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
if (ENVIRONMENT_IS_WORKER) {
scriptDirectory = self.location.href;
} else if (document.currentScript) {
scriptDirectory = document.currentScript.src;
}
if (_scriptDir) {
scriptDirectory = _scriptDir;
}
if (scriptDirectory.indexOf("blob:") !== 0) {
scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1);
} else {
scriptDirectory = "";
}
if (!(typeof window === "object" || typeof importScripts === "function")) throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");
{
read_ = function shell_read(url) {
try {
var xhr = new XMLHttpRequest();
xhr.open("GET", url, false);
xhr.send(null);
return xhr.responseText;
} catch (err) {
var data = tryParseAsDataURI(url);
if (data) {
return intArrayToString(data);
}
throw err;
}
};
if (ENVIRONMENT_IS_WORKER) {
readBinary = function readBinary(url) {
try {
var xhr = new XMLHttpRequest();
xhr.open("GET", url, false);
xhr.responseType = "arraybuffer";
xhr.send(null);
return new Uint8Array(xhr.response);
} catch (err) {
var data = tryParseAsDataURI(url);
if (data) {
return data;
}
throw err;
}
};
}
readAsync = function readAsync(url, onload, onerror) {
var xhr = new XMLHttpRequest();
xhr.open("GET", url, true);
xhr.responseType = "arraybuffer";
xhr.onload = function xhr_onload() {
if (xhr.status == 200 || xhr.status == 0 && xhr.response) {
onload(xhr.response);
return;
}
var data = tryParseAsDataURI(url);
if (data) {
onload(data.buffer);
return;
}
onerror();
};
xhr.onerror = onerror;
xhr.send(null);
};
}
setWindowTitle = function(title) {
document.title = title;
};
} else {
throw new Error("environment detection error");
}
var out = Module["print"] || console.log.bind(console);
var err = Module["printErr"] || console.warn.bind(console);
for (key in moduleOverrides) {
if (moduleOverrides.hasOwnProperty(key)) {
Module[key] = moduleOverrides[key];
}
}
moduleOverrides = null;
if (Module["arguments"]) arguments_ = Module["arguments"];
if (!Object.getOwnPropertyDescriptor(Module, "arguments")) Object.defineProperty(Module, "arguments", {
configurable: true,
get: function() {
abort("Module.arguments has been replaced with plain arguments_");
}
});
if (Module["thisProgram"]) thisProgram = Module["thisProgram"];
if (!Object.getOwnPropertyDescriptor(Module, "thisProgram")) Object.defineProperty(Module, "thisProgram", {
configurable: true,
get: function() {
abort("Module.thisProgram has been replaced with plain thisProgram");
}
});
if (Module["quit"]) quit_ = Module["quit"];
if (!Object.getOwnPropertyDescriptor(Module, "quit")) Object.defineProperty(Module, "quit", {
configurable: true,
get: function() {
abort("Module.quit has been replaced with plain quit_");
}
});
assert(typeof Module["memoryInitializerPrefixURL"] === "undefined", "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");
assert(typeof Module["pthreadMainPrefixURL"] === "undefined", "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");
assert(typeof Module["cdInitializerPrefixURL"] === "undefined", "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");
assert(typeof Module["filePackagePrefixURL"] === "undefined", "Module.filePackagePrefixURL option was removed, use Module.locateFile instead");
assert(typeof Module["read"] === "undefined", "Module.read option was removed (modify read_ in JS)");
assert(typeof Module["readAsync"] === "undefined", "Module.readAsync option was removed (modify readAsync in JS)");
assert(typeof Module["readBinary"] === "undefined", "Module.readBinary option was removed (modify readBinary in JS)");
assert(typeof Module["setWindowTitle"] === "undefined", "Module.setWindowTitle option was removed (modify setWindowTitle in JS)");
if (!Object.getOwnPropertyDescriptor(Module, "read")) Object.defineProperty(Module, "read", {
configurable: true,
get: function() {
abort("Module.read has been replaced with plain read_");
}
});
if (!Object.getOwnPropertyDescriptor(Module, "readAsync")) Object.defineProperty(Module, "readAsync", {
configurable: true,
get: function() {
abort("Module.readAsync has been replaced with plain readAsync");
}
});
if (!Object.getOwnPropertyDescriptor(Module, "readBinary")) Object.defineProperty(Module, "readBinary", {
configurable: true,
get: function() {
abort("Module.readBinary has been replaced with plain readBinary");
}
});
stackSave = stackRestore = stackAlloc = function() {
abort("cannot use the stack before compiled code is ready to run, and has provided stack access");
};
function warnOnce(text) {
if (!warnOnce.shown) warnOnce.shown = {};
if (!warnOnce.shown[text]) {
warnOnce.shown[text] = 1;
err(text);
}
}
var asm2wasmImports = {
"f64-rem": function(x, y) {
return x % y;
},
"debugger": function() {
debugger;
}
};
var functionPointers = new Array(0);
var wasmBinary;
if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"];
if (!Object.getOwnPropertyDescriptor(Module, "wasmBinary")) Object.defineProperty(Module, "wasmBinary", {
configurable: true,
get: function() {
abort("Module.wasmBinary has been replaced with plain wasmBinary");
}
});
var noExitRuntime;
if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"];
if (!Object.getOwnPropertyDescriptor(Module, "noExitRuntime")) Object.defineProperty(Module, "noExitRuntime", {
configurable: true,
get: function() {
abort("Module.noExitRuntime has been replaced with plain noExitRuntime");
}
});
if (typeof WebAssembly !== "object") {
abort("No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead.");
}
var wasmMemory;
var wasmTable = new WebAssembly.Table({
"initial": 4,
"maximum": 4,
"element": "anyfunc"
});
var ABORT = false;
var EXITSTATUS = 0;
function assert(condition, text) {
if (!condition) {
abort("Assertion failed: " + text);
}
}
function getCFunc(ident) {
var func = Module["_" + ident];
assert(func, "Cannot call unknown function " + ident + ", make sure it is exported");
return func;
}
function ccall(ident, returnType, argTypes, args, opts) {
var toC = {
"string": function(str) {
var ret = 0;
if (str !== null && str !== undefined && str !== 0) {
var len = (str.length << 2) + 1;
ret = stackAlloc(len);
stringToUTF8(str, ret, len);
}
return ret;
},
"array": function(arr) {
var ret = stackAlloc(arr.length);
writeArrayToMemory(arr, ret);
return ret;
}
};
function convertReturnValue(ret) {
if (returnType === "string") return UTF8ToString(ret);
if (returnType === "boolean") return Boolean(ret);
return ret;
}
var func = getCFunc(ident);
var cArgs = [];
var stack = 0;
assert(returnType !== "array", 'Return type should not be "array".');
if (args) {
for (var i = 0; i < args.length; i++) {
var converter = toC[argTypes[i]];
if (converter) {
if (stack === 0) stack = stackSave();
cArgs[i] = converter(args[i]);
} else {
cArgs[i] = args[i];
}
}
}
var ret = func.apply(null, cArgs);
ret = convertReturnValue(ret);
if (stack !== 0) stackRestore(stack);
return ret;
}
function cwrap(ident, returnType, argTypes, opts) {
return function() {
return ccall(ident, returnType, argTypes, arguments, opts);
};
}
var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined;
function UTF8ArrayToString(u8Array, idx, maxBytesToRead) {
var endIdx = idx + maxBytesToRead;
var endPtr = idx;
while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr;
if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) {
return UTF8Decoder.decode(u8Array.subarray(idx, endPtr));
} else {
var str = "";
while (idx < endPtr) {
var u0 = u8Array[idx++];
if (!(u0 & 128)) {
str += String.fromCharCode(u0);
continue;
}
var u1 = u8Array[idx++] & 63;
if ((u0 & 224) == 192) {
str += String.fromCharCode((u0 & 31) << 6 | u1);
continue;
}
var u2 = u8Array[idx++] & 63;
if ((u0 & 240) == 224) {
u0 = (u0 & 15) << 12 | u1 << 6 | u2;
} else {
if ((u0 & 248) != 240) warnOnce("Invalid UTF-8 leading byte 0x" + u0.toString(16) + " encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!");
u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u8Array[idx++] & 63;
}
if (u0 < 65536) {
str += String.fromCharCode(u0);
} else {
var ch = u0 - 65536;
str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
}
}
}
return str;
}
function UTF8ToString(ptr, maxBytesToRead) {
return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
}
function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) {
if (!(maxBytesToWrite > 0)) return 0;
var startIdx = outIdx;
var endIdx = outIdx + maxBytesToWrite - 1;
for (var i = 0; i < str.length; ++i) {
var u = str.charCodeAt(i);
if (u >= 55296 && u <= 57343) {
var u1 = str.charCodeAt(++i);
u = 65536 + ((u & 1023) << 10) | u1 & 1023;
}
if (u <= 127) {
if (outIdx >= endIdx) break;
outU8Array[outIdx++] = u;
} else if (u <= 2047) {
if (outIdx + 1 >= endIdx) break;
outU8Array[outIdx++] = 192 | u >> 6;
outU8Array[outIdx++] = 128 | u & 63;
} else if (u <= 65535) {
if (outIdx + 2 >= endIdx) break;
outU8Array[outIdx++] = 224 | u >> 12;
outU8Array[outIdx++] = 128 | u >> 6 & 63;
outU8Array[outIdx++] = 128 | u & 63;
} else {
if (outIdx + 3 >= endIdx) break;
if (u >= 2097152) warnOnce("Invalid Unicode code point 0x" + u.toString(16) + " encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF).");
outU8Array[outIdx++] = 240 | u >> 18;
outU8Array[outIdx++] = 128 | u >> 12 & 63;
outU8Array[outIdx++] = 128 | u >> 6 & 63;
outU8Array[outIdx++] = 128 | u & 63;
}
}
outU8Array[outIdx] = 0;
return outIdx - startIdx;
}
function stringToUTF8(str, outPtr, maxBytesToWrite) {
assert(typeof maxBytesToWrite == "number", "stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");
return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
}
var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined;
function writeArrayToMemory(array, buffer) {
assert(array.length >= 0, "writeArrayToMemory array must have a length (should be an array or typed array)");
HEAP8.set(array, buffer);
}
var WASM_PAGE_SIZE = 65536;
var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
function updateGlobalBufferAndViews(buf) {
buffer = buf;
Module["HEAP8"] = HEAP8 = new Int8Array(buf);
Module["HEAP16"] = HEAP16 = new Int16Array(buf);
Module["HEAP32"] = HEAP32 = new Int32Array(buf);
Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf);
Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf);
Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf);
Module["HEAPF32"] = HEAPF32 = new Float32Array(buf);
Module["HEAPF64"] = HEAPF64 = new Float64Array(buf);
}
var STACK_BASE = 116560, STACK_MAX = 5359440, DYNAMIC_BASE = 5359440, DYNAMICTOP_PTR = 116368;
assert(STACK_BASE % 16 === 0, "stack must start aligned");
assert(DYNAMIC_BASE % 16 === 0, "heap must start aligned");
var TOTAL_STACK = 5242880;
if (Module["TOTAL_STACK"]) assert(TOTAL_STACK === Module["TOTAL_STACK"], "the stack size can no longer be determined at runtime");
var INITIAL_TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 16777216;
if (!Object.getOwnPropertyDescriptor(Module, "TOTAL_MEMORY")) Object.defineProperty(Module, "TOTAL_MEMORY", {
configurable: true,
get: function() {
abort("Module.TOTAL_MEMORY has been replaced with plain INITIAL_TOTAL_MEMORY");
}
});
assert(INITIAL_TOTAL_MEMORY >= TOTAL_STACK, "TOTAL_MEMORY should be larger than TOTAL_STACK, was " + INITIAL_TOTAL_MEMORY + "! (TOTAL_STACK=" + TOTAL_STACK + ")");
assert(typeof Int32Array !== "undefined" && typeof Float64Array !== "undefined" && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, "JS engine does not provide full typed array support");
if (Module["wasmMemory"]) {
wasmMemory = Module["wasmMemory"];
} else {
wasmMemory = new WebAssembly.Memory({
"initial": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE,
"maximum": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE
});
}
if (wasmMemory) {
buffer = wasmMemory.buffer;
}
INITIAL_TOTAL_MEMORY = buffer.byteLength;
assert(INITIAL_TOTAL_MEMORY % WASM_PAGE_SIZE === 0);
updateGlobalBufferAndViews(buffer);
HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE;
function writeStackCookie() {
assert((STACK_MAX & 3) == 0);
HEAPU32[(STACK_MAX >> 2) - 1] = 34821223;
HEAPU32[(STACK_MAX >> 2) - 2] = 2310721022;
HEAP32[0] = 1668509029;
}
function checkStackCookie() {
var cookie1 = HEAPU32[(STACK_MAX >> 2) - 1];
var cookie2 = HEAPU32[(STACK_MAX >> 2) - 2];
if (cookie1 != 34821223 || cookie2 != 2310721022) {
abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x" + cookie2.toString(16) + " " + cookie1.toString(16));
}
if (HEAP32[0] !== 1668509029) abort("Runtime error: The application has corrupted its heap memory area (address zero)!");
}
function abortStackOverflow(allocSize) {
abort("Stack overflow! Attempted to allocate " + allocSize + " bytes on the stack, but stack has only " + (STACK_MAX - stackSave() + allocSize) + " bytes available!");
}
(function() {
var h16 = new Int16Array(1);
var h8 = new Int8Array(h16.buffer);
h16[0] = 25459;
if (h8[0] !== 115 || h8[1] !== 99) throw "Runtime error: expected the system to be little-endian!";
})();
function abortFnPtrError(ptr, sig) {
var possibleSig = "";
for (var x in debug_tables) {
var tbl = debug_tables[x];
if (tbl[ptr]) {
possibleSig += 'as sig "' + x + '" pointing to function ' + tbl[ptr] + ", ";
}
}
abort("Invalid function pointer " + ptr + " called with signature '" + sig + "'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this). This pointer might make sense in another type signature: " + possibleSig);
}
function callRuntimeCallbacks(callbacks) {
while (callbacks.length > 0) {
var callback = callbacks.shift();
if (typeof callback == "function") {
callback();
continue;
}
var func = callback.func;
if (typeof func === "number") {
if (callback.arg === undefined) {
Module["dynCall_v"](func);
} else {
Module["dynCall_vi"](func, callback.arg);
}
} else {
func(callback.arg === undefined ? null : callback.arg);
}
}
}
var __ATPRERUN__ = [];
var __ATINIT__ = [];
var __ATMAIN__ = [];
var __ATPOSTRUN__ = [];
var runtimeInitialized = false;
var runtimeExited = false;
function preRun() {
if (Module["preRun"]) {
if (typeof Module["preRun"] == "function") Module["preRun"] = [ Module["preRun"] ];
while (Module["preRun"].length) {
addOnPreRun(Module["preRun"].shift());
}
}
callRuntimeCallbacks(__ATPRERUN__);
}
function initRuntime() {
checkStackCookie();
assert(!runtimeInitialized);
runtimeInitialized = true;
callRuntimeCallbacks(__ATINIT__);
}
function preMain() {
checkStackCookie();
callRuntimeCallbacks(__ATMAIN__);
}
function postRun() {
checkStackCookie();
if (Module["postRun"]) {
if (typeof Module["postRun"] == "function") Module["postRun"] = [ Module["postRun"] ];
while (Module["postRun"].length) {
addOnPostRun(Module["postRun"].shift());
}
}
callRuntimeCallbacks(__ATPOSTRUN__);
}
function addOnPreRun(cb) {
__ATPRERUN__.unshift(cb);
}
function addOnPostRun(cb) {
__ATPOSTRUN__.unshift(cb);
}
assert(Math.imul, "This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");
assert(Math.fround, "This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");
assert(Math.clz32, "This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");
assert(Math.trunc, "This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");
var runDependencies = 0;
var runDependencyWatcher = null;
var dependenciesFulfilled = null;
var runDependencyTracking = {};
function addRunDependency(id) {
runDependencies++;
if (Module["monitorRunDependencies"]) {
Module["monitorRunDependencies"](runDependencies);
}
if (id) {
assert(!runDependencyTracking[id]);
runDependencyTracking[id] = 1;
if (runDependencyWatcher === null && typeof setInterval !== "undefined") {
runDependencyWatcher = setInterval(function() {
if (ABORT) {
clearInterval(runDependencyWatcher);
runDependencyWatcher = null;
return;
}
var shown = false;
for (var dep in runDependencyTracking) {
if (!shown) {
shown = true;
err("still waiting on run dependencies:");
}
err("dependency: " + dep);
}
if (shown) {
err("(end of list)");
}
}, 1e4);
}
} else {
err("warning: run dependency added without ID");
}
}
function removeRunDependency(id) {
runDependencies--;
if (Module["monitorRunDependencies"]) {
Module["monitorRunDependencies"](runDependencies);
}
if (id) {
assert(runDependencyTracking[id]);
delete runDependencyTracking[id];
} else {
err("warning: run dependency removed without ID");
}
if (runDependencies == 0) {
if (runDependencyWatcher !== null) {
clearInterval(runDependencyWatcher);
runDependencyWatcher = null;
}
if (dependenciesFulfilled) {
var callback = dependenciesFulfilled;
dependenciesFulfilled = null;
callback();
}
}
}
Module["preloadedImages"] = {};
Module["preloadedAudios"] = {};
function abort(what) {
if (Module["onAbort"]) {
Module["onAbort"](what);
}
what += "";
out(what);
err(what);
ABORT = true;
EXITSTATUS = 1;
var output = "abort(" + what + ") at " + stackTrace();
what = output;
// throw new WebAssembly.RuntimeError(what);
}
var FS = {
error: function() {
abort("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -s FORCE_FILESYSTEM=1");
},
init: function() {
FS.error();
},
createDataFile: function() {
FS.error();
},
createPreloadedFile: function() {
FS.error();
},
createLazyFile: function() {
FS.error();
},
open: function() {
FS.error();
},
mkdev: function() {
FS.error();
},
registerDevice: function() {
FS.error();
},
analyzePath: function() {
FS.error();
},
loadFilesFromDB: function() {
FS.error();
},
ErrnoError: function ErrnoError() {
FS.error();
}
};
Module["FS_createDataFile"] = FS.createDataFile;
Module["FS_createPreloadedFile"] = FS.createPreloadedFile;
var dataURIPrefix = "data:application/octet-stream;base64,";
function isDataURI(filename) {
return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0;
}
var wasmBinaryFile = "data:application/octet-stream;base64,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AQsLIA8kASAADwsgDyQBIAEL8wUBAX8gACAAKAIMIgIgAUGABGpqLAAAIAAsABRyOgAUIAAgAUGBBGogAmosAAAgACwAFXI6ABUgACABQYIEaiACaiwAACAALAAWcjoAFiAAIAFBgwRqIAJqLAAAIAAsABdyOgAXIAAgAUGEBGogAmosAAAgACwAGHI6ABggACABQYUEaiACaiwAACAALAAZcjoAGSAAIAIgAUGGBGpqLAAAIAAsABpyOgAaIAAgAiABQYcEamosAAAgACwAG3I6ABsgACACIAFBiARqaiwAACAALAAccjoAHCAAIAIgAUGJBGpqLAAAIAAsAB1yOgAdIAAgAiABQYoEamosAAAgACwAHnI6AB4gACACIAFBiwRqaiwAACAALAAfcjoAHyAAIAIgAUGMBGpqLAAAIAAsACByOgAgIAAgAiABQY0EamosAAAgACwAIXI6ACEgACACIAFBjgRqaiwAACAALAAicjoAIiAAIAAoAgwiAiABQY8EamosAAAgACwAI3I6ACMgACABQZAEaiACaiwAACAALAAkcjoAJCAAIAFBkQRqIAJqLAAAIAAsACVyOgAlIAAgAUGSBGogAmosAAAgACwAJnI6ACYgACABQZMEaiACaiwAACAALAAncjoAJyAAIAFBlARqIAJqLAAAIAAsAChyOgAoIAAgAUGVBGogAmosAAAgACwAKXI6ACkgACABQZYEaiACaiwAACAALAAqcjoAKiAAIAFBlwRqIAJqLAAAIAAsACtyOgArIAAgAUGYBGogAmosAAAgACwALHI6ACwgACABQZkEaiACaiwAACAALAAtcjoALSAAIAFBmgRqIAJqLAAAIAAsAC5yOgAuIAAgAUGbBGogAmosAAAgACwAL3I6AC8gACABQZwEaiACaiwAACAALAAwcjoAMCAAIAFBnQRqIAJqLAAAIAAsADFyOgAxIAAgACgCDCICIAFBngRqaiwAACAALAAycjoAMiAAIAIgAUGfBGpqLAAAIAAsADNyOgAzC9MGAQF/IAAgACwAFCAAKAIMIgIgAUGABGpqLAAAQX9zcjoAFCAAIAAsABUgAUGBBGogAmosAABBf3NyOgAVIAAgACwAFiABQYIEaiACaiwAAEF/c3I6ABYgACAALAAXIAFBgwRqIAJqLAAAQX9zcjoAFyAAIAAsABggAUGE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BgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAQIGBgYGBgYGAAAABgAGBgYGBgYEBgYGBgQBAQEBAQEGBgYFBgUGBQYFBgUGBgYGAwYLA0AgAC8BAkEBdCAAaiIALgEAIgFB+ABGDQALIAFB//8DcUGwywBqLQAAQQF0IABqIQAMBgsgAUH//wNxQbDLAGotAABBAXQgAGohAAwFCyAALwEGQQF0IABqIQAMBAsgAC8BBEEDakEBdCAAaiEADAMLIAAuAQRBlAFHDQEgAC8BAiIBQQF0IABqLgEAQfkARw0BIAFBAmpBAXQgAGohAAwCCyAALwECIAFB//8DcUGwywBqLQAAakEBdCAAaiEADAELCyAAC5gCAQR/IAAgAmohBCABQf8BcSEDIAJBwwBOBEADQCAAQQNxBEAgACADOgAAIABBAWohAAwBCwsgA0EIdCADciADQRB0ciADQRh0ciEBIARBfHEiBUFAaiEGA0AgACAGTARAIAAgATYCACAAIAE2AgQgACABNgIIIAAgATYCDCAAIAE2AhAgACABNgIUIAAgATYCGCAAIAE2AhwgACABNgIgIAAgATYCJCAAIAE2AiggACABNgIsIAAgATYCMCAAIAE2AjQgACABNgI4IAAgATYCPCAAQUBrIQAMAQsLA0AgACAFSARAIAAgATYCACAAQQRqIQAMAQsLCwNAIAAgBEgEQCAAIAM6AAAgAEEBaiEADAELCyAEIAJrC+sKAQR/IAFBAEchBiACQQBIBEAgACEBA0ACQCABLgEAIgVB//8DcSEEAkACQAJAAkACQAJAAkACQAJAAkAgBQ6iAQEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgFBQUFBQUGBgYFBQUGCAgICAgICAgICAgICAgCCAgICAgIAwgICAgIAAgICAgICAgICAgEBAgICAQECAgICAgICAgICAcIBwgHCAcIBwgLQSkhBAwJC0EqIQQMCAsgAS8BAkEBdCABaiEBDAYLIAEvAQZBAXQgAWohAQwFCyACIAEvAQRGBEAgASEDQSohBAwGCyAEQbDLAGotAABBAXQgAWohAQwECyABQQRqIAEgAS4BAkFxakEQdEEQdUH//wNxQQJIGyEBDAILIAFBBGoiBSABIAUuAQBBcWpBEHRBEHVB//8DcUECSBshAQwBCyABLwECQQF0IAFqIQELIARBsMsAai0AAEEBdCABaiEBIAYgBEFjakE4SXEEQCABQQJqIAEgAUF+ai4BAEGA+ANxQYCwA0YbIQELCwwBCwsgBEEpRgRAIAEPBSAEQSpGBEAgAw8LCwsgBkUEQANAAkAgAC4BACIDQf//A3EhAQJ/AkACQAJAAkACQAJAAkACQAJAIAMOogEACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQUFBQUFBgYGBQUFBggICAgICAgICAgICAgIAQgICAgICAIICAgICAMICAgICAgICAgIBAQICAgEBAgICAgICAgICAgHCAcIBwgHCAcIC0EAIQMMCQsgAC8BAkEBdCAAagwHCyAALwEGQQF0IABqDAYLIAFBsMsAai0AAEEBdCAAagwFCyACIAAvAQRGBEAgACEDDAYLIAFBsMsAai0AAEEBdCAAagwECyAAQQRqIAAgAC4BAkFxakEQdEEQdUH//wNxQQJIGyEADAILIABBBGoiAyAAIAMuAQBBcWpBEHRBEHVB//8DcUECSBshAAwBCyAALwECQQF0IABqIQALIAFBsMsAai0AAEEBdCAAagshAAwBCwsgAw8LA0ACQCAALgEAIgNB//8DcSEBAkACQAJAAkACQAJAAkACQAJAAkACQCADDqIBAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAUFBQUFBQYGBgUFBQYICAgICAgICAgICAgICAEICAgICAgCCAgICAgDCAgICAgICAgICAQECAgIBAQICAgICAgICAgIBwgHCAcIBwgHCAtBACEDDAoLIAAvAQJBAXQgAGohAAwICyAALwEGQQF0IABqIQAMBwsgAUGwywBqLQAAQQF0IABq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DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA