Skip to content

Instantly share code, notes, and snippets.

@gifnksm
Created March 8, 2016 12:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gifnksm/6f5d58f7e66082decda6 to your computer and use it in GitHub Desktop.
Save gifnksm/6f5d58f7e66082decda6 to your computer and use it in GitHub Desktop.
hello.rs を JS へコンパイルした結果
This file has been truncated, but you can view the full file.
// The Module object: Our interface to the outside world. We import
// and export values on it, and do the work to get that through
// closure compiler if necessary. There are various ways Module can be used:
// 1. Not defined. We create it here
// 2. A function parameter, function(Module) { ..generated code.. }
// 3. pre-run appended it, var Module = {}; ..generated code..
// 4. External script tag defines var Module.
// We need to do an eval in order to handle the closure compiler
// case, where this code here is minified but Module was defined
// elsewhere (e.g. case 4 above). We also need to check if Module
// already exists (e.g. case 3 above).
// Note that if you want to run closure, and also to use Module
// after the generated code, you will need to define var Module = {};
// before the code. Then that object will be used in the code, and you
// can continue to use Module afterwards as well.
var Module;
if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {};
// Sometimes an existing Module object exists with properties
// meant to overwrite the default module functionality. Here
// we collect those properties and reapply _after_ we configure
// the current environment's defaults to avoid having to be so
// defensive during initialization.
var moduleOverrides = {};
for (var key in Module) {
if (Module.hasOwnProperty(key)) {
moduleOverrides[key] = Module[key];
}
}
// The environment setup code below is customized to use Module.
// *** Environment setup code ***
var ENVIRONMENT_IS_WEB = false;
var ENVIRONMENT_IS_WORKER = false;
var ENVIRONMENT_IS_NODE = false;
var ENVIRONMENT_IS_SHELL = false;
// Three configurations we can be running in:
// 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false)
// 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false)
// 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true)
if (Module['ENVIRONMENT']) {
if (Module['ENVIRONMENT'] === 'WEB') {
ENVIRONMENT_IS_WEB = true;
} else if (Module['ENVIRONMENT'] === 'WORKER') {
ENVIRONMENT_IS_WORKER = true;
} else if (Module['ENVIRONMENT'] === 'NODE') {
ENVIRONMENT_IS_NODE = true;
} else if (Module['ENVIRONMENT'] === 'SHELL') {
ENVIRONMENT_IS_SHELL = true;
} else {
throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.');
}
} else {
ENVIRONMENT_IS_WEB = typeof window === 'object';
ENVIRONMENT_IS_WORKER = typeof importScripts === 'function';
ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER;
ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
}
if (ENVIRONMENT_IS_NODE) {
// Expose functionality in the same simple way that the shells work
// Note that we pollute the global namespace here, otherwise we break in node
if (!Module['print']) Module['print'] = console.log;
if (!Module['printErr']) Module['printErr'] = console.warn;
var nodeFS;
var nodePath;
Module['read'] = function read(filename, binary) {
if (!nodeFS) nodeFS = require('fs');
if (!nodePath) nodePath = require('path');
filename = nodePath['normalize'](filename);
var ret = nodeFS['readFileSync'](filename);
// The path is absolute if the normalized version is the same as the resolved.
if (!ret && filename != nodePath['resolve'](filename)) {
filename = path.join(__dirname, '..', 'src', filename);
ret = nodeFS['readFileSync'](filename);
}
if (ret && !binary) ret = ret.toString();
return ret;
};
Module['readBinary'] = function readBinary(filename) {
var ret = Module['read'](filename, true);
if (!ret.buffer) {
ret = new Uint8Array(ret);
}
assert(ret.buffer);
return ret;
};
Module['load'] = function load(f) {
globalEval(read(f));
};
if (!Module['thisProgram']) {
if (process['argv'].length > 1) {
Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/');
} else {
Module['thisProgram'] = 'unknown-program';
}
}
Module['arguments'] = process['argv'].slice(2);
if (typeof module !== 'undefined') {
module['exports'] = Module;
}
process['on']('uncaughtException', function(ex) {
// suppress ExitStatus exceptions from showing an error
if (!(ex instanceof ExitStatus)) {
throw ex;
}
});
Module['inspect'] = function () { return '[Emscripten Module object]'; };
}
else if (ENVIRONMENT_IS_SHELL) {
if (!Module['print']) Module['print'] = print;
if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm
if (typeof read != 'undefined') {
Module['read'] = read;
} else {
Module['read'] = function read() { throw 'no read() available (jsc?)' };
}
Module['readBinary'] = function readBinary(f) {
if (typeof readbuffer === 'function') {
return new Uint8Array(readbuffer(f));
}
var data = read(f, 'binary');
assert(typeof data === 'object');
return data;
};
if (typeof scriptArgs != 'undefined') {
Module['arguments'] = scriptArgs;
} else if (typeof arguments != 'undefined') {
Module['arguments'] = arguments;
}
}
else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
Module['read'] = function read(url) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, false);
xhr.send(null);
return xhr.responseText;
};
Module['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)) { // file URLs can return 0
onload(xhr.response);
} else {
onerror();
}
};
xhr.onerror = onerror;
xhr.send(null);
};
if (typeof arguments != 'undefined') {
Module['arguments'] = arguments;
}
if (typeof console !== 'undefined') {
if (!Module['print']) Module['print'] = function print(x) {
console.log(x);
};
if (!Module['printErr']) Module['printErr'] = function printErr(x) {
console.warn(x);
};
} else {
// Probably a worker, and without console.log. We can do very little here...
var TRY_USE_DUMP = false;
if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) {
dump(x);
}) : (function(x) {
// self.postMessage(x); // enable this if you want stdout to be sent as messages
}));
}
if (ENVIRONMENT_IS_WORKER) {
Module['load'] = importScripts;
}
if (typeof Module['setWindowTitle'] === 'undefined') {
Module['setWindowTitle'] = function(title) { document.title = title };
}
}
else {
// Unreachable because SHELL is dependant on the others
throw 'Unknown runtime environment. Where are we?';
}
function globalEval(x) {
eval.call(null, x);
}
if (!Module['load'] && Module['read']) {
Module['load'] = function load(f) {
globalEval(Module['read'](f));
};
}
if (!Module['print']) {
Module['print'] = function(){};
}
if (!Module['printErr']) {
Module['printErr'] = Module['print'];
}
if (!Module['arguments']) {
Module['arguments'] = [];
}
if (!Module['thisProgram']) {
Module['thisProgram'] = './this.program';
}
// *** Environment setup code ***
// Closure helpers
Module.print = Module['print'];
Module.printErr = Module['printErr'];
// Callbacks
Module['preRun'] = [];
Module['postRun'] = [];
// Merge back in the overrides
for (var key in moduleOverrides) {
if (moduleOverrides.hasOwnProperty(key)) {
Module[key] = moduleOverrides[key];
}
}
// Free the object hierarchy contained in the overrides, this lets the GC
// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array.
moduleOverrides = undefined;
// {{PREAMBLE_ADDITIONS}}
// === Preamble library stuff ===
// Documentation for the public APIs defined in this file must be updated in:
// site/source/docs/api_reference/preamble.js.rst
// A prebuilt local version of the documentation is available at:
// site/build/text/docs/api_reference/preamble.js.txt
// You can also build docs locally as HTML or other formats in site/
// An online HTML version (which may be of a different version of Emscripten)
// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html
//========================================
// Runtime code shared with compiler
//========================================
var Runtime = {
setTempRet0: function (value) {
tempRet0 = value;
},
getTempRet0: function () {
return tempRet0;
},
stackSave: function () {
return STACKTOP;
},
stackRestore: function (stackTop) {
STACKTOP = stackTop;
},
getNativeTypeSize: function (type) {
switch (type) {
case 'i1': case 'i8': return 1;
case 'i16': return 2;
case 'i32': return 4;
case 'i64': return 8;
case 'float': return 4;
case 'double': return 8;
default: {
if (type[type.length-1] === '*') {
return Runtime.QUANTUM_SIZE; // A pointer
} else if (type[0] === 'i') {
var bits = parseInt(type.substr(1));
assert(bits % 8 === 0);
return bits/8;
} else {
return 0;
}
}
}
},
getNativeFieldSize: function (type) {
return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE);
},
STACK_ALIGN: 16,
prepVararg: function (ptr, type) {
if (type === 'double' || type === 'i64') {
// move so the load is aligned
if (ptr & 7) {
assert((ptr & 7) === 4);
ptr += 4;
}
} else {
assert((ptr & 3) === 0);
}
return ptr;
},
getAlignSize: function (type, size, vararg) {
// we align i64s and doubles on 64-bit boundaries, unlike x86
if (!vararg && (type == 'i64' || type == 'double')) return 8;
if (!type) return Math.min(size, 8); // align structures internally to 64 bits
return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE);
},
dynCall: function (sig, ptr, args) {
if (args && args.length) {
assert(args.length == sig.length-1);
if (!args.splice) args = Array.prototype.slice.call(args);
args.splice(0, 0, ptr);
assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\'');
return Module['dynCall_' + sig].apply(null, args);
} else {
assert(sig.length == 1);
assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\'');
return Module['dynCall_' + sig].call(null, ptr);
}
},
functionPointers: [],
addFunction: function (func) {
for (var i = 0; i < Runtime.functionPointers.length; i++) {
if (!Runtime.functionPointers[i]) {
Runtime.functionPointers[i] = func;
return 2*(1 + i);
}
}
throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.';
},
removeFunction: function (index) {
Runtime.functionPointers[(index-2)/2] = null;
},
warnOnce: function (text) {
if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {};
if (!Runtime.warnOnce.shown[text]) {
Runtime.warnOnce.shown[text] = 1;
Module.printErr(text);
}
},
funcWrappers: {},
getFuncWrapper: function (func, sig) {
assert(sig);
if (!Runtime.funcWrappers[sig]) {
Runtime.funcWrappers[sig] = {};
}
var sigCache = Runtime.funcWrappers[sig];
if (!sigCache[func]) {
sigCache[func] = function dynCall_wrapper() {
return Runtime.dynCall(sig, func, arguments);
};
}
return sigCache[func];
},
getCompilerSetting: function (name) {
throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work';
},
stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; },
staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; },
dynamicAlloc: function (size) { var ret = DYNAMICTOP;DYNAMICTOP = (DYNAMICTOP + (assert(DYNAMICTOP > 0),size))|0;DYNAMICTOP = (((DYNAMICTOP)+15)&-16); if (DYNAMICTOP >= TOTAL_MEMORY) { var success = enlargeMemory(); if (!success) { DYNAMICTOP = ret; return 0; } }; return ret; },
alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; },
makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; },
GLOBAL_BASE: 8,
QUANTUM_SIZE: 4,
__dummy__: 0
}
Module["Runtime"] = Runtime;
//========================================
// Runtime essentials
//========================================
var ABORT = false; // whether we are quitting the application. no code should run after this. set in exit() and abort()
var EXITSTATUS = 0;
function assert(condition, text) {
if (!condition) {
abort('Assertion failed: ' + text);
}
}
var globalScope = this;
// Returns the C function with a specified identifier (for C++, you need to do manual name mangling)
function getCFunc(ident) {
var func = Module['_' + ident]; // closure exported function
if (!func) {
try { func = eval('_' + ident); } catch(e) {}
}
assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)');
return func;
}
var cwrap, ccall;
(function(){
var JSfuncs = {
// Helpers for cwrap -- it can't refer to Runtime directly because it might
// be renamed by closure, instead it calls JSfuncs['stackSave'].body to find
// out what the minified function name is.
'stackSave': function() {
Runtime.stackSave()
},
'stackRestore': function() {
Runtime.stackRestore()
},
// type conversion from js to c
'arrayToC' : function(arr) {
var ret = Runtime.stackAlloc(arr.length);
writeArrayToMemory(arr, ret);
return ret;
},
'stringToC' : function(str) {
var ret = 0;
if (str !== null && str !== undefined && str !== 0) { // null string
// at most 4 bytes per UTF-8 code point, +1 for the trailing '\0'
ret = Runtime.stackAlloc((str.length << 2) + 1);
writeStringToMemory(str, ret);
}
return ret;
}
};
// For fast lookup of conversion functions
var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']};
// C calling interface.
ccall = function ccallFunc(ident, returnType, argTypes, args, opts) {
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 = Runtime.stackSave();
cArgs[i] = converter(args[i]);
} else {
cArgs[i] = args[i];
}
}
}
var ret = func.apply(null, cArgs);
if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') {
assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall');
}
if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values');
if (returnType === 'string') ret = Pointer_stringify(ret);
if (stack !== 0) {
if (opts && opts.async) {
EmterpreterAsync.asyncFinalizers.push(function() {
Runtime.stackRestore(stack);
});
return;
}
Runtime.stackRestore(stack);
}
return ret;
}
var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;
function parseJSFunc(jsfunc) {
// Match the body and the return value of a javascript function source
var parsed = jsfunc.toString().match(sourceRegex).slice(1);
return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]}
}
// sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file
var JSsource = null;
function ensureJSsource() {
if (!JSsource) {
JSsource = {};
for (var fun in JSfuncs) {
if (JSfuncs.hasOwnProperty(fun)) {
// Elements of toCsource are arrays of three items:
// the code, and the return value
JSsource[fun] = parseJSFunc(JSfuncs[fun]);
}
}
}
}
cwrap = function cwrap(ident, returnType, argTypes) {
argTypes = argTypes || [];
var cfunc = getCFunc(ident);
// When the function takes numbers and returns a number, we can just return
// the original function
var numericArgs = argTypes.every(function(type){ return type === 'number'});
var numericRet = (returnType !== 'string');
if ( numericRet && numericArgs) {
return cfunc;
}
// Creation of the arguments list (["$1","$2",...,"$nargs"])
var argNames = argTypes.map(function(x,i){return '$'+i});
var funcstr = "(function(" + argNames.join(',') + ") {";
var nargs = argTypes.length;
if (!numericArgs) {
// Generate the code needed to convert the arguments from javascript
// values to pointers
ensureJSsource();
funcstr += 'var stack = ' + JSsource['stackSave'].body + ';';
for (var i = 0; i < nargs; i++) {
var arg = argNames[i], type = argTypes[i];
if (type === 'number') continue;
var convertCode = JSsource[type + 'ToC']; // [code, return]
funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';';
funcstr += convertCode.body + ';';
funcstr += arg + '=(' + convertCode.returnValue + ');';
}
}
// When the code is compressed, the name of cfunc is not literally 'cfunc' anymore
var cfuncname = parseJSFunc(function(){return cfunc}).returnValue;
// Call the function
funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');';
if (!numericRet) { // Return type can only by 'string' or 'number'
// Convert the result to a string
var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue;
funcstr += 'ret = ' + strgfy + '(ret);';
}
funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }";
if (!numericArgs) {
// If we had a stack, restore it
ensureJSsource();
funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';';
}
funcstr += 'return ret})';
return eval(funcstr);
};
})();
Module["ccall"] = ccall;
Module["cwrap"] = cwrap;
function setValue(ptr, value, type, noSafe) {
type = type || 'i8';
if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit
switch(type) {
case 'i1': HEAP8[((ptr)>>0)]=value; break;
case 'i8': HEAP8[((ptr)>>0)]=value; break;
case 'i16': HEAP16[((ptr)>>1)]=value; break;
case 'i32': HEAP32[((ptr)>>2)]=value; break;
case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break;
case 'float': HEAPF32[((ptr)>>2)]=value; break;
case 'double': HEAPF64[((ptr)>>3)]=value; break;
default: abort('invalid type for setValue: ' + type);
}
}
Module["setValue"] = setValue;
function getValue(ptr, type, noSafe) {
type = type || 'i8';
if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit
switch(type) {
case 'i1': return HEAP8[((ptr)>>0)];
case 'i8': return HEAP8[((ptr)>>0)];
case 'i16': return HEAP16[((ptr)>>1)];
case 'i32': return HEAP32[((ptr)>>2)];
case 'i64': return HEAP32[((ptr)>>2)];
case 'float': return HEAPF32[((ptr)>>2)];
case 'double': return HEAPF64[((ptr)>>3)];
default: abort('invalid type for setValue: ' + type);
}
return null;
}
Module["getValue"] = getValue;
var ALLOC_NORMAL = 0; // Tries to use _malloc()
var ALLOC_STACK = 1; // Lives for the duration of the current function call
var ALLOC_STATIC = 2; // Cannot be freed
var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk
var ALLOC_NONE = 4; // Do not allocate
Module["ALLOC_NORMAL"] = ALLOC_NORMAL;
Module["ALLOC_STACK"] = ALLOC_STACK;
Module["ALLOC_STATIC"] = ALLOC_STATIC;
Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC;
Module["ALLOC_NONE"] = ALLOC_NONE;
// allocate(): This is for internal use. You can use it yourself as well, but the interface
// is a little tricky (see docs right below). The reason is that it is optimized
// for multiple syntaxes to save space in generated code. So you should
// normally not use allocate(), and instead allocate memory using _malloc(),
// initialize it with setValue(), and so forth.
// @slab: An array of data, or a number. If a number, then the size of the block to allocate,
// in *bytes* (note that this is sometimes confusing: the next parameter does not
// affect this!)
// @types: Either an array of types, one for each byte (or 0 if no type at that position),
// or a single type which is used for the entire block. This only matters if there
// is initial data - if @slab is a number, then this does not matter at all and is
// ignored.
// @allocator: How to allocate memory, see ALLOC_*
function allocate(slab, types, allocator, ptr) {
var zeroinit, size;
if (typeof slab === 'number') {
zeroinit = true;
size = slab;
} else {
zeroinit = false;
size = slab.length;
}
var singleType = typeof types === 'string' ? types : null;
var ret;
if (allocator == ALLOC_NONE) {
ret = ptr;
} else {
ret = [typeof _malloc === 'function' ? _malloc : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length));
}
if (zeroinit) {
var ptr = ret, stop;
assert((ret & 3) == 0);
stop = ret + (size & ~3);
for (; ptr < stop; ptr += 4) {
HEAP32[((ptr)>>2)]=0;
}
stop = ret + size;
while (ptr < stop) {
HEAP8[((ptr++)>>0)]=0;
}
return ret;
}
if (singleType === 'i8') {
if (slab.subarray || slab.slice) {
HEAPU8.set(slab, ret);
} else {
HEAPU8.set(new Uint8Array(slab), ret);
}
return ret;
}
var i = 0, type, typeSize, previousType;
while (i < size) {
var curr = slab[i];
if (typeof curr === 'function') {
curr = Runtime.getFunctionIndex(curr);
}
type = singleType || types[i];
if (type === 0) {
i++;
continue;
}
assert(type, 'Must know what type to store in allocate!');
if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later
setValue(ret+i, curr, type);
// no need to look up size unless type changes, so cache it
if (previousType !== type) {
typeSize = Runtime.getNativeTypeSize(type);
previousType = type;
}
i += typeSize;
}
return ret;
}
Module["allocate"] = allocate;
// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready
function getMemory(size) {
if (!staticSealed) return Runtime.staticAlloc(size);
if ((typeof _sbrk !== 'undefined' && !_sbrk.called) || !runtimeInitialized) return Runtime.dynamicAlloc(size);
return _malloc(size);
}
Module["getMemory"] = getMemory;
function Pointer_stringify(ptr, /* optional */ length) {
if (length === 0 || !ptr) return '';
// TODO: use TextDecoder
// Find the length, and check for UTF while doing so
var hasUtf = 0;
var t;
var i = 0;
while (1) {
assert(ptr + i < TOTAL_MEMORY);
t = HEAPU8[(((ptr)+(i))>>0)];
hasUtf |= t;
if (t == 0 && !length) break;
i++;
if (length && i == length) break;
}
if (!length) length = i;
var ret = '';
if (hasUtf < 128) {
var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack
var curr;
while (length > 0) {
curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK)));
ret = ret ? ret + curr : curr;
ptr += MAX_CHUNK;
length -= MAX_CHUNK;
}
return ret;
}
return Module['UTF8ToString'](ptr);
}
Module["Pointer_stringify"] = Pointer_stringify;
// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns
// a copy of that string as a Javascript String object.
function AsciiToString(ptr) {
var str = '';
while (1) {
var ch = HEAP8[((ptr++)>>0)];
if (!ch) return str;
str += String.fromCharCode(ch);
}
}
Module["AsciiToString"] = AsciiToString;
// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP.
function stringToAscii(str, outPtr) {
return writeAsciiToMemory(str, outPtr, false);
}
Module["stringToAscii"] = stringToAscii;
// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns
// a copy of that string as a Javascript String object.
function UTF8ArrayToString(u8Array, idx) {
var u0, u1, u2, u3, u4, u5;
var str = '';
while (1) {
// For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629
u0 = u8Array[idx++];
if (!u0) return str;
if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; }
u1 = u8Array[idx++] & 63;
if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; }
u2 = u8Array[idx++] & 63;
if ((u0 & 0xF0) == 0xE0) {
u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;
} else {
u3 = u8Array[idx++] & 63;
if ((u0 & 0xF8) == 0xF0) {
u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3;
} else {
u4 = u8Array[idx++] & 63;
if ((u0 & 0xFC) == 0xF8) {
u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4;
} else {
u5 = u8Array[idx++] & 63;
u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5;
}
}
}
if (u0 < 0x10000) {
str += String.fromCharCode(u0);
} else {
var ch = u0 - 0x10000;
str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
}
}
}
Module["UTF8ArrayToString"] = UTF8ArrayToString;
// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns
// a copy of that string as a Javascript String object.
function UTF8ToString(ptr) {
return UTF8ArrayToString(HEAPU8,ptr);
}
Module["UTF8ToString"] = UTF8ToString;
// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx',
// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP.
// Use the function lengthBytesUTF8() to compute the exact number of bytes (excluding null terminator) that this function will write.
// Parameters:
// str: the Javascript string to copy.
// outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element.
// outIdx: The starting offset in the array to begin the copying.
// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null
// terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else.
// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator.
// Returns the number of bytes written, EXCLUDING the null terminator.
function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) {
if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes.
return 0;
var startIdx = outIdx;
var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator.
for (var i = 0; i < str.length; ++i) {
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8.
// See http://unicode.org/faq/utf_bom.html#utf16-3
// For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629
var u = str.charCodeAt(i); // possibly a lead surrogate
if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF);
if (u <= 0x7F) {
if (outIdx >= endIdx) break;
outU8Array[outIdx++] = u;
} else if (u <= 0x7FF) {
if (outIdx + 1 >= endIdx) break;
outU8Array[outIdx++] = 0xC0 | (u >> 6);
outU8Array[outIdx++] = 0x80 | (u & 63);
} else if (u <= 0xFFFF) {
if (outIdx + 2 >= endIdx) break;
outU8Array[outIdx++] = 0xE0 | (u >> 12);
outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
outU8Array[outIdx++] = 0x80 | (u & 63);
} else if (u <= 0x1FFFFF) {
if (outIdx + 3 >= endIdx) break;
outU8Array[outIdx++] = 0xF0 | (u >> 18);
outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
outU8Array[outIdx++] = 0x80 | (u & 63);
} else if (u <= 0x3FFFFFF) {
if (outIdx + 4 >= endIdx) break;
outU8Array[outIdx++] = 0xF8 | (u >> 24);
outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63);
outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
outU8Array[outIdx++] = 0x80 | (u & 63);
} else {
if (outIdx + 5 >= endIdx) break;
outU8Array[outIdx++] = 0xFC | (u >> 30);
outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63);
outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63);
outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
outU8Array[outIdx++] = 0x80 | (u & 63);
}
}
// Null-terminate the pointer to the buffer.
outU8Array[outIdx] = 0;
return outIdx - startIdx;
}
Module["stringToUTF8Array"] = stringToUTF8Array;
// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP.
// Use the function lengthBytesUTF8() to compute the exact number of bytes (excluding null terminator) that this function will write.
// Returns the number of bytes written, EXCLUDING the null terminator.
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);
}
Module["stringToUTF8"] = stringToUTF8;
// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte.
function lengthBytesUTF8(str) {
var len = 0;
for (var i = 0; i < str.length; ++i) {
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8.
// See http://unicode.org/faq/utf_bom.html#utf16-3
var u = str.charCodeAt(i); // possibly a lead surrogate
if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF);
if (u <= 0x7F) {
++len;
} else if (u <= 0x7FF) {
len += 2;
} else if (u <= 0xFFFF) {
len += 3;
} else if (u <= 0x1FFFFF) {
len += 4;
} else if (u <= 0x3FFFFFF) {
len += 5;
} else {
len += 6;
}
}
return len;
}
Module["lengthBytesUTF8"] = lengthBytesUTF8;
// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns
// a copy of that string as a Javascript String object.
function UTF16ToString(ptr) {
var i = 0;
var str = '';
while (1) {
var codeUnit = HEAP16[(((ptr)+(i*2))>>1)];
if (codeUnit == 0)
return str;
++i;
// fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through.
str += String.fromCharCode(codeUnit);
}
}
// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP.
// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write.
// Parameters:
// str: the Javascript string to copy.
// outPtr: Byte address in Emscripten HEAP where to write the string to.
// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null
// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else.
// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator.
// Returns the number of bytes written, EXCLUDING the null terminator.
function stringToUTF16(str, outPtr, maxBytesToWrite) {
assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
// Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed.
if (maxBytesToWrite === undefined) {
maxBytesToWrite = 0x7FFFFFFF;
}
if (maxBytesToWrite < 2) return 0;
maxBytesToWrite -= 2; // Null terminator.
var startPtr = outPtr;
var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length;
for (var i = 0; i < numCharsToWrite; ++i) {
// charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP.
var codeUnit = str.charCodeAt(i); // possibly a lead surrogate
HEAP16[((outPtr)>>1)]=codeUnit;
outPtr += 2;
}
// Null-terminate the pointer to the HEAP.
HEAP16[((outPtr)>>1)]=0;
return outPtr - startPtr;
}
// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte.
function lengthBytesUTF16(str) {
return str.length*2;
}
function UTF32ToString(ptr) {
var i = 0;
var str = '';
while (1) {
var utf32 = HEAP32[(((ptr)+(i*4))>>2)];
if (utf32 == 0)
return str;
++i;
// Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing.
// See http://unicode.org/faq/utf_bom.html#utf16-3
if (utf32 >= 0x10000) {
var ch = utf32 - 0x10000;
str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
} else {
str += String.fromCharCode(utf32);
}
}
}
// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP.
// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write.
// Parameters:
// str: the Javascript string to copy.
// outPtr: Byte address in Emscripten HEAP where to write the string to.
// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null
// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else.
// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator.
// Returns the number of bytes written, EXCLUDING the null terminator.
function stringToUTF32(str, outPtr, maxBytesToWrite) {
assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
// Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed.
if (maxBytesToWrite === undefined) {
maxBytesToWrite = 0x7FFFFFFF;
}
if (maxBytesToWrite < 4) return 0;
var startPtr = outPtr;
var endPtr = startPtr + maxBytesToWrite - 4;
for (var i = 0; i < str.length; ++i) {
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap.
// See http://unicode.org/faq/utf_bom.html#utf16-3
var codeUnit = str.charCodeAt(i); // possibly a lead surrogate
if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) {
var trailSurrogate = str.charCodeAt(++i);
codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF);
}
HEAP32[((outPtr)>>2)]=codeUnit;
outPtr += 4;
if (outPtr + 4 > endPtr) break;
}
// Null-terminate the pointer to the HEAP.
HEAP32[((outPtr)>>2)]=0;
return outPtr - startPtr;
}
// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte.
function lengthBytesUTF32(str) {
var len = 0;
for (var i = 0; i < str.length; ++i) {
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap.
// See http://unicode.org/faq/utf_bom.html#utf16-3
var codeUnit = str.charCodeAt(i);
if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate.
len += 4;
}
return len;
}
function demangle(func) {
var hasLibcxxabi = !!Module['___cxa_demangle'];
if (hasLibcxxabi) {
try {
var buf = _malloc(func.length);
writeStringToMemory(func.substr(1), buf);
var status = _malloc(4);
var ret = Module['___cxa_demangle'](buf, 0, 0, status);
if (getValue(status, 'i32') === 0 && ret) {
return Pointer_stringify(ret);
}
// otherwise, libcxxabi failed, we can try ours which may return a partial result
} catch(e) {
// failure when using libcxxabi, we can try ours which may return a partial result
return func;
} finally {
if (buf) _free(buf);
if (status) _free(status);
if (ret) _free(ret);
}
}
Runtime.warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling');
return func;
}
function demangleAll(text) {
return text.replace(/__Z[\w\d_]+/g, function(x) { var y = demangle(x); return x === y ? x : (x + ' [' + y + ']') });
}
function jsStackTrace() {
var err = new Error();
if (!err.stack) {
// IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown,
// so try that as a special-case.
try {
throw new Error(0);
} catch(e) {
err = e;
}
if (!err.stack) {
return '(no stack trace available)';
}
}
return err.stack.toString();
}
function stackTrace() {
return demangleAll(jsStackTrace());
}
Module["stackTrace"] = stackTrace;
// Memory management
var PAGE_SIZE = 4096;
function alignMemoryPage(x) {
if (x % 4096 > 0) {
x += (4096 - (x % 4096));
}
return x;
}
var HEAP;
var buffer;
var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
function updateGlobalBuffer(buf) {
Module['buffer'] = buffer = buf;
}
function updateGlobalBufferViews() {
Module['HEAP8'] = HEAP8 = new Int8Array(buffer);
Module['HEAP16'] = HEAP16 = new Int16Array(buffer);
Module['HEAP32'] = HEAP32 = new Int32Array(buffer);
Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer);
Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer);
Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer);
Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer);
Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer);
}
var STATIC_BASE = 0, STATICTOP = 0, staticSealed = false; // static area
var STACK_BASE = 0, STACKTOP = 0, STACK_MAX = 0; // stack area
var DYNAMIC_BASE = 0, DYNAMICTOP = 0; // dynamic area handled by sbrk
function abortOnCannotGrowMemory() {
abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ');
}
function enlargeMemory() {
abortOnCannotGrowMemory();
}
var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880;
var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216;
var totalMemory = 64*1024;
while (totalMemory < TOTAL_MEMORY || totalMemory < 2*TOTAL_STACK) {
if (totalMemory < 16*1024*1024) {
totalMemory *= 2;
} else {
totalMemory += 16*1024*1024
}
}
if (totalMemory !== TOTAL_MEMORY) {
Module.printErr('increasing TOTAL_MEMORY to ' + totalMemory + ' to be compliant with the asm.js spec (and given that TOTAL_STACK=' + TOTAL_STACK + ')');
TOTAL_MEMORY = totalMemory;
}
// Initialize the runtime's memory
// check for full engine support (use string 'subarray' to avoid closure compiler confusion)
assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']),
'JS engine does not provide full typed array support');
// Use a provided buffer, if there is one, or else allocate a new one
if (Module['buffer']) {
buffer = Module['buffer'];
assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength);
} else {
buffer = new ArrayBuffer(TOTAL_MEMORY);
}
updateGlobalBufferViews();
// Endianness check (note: assumes compiler arch was little-endian)
HEAP32[0] = 255;
if (HEAPU8[0] !== 255 || HEAPU8[3] !== 0) throw 'Typed arrays 2 must be run on a little-endian system';
Module['HEAP'] = HEAP;
Module['buffer'] = buffer;
Module['HEAP8'] = HEAP8;
Module['HEAP16'] = HEAP16;
Module['HEAP32'] = HEAP32;
Module['HEAPU8'] = HEAPU8;
Module['HEAPU16'] = HEAPU16;
Module['HEAPU32'] = HEAPU32;
Module['HEAPF32'] = HEAPF32;
Module['HEAPF64'] = HEAPF64;
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) {
Runtime.dynCall('v', func);
} else {
Runtime.dynCall('vi', func, [callback.arg]);
}
} else {
func(callback.arg === undefined ? null : callback.arg);
}
}
}
var __ATPRERUN__ = []; // functions called before the runtime is initialized
var __ATINIT__ = []; // functions called during startup
var __ATMAIN__ = []; // functions called when main() is to be run
var __ATEXIT__ = []; // functions called during shutdown
var __ATPOSTRUN__ = []; // functions called after the runtime has exited
var runtimeInitialized = false;
var runtimeExited = false;
function preRun() {
// compatibility - merge in anything from Module['preRun'] at this time
if (Module['preRun']) {
if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']];
while (Module['preRun'].length) {
addOnPreRun(Module['preRun'].shift());
}
}
callRuntimeCallbacks(__ATPRERUN__);
}
function ensureInitRuntime() {
if (runtimeInitialized) return;
runtimeInitialized = true;
callRuntimeCallbacks(__ATINIT__);
}
function preMain() {
callRuntimeCallbacks(__ATMAIN__);
}
function exitRuntime() {
callRuntimeCallbacks(__ATEXIT__);
runtimeExited = true;
}
function postRun() {
// compatibility - merge in anything from Module['postRun'] at this time
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);
}
Module["addOnPreRun"] = addOnPreRun;
function addOnInit(cb) {
__ATINIT__.unshift(cb);
}
Module["addOnInit"] = addOnInit;
function addOnPreMain(cb) {
__ATMAIN__.unshift(cb);
}
Module["addOnPreMain"] = addOnPreMain;
function addOnExit(cb) {
__ATEXIT__.unshift(cb);
}
Module["addOnExit"] = addOnExit;
function addOnPostRun(cb) {
__ATPOSTRUN__.unshift(cb);
}
Module["addOnPostRun"] = addOnPostRun;
// Tools
function intArrayFromString(stringy, dontAddNull, length /* optional */) {
var len = length > 0 ? length : lengthBytesUTF8(stringy)+1;
var u8array = new Array(len);
var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
if (dontAddNull) u8array.length = numBytesWritten;
return u8array;
}
Module["intArrayFromString"] = intArrayFromString;
function intArrayToString(array) {
var ret = [];
for (var i = 0; i < array.length; i++) {
var chr = array[i];
if (chr > 0xFF) {
assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.');
chr &= 0xFF;
}
ret.push(String.fromCharCode(chr));
}
return ret.join('');
}
Module["intArrayToString"] = intArrayToString;
function writeStringToMemory(string, buffer, dontAddNull) {
var array = intArrayFromString(string, dontAddNull);
var i = 0;
while (i < array.length) {
var chr = array[i];
HEAP8[(((buffer)+(i))>>0)]=chr;
i = i + 1;
}
}
Module["writeStringToMemory"] = writeStringToMemory;
function writeArrayToMemory(array, buffer) {
for (var i = 0; i < array.length; i++) {
HEAP8[((buffer++)>>0)]=array[i];
}
}
Module["writeArrayToMemory"] = writeArrayToMemory;
function writeAsciiToMemory(str, buffer, dontAddNull) {
for (var i = 0; i < str.length; ++i) {
assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff);
HEAP8[((buffer++)>>0)]=str.charCodeAt(i);
}
// Null-terminate the pointer to the HEAP.
if (!dontAddNull) HEAP8[((buffer)>>0)]=0;
}
Module["writeAsciiToMemory"] = writeAsciiToMemory;
function unSign(value, bits, ignore) {
if (value >= 0) {
return value;
}
return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts
: Math.pow(2, bits) + value;
}
function reSign(value, bits, ignore) {
if (value <= 0) {
return value;
}
var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32
: Math.pow(2, bits-1);
if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that
// but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors
// TODO: In i64 mode 1, resign the two parts separately and safely
value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts
}
return value;
}
// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 )
if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) {
var ah = a >>> 16;
var al = a & 0xffff;
var bh = b >>> 16;
var bl = b & 0xffff;
return (al*bl + ((ah*bl + al*bh) << 16))|0;
};
Math.imul = Math['imul'];
if (!Math['clz32']) Math['clz32'] = function(x) {
x = x >>> 0;
for (var i = 0; i < 32; i++) {
if (x & (1 << (31 - i))) return i;
}
return 32;
};
Math.clz32 = Math['clz32']
if (!Math['trunc']) Math['trunc'] = function(x) {
return x < 0 ? Math.ceil(x) : Math.floor(x);
};
Math.trunc = Math['trunc'];
var Math_abs = Math.abs;
var Math_cos = Math.cos;
var Math_sin = Math.sin;
var Math_tan = Math.tan;
var Math_acos = Math.acos;
var Math_asin = Math.asin;
var Math_atan = Math.atan;
var Math_atan2 = Math.atan2;
var Math_exp = Math.exp;
var Math_log = Math.log;
var Math_sqrt = Math.sqrt;
var Math_ceil = Math.ceil;
var Math_floor = Math.floor;
var Math_pow = Math.pow;
var Math_imul = Math.imul;
var Math_fround = Math.fround;
var Math_min = Math.min;
var Math_clz32 = Math.clz32;
var Math_trunc = Math.trunc;
// A counter of dependencies for calling run(). If we need to
// do asynchronous work before running, increment this and
// decrement it. Incrementing must happen in a place like
// PRE_RUN_ADDITIONS (used by emcc to add file preloading).
// Note that you can add dependencies in preRun, even though
// it happens right before run - run will be postponed until
// the dependencies are met.
var runDependencies = 0;
var runDependencyWatcher = null;
var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled
var runDependencyTracking = {};
function getUniqueRunDependency(id) {
var orig = id;
while (1) {
if (!runDependencyTracking[id]) return id;
id = orig + Math.random();
}
return id;
}
function addRunDependency(id) {
runDependencies++;
if (Module['monitorRunDependencies']) {
Module['monitorRunDependencies'](runDependencies);
}
if (id) {
assert(!runDependencyTracking[id]);
runDependencyTracking[id] = 1;
if (runDependencyWatcher === null && typeof setInterval !== 'undefined') {
// Check for missing dependencies every few seconds
runDependencyWatcher = setInterval(function() {
if (ABORT) {
clearInterval(runDependencyWatcher);
runDependencyWatcher = null;
return;
}
var shown = false;
for (var dep in runDependencyTracking) {
if (!shown) {
shown = true;
Module.printErr('still waiting on run dependencies:');
}
Module.printErr('dependency: ' + dep);
}
if (shown) {
Module.printErr('(end of list)');
}
}, 10000);
}
} else {
Module.printErr('warning: run dependency added without ID');
}
}
Module["addRunDependency"] = addRunDependency;
function removeRunDependency(id) {
runDependencies--;
if (Module['monitorRunDependencies']) {
Module['monitorRunDependencies'](runDependencies);
}
if (id) {
assert(runDependencyTracking[id]);
delete runDependencyTracking[id];
} else {
Module.printErr('warning: run dependency removed without ID');
}
if (runDependencies == 0) {
if (runDependencyWatcher !== null) {
clearInterval(runDependencyWatcher);
runDependencyWatcher = null;
}
if (dependenciesFulfilled) {
var callback = dependenciesFulfilled;
dependenciesFulfilled = null;
callback(); // can add another dependenciesFulfilled
}
}
}
Module["removeRunDependency"] = removeRunDependency;
Module["preloadedImages"] = {}; // maps url to image data
Module["preloadedAudios"] = {}; // maps url to audio data
var memoryInitializer = null;
// === Body ===
var ASM_CONSTS = [];
STATIC_BASE = 8;
STATICTOP = STATIC_BASE + 8736;
/* global initializers */ __ATINIT__.push();
/* memory initializer */ allocate([1,0,0,0,12,0,0,0,4,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,7,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,12,0,0,0,4,0,0,0,14,0,0,0,16,0,0,0,16,0,0,0,4,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,7,0,0,0,4,0,0,0,4,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,7,0,0,0,8,0,0,0,4,0,0,0,23,0,0,0,225,10,0,0,8,0,0,0,7,0,0,0,4,0,0,0,4,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,0,0,0,7,0,0,0,4,0,0,0,4,0,0,0,30,0,0,0,31,0,0,0,16,0,0,0,4,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,7,0,0,0,4,0,0,0,4,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,39,0,0,0,4,0,0,0,4,0,0,0,40,0,0,0,76,17,0,0,2,0,0,0,126,11,0,0,1,0,0,0,12,30,0,0,0,0,0,0,78,17,0,0,5,0,0,0,39,0,0,0,8,0,0,0,4,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,39,0,0,0,4,0,0,0,4,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,118,11,0,0,1,0,0,0,12,30,0,0,0,0,0,0,39,0,0,0,4,0,0,0,4,0,0,0,47,0,0,0,172,8,0,0,24,0,0,0,196,8,0,0,44,0,0,0,240,8,0,0,11,0,0,0,251,8,0,0,2,0,0,0,253,8,0,0,29,0,0,0,39,0,0,0,0,0,0,0,9,0,0,0,26,9,0,0,35,0,0,0,21,0,0,0,0,0,0,0,15,0,0,0,146,9,0,0,50,0,0,0,89,10,0,0,25,0,0,0,77,0,0,0,12,30,0,0,0,0,0,0,157,10,0,0,11,0,0,0,168,10,0,0,1,0,0,0,169,10,0,0,36,0,0,0,205,10,0,0,3,0,0,0,208,10,0,0,17,0,0,0,204,0,0,0,0,0,0,0,24,0,0,0,242,10,0,0,8,0,0,0,250,10,0,0,15,0,0,0,9,11,0,0,3,0,0,0,12,11,0,0,1,0,0,0,13,11,0,0,1,0,0,0,14,11,0,0,17,0,0,0,31,11,0,0,22,0,0,0,10,0,0,0,53,11,0,0,2,0,0,0,55,11,0,0,2,0,0,0,57,11,0,0,3,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,67,11,0,0,22,0,0,0,202,7,0,0,157,11,0,0,9,0,0,0,255,255,255,255,166,11,0,0,51,0,0,0,217,11,0,0,43,0,0,0,4,12,0,0,32,0,0,0,36,12,0,0,21,0,0,0,13,11,0,0,1,0,0,0,83,12,0,0,37,0,0,0,188,0,0,0,0,0,0,0,24,0,0,0,189,12,0,0,27,0,0,0,216,12,0,0,22,0,0,0,114,2,0,0,20,13,0,0,36,0,0,0,52,0,0,0,95,13,0,0,36,0,0,0,57,0,0,0,197,13,0,0,26,0,0,0,88,0,0,0,42,14,0,0,29,0,0,0,63,0,0,0,96,14,0,0,28,0,0,0,71,14,0,0,25,0,0,0,45,3,0,0,48,0,0,0,57,0,0,0,96,6,0,0,105,6,0,0,240,6,0,0,249,6,0,0,192,7,0,0,201,7,0,0,102,9,0,0,111,9,0,0,230,9,0,0,239,9,0,0,102,10,0,0,111,10,0,0,230,10,0,0,239,10,0,0,102,11,0,0,111,11,0,0,230,11,0,0,239,11,0,0,102,12,0,0,111,12,0,0,230,12,0,0,239,12,0,0,102,13,0,0,111,13,0,0,230,13,0,0,239,13,0,0,80,14,0,0,89,14,0,0,208,14,0,0,217,14,0,0,32,15,0,0,41,15,0,0,64,16,0,0,73,16,0,0,144,16,0,0,153,16,0,0,238,22,0,0,240,22,0,0,224,23,0,0,233,23,0,0,16,24,0,0,25,24,0,0,70,25,0,0,79,25,0,0,208,25,0,0,217,25,0,0,128,26,0,0,137,26,0,0,144,26,0,0,153,26,0,0,80,27,0,0,89,27,0,0,176,27,0,0,185,27,0,0,64,28,0,0,73,28,0,0,80,28,0,0,89,28,0,0,96,33,0,0,130,33,0,0,133,33,0,0,136,33,0,0,7,48,0,0,7,48,0,0,33,48,0,0,41,48,0,0,56,48,0,0,58,48,0,0,32,166,0,0,41,166,0,0,230,166,0,0,239,166,0,0,208,168,0,0,217,168,0,0,0,169,0,0,9,169,0,0,208,169,0,0,217,169,0,0,240,169,0,0,249,169,0,0,80,170,0,0,89,170,0,0,240,171,0,0,249,171,0,0,16,255,0,0,25,255,0,0,64,1,1,0,116,1,1,0,65,3,1,0,65,3,1,0,74,3,1,0,74,3,1,0,209,3,1,0,213,3,1,0,160,4,1,0,169,4,1,0,102,16,1,0,111,16,1,0,240,16,1,0,249,16,1,0,54,17,1,0,63,17,1,0,208,17,1,0,217,17,1,0,240,18,1,0,249,18,1,0,208,20,1,0,217,20,1,0,80,22,1,0,89,22,1,0,192,22,1,0,201,22,1,0,48,23,1,0,57,23,1,0,224,24,1,0,233,24,1,0,0,36,1,0,110,36,1,0,96,106,1,0,105,106,1,0,80,107,1,0,89,107,1,0,206,215,1,0,255,215,1,0,181,14,0,0,36,0,0,0,158,14,0,0,23,0,0,0,0,2,0,0,141,14,0,0,17,0,0,0,158,14,0,0,23,0,0,0,75,2,0,0,38,0,0,0,237,14,0,0,36,0,0,0,217,14,0,0,20,0,0,0,254,1,0,0,17,15,0,0,43,0,0,0,60,15,0,0,21,0,0,0,74,1,0,0,100,15,0,0,35,0,0,0,81,15,0,0,19,0,0,0,144,1,0,0,135,15,0,0,27,0,0,0,81,15,0,0,19,0,0,0,192,1,0,0,162,15,0,0,21,0,0,0,234,2,0,0,12,30,0,0,0,0,0,0,183,15,0,0,2,0,0,0,153,16,0,0,32,0,0,0,185,16,0,0,18,0,0,0,203,16,0,0,22,0,0,0,225,16,0,0,13,0,0,0,217,14,0,0,20,0,0,0,21,2,0,0,238,16,0,0,6,0,0,0,244,16,0,0,34,0,0,0,217,14,0,0,20,0,0,0,15,2,0,0,83,17,0,0,14,0,0,0,97,17,0,0,4,0,0,0,101,17,0,0,16,0,0,0,117,17,0,0,1,0,0,0,185,15,0,0,22,0,0,0,132,6,0,0,238,16,0,0,6,0,0,0,118,17,0,0,8,0,0,0,126,17,0,0,5,0,0,0,117,17,0,0,1,0,0,0,131,17,0,0,33,0,0,0,185,15,0,0,22,0,0,0,134,6,0,0,12,30,0,0,0,0,0,0,164,17,0,0,1,0,0,0,183,15,0,0,2,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,169,17,0,0,22,0,0,0,80,3,0,0,169,17,0,0,22,0,0,0,68,3,0,0,12,30,0,0,0,0,0,0,191,17,0,0,1,0,0,0,183,15,0,0,2,0,0,0,12,30,0,0,0,0,0,0,164,17,0,0,1,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,12,30,0,0,0,0,0,0,12,30,0,0,0,0,0,0,12,30,0,0,0,0,0,0,194,17,0,0,27,0,0,0,183,15,0,0,2,0,0,0,221,17,0,0,22,0,0,0,138,0,0,0,12,30,0,0,0,0,0,0,60,15,0,0,21,0,0,0,192,2,0,0,9,19,0,0,24,0,0,0,185,15,0,0,22,0,0,0,210,7,0,0,5,0,0,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,0,0,0,50,0,0,0,20,30,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,8,0,0,72,101,108,108,111,32,101,109,115,99,114,105,112,116,101,110,32,119,111,114,108,100,33,10,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,96,40,108,101,102,116,32,61,61,32,114,105,103,104,116,41,96,32,40,108,101,102,116,58,32,96,96,44,32,114,105,103,104,116,58,32,96,96,41,115,114,99,47,108,105,98,115,116,100,47,115,121,115,47,117,110,105,120,47,114,119,108,111,99,107,46,114,115,115,114,99,47,108,105,98,115,116,100,47,115,121,115,47,117,110,105,120,47,116,104,114,101,97,100,95,108,111,99,97,108,46,114,115,83,116,114,105,110,103,69,114,114,111,114,99,97,112,97,99,105,116,121,32,111,118,101,114,102,108,111,119,99,97,110,110,111,116,32,97,99,99,101,115,115,32,97,32,84,76,83,32,118,97,108,117,101,32,100,117,114,105,110,103,32,111,114,32,97,102,116,101,114,32,105,116,32,105,115,32,100,101,115,116,114,111,121,101,100,116,104,114,101,97,100,32,112,97,110,105,99,107,101,100,32,119,104,105,108,101,32,112,114,111,99,101,115,115,105,110,103,32,112,97,110,105,99,46,32,97,98,111,114,116,105,110,103,46,10,102,97,105,108,101,100,32,116,111,32,119,114,105,116,101,32,119,104,111,108,101,32,98,117,102,102,101,114,102,111,114,109,97,116,116,101,114,32,101,114,114,111,114,114,119,108,111,99,107,32,114,101,97,100,32,108,111,99,107,32,119,111,117,108,100,32,114,101,115,117,108,116,32,105,110,32,100,101,97,100,108,111,99,107,82,85,83,84,95,66,65,67,75,84,82,65,67,69,100,97,116,97,32,112,114,111,118,105,100,101,100,32,99,111,110,116,97,105,110,115,32,97,32,110,117,108,32,98,121,116,101,115,116,114,101,114,114,111,114,95,114,32,102,97,105,108,117,114,101,115,114,99,47,108,105,98,115,116,100,47,115,121,115,47,117,110,105,120,47,111,115,46,114,115,99,97,108,108,101,100,32,96,82,101,115,117,108,116,58,58,117,110,119,114,97,112,40,41,96,32,111,110,32,97,110,32,96,69,114,114,96,32,118,97,108,117,101,32,40,111,115,32,101,114,114,111,114,32,41,102,97,105,108,101,100,32,116,111,32,103,101,116,32,101,110,118,105,114,111,110,109,101,110,116,32,118,97,114,105,97,98,108,101,32,96,96,58,32,115,114,99,47,108,105,98,115,116,100,47,101,110,118,46,114,115,66,111,120,60,65,110,121,62,60,117,110,110,97,109,101,100,62,116,104,114,101,97,100,32,39,39,32,112,97,110,105,99,107,101,100,32,97,116,32,39,39,44,32,58,10,115,116,97,99,107,32,98,97,99,107,116,114,97,99,101,58,10,32,46,46,46,32,60,102,114,97,109,101,115,32,111,109,105,116,116,101,100,62,10,32,32,58,32,32,45,32,95,90,78,90,78,58,58,115,114,99,47,108,105,98,99,111,114,101,47,115,116,114,47,109,111,100,46,114,115,36,83,80,36,64,36,66,80,36,42,36,82,70,36,38,36,76,84,36,60,36,71,84,36,62,36,76,80,36,40,36,82,80,36,36,67,36,44,36,117,55,101,36,126,36,117,50,48,36,32,36,117,50,55,36,39,36,117,53,98,36,91,36,117,53,100,36,93,60,117,110,107,110,111,119,110,62,110,111,116,101,58,32,82,117,110,32,119,105,116,104,32,96,82,85,83,84,95,66,65,67,75,84,82,65,67,69,61,49,96,32,102,111,114,32,97,32,98,97,99,107,116,114,97,99,101,46,10,116,104,114,101,97,100,32,112,97,110,105,99,107,101,100,32,119,104,105,108,101,32,112,97,110,105,99,107,105,110,103,46,32,97,98,111,114,116,105,110,103,46,10,67,111,117,108,100,32,110,111,116,32,117,110,119,105,110,100,32,115,116,97,99,107,44,32,101,114,114,111,114,32,61,32,102,97,116,97,108,32,114,117,110,116,105,109,101,32,101,114,114,111,114,58,32,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,107,101,121,32,33,61,32,48,115,114,99,47,108,105,98,115,116,100,47,115,121,115,47,99,111,109,109,111,110,47,116,104,114,101,97,100,95,108,111,99,97,108,46,114,115,102,97,105,108,101,100,32,116,111,32,119,114,105,116,101,32,116,104,101,32,98,117,102,102,101,114,101,100,32,100,97,116,97,99,97,110,110,111,116,32,97,99,99,101,115,115,32,115,116,100,111,117,116,32,100,117,114,105,110,103,32,115,104,117,116,100,111,119,110,102,97,105,108,101,100,32,112,114,105,110,116,105,110,103,32,116,111,32,115,116,100,111,117,116,58,32,115,114,99,47,108,105,98,115,116,100,47,105,111,47,115,116,100,105,111,46,114,115,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,99,46,98,111,114,114,111,119,40,41,46,105,115,95,110,111,110,101,40,41,115,114,99,47,108,105,98,115,116,100,47,115,121,115,47,99,111,109,109,111,110,47,116,104,114,101,97,100,95,105,110,102,111,46,114,115,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,40,113,117,101,117,101,32,97,115,32,117,115,105,122,101,41,32,33,61,32,49,115,114,99,47,108,105,98,115,116,100,47,115,121,115,47,99,111,109,109,111,110,47,97,116,95,101,120,105,116,95,105,109,112,46,114,115,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,108,105,98,99,58,58,115,105,103,110,97,108,40,108,105,98,99,58,58,83,73,71,80,73,80,69,44,32,108,105,98,99,58,58,83,73,71,95,73,71,78,41,32,33,61,32,33,48,115,114,99,47,108,105,98,115,116,100,47,115,121,115,47,117,110,105,120,47,109,111,100,46,114,115,102,97,116,97,108,32,114,117,110,116,105,109,101,32,101,114,114,111,114,58,32,111,117,116,32,111,102,32,109,101,109,111,114,121,10,60,109,97,105,110,62,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,40,42,112,116,114,41,46,105,115,95,110,111,110,101,40,41,115,114,99,47,108,105,98,115,116,100,47,115,121,115,47,99,111,109,109,111,110,47,97,114,103,115,46,114,115,115,114,99,47,108,105,98,99,111,108,108,101,99,116,105,111,110,115,47,118,101,99,46,114,115,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,101,110,100,32,60,61,32,108,101,110,99,97,112,97,99,105,116,121,32,111,118,101,114,102,108,111,119,99,97,112,97,99,105,116,121,32,111,118,101,114,102,108,111,119,115,114,99,47,108,105,98,97,108,108,111,99,47,114,97,119,95,118,101,99,46,114,115,84,114,105,101,100,32,116,111,32,115,104,114,105,110,107,32,116,111,32,97,32,108,97,114,103,101,114,32,99,97,112,97,99,105,116,121,115,114,99,47,108,105,98,99,111,114,101,47,115,108,105,99,101,46,114,115,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,105,110,100,101,120,32,60,32,115,101,108,102,46,108,101,110,40,41,99,97,108,108,101,100,32,96,79,112,116,105,111,110,58,58,117,110,119,114,97,112,40,41,96,32,111,110,32,97,32,96,78,111,110,101,96,32,118,97,108,117,101,115,114,99,47,108,105,98,99,111,114,101,47,111,112,116,105,111,110,46,114,115,115,114,99,47,108,105,98,99,111,114,101,47,99,101,108,108,46,114,115,82,101,102,67,101,108,108,60,84,62,32,97,108,114,101,97,100,121,32,109,117,116,97,98,108,121,32,98,111,114,114,111,119,101,100,82,101,102,67,101,108,108,60,84,62,32,97,108,114,101,97,100,121,32,98,111,114,114,111,119,101,100,115,114,99,47,108,105,98,99,111,114,101,47,114,101,115,117,108,116,46,114,115,58,32,115,114,99,47,108,105,98,99,111,114,101,47,115,116,114,47,109,111,100,46,114,115,32,125,48,48,48,49,48,50,48,51,48,52,48,53,48,54,48,55,48,56,48,57,49,48,49,49,49,50,49,51,49,52,49,53,49,54,49,55,49,56,49,57,50,48,50,49,50,50,50,51,50,52,50,53,50,54,50,55,50,56,50,57,51,48,51,49,51,50,51,51,51,52,51,53,51,54,51,55,51,56,51,57,52,48,52,49,52,50,52,51,52,52,52,53,52,54,52,55,52,56,52,57,53,48,53,49,53,50,53,51,53,52,53,53,53,54,53,55,53,56,53,57,54,48,54,49,54,50,54,51,54,52,54,53,54,54,54,55,54,56,54,57,55,48,55,49,55,50,55,51,55,52,55,53,55,54,55,55,55,56,55,57,56,48,56,49,56,50,56,51,56,52,56,53,56,54,56,55,56,56,56,57,57,48,57,49,57,50,57,51,57,52,57,53,57,54,57,55,57,56,57,57,105,110,100,101,120,32,111,117,116,32,111,102,32,98,111,117,110,100,115,58,32,116,104,101,32,108,101,110,32,105,115,32,32,98,117,116,32,116,104,101,32,105,110,100,101,120,32,105,115,32,115,108,105,99,101,32,105,110,100,101,120,32,115,116,97,114,116,115,32,97,116,32,32,98,117,116,32,101,110,100,115,32,97,116,32,105,110,100,101,120,32,32,111,117,116,32,111,102,32,114,97,110,103,101,32,102,111,114,32,115,108,105,99,101,32,111,102,32,108,101,110,103,116,104,32,10,41,41,80,97,114,115,101,73,110,116,69,114,114,111,114,107,105,110,100,69,109,112,116,121,73,110,118,97,108,105,100,68,105,103,105,116,79,118,101,114,102,108,111,119,85,110,100,101,114,102,108,111,119,32,123,91,46,46,46,93,98,101,103,105,110,32,60,61,32,101,110,100,32,40,32,60,61,32,41,32,119,104,101,110,32,115,108,105,99,105,110,103,32,96,96,32,97,110,100,47,111,114,32,32,105,110,32,96,32,100,111,32,110,111,116,32,108,105,101,32,111,110,32,99,104,97,114,97,99,116,101,114,32,98,111,117,110,100,97,114,121,10,32,32,32,32,115,114,99,47,108,105,98,99,111,114,101,47,102,109,116,47,109,111,100,46,114,115,32,10,125,110,117,109,98,101,114,32,110,111,116,32,105,110,32,116,104,101,32,114,97,110,103,101,32,48,46,46,115,114,99,47,108,105,98,99,111,114,101,47,102,109,116,47,110,117,109,46,114,115,48,120,85,116,102,56,69,114,114,111,114,118,97,108,105,100,95,117,112,95,116,111,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,119,32,33,61,32,48,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE);
/* no memory initializer */
var tempDoublePtr = STATICTOP; STATICTOP += 16;
assert(tempDoublePtr % 8 == 0);
function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much
HEAP8[tempDoublePtr] = HEAP8[ptr];
HEAP8[tempDoublePtr+1] = HEAP8[ptr+1];
HEAP8[tempDoublePtr+2] = HEAP8[ptr+2];
HEAP8[tempDoublePtr+3] = HEAP8[ptr+3];
}
function copyTempDouble(ptr) {
HEAP8[tempDoublePtr] = HEAP8[ptr];
HEAP8[tempDoublePtr+1] = HEAP8[ptr+1];
HEAP8[tempDoublePtr+2] = HEAP8[ptr+2];
HEAP8[tempDoublePtr+3] = HEAP8[ptr+3];
HEAP8[tempDoublePtr+4] = HEAP8[ptr+4];
HEAP8[tempDoublePtr+5] = HEAP8[ptr+5];
HEAP8[tempDoublePtr+6] = HEAP8[ptr+6];
HEAP8[tempDoublePtr+7] = HEAP8[ptr+7];
}
// {{PRE_LIBRARY}}
function ___setErrNo(value) {
if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value;
else Module.printErr('failed to set errno from JS');
return value;
}
var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name) {
// long sysconf(int name);
// http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html
switch(name) {
case 30: return PAGE_SIZE;
case 85: return totalMemory / PAGE_SIZE;
case 132:
case 133:
case 12:
case 137:
case 138:
case 15:
case 235:
case 16:
case 17:
case 18:
case 19:
case 20:
case 149:
case 13:
case 10:
case 236:
case 153:
case 9:
case 21:
case 22:
case 159:
case 154:
case 14:
case 77:
case 78:
case 139:
case 80:
case 81:
case 82:
case 68:
case 67:
case 164:
case 11:
case 29:
case 47:
case 48:
case 95:
case 52:
case 51:
case 46:
return 200809;
case 79:
return 0;
case 27:
case 246:
case 127:
case 128:
case 23:
case 24:
case 160:
case 161:
case 181:
case 182:
case 242:
case 183:
case 184:
case 243:
case 244:
case 245:
case 165:
case 178:
case 179:
case 49:
case 50:
case 168:
case 169:
case 175:
case 170:
case 171:
case 172:
case 97:
case 76:
case 32:
case 173:
case 35:
return -1;
case 176:
case 177:
case 7:
case 155:
case 8:
case 157:
case 125:
case 126:
case 92:
case 93:
case 129:
case 130:
case 131:
case 94:
case 91:
return 1;
case 74:
case 60:
case 69:
case 70:
case 4:
return 1024;
case 31:
case 42:
case 72:
return 32;
case 87:
case 26:
case 33:
return 2147483647;
case 34:
case 1:
return 47839;
case 38:
case 36:
return 99;
case 43:
case 37:
return 2048;
case 0: return 2097152;
case 3: return 65536;
case 28: return 32768;
case 44: return 32767;
case 75: return 16384;
case 39: return 1000;
case 89: return 700;
case 71: return 256;
case 40: return 255;
case 2: return 100;
case 180: return 64;
case 25: return 20;
case 5: return 16;
case 6: return 6;
case 73: return 4;
case 84: {
if (typeof navigator === 'object') return navigator['hardwareConcurrency'] || 1;
return 1;
}
}
___setErrNo(ERRNO_CODES.EINVAL);
return -1;
}
Module["_memset"] = _memset;
function __Unwind_FindEnclosingFunction() {
return 0; // we cannot succeed
}
function _pthread_mutex_lock() {}
function _pthread_mutexattr_settype() {}
function _abort() {
Module['abort']();
}
function _pthread_cond_destroy() { return 0; }
function ___lock() {}
function __Unwind_DeleteException(ex) {
Module.printErr('TODO: Unwind_DeleteException');
}
var PTHREAD_SPECIFIC={};function _pthread_getspecific(key) {
return PTHREAD_SPECIFIC[key] || 0;
}
function _dladdr(addr, info) {
// report all function pointers as coming from this program itself XXX not really correct in any way
var fname = allocate(intArrayFromString(Module['thisProgram'] || './this.program'), 'i8', ALLOC_NORMAL); // XXX leak
HEAP32[((addr)>>2)]=fname;
HEAP32[(((addr)+(4))>>2)]=0;
HEAP32[(((addr)+(8))>>2)]=0;
HEAP32[(((addr)+(12))>>2)]=0;
return 1;
}
var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key, destructor) {
if (key == 0) {
return ERRNO_CODES.EINVAL;
}
HEAP32[((key)>>2)]=PTHREAD_SPECIFIC_NEXT_KEY;
// values start at 0
PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY] = 0;
PTHREAD_SPECIFIC_NEXT_KEY++;
return 0;
}
function _pthread_mutex_init() {}
function _pthread_key_delete(key) {
if (key in PTHREAD_SPECIFIC) {
delete PTHREAD_SPECIFIC[key];
return 0;
}
return ERRNO_CODES.EINVAL;
}
function _pthread_self() {
//FIXME: assumes only a single thread
return 0;
}
function ___unlock() {}
function _pthread_setspecific(key, value) {
if (!(key in PTHREAD_SPECIFIC)) {
return ERRNO_CODES.EINVAL;
}
PTHREAD_SPECIFIC[key] = value;
return 0;
}
function _pthread_mutexattr_destroy() {}
var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};
var PATH={splitPath:function (filename) {
var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
return splitPathRe.exec(filename).slice(1);
},normalizeArray:function (parts, allowAboveRoot) {
// if the path tries to go above the root, `up` ends up > 0
var up = 0;
for (var i = parts.length - 1; i >= 0; i--) {
var last = parts[i];
if (last === '.') {
parts.splice(i, 1);
} else if (last === '..') {
parts.splice(i, 1);
up++;
} else if (up) {
parts.splice(i, 1);
up--;
}
}
// if the path is allowed to go above the root, restore leading ..s
if (allowAboveRoot) {
for (; up--; up) {
parts.unshift('..');
}
}
return parts;
},normalize:function (path) {
var isAbsolute = path.charAt(0) === '/',
trailingSlash = path.substr(-1) === '/';
// Normalize the path
path = PATH.normalizeArray(path.split('/').filter(function(p) {
return !!p;
}), !isAbsolute).join('/');
if (!path && !isAbsolute) {
path = '.';
}
if (path && trailingSlash) {
path += '/';
}
return (isAbsolute ? '/' : '') + path;
},dirname:function (path) {
var result = PATH.splitPath(path),
root = result[0],
dir = result[1];
if (!root && !dir) {
// No dirname whatsoever
return '.';
}
if (dir) {
// It has a dirname, strip trailing slash
dir = dir.substr(0, dir.length - 1);
}
return root + dir;
},basename:function (path) {
// EMSCRIPTEN return '/'' for '/', not an empty string
if (path === '/') return '/';
var lastSlash = path.lastIndexOf('/');
if (lastSlash === -1) return path;
return path.substr(lastSlash+1);
},extname:function (path) {
return PATH.splitPath(path)[3];
},join:function () {
var paths = Array.prototype.slice.call(arguments, 0);
return PATH.normalize(paths.join('/'));
},join2:function (l, r) {
return PATH.normalize(l + '/' + r);
},resolve:function () {
var resolvedPath = '',
resolvedAbsolute = false;
for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
var path = (i >= 0) ? arguments[i] : FS.cwd();
// Skip empty and invalid entries
if (typeof path !== 'string') {
throw new TypeError('Arguments to path.resolve must be strings');
} else if (!path) {
return ''; // an invalid portion invalidates the whole thing
}
resolvedPath = path + '/' + resolvedPath;
resolvedAbsolute = path.charAt(0) === '/';
}
// At this point the path should be resolved to a full absolute path, but
// handle relative paths to be safe (might happen when process.cwd() fails)
resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) {
return !!p;
}), !resolvedAbsolute).join('/');
return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';
},relative:function (from, to) {
from = PATH.resolve(from).substr(1);
to = PATH.resolve(to).substr(1);
function trim(arr) {
var start = 0;
for (; start < arr.length; start++) {
if (arr[start] !== '') break;
}
var end = arr.length - 1;
for (; end >= 0; end--) {
if (arr[end] !== '') break;
}
if (start > end) return [];
return arr.slice(start, end - start + 1);
}
var fromParts = trim(from.split('/'));
var toParts = trim(to.split('/'));
var length = Math.min(fromParts.length, toParts.length);
var samePartsLength = length;
for (var i = 0; i < length; i++) {
if (fromParts[i] !== toParts[i]) {
samePartsLength = i;
break;
}
}
var outputParts = [];
for (var i = samePartsLength; i < fromParts.length; i++) {
outputParts.push('..');
}
outputParts = outputParts.concat(toParts.slice(samePartsLength));
return outputParts.join('/');
}};
var TTY={ttys:[],init:function () {
// https://github.com/kripken/emscripten/pull/1555
// if (ENVIRONMENT_IS_NODE) {
// // currently, FS.init does not distinguish if process.stdin is a file or TTY
// // device, it always assumes it's a TTY device. because of this, we're forcing
// // process.stdin to UTF8 encoding to at least make stdin reading compatible
// // with text files until FS.init can be refactored.
// process['stdin']['setEncoding']('utf8');
// }
},shutdown:function () {
// https://github.com/kripken/emscripten/pull/1555
// if (ENVIRONMENT_IS_NODE) {
// // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)?
// // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation
// // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists?
// // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle
// // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call
// process['stdin']['pause']();
// }
},register:function (dev, ops) {
TTY.ttys[dev] = { input: [], output: [], ops: ops };
FS.registerDevice(dev, TTY.stream_ops);
},stream_ops:{open:function (stream) {
var tty = TTY.ttys[stream.node.rdev];
if (!tty) {
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
}
stream.tty = tty;
stream.seekable = false;
},close:function (stream) {
// flush any pending line data
stream.tty.ops.flush(stream.tty);
},flush:function (stream) {
stream.tty.ops.flush(stream.tty);
},read:function (stream, buffer, offset, length, pos /* ignored */) {
if (!stream.tty || !stream.tty.ops.get_char) {
throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
}
var bytesRead = 0;
for (var i = 0; i < length; i++) {
var result;
try {
result = stream.tty.ops.get_char(stream.tty);
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
if (result === undefined && bytesRead === 0) {
throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
}
if (result === null || result === undefined) break;
bytesRead++;
buffer[offset+i] = result;
}
if (bytesRead) {
stream.node.timestamp = Date.now();
}
return bytesRead;
},write:function (stream, buffer, offset, length, pos) {
if (!stream.tty || !stream.tty.ops.put_char) {
throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
}
for (var i = 0; i < length; i++) {
try {
stream.tty.ops.put_char(stream.tty, buffer[offset+i]);
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
}
if (length) {
stream.node.timestamp = Date.now();
}
return i;
}},default_tty_ops:{get_char:function (tty) {
if (!tty.input.length) {
var result = null;
if (ENVIRONMENT_IS_NODE) {
// we will read data by chunks of BUFSIZE
var BUFSIZE = 256;
var buf = new Buffer(BUFSIZE);
var bytesRead = 0;
var fd = process.stdin.fd;
// Linux and Mac cannot use process.stdin.fd (which isn't set up as sync)
var usingDevice = false;
try {
fd = fs.openSync('/dev/stdin', 'r');
usingDevice = true;
} catch (e) {}
bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null);
if (usingDevice) { fs.closeSync(fd); }
if (bytesRead > 0) {
result = buf.slice(0, bytesRead).toString('utf-8');
} else {
result = null;
}
} else if (typeof window != 'undefined' &&
typeof window.prompt == 'function') {
// Browser.
result = window.prompt('Input: '); // returns null on cancel
if (result !== null) {
result += '\n';
}
} else if (typeof readline == 'function') {
// Command line.
result = readline();
if (result !== null) {
result += '\n';
}
}
if (!result) {
return null;
}
tty.input = intArrayFromString(result, true);
}
return tty.input.shift();
},put_char:function (tty, val) {
if (val === null || val === 10) {
Module['print'](UTF8ArrayToString(tty.output, 0));
tty.output = [];
} else {
if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle.
}
},flush:function (tty) {
if (tty.output && tty.output.length > 0) {
Module['print'](UTF8ArrayToString(tty.output, 0));
tty.output = [];
}
}},default_tty1_ops:{put_char:function (tty, val) {
if (val === null || val === 10) {
Module['printErr'](UTF8ArrayToString(tty.output, 0));
tty.output = [];
} else {
if (val != 0) tty.output.push(val);
}
},flush:function (tty) {
if (tty.output && tty.output.length > 0) {
Module['printErr'](UTF8ArrayToString(tty.output, 0));
tty.output = [];
}
}}};
var MEMFS={ops_table:null,mount:function (mount) {
return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0);
},createNode:function (parent, name, mode, dev) {
if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
// no supported
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
if (!MEMFS.ops_table) {
MEMFS.ops_table = {
dir: {
node: {
getattr: MEMFS.node_ops.getattr,
setattr: MEMFS.node_ops.setattr,
lookup: MEMFS.node_ops.lookup,
mknod: MEMFS.node_ops.mknod,
rename: MEMFS.node_ops.rename,
unlink: MEMFS.node_ops.unlink,
rmdir: MEMFS.node_ops.rmdir,
readdir: MEMFS.node_ops.readdir,
symlink: MEMFS.node_ops.symlink
},
stream: {
llseek: MEMFS.stream_ops.llseek
}
},
file: {
node: {
getattr: MEMFS.node_ops.getattr,
setattr: MEMFS.node_ops.setattr
},
stream: {
llseek: MEMFS.stream_ops.llseek,
read: MEMFS.stream_ops.read,
write: MEMFS.stream_ops.write,
allocate: MEMFS.stream_ops.allocate,
mmap: MEMFS.stream_ops.mmap,
msync: MEMFS.stream_ops.msync
}
},
link: {
node: {
getattr: MEMFS.node_ops.getattr,
setattr: MEMFS.node_ops.setattr,
readlink: MEMFS.node_ops.readlink
},
stream: {}
},
chrdev: {
node: {
getattr: MEMFS.node_ops.getattr,
setattr: MEMFS.node_ops.setattr
},
stream: FS.chrdev_stream_ops
}
};
}
var node = FS.createNode(parent, name, mode, dev);
if (FS.isDir(node.mode)) {
node.node_ops = MEMFS.ops_table.dir.node;
node.stream_ops = MEMFS.ops_table.dir.stream;
node.contents = {};
} else if (FS.isFile(node.mode)) {
node.node_ops = MEMFS.ops_table.file.node;
node.stream_ops = MEMFS.ops_table.file.stream;
node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.buffer.byteLength which gives the whole capacity.
// When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred
// for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size
// penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme.
node.contents = null;
} else if (FS.isLink(node.mode)) {
node.node_ops = MEMFS.ops_table.link.node;
node.stream_ops = MEMFS.ops_table.link.stream;
} else if (FS.isChrdev(node.mode)) {
node.node_ops = MEMFS.ops_table.chrdev.node;
node.stream_ops = MEMFS.ops_table.chrdev.stream;
}
node.timestamp = Date.now();
// add the new node to the parent
if (parent) {
parent.contents[name] = node;
}
return node;
},getFileDataAsRegularArray:function (node) {
if (node.contents && node.contents.subarray) {
var arr = [];
for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]);
return arr; // Returns a copy of the original data.
}
return node.contents; // No-op, the file contents are already in a JS array. Return as-is.
},getFileDataAsTypedArray:function (node) {
if (!node.contents) return new Uint8Array;
if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes.
return new Uint8Array(node.contents);
},expandFileStorage:function (node, newCapacity) {
// If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file
// instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to
// increase the size.
if (node.contents && node.contents.subarray && newCapacity > node.contents.length) {
node.contents = MEMFS.getFileDataAsRegularArray(node);
node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it.
}
if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well.
var prevCapacity = node.contents ? node.contents.buffer.byteLength : 0;
if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough.
// Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity.
// For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to
// avoid overshooting the allocation cap by a very large margin.
var CAPACITY_DOUBLING_MAX = 1024 * 1024;
newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0);
if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding.
var oldContents = node.contents;
node.contents = new Uint8Array(newCapacity); // Allocate new storage.
if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage.
return;
}
// Not using a typed array to back the file storage. Use a standard JS array instead.
if (!node.contents && newCapacity > 0) node.contents = [];
while (node.contents.length < newCapacity) node.contents.push(0);
},resizeFileStorage:function (node, newSize) {
if (node.usedBytes == newSize) return;
if (newSize == 0) {
node.contents = null; // Fully decommit when requesting a resize to zero.
node.usedBytes = 0;
return;
}
if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store.
var oldContents = node.contents;
node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage.
if (oldContents) {
node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage.
}
node.usedBytes = newSize;
return;
}
// Backing with a JS array.
if (!node.contents) node.contents = [];
if (node.contents.length > newSize) node.contents.length = newSize;
else while (node.contents.length < newSize) node.contents.push(0);
node.usedBytes = newSize;
},node_ops:{getattr:function (node) {
var attr = {};
// device numbers reuse inode numbers.
attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
attr.ino = node.id;
attr.mode = node.mode;
attr.nlink = 1;
attr.uid = 0;
attr.gid = 0;
attr.rdev = node.rdev;
if (FS.isDir(node.mode)) {
attr.size = 4096;
} else if (FS.isFile(node.mode)) {
attr.size = node.usedBytes;
} else if (FS.isLink(node.mode)) {
attr.size = node.link.length;
} else {
attr.size = 0;
}
attr.atime = new Date(node.timestamp);
attr.mtime = new Date(node.timestamp);
attr.ctime = new Date(node.timestamp);
// NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize),
// but this is not required by the standard.
attr.blksize = 4096;
attr.blocks = Math.ceil(attr.size / attr.blksize);
return attr;
},setattr:function (node, attr) {
if (attr.mode !== undefined) {
node.mode = attr.mode;
}
if (attr.timestamp !== undefined) {
node.timestamp = attr.timestamp;
}
if (attr.size !== undefined) {
MEMFS.resizeFileStorage(node, attr.size);
}
},lookup:function (parent, name) {
throw FS.genericErrors[ERRNO_CODES.ENOENT];
},mknod:function (parent, name, mode, dev) {
return MEMFS.createNode(parent, name, mode, dev);
},rename:function (old_node, new_dir, new_name) {
// if we're overwriting a directory at new_name, make sure it's empty.
if (FS.isDir(old_node.mode)) {
var new_node;
try {
new_node = FS.lookupNode(new_dir, new_name);
} catch (e) {
}
if (new_node) {
for (var i in new_node.contents) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
}
}
}
// do the internal rewiring
delete old_node.parent.contents[old_node.name];
old_node.name = new_name;
new_dir.contents[new_name] = old_node;
old_node.parent = new_dir;
},unlink:function (parent, name) {
delete parent.contents[name];
},rmdir:function (parent, name) {
var node = FS.lookupNode(parent, name);
for (var i in node.contents) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
}
delete parent.contents[name];
},readdir:function (node) {
var entries = ['.', '..']
for (var key in node.contents) {
if (!node.contents.hasOwnProperty(key)) {
continue;
}
entries.push(key);
}
return entries;
},symlink:function (parent, newname, oldpath) {
var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0);
node.link = oldpath;
return node;
},readlink:function (node) {
if (!FS.isLink(node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
return node.link;
}},stream_ops:{read:function (stream, buffer, offset, length, position) {
var contents = stream.node.contents;
if (position >= stream.node.usedBytes) return 0;
var size = Math.min(stream.node.usedBytes - position, length);
assert(size >= 0);
if (size > 8 && contents.subarray) { // non-trivial, and typed array
buffer.set(contents.subarray(position, position + size), offset);
} else {
for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];
}
return size;
},write:function (stream, buffer, offset, length, position, canOwn) {
if (!length) return 0;
var node = stream.node;
node.timestamp = Date.now();
if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array?
if (canOwn) { // Can we just reuse the buffer we are given?
assert(position === 0, 'canOwn must imply no weird position inside the file');
node.contents = buffer.subarray(offset, offset + length);
node.usedBytes = length;
return length;
} else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data.
node.contents = new Uint8Array(buffer.subarray(offset, offset + length));
node.usedBytes = length;
return length;
} else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file?
node.contents.set(buffer.subarray(offset, offset + length), position);
return length;
}
}
// Appending to an existing file and we need to reallocate, or source data did not come as a typed array.
MEMFS.expandFileStorage(node, position+length);
if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available.
else {
for (var i = 0; i < length; i++) {
node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not.
}
}
node.usedBytes = Math.max(node.usedBytes, position+length);
return length;
},llseek:function (stream, offset, whence) {
var position = offset;
if (whence === 1) { // SEEK_CUR.
position += stream.position;
} else if (whence === 2) { // SEEK_END.
if (FS.isFile(stream.node.mode)) {
position += stream.node.usedBytes;
}
}
if (position < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
return position;
},allocate:function (stream, offset, length) {
MEMFS.expandFileStorage(stream.node, offset + length);
stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);
},mmap:function (stream, buffer, offset, length, position, prot, flags) {
if (!FS.isFile(stream.node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
}
var ptr;
var allocated;
var contents = stream.node.contents;
// Only make a new copy when MAP_PRIVATE is specified.
if ( !(flags & 2) &&
(contents.buffer === buffer || contents.buffer === buffer.buffer) ) {
// We can't emulate MAP_SHARED when the file is not backed by the buffer
// we're mapping to (e.g. the HEAP buffer).
allocated = false;
ptr = contents.byteOffset;
} else {
// Try to avoid unnecessary slices.
if (position > 0 || position + length < stream.node.usedBytes) {
if (contents.subarray) {
contents = contents.subarray(position, position + length);
} else {
contents = Array.prototype.slice.call(contents, position, position + length);
}
}
allocated = true;
ptr = _malloc(length);
if (!ptr) {
throw new FS.ErrnoError(ERRNO_CODES.ENOMEM);
}
buffer.set(contents, ptr);
}
return { ptr: ptr, allocated: allocated };
},msync:function (stream, buffer, offset, length, mmapFlags) {
if (!FS.isFile(stream.node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
}
if (mmapFlags & 2) {
// MAP_PRIVATE calls need not to be synced back to underlying fs
return 0;
}
var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);
// should we check if bytesWritten and length are the same?
return 0;
}}};
var IDBFS={dbs:{},indexedDB:function () {
if (typeof indexedDB !== 'undefined') return indexedDB;
var ret = null;
if (typeof window === 'object') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
assert(ret, 'IDBFS used, but indexedDB not supported');
return ret;
},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function (mount) {
// reuse all of the core MEMFS functionality
return MEMFS.mount.apply(null, arguments);
},syncfs:function (mount, populate, callback) {
IDBFS.getLocalSet(mount, function(err, local) {
if (err) return callback(err);
IDBFS.getRemoteSet(mount, function(err, remote) {
if (err) return callback(err);
var src = populate ? remote : local;
var dst = populate ? local : remote;
IDBFS.reconcile(src, dst, callback);
});
});
},getDB:function (name, callback) {
// check the cache first
var db = IDBFS.dbs[name];
if (db) {
return callback(null, db);
}
var req;
try {
req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION);
} catch (e) {
return callback(e);
}
req.onupgradeneeded = function(e) {
var db = e.target.result;
var transaction = e.target.transaction;
var fileStore;
if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) {
fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME);
} else {
fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME);
}
if (!fileStore.indexNames.contains('timestamp')) {
fileStore.createIndex('timestamp', 'timestamp', { unique: false });
}
};
req.onsuccess = function() {
db = req.result;
// add to the cache
IDBFS.dbs[name] = db;
callback(null, db);
};
req.onerror = function(e) {
callback(this.error);
e.preventDefault();
};
},getLocalSet:function (mount, callback) {
var entries = {};
function isRealDir(p) {
return p !== '.' && p !== '..';
};
function toAbsolute(root) {
return function(p) {
return PATH.join2(root, p);
}
};
var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));
while (check.length) {
var path = check.pop();
var stat;
try {
stat = FS.stat(path);
} catch (e) {
return callback(e);
}
if (FS.isDir(stat.mode)) {
check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path)));
}
entries[path] = { timestamp: stat.mtime };
}
return callback(null, { type: 'local', entries: entries });
},getRemoteSet:function (mount, callback) {
var entries = {};
IDBFS.getDB(mount.mountpoint, function(err, db) {
if (err) return callback(err);
var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly');
transaction.onerror = function(e) {
callback(this.error);
e.preventDefault();
};
var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
var index = store.index('timestamp');
index.openKeyCursor().onsuccess = function(event) {
var cursor = event.target.result;
if (!cursor) {
return callback(null, { type: 'remote', db: db, entries: entries });
}
entries[cursor.primaryKey] = { timestamp: cursor.key };
cursor.continue();
};
});
},loadLocalEntry:function (path, callback) {
var stat, node;
try {
var lookup = FS.lookupPath(path);
node = lookup.node;
stat = FS.stat(path);
} catch (e) {
return callback(e);
}
if (FS.isDir(stat.mode)) {
return callback(null, { timestamp: stat.mtime, mode: stat.mode });
} else if (FS.isFile(stat.mode)) {
// Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array.
// Therefore always convert the file contents to a typed array first before writing the data to IndexedDB.
node.contents = MEMFS.getFileDataAsTypedArray(node);
return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents });
} else {
return callback(new Error('node type not supported'));
}
},storeLocalEntry:function (path, entry, callback) {
try {
if (FS.isDir(entry.mode)) {
FS.mkdir(path, entry.mode);
} else if (FS.isFile(entry.mode)) {
FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true });
} else {
return callback(new Error('node type not supported'));
}
FS.chmod(path, entry.mode);
FS.utime(path, entry.timestamp, entry.timestamp);
} catch (e) {
return callback(e);
}
callback(null);
},removeLocalEntry:function (path, callback) {
try {
var lookup = FS.lookupPath(path);
var stat = FS.stat(path);
if (FS.isDir(stat.mode)) {
FS.rmdir(path);
} else if (FS.isFile(stat.mode)) {
FS.unlink(path);
}
} catch (e) {
return callback(e);
}
callback(null);
},loadRemoteEntry:function (store, path, callback) {
var req = store.get(path);
req.onsuccess = function(event) { callback(null, event.target.result); };
req.onerror = function(e) {
callback(this.error);
e.preventDefault();
};
},storeRemoteEntry:function (store, path, entry, callback) {
var req = store.put(entry, path);
req.onsuccess = function() { callback(null); };
req.onerror = function(e) {
callback(this.error);
e.preventDefault();
};
},removeRemoteEntry:function (store, path, callback) {
var req = store.delete(path);
req.onsuccess = function() { callback(null); };
req.onerror = function(e) {
callback(this.error);
e.preventDefault();
};
},reconcile:function (src, dst, callback) {
var total = 0;
var create = [];
Object.keys(src.entries).forEach(function (key) {
var e = src.entries[key];
var e2 = dst.entries[key];
if (!e2 || e.timestamp > e2.timestamp) {
create.push(key);
total++;
}
});
var remove = [];
Object.keys(dst.entries).forEach(function (key) {
var e = dst.entries[key];
var e2 = src.entries[key];
if (!e2) {
remove.push(key);
total++;
}
});
if (!total) {
return callback(null);
}
var errored = false;
var completed = 0;
var db = src.type === 'remote' ? src.db : dst.db;
var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite');
var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
function done(err) {
if (err) {
if (!done.errored) {
done.errored = true;
return callback(err);
}
return;
}
if (++completed >= total) {
return callback(null);
}
};
transaction.onerror = function(e) {
done(this.error);
e.preventDefault();
};
// sort paths in ascending order so directory entries are created
// before the files inside them
create.sort().forEach(function (path) {
if (dst.type === 'local') {
IDBFS.loadRemoteEntry(store, path, function (err, entry) {
if (err) return done(err);
IDBFS.storeLocalEntry(path, entry, done);
});
} else {
IDBFS.loadLocalEntry(path, function (err, entry) {
if (err) return done(err);
IDBFS.storeRemoteEntry(store, path, entry, done);
});
}
});
// sort paths in descending order so files are deleted before their
// parent directories
remove.sort().reverse().forEach(function(path) {
if (dst.type === 'local') {
IDBFS.removeLocalEntry(path, done);
} else {
IDBFS.removeRemoteEntry(store, path, done);
}
});
}};
var NODEFS={isWindows:false,staticInit:function () {
NODEFS.isWindows = !!process.platform.match(/^win/);
},mount:function (mount) {
assert(ENVIRONMENT_IS_NODE);
return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0);
},createNode:function (parent, name, mode, dev) {
if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
var node = FS.createNode(parent, name, mode);
node.node_ops = NODEFS.node_ops;
node.stream_ops = NODEFS.stream_ops;
return node;
},getMode:function (path) {
var stat;
try {
stat = fs.lstatSync(path);
if (NODEFS.isWindows) {
// On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so
// propagate write bits to execute bits.
stat.mode = stat.mode | ((stat.mode & 146) >> 1);
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
return stat.mode;
},realPath:function (node) {
var parts = [];
while (node.parent !== node) {
parts.push(node.name);
node = node.parent;
}
parts.push(node.mount.opts.root);
parts.reverse();
return PATH.join.apply(null, parts);
},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) {
flags &= ~0100000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file.
flags &= ~02000000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process.
if (flags in NODEFS.flagsToPermissionStringMap) {
return NODEFS.flagsToPermissionStringMap[flags];
} else {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
},node_ops:{getattr:function (node) {
var path = NODEFS.realPath(node);
var stat;
try {
stat = fs.lstatSync(path);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
// node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096.
// See http://support.microsoft.com/kb/140365
if (NODEFS.isWindows && !stat.blksize) {
stat.blksize = 4096;
}
if (NODEFS.isWindows && !stat.blocks) {
stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0;
}
return {
dev: stat.dev,
ino: stat.ino,
mode: stat.mode,
nlink: stat.nlink,
uid: stat.uid,
gid: stat.gid,
rdev: stat.rdev,
size: stat.size,
atime: stat.atime,
mtime: stat.mtime,
ctime: stat.ctime,
blksize: stat.blksize,
blocks: stat.blocks
};
},setattr:function (node, attr) {
var path = NODEFS.realPath(node);
try {
if (attr.mode !== undefined) {
fs.chmodSync(path, attr.mode);
// update the common node structure mode as well
node.mode = attr.mode;
}
if (attr.timestamp !== undefined) {
var date = new Date(attr.timestamp);
fs.utimesSync(path, date, date);
}
if (attr.size !== undefined) {
fs.truncateSync(path, attr.size);
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},lookup:function (parent, name) {
var path = PATH.join2(NODEFS.realPath(parent), name);
var mode = NODEFS.getMode(path);
return NODEFS.createNode(parent, name, mode);
},mknod:function (parent, name, mode, dev) {
var node = NODEFS.createNode(parent, name, mode, dev);
// create the backing node for this in the fs root as well
var path = NODEFS.realPath(node);
try {
if (FS.isDir(node.mode)) {
fs.mkdirSync(path, node.mode);
} else {
fs.writeFileSync(path, '', { mode: node.mode });
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
return node;
},rename:function (oldNode, newDir, newName) {
var oldPath = NODEFS.realPath(oldNode);
var newPath = PATH.join2(NODEFS.realPath(newDir), newName);
try {
fs.renameSync(oldPath, newPath);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},unlink:function (parent, name) {
var path = PATH.join2(NODEFS.realPath(parent), name);
try {
fs.unlinkSync(path);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},rmdir:function (parent, name) {
var path = PATH.join2(NODEFS.realPath(parent), name);
try {
fs.rmdirSync(path);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},readdir:function (node) {
var path = NODEFS.realPath(node);
try {
return fs.readdirSync(path);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},symlink:function (parent, newName, oldPath) {
var newPath = PATH.join2(NODEFS.realPath(parent), newName);
try {
fs.symlinkSync(oldPath, newPath);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},readlink:function (node) {
var path = NODEFS.realPath(node);
try {
path = fs.readlinkSync(path);
path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path);
return path;
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
}},stream_ops:{open:function (stream) {
var path = NODEFS.realPath(stream.node);
try {
if (FS.isFile(stream.node.mode)) {
stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags));
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},close:function (stream) {
try {
if (FS.isFile(stream.node.mode) && stream.nfd) {
fs.closeSync(stream.nfd);
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},read:function (stream, buffer, offset, length, position) {
if (length === 0) return 0; // node errors on 0 length reads
// FIXME this is terrible.
var nbuffer = new Buffer(length);
var res;
try {
res = fs.readSync(stream.nfd, nbuffer, 0, length, position);
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
if (res > 0) {
for (var i = 0; i < res; i++) {
buffer[offset + i] = nbuffer[i];
}
}
return res;
},write:function (stream, buffer, offset, length, position) {
// FIXME this is terrible.
var nbuffer = new Buffer(buffer.subarray(offset, offset + length));
var res;
try {
res = fs.writeSync(stream.nfd, nbuffer, 0, length, position);
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
return res;
},llseek:function (stream, offset, whence) {
var position = offset;
if (whence === 1) { // SEEK_CUR.
position += stream.position;
} else if (whence === 2) { // SEEK_END.
if (FS.isFile(stream.node.mode)) {
try {
var stat = fs.fstatSync(stream.nfd);
position += stat.size;
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
}
}
if (position < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
return position;
}}};
var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) {
assert(ENVIRONMENT_IS_WORKER);
if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync();
var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0);
var createdParents = {};
function ensureParent(path) {
// return the parent node, creating subdirs as necessary
var parts = path.split('/');
var parent = root;
for (var i = 0; i < parts.length-1; i++) {
var curr = parts.slice(0, i+1).join('/');
if (!createdParents[curr]) {
createdParents[curr] = WORKERFS.createNode(parent, curr, WORKERFS.DIR_MODE, 0);
}
parent = createdParents[curr];
}
return parent;
}
function base(path) {
var parts = path.split('/');
return parts[parts.length-1];
}
// We also accept FileList here, by using Array.prototype
Array.prototype.forEach.call(mount.opts["files"] || [], function(file) {
WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate);
});
(mount.opts["blobs"] || []).forEach(function(obj) {
WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]);
});
(mount.opts["packages"] || []).forEach(function(pack) {
pack['metadata'].files.forEach(function(file) {
var name = file.filename.substr(1); // remove initial slash
WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end));
});
});
return root;
},createNode:function (parent, name, mode, dev, contents, mtime) {
var node = FS.createNode(parent, name, mode);
node.mode = mode;
node.node_ops = WORKERFS.node_ops;
node.stream_ops = WORKERFS.stream_ops;
node.timestamp = (mtime || new Date).getTime();
assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE);
if (mode === WORKERFS.FILE_MODE) {
node.size = contents.size;
node.contents = contents;
} else {
node.size = 4096;
node.contents = {};
}
if (parent) {
parent.contents[name] = node;
}
return node;
},node_ops:{getattr:function (node) {
return {
dev: 1,
ino: undefined,
mode: node.mode,
nlink: 1,
uid: 0,
gid: 0,
rdev: undefined,
size: node.size,
atime: new Date(node.timestamp),
mtime: new Date(node.timestamp),
ctime: new Date(node.timestamp),
blksize: 4096,
blocks: Math.ceil(node.size / 4096),
};
},setattr:function (node, attr) {
if (attr.mode !== undefined) {
node.mode = attr.mode;
}
if (attr.timestamp !== undefined) {
node.timestamp = attr.timestamp;
}
},lookup:function (parent, name) {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
},mknod:function (parent, name, mode, dev) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
},rename:function (oldNode, newDir, newName) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
},unlink:function (parent, name) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
},rmdir:function (parent, name) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
},readdir:function (node) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
},symlink:function (parent, newName, oldPath) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
},readlink:function (node) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}},stream_ops:{read:function (stream, buffer, offset, length, position) {
if (position >= stream.node.size) return 0;
var chunk = stream.node.contents.slice(position, position + length);
var ab = WORKERFS.reader.readAsArrayBuffer(chunk);
buffer.set(new Uint8Array(ab), offset);
return chunk.size;
},write:function (stream, buffer, offset, length, position) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
},llseek:function (stream, offset, whence) {
var position = offset;
if (whence === 1) { // SEEK_CUR.
position += stream.position;
} else if (whence === 2) { // SEEK_END.
if (FS.isFile(stream.node.mode)) {
position += stream.node.size;
}
}
if (position < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
return position;
}}};
var _stdin=STATICTOP; STATICTOP += 16;;
var _stdout=STATICTOP; STATICTOP += 16;;
var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) {
if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace();
return ___setErrNo(e.errno);
},lookupPath:function (path, opts) {
path = PATH.resolve(FS.cwd(), path);
opts = opts || {};
if (!path) return { path: '', node: null };
var defaults = {
follow_mount: true,
recurse_count: 0
};
for (var key in defaults) {
if (opts[key] === undefined) {
opts[key] = defaults[key];
}
}
if (opts.recurse_count > 8) { // max recursive lookup of 8
throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
}
// split the path
var parts = PATH.normalizeArray(path.split('/').filter(function(p) {
return !!p;
}), false);
// start at the root
var current = FS.root;
var current_path = '/';
for (var i = 0; i < parts.length; i++) {
var islast = (i === parts.length-1);
if (islast && opts.parent) {
// stop resolving
break;
}
current = FS.lookupNode(current, parts[i]);
current_path = PATH.join2(current_path, parts[i]);
// jump to the mount's root node if this is a mountpoint
if (FS.isMountpoint(current)) {
if (!islast || (islast && opts.follow_mount)) {
current = current.mounted.root;
}
}
// by default, lookupPath will not follow a symlink if it is the final path component.
// setting opts.follow = true will override this behavior.
if (!islast || opts.follow) {
var count = 0;
while (FS.isLink(current.mode)) {
var link = FS.readlink(current_path);
current_path = PATH.resolve(PATH.dirname(current_path), link);
var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count });
current = lookup.node;
if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX).
throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
}
}
}
}
return { path: current_path, node: current };
},getPath:function (node) {
var path;
while (true) {
if (FS.isRoot(node)) {
var mount = node.mount.mountpoint;
if (!path) return mount;
return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path;
}
path = path ? node.name + '/' + path : node.name;
node = node.parent;
}
},hashName:function (parentid, name) {
var hash = 0;
for (var i = 0; i < name.length; i++) {
hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0;
}
return ((parentid + hash) >>> 0) % FS.nameTable.length;
},hashAddNode:function (node) {
var hash = FS.hashName(node.parent.id, node.name);
node.name_next = FS.nameTable[hash];
FS.nameTable[hash] = node;
},hashRemoveNode:function (node) {
var hash = FS.hashName(node.parent.id, node.name);
if (FS.nameTable[hash] === node) {
FS.nameTable[hash] = node.name_next;
} else {
var current = FS.nameTable[hash];
while (current) {
if (current.name_next === node) {
current.name_next = node.name_next;
break;
}
current = current.name_next;
}
}
},lookupNode:function (parent, name) {
var err = FS.mayLookup(parent);
if (err) {
throw new FS.ErrnoError(err, parent);
}
var hash = FS.hashName(parent.id, name);
for (var node = FS.nameTable[hash]; node; node = node.name_next) {
var nodeName = node.name;
if (node.parent.id === parent.id && nodeName === name) {
return node;
}
}
// if we failed to find it in the cache, call into the VFS
return FS.lookup(parent, name);
},createNode:function (parent, name, mode, rdev) {
if (!FS.FSNode) {
FS.FSNode = function(parent, name, mode, rdev) {
if (!parent) {
parent = this; // root node sets parent to itself
}
this.parent = parent;
this.mount = parent.mount;
this.mounted = null;
this.id = FS.nextInode++;
this.name = name;
this.mode = mode;
this.node_ops = {};
this.stream_ops = {};
this.rdev = rdev;
};
FS.FSNode.prototype = {};
// compatibility
var readMode = 292 | 73;
var writeMode = 146;
// NOTE we must use Object.defineProperties instead of individual calls to
// Object.defineProperty in order to make closure compiler happy
Object.defineProperties(FS.FSNode.prototype, {
read: {
get: function() { return (this.mode & readMode) === readMode; },
set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; }
},
write: {
get: function() { return (this.mode & writeMode) === writeMode; },
set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; }
},
isFolder: {
get: function() { return FS.isDir(this.mode); }
},
isDevice: {
get: function() { return FS.isChrdev(this.mode); }
}
});
}
var node = new FS.FSNode(parent, name, mode, rdev);
FS.hashAddNode(node);
return node;
},destroyNode:function (node) {
FS.hashRemoveNode(node);
},isRoot:function (node) {
return node === node.parent;
},isMountpoint:function (node) {
return !!node.mounted;
},isFile:function (mode) {
return (mode & 61440) === 32768;
},isDir:function (mode) {
return (mode & 61440) === 16384;
},isLink:function (mode) {
return (mode & 61440) === 40960;
},isChrdev:function (mode) {
return (mode & 61440) === 8192;
},isBlkdev:function (mode) {
return (mode & 61440) === 24576;
},isFIFO:function (mode) {
return (mode & 61440) === 4096;
},isSocket:function (mode) {
return (mode & 49152) === 49152;
},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function (str) {
var flags = FS.flagModes[str];
if (typeof flags === 'undefined') {
throw new Error('Unknown file open mode: ' + str);
}
return flags;
},flagsToPermissionString:function (flag) {
var perms = ['r', 'w', 'rw'][flag & 3];
if ((flag & 512)) {
perms += 'w';
}
return perms;
},nodePermissions:function (node, perms) {
if (FS.ignorePermissions) {
return 0;
}
// return 0 if any user, group or owner bits are set.
if (perms.indexOf('r') !== -1 && !(node.mode & 292)) {
return ERRNO_CODES.EACCES;
} else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) {
return ERRNO_CODES.EACCES;
} else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) {
return ERRNO_CODES.EACCES;
}
return 0;
},mayLookup:function (dir) {
var err = FS.nodePermissions(dir, 'x');
if (err) return err;
if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES;
return 0;
},mayCreate:function (dir, name) {
try {
var node = FS.lookupNode(dir, name);
return ERRNO_CODES.EEXIST;
} catch (e) {
}
return FS.nodePermissions(dir, 'wx');
},mayDelete:function (dir, name, isdir) {
var node;
try {
node = FS.lookupNode(dir, name);
} catch (e) {
return e.errno;
}
var err = FS.nodePermissions(dir, 'wx');
if (err) {
return err;
}
if (isdir) {
if (!FS.isDir(node.mode)) {
return ERRNO_CODES.ENOTDIR;
}
if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
return ERRNO_CODES.EBUSY;
}
} else {
if (FS.isDir(node.mode)) {
return ERRNO_CODES.EISDIR;
}
}
return 0;
},mayOpen:function (node, flags) {
if (!node) {
return ERRNO_CODES.ENOENT;
}
if (FS.isLink(node.mode)) {
return ERRNO_CODES.ELOOP;
} else if (FS.isDir(node.mode)) {
if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write
(flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only)
return ERRNO_CODES.EISDIR;
}
}
return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
},MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) {
fd_start = fd_start || 0;
fd_end = fd_end || FS.MAX_OPEN_FDS;
for (var fd = fd_start; fd <= fd_end; fd++) {
if (!FS.streams[fd]) {
return fd;
}
}
throw new FS.ErrnoError(ERRNO_CODES.EMFILE);
},getStream:function (fd) {
return FS.streams[fd];
},createStream:function (stream, fd_start, fd_end) {
if (!FS.FSStream) {
FS.FSStream = function(){};
FS.FSStream.prototype = {};
// compatibility
Object.defineProperties(FS.FSStream.prototype, {
object: {
get: function() { return this.node; },
set: function(val) { this.node = val; }
},
isRead: {
get: function() { return (this.flags & 2097155) !== 1; }
},
isWrite: {
get: function() { return (this.flags & 2097155) !== 0; }
},
isAppend: {
get: function() { return (this.flags & 1024); }
}
});
}
// clone it, so we can return an instance of FSStream
var newStream = new FS.FSStream();
for (var p in stream) {
newStream[p] = stream[p];
}
stream = newStream;
var fd = FS.nextfd(fd_start, fd_end);
stream.fd = fd;
FS.streams[fd] = stream;
return stream;
},closeStream:function (fd) {
FS.streams[fd] = null;
},chrdev_stream_ops:{open:function (stream) {
var device = FS.getDevice(stream.node.rdev);
// override node's stream ops with the device's
stream.stream_ops = device.stream_ops;
// forward the open call
if (stream.stream_ops.open) {
stream.stream_ops.open(stream);
}
},llseek:function () {
throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
}},major:function (dev) {
return ((dev) >> 8);
},minor:function (dev) {
return ((dev) & 0xff);
},makedev:function (ma, mi) {
return ((ma) << 8 | (mi));
},registerDevice:function (dev, ops) {
FS.devices[dev] = { stream_ops: ops };
},getDevice:function (dev) {
return FS.devices[dev];
},getMounts:function (mount) {
var mounts = [];
var check = [mount];
while (check.length) {
var m = check.pop();
mounts.push(m);
check.push.apply(check, m.mounts);
}
return mounts;
},syncfs:function (populate, callback) {
if (typeof(populate) === 'function') {
callback = populate;
populate = false;
}
FS.syncFSRequests++;
if (FS.syncFSRequests > 1) {
console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work');
}
var mounts = FS.getMounts(FS.root.mount);
var completed = 0;
function doCallback(err) {
assert(FS.syncFSRequests > 0);
FS.syncFSRequests--;
return callback(err);
}
function done(err) {
if (err) {
if (!done.errored) {
done.errored = true;
return doCallback(err);
}
return;
}
if (++completed >= mounts.length) {
doCallback(null);
}
};
// sync all mounts
mounts.forEach(function (mount) {
if (!mount.type.syncfs) {
return done(null);
}
mount.type.syncfs(mount, populate, done);
});
},mount:function (type, opts, mountpoint) {
var root = mountpoint === '/';
var pseudo = !mountpoint;
var node;
if (root && FS.root) {
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
} else if (!root && !pseudo) {
var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
mountpoint = lookup.path; // use the absolute path
node = lookup.node;
if (FS.isMountpoint(node)) {
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
}
if (!FS.isDir(node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
}
}
var mount = {
type: type,
opts: opts,
mountpoint: mountpoint,
mounts: []
};
// create a root node for the fs
var mountRoot = type.mount(mount);
mountRoot.mount = mount;
mount.root = mountRoot;
if (root) {
FS.root = mountRoot;
} else if (node) {
// set as a mountpoint
node.mounted = mount;
// add the new mount to the current mount's children
if (node.mount) {
node.mount.mounts.push(mount);
}
}
return mountRoot;
},unmount:function (mountpoint) {
var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
if (!FS.isMountpoint(lookup.node)) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
// destroy the nodes for this mount, and all its child mounts
var node = lookup.node;
var mount = node.mounted;
var mounts = FS.getMounts(mount);
Object.keys(FS.nameTable).forEach(function (hash) {
var current = FS.nameTable[hash];
while (current) {
var next = current.name_next;
if (mounts.indexOf(current.mount) !== -1) {
FS.destroyNode(current);
}
current = next;
}
});
// no longer a mountpoint
node.mounted = null;
// remove this mount from the child mounts
var idx = node.mount.mounts.indexOf(mount);
assert(idx !== -1);
node.mount.mounts.splice(idx, 1);
},lookup:function (parent, name) {
return parent.node_ops.lookup(parent, name);
},mknod:function (path, mode, dev) {
var lookup = FS.lookupPath(path, { parent: true });
var parent = lookup.node;
var name = PATH.basename(path);
if (!name || name === '.' || name === '..') {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
var err = FS.mayCreate(parent, name);
if (err) {
throw new FS.ErrnoError(err);
}
if (!parent.node_ops.mknod) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
return parent.node_ops.mknod(parent, name, mode, dev);
},create:function (path, mode) {
mode = mode !== undefined ? mode : 438 /* 0666 */;
mode &= 4095;
mode |= 32768;
return FS.mknod(path, mode, 0);
},mkdir:function (path, mode) {
mode = mode !== undefined ? mode : 511 /* 0777 */;
mode &= 511 | 512;
mode |= 16384;
return FS.mknod(path, mode, 0);
},mkdev:function (path, mode, dev) {
if (typeof(dev) === 'undefined') {
dev = mode;
mode = 438 /* 0666 */;
}
mode |= 8192;
return FS.mknod(path, mode, dev);
},symlink:function (oldpath, newpath) {
if (!PATH.resolve(oldpath)) {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
}
var lookup = FS.lookupPath(newpath, { parent: true });
var parent = lookup.node;
if (!parent) {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
}
var newname = PATH.basename(newpath);
var err = FS.mayCreate(parent, newname);
if (err) {
throw new FS.ErrnoError(err);
}
if (!parent.node_ops.symlink) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
return parent.node_ops.symlink(parent, newname, oldpath);
},rename:function (old_path, new_path) {
var old_dirname = PATH.dirname(old_path);
var new_dirname = PATH.dirname(new_path);
var old_name = PATH.basename(old_path);
var new_name = PATH.basename(new_path);
// parents must exist
var lookup, old_dir, new_dir;
try {
lookup = FS.lookupPath(old_path, { parent: true });
old_dir = lookup.node;
lookup = FS.lookupPath(new_path, { parent: true });
new_dir = lookup.node;
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
}
if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
// need to be part of the same mount
if (old_dir.mount !== new_dir.mount) {
throw new FS.ErrnoError(ERRNO_CODES.EXDEV);
}
// source must exist
var old_node = FS.lookupNode(old_dir, old_name);
// old path should not be an ancestor of the new path
var relative = PATH.relative(old_path, new_dirname);
if (relative.charAt(0) !== '.') {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
// new path should not be an ancestor of the old path
relative = PATH.relative(new_path, old_dirname);
if (relative.charAt(0) !== '.') {
throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
}
// see if the new path already exists
var new_node;
try {
new_node = FS.lookupNode(new_dir, new_name);
} catch (e) {
// not fatal
}
// early out if nothing needs to change
if (old_node === new_node) {
return;
}
// we'll need to delete the old entry
var isdir = FS.isDir(old_node.mode);
var err = FS.mayDelete(old_dir, old_name, isdir);
if (err) {
throw new FS.ErrnoError(err);
}
// need delete permissions if we'll be overwriting.
// need create permissions if new doesn't already exist.
err = new_node ?
FS.mayDelete(new_dir, new_name, isdir) :
FS.mayCreate(new_dir, new_name);
if (err) {
throw new FS.ErrnoError(err);
}
if (!old_dir.node_ops.rename) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) {
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
}
// if we are going to change the parent, check write permissions
if (new_dir !== old_dir) {
err = FS.nodePermissions(old_dir, 'w');
if (err) {
throw new FS.ErrnoError(err);
}
}
try {
if (FS.trackingDelegate['willMovePath']) {
FS.trackingDelegate['willMovePath'](old_path, new_path);
}
} catch(e) {
console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message);
}
// remove the node from the lookup hash
FS.hashRemoveNode(old_node);
// do the underlying fs rename
try {
old_dir.node_ops.rename(old_node, new_dir, new_name);
} catch (e) {
throw e;
} finally {
// add the node back to the hash (in case node_ops.rename
// changed its name)
FS.hashAddNode(old_node);
}
try {
if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path);
} catch(e) {
console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message);
}
},rmdir:function (path) {
var lookup = FS.lookupPath(path, { parent: true });
var parent = lookup.node;
var name = PATH.basename(path);
var node = FS.lookupNode(parent, name);
var err = FS.mayDelete(parent, name, true);
if (err) {
throw new FS.ErrnoError(err);
}
if (!parent.node_ops.rmdir) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
if (FS.isMountpoint(node)) {
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
}
try {
if (FS.trackingDelegate['willDeletePath']) {
FS.trackingDelegate['willDeletePath'](path);
}
} catch(e) {
console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message);
}
parent.node_ops.rmdir(parent, name);
FS.destroyNode(node);
try {
if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path);
} catch(e) {
console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message);
}
},readdir:function (path) {
var lookup = FS.lookupPath(path, { follow: true });
var node = lookup.node;
if (!node.node_ops.readdir) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
}
return node.node_ops.readdir(node);
},unlink:function (path) {
var lookup = FS.lookupPath(path, { parent: true });
var parent = lookup.node;
var name = PATH.basename(path);
var node = FS.lookupNode(parent, name);
var err = FS.mayDelete(parent, name, false);
if (err) {
// POSIX says unlink should set EPERM, not EISDIR
if (err === ERRNO_CODES.EISDIR) err = ERRNO_CODES.EPERM;
throw new FS.ErrnoError(err);
}
if (!parent.node_ops.unlink) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
if (FS.isMountpoint(node)) {
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
}
try {
if (FS.trackingDelegate['willDeletePath']) {
FS.trackingDelegate['willDeletePath'](path);
}
} catch(e) {
console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message);
}
parent.node_ops.unlink(parent, name);
FS.destroyNode(node);
try {
if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path);
} catch(e) {
console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message);
}
},readlink:function (path) {
var lookup = FS.lookupPath(path);
var link = lookup.node;
if (!link) {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
}
if (!link.node_ops.readlink) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));
},stat:function (path, dontFollow) {
var lookup = FS.lookupPath(path, { follow: !dontFollow });
var node = lookup.node;
if (!node) {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
}
if (!node.node_ops.getattr) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
return node.node_ops.getattr(node);
},lstat:function (path) {
return FS.stat(path, true);
},chmod:function (path, mode, dontFollow) {
var node;
if (typeof path === 'string') {
var lookup = FS.lookupPath(path, { follow: !dontFollow });
node = lookup.node;
} else {
node = path;
}
if (!node.node_ops.setattr) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
node.node_ops.setattr(node, {
mode: (mode & 4095) | (node.mode & ~4095),
timestamp: Date.now()
});
},lchmod:function (path, mode) {
FS.chmod(path, mode, true);
},fchmod:function (fd, mode) {
var stream = FS.getStream(fd);
if (!stream) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
FS.chmod(stream.node, mode);
},chown:function (path, uid, gid, dontFollow) {
var node;
if (typeof path === 'string') {
var lookup = FS.lookupPath(path, { follow: !dontFollow });
node = lookup.node;
} else {
node = path;
}
if (!node.node_ops.setattr) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
node.node_ops.setattr(node, {
timestamp: Date.now()
// we ignore the uid / gid for now
});
},lchown:function (path, uid, gid) {
FS.chown(path, uid, gid, true);
},fchown:function (fd, uid, gid) {
var stream = FS.getStream(fd);
if (!stream) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
FS.chown(stream.node, uid, gid);
},truncate:function (path, len) {
if (len < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
var node;
if (typeof path === 'string') {
var lookup = FS.lookupPath(path, { follow: true });
node = lookup.node;
} else {
node = path;
}
if (!node.node_ops.setattr) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
if (FS.isDir(node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
}
if (!FS.isFile(node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
var err = FS.nodePermissions(node, 'w');
if (err) {
throw new FS.ErrnoError(err);
}
node.node_ops.setattr(node, {
size: len,
timestamp: Date.now()
});
},ftruncate:function (fd, len) {
var stream = FS.getStream(fd);
if (!stream) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
if ((stream.flags & 2097155) === 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
FS.truncate(stream.node, len);
},utime:function (path, atime, mtime) {
var lookup = FS.lookupPath(path, { follow: true });
var node = lookup.node;
node.node_ops.setattr(node, {
timestamp: Math.max(atime, mtime)
});
},open:function (path, flags, mode, fd_start, fd_end) {
if (path === "") {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
}
flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags;
mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode;
if ((flags & 64)) {
mode = (mode & 4095) | 32768;
} else {
mode = 0;
}
var node;
if (typeof path === 'object') {
node = path;
} else {
path = PATH.normalize(path);
try {
var lookup = FS.lookupPath(path, {
follow: !(flags & 131072)
});
node = lookup.node;
} catch (e) {
// ignore
}
}
// perhaps we need to create the node
var created = false;
if ((flags & 64)) {
if (node) {
// if O_CREAT and O_EXCL are set, error out if the node already exists
if ((flags & 128)) {
throw new FS.ErrnoError(ERRNO_CODES.EEXIST);
}
} else {
// node doesn't exist, try to create it
node = FS.mknod(path, mode, 0);
created = true;
}
}
if (!node) {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
}
// can't truncate a device
if (FS.isChrdev(node.mode)) {
flags &= ~512;
}
// if asked only for a directory, then this must be one
if ((flags & 65536) && !FS.isDir(node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
}
// check permissions, if this is not a file we just created now (it is ok to
// create and write to a file with read-only permissions; it is read-only
// for later use)
if (!created) {
var err = FS.mayOpen(node, flags);
if (err) {
throw new FS.ErrnoError(err);
}
}
// do truncation if necessary
if ((flags & 512)) {
FS.truncate(node, 0);
}
// we've already handled these, don't pass down to the underlying vfs
flags &= ~(128 | 512);
// register the stream with the filesystem
var stream = FS.createStream({
node: node,
path: FS.getPath(node), // we want the absolute path to the node
flags: flags,
seekable: true,
position: 0,
stream_ops: node.stream_ops,
// used by the file family libc calls (fopen, fwrite, ferror, etc.)
ungotten: [],
error: false
}, fd_start, fd_end);
// call the new stream's open function
if (stream.stream_ops.open) {
stream.stream_ops.open(stream);
}
if (Module['logReadFiles'] && !(flags & 1)) {
if (!FS.readFiles) FS.readFiles = {};
if (!(path in FS.readFiles)) {
FS.readFiles[path] = 1;
Module['printErr']('read file: ' + path);
}
}
try {
if (FS.trackingDelegate['onOpenFile']) {
var trackingFlags = 0;
if ((flags & 2097155) !== 1) {
trackingFlags |= FS.tracking.openFlags.READ;
}
if ((flags & 2097155) !== 0) {
trackingFlags |= FS.tracking.openFlags.WRITE;
}
FS.trackingDelegate['onOpenFile'](path, trackingFlags);
}
} catch(e) {
console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message);
}
return stream;
},close:function (stream) {
if (stream.getdents) stream.getdents = null; // free readdir state
try {
if (stream.stream_ops.close) {
stream.stream_ops.close(stream);
}
} catch (e) {
throw e;
} finally {
FS.closeStream(stream.fd);
}
},llseek:function (stream, offset, whence) {
if (!stream.seekable || !stream.stream_ops.llseek) {
throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
}
stream.position = stream.stream_ops.llseek(stream, offset, whence);
stream.ungotten = [];
return stream.position;
},read:function (stream, buffer, offset, length, position) {
if (length < 0 || position < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
if ((stream.flags & 2097155) === 1) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
if (FS.isDir(stream.node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
}
if (!stream.stream_ops.read) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
var seeking = true;
if (typeof position === 'undefined') {
position = stream.position;
seeking = false;
} else if (!stream.seekable) {
throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
}
var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);
if (!seeking) stream.position += bytesRead;
return bytesRead;
},write:function (stream, buffer, offset, length, position, canOwn) {
if (length < 0 || position < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
if ((stream.flags & 2097155) === 0) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
if (FS.isDir(stream.node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
}
if (!stream.stream_ops.write) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
if (stream.flags & 1024) {
// seek to the end before writing in append mode
FS.llseek(stream, 0, 2);
}
var seeking = true;
if (typeof position === 'undefined') {
position = stream.position;
seeking = false;
} else if (!stream.seekable) {
throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
}
var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);
if (!seeking) stream.position += bytesWritten;
try {
if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path);
} catch(e) {
console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message);
}
return bytesWritten;
},allocate:function (stream, offset, length) {
if (offset < 0 || length <= 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
if ((stream.flags & 2097155) === 0) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
if (!FS.isFile(stream.node.mode) && !FS.isDir(node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
}
if (!stream.stream_ops.allocate) {
throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);
}
stream.stream_ops.allocate(stream, offset, length);
},mmap:function (stream, buffer, offset, length, position, prot, flags) {
// TODO if PROT is PROT_WRITE, make sure we have write access
if ((stream.flags & 2097155) === 1) {
throw new FS.ErrnoError(ERRNO_CODES.EACCES);
}
if (!stream.stream_ops.mmap) {
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
}
return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags);
},msync:function (stream, buffer, offset, length, mmapFlags) {
if (!stream || !stream.stream_ops.msync) {
return 0;
}
return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);
},munmap:function (stream) {
return 0;
},ioctl:function (stream, cmd, arg) {
if (!stream.stream_ops.ioctl) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTTY);
}
return stream.stream_ops.ioctl(stream, cmd, arg);
},readFile:function (path, opts) {
opts = opts || {};
opts.flags = opts.flags || 'r';
opts.encoding = opts.encoding || 'binary';
if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') {
throw new Error('Invalid encoding type "' + opts.encoding + '"');
}
var ret;
var stream = FS.open(path, opts.flags);
var stat = FS.stat(path);
var length = stat.size;
var buf = new Uint8Array(length);
FS.read(stream, buf, 0, length, 0);
if (opts.encoding === 'utf8') {
ret = UTF8ArrayToString(buf, 0);
} else if (opts.encoding === 'binary') {
ret = buf;
}
FS.close(stream);
return ret;
},writeFile:function (path, data, opts) {
opts = opts || {};
opts.flags = opts.flags || 'w';
opts.encoding = opts.encoding || 'utf8';
if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') {
throw new Error('Invalid encoding type "' + opts.encoding + '"');
}
var stream = FS.open(path, opts.flags, opts.mode);
if (opts.encoding === 'utf8') {
var buf = new Uint8Array(lengthBytesUTF8(data)+1);
var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);
FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn);
} else if (opts.encoding === 'binary') {
FS.write(stream, data, 0, data.length, 0, opts.canOwn);
}
FS.close(stream);
},cwd:function () {
return FS.currentPath;
},chdir:function (path) {
var lookup = FS.lookupPath(path, { follow: true });
if (!FS.isDir(lookup.node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
}
var err = FS.nodePermissions(lookup.node, 'x');
if (err) {
throw new FS.ErrnoError(err);
}
FS.currentPath = lookup.path;
},createDefaultDirectories:function () {
FS.mkdir('/tmp');
FS.mkdir('/home');
FS.mkdir('/home/web_user');
},createDefaultDevices:function () {
// create /dev
FS.mkdir('/dev');
// setup /dev/null
FS.registerDevice(FS.makedev(1, 3), {
read: function() { return 0; },
write: function(stream, buffer, offset, length, pos) { return length; }
});
FS.mkdev('/dev/null', FS.makedev(1, 3));
// setup /dev/tty and /dev/tty1
// stderr needs to print output using Module['printErr']
// so we register a second tty just for it.
TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
FS.mkdev('/dev/tty', FS.makedev(5, 0));
FS.mkdev('/dev/tty1', FS.makedev(6, 0));
// setup /dev/[u]random
var random_device;
if (typeof crypto !== 'undefined') {
// for modern web browsers
var randomBuffer = new Uint8Array(1);
random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; };
} else if (ENVIRONMENT_IS_NODE) {
// for nodejs
random_device = function() { return require('crypto').randomBytes(1)[0]; };
} else {
// default for ES5 platforms
random_device = function() { return (Math.random()*256)|0; };
}
FS.createDevice('/dev', 'random', random_device);
FS.createDevice('/dev', 'urandom', random_device);
// we're not going to emulate the actual shm device,
// just create the tmp dirs that reside in it commonly
FS.mkdir('/dev/shm');
FS.mkdir('/dev/shm/tmp');
},createSpecialDirectories:function () {
// create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname)
FS.mkdir('/proc');
FS.mkdir('/proc/self');
FS.mkdir('/proc/self/fd');
FS.mount({
mount: function() {
var node = FS.createNode('/proc/self', 'fd', 16384 | 0777, 73);
node.node_ops = {
lookup: function(parent, name) {
var fd = +name;
var stream = FS.getStream(fd);
if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
var ret = {
parent: null,
mount: { mountpoint: 'fake' },
node_ops: { readlink: function() { return stream.path } }
};
ret.parent = ret; // make it look like a simple root node
return ret;
}
};
return node;
}
}, {}, '/proc/self/fd');
},createStandardStreams:function () {
// TODO deprecate the old functionality of a single
// input / output callback and that utilizes FS.createDevice
// and instead require a unique set of stream ops
// by default, we symlink the standard streams to the
// default tty devices. however, if the standard streams
// have been overwritten we create a unique device for
// them instead.
if (Module['stdin']) {
FS.createDevice('/dev', 'stdin', Module['stdin']);
} else {
FS.symlink('/dev/tty', '/dev/stdin');
}
if (Module['stdout']) {
FS.createDevice('/dev', 'stdout', null, Module['stdout']);
} else {
FS.symlink('/dev/tty', '/dev/stdout');
}
if (Module['stderr']) {
FS.createDevice('/dev', 'stderr', null, Module['stderr']);
} else {
FS.symlink('/dev/tty1', '/dev/stderr');
}
// open default streams for the stdin, stdout and stderr devices
var stdin = FS.open('/dev/stdin', 'r');
assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')');
var stdout = FS.open('/dev/stdout', 'w');
assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')');
var stderr = FS.open('/dev/stderr', 'w');
assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')');
},ensureErrnoError:function () {
if (FS.ErrnoError) return;
FS.ErrnoError = function ErrnoError(errno, node) {
//Module.printErr(stackTrace()); // useful for debugging
this.node = node;
this.setErrno = function(errno) {
this.errno = errno;
for (var key in ERRNO_CODES) {
if (ERRNO_CODES[key] === errno) {
this.code = key;
break;
}
}
};
this.setErrno(errno);
this.message = ERRNO_MESSAGES[errno];
if (this.stack) this.stack = demangleAll(this.stack);
};
FS.ErrnoError.prototype = new Error();
FS.ErrnoError.prototype.constructor = FS.ErrnoError;
// Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info)
[ERRNO_CODES.ENOENT].forEach(function(code) {
FS.genericErrors[code] = new FS.ErrnoError(code);
FS.genericErrors[code].stack = '<generic error, no stack>';
});
},staticInit:function () {
FS.ensureErrnoError();
FS.nameTable = new Array(4096);
FS.mount(MEMFS, {}, '/');
FS.createDefaultDirectories();
FS.createDefaultDevices();
FS.createSpecialDirectories();
FS.filesystems = {
'MEMFS': MEMFS,
'IDBFS': IDBFS,
'NODEFS': NODEFS,
'WORKERFS': WORKERFS,
};
},init:function (input, output, error) {
assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)');
FS.init.initialized = true;
FS.ensureErrnoError();
// Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here
Module['stdin'] = input || Module['stdin'];
Module['stdout'] = output || Module['stdout'];
Module['stderr'] = error || Module['stderr'];
FS.createStandardStreams();
},quit:function () {
FS.init.initialized = false;
// force-flush all streams, so we get musl std streams printed out
var fflush = Module['_fflush'];
if (fflush) fflush(0);
// close all of our streams
for (var i = 0; i < FS.streams.length; i++) {
var stream = FS.streams[i];
if (!stream) {
continue;
}
FS.close(stream);
}
},getMode:function (canRead, canWrite) {
var mode = 0;
if (canRead) mode |= 292 | 73;
if (canWrite) mode |= 146;
return mode;
},joinPath:function (parts, forceRelative) {
var path = PATH.join.apply(null, parts);
if (forceRelative && path[0] == '/') path = path.substr(1);
return path;
},absolutePath:function (relative, base) {
return PATH.resolve(base, relative);
},standardizePath:function (path) {
return PATH.normalize(path);
},findObject:function (path, dontResolveLastLink) {
var ret = FS.analyzePath(path, dontResolveLastLink);
if (ret.exists) {
return ret.object;
} else {
___setErrNo(ret.error);
return null;
}
},analyzePath:function (path, dontResolveLastLink) {
// operate from within the context of the symlink's target
try {
var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
path = lookup.path;
} catch (e) {
}
var ret = {
isRoot: false, exists: false, error: 0, name: null, path: null, object: null,
parentExists: false, parentPath: null, parentObject: null
};
try {
var lookup = FS.lookupPath(path, { parent: true });
ret.parentExists = true;
ret.parentPath = lookup.path;
ret.parentObject = lookup.node;
ret.name = PATH.basename(path);
lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
ret.exists = true;
ret.path = lookup.path;
ret.object = lookup.node;
ret.name = lookup.node.name;
ret.isRoot = lookup.path === '/';
} catch (e) {
ret.error = e.errno;
};
return ret;
},createFolder:function (parent, name, canRead, canWrite) {
var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
var mode = FS.getMode(canRead, canWrite);
return FS.mkdir(path, mode);
},createPath:function (parent, path, canRead, canWrite) {
parent = typeof parent === 'string' ? parent : FS.getPath(parent);
var parts = path.split('/').reverse();
while (parts.length) {
var part = parts.pop();
if (!part) continue;
var current = PATH.join2(parent, part);
try {
FS.mkdir(current);
} catch (e) {
// ignore EEXIST
}
parent = current;
}
return current;
},createFile:function (parent, name, properties, canRead, canWrite) {
var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
var mode = FS.getMode(canRead, canWrite);
return FS.create(path, mode);
},createDataFile:function (parent, name, data, canRead, canWrite, canOwn) {
var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent;
var mode = FS.getMode(canRead, canWrite);
var node = FS.create(path, mode);
if (data) {
if (typeof data === 'string') {
var arr = new Array(data.length);
for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);
data = arr;
}
// make sure we can write to the file
FS.chmod(node, mode | 146);
var stream = FS.open(node, 'w');
FS.write(stream, data, 0, data.length, 0, canOwn);
FS.close(stream);
FS.chmod(node, mode);
}
return node;
},createDevice:function (parent, name, input, output) {
var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
var mode = FS.getMode(!!input, !!output);
if (!FS.createDevice.major) FS.createDevice.major = 64;
var dev = FS.makedev(FS.createDevice.major++, 0);
// Create a fake device that a set of stream ops to emulate
// the old behavior.
FS.registerDevice(dev, {
open: function(stream) {
stream.seekable = false;
},
close: function(stream) {
// flush any pending line data
if (output && output.buffer && output.buffer.length) {
output(10);
}
},
read: function(stream, buffer, offset, length, pos /* ignored */) {
var bytesRead = 0;
for (var i = 0; i < length; i++) {
var result;
try {
result = input();
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
if (result === undefined && bytesRead === 0) {
throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
}
if (result === null || result === undefined) break;
bytesRead++;
buffer[offset+i] = result;
}
if (bytesRead) {
stream.node.timestamp = Date.now();
}
return bytesRead;
},
write: function(stream, buffer, offset, length, pos) {
for (var i = 0; i < length; i++) {
try {
output(buffer[offset+i]);
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
}
if (length) {
stream.node.timestamp = Date.now();
}
return i;
}
});
return FS.mkdev(path, mode, dev);
},createLink:function (parent, name, target, canRead, canWrite) {
var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
return FS.symlink(target, path);
},forceLoadFile:function (obj) {
if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;
var success = true;
if (typeof XMLHttpRequest !== 'undefined') {
throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
} else if (Module['read']) {
// Command-line.
try {
// WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as
// read() will try to parse UTF8.
obj.contents = intArrayFromString(Module['read'](obj.url), true);
obj.usedBytes = obj.contents.length;
} catch (e) {
success = false;
}
} else {
throw new Error('Cannot load without read() or XMLHttpRequest.');
}
if (!success) ___setErrNo(ERRNO_CODES.EIO);
return success;
},createLazyFile:function (parent, name, url, canRead, canWrite) {
// Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse.
function LazyUint8Array() {
this.lengthKnown = false;
this.chunks = []; // Loaded chunks. Index is the chunk number
}
LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {
if (idx > this.length-1 || idx < 0) {
return undefined;
}
var chunkOffset = idx % this.chunkSize;
var chunkNum = (idx / this.chunkSize)|0;
return this.getter(chunkNum)[chunkOffset];
}
LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {
this.getter = getter;
}
LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {
// Find length
var xhr = new XMLHttpRequest();
xhr.open('HEAD', url, false);
xhr.send(null);
if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
var datalength = Number(xhr.getResponseHeader("Content-length"));
var header;
var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip";
var chunkSize = 1024*1024; // Chunk size in bytes
if (!hasByteServing) chunkSize = datalength;
// Function to get a range from the remote URL.
var doXHR = (function(from, to) {
if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!");
if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!");
// TODO: Use mozResponseArrayBuffer, responseStream, etc. if available.
var xhr = new XMLHttpRequest();
xhr.open('GET', url, false);
if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);
// Some hints to the browser that we want binary data.
if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer';
if (xhr.overrideMimeType) {
xhr.overrideMimeType('text/plain; charset=x-user-defined');
}
xhr.send(null);
if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
if (xhr.response !== undefined) {
return new Uint8Array(xhr.response || []);
} else {
return intArrayFromString(xhr.responseText || '', true);
}
});
var lazyArray = this;
lazyArray.setDataGetter(function(chunkNum) {
var start = chunkNum * chunkSize;
var end = (chunkNum+1) * chunkSize - 1; // including this byte
end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block
if (typeof(lazyArray.chunks[chunkNum]) === "undefined") {
lazyArray.chunks[chunkNum] = doXHR(start, end);
}
if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!");
return lazyArray.chunks[chunkNum];
});
if (usesGzip || !datalength) {
// if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length
chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file
datalength = this.getter(0).length;
chunkSize = datalength;
console.log("LazyFiles on gzip forces download of the whole file when length is accessed");
}
this._length = datalength;
this._chunkSize = chunkSize;
this.lengthKnown = true;
}
if (typeof XMLHttpRequest !== 'undefined') {
if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc';
var lazyArray = new LazyUint8Array();
Object.defineProperties(lazyArray, {
length: {
get: function() {
if(!this.lengthKnown) {
this.cacheLength();
}
return this._length;
}
},
chunkSize: {
get: function() {
if(!this.lengthKnown) {
this.cacheLength();
}
return this._chunkSize;
}
}
});
var properties = { isDevice: false, contents: lazyArray };
} else {
var properties = { isDevice: false, url: url };
}
var node = FS.createFile(parent, name, properties, canRead, canWrite);
// This is a total hack, but I want to get this lazy file code out of the
// core of MEMFS. If we want to keep this lazy file concept I feel it should
// be its own thin LAZYFS proxying calls to MEMFS.
if (properties.contents) {
node.contents = properties.contents;
} else if (properties.url) {
node.contents = null;
node.url = properties.url;
}
// Add a function that defers querying the file size until it is asked the first time.
Object.defineProperties(node, {
usedBytes: {
get: function() { return this.contents.length; }
}
});
// override each stream op with one that tries to force load the lazy file first
var stream_ops = {};
var keys = Object.keys(node.stream_ops);
keys.forEach(function(key) {
var fn = node.stream_ops[key];
stream_ops[key] = function forceLoadLazyFile() {
if (!FS.forceLoadFile(node)) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
return fn.apply(null, arguments);
};
});
// use a custom read function
stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) {
if (!FS.forceLoadFile(node)) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
var contents = stream.node.contents;
if (position >= contents.length)
return 0;
var size = Math.min(contents.length - position, length);
assert(size >= 0);
if (contents.slice) { // normal array
for (var i = 0; i < size; i++) {
buffer[offset + i] = contents[position + i];
}
} else {
for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR
buffer[offset + i] = contents.get(position + i);
}
}
return size;
};
node.stream_ops = stream_ops;
return node;
},createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) {
Browser.init(); // XXX perhaps this method should move onto Browser?
// TODO we should allow people to just pass in a complete filename instead
// of parent and name being that we just join them anyways
var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent;
var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname
function processData(byteArray) {
function finish(byteArray) {
if (preFinish) preFinish();
if (!dontCreateFile) {
FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);
}
if (onload) onload();
removeRunDependency(dep);
}
var handled = false;
Module['preloadPlugins'].forEach(function(plugin) {
if (handled) return;
if (plugin['canHandle'](fullname)) {
plugin['handle'](byteArray, fullname, finish, function() {
if (onerror) onerror();
removeRunDependency(dep);
});
handled = true;
}
});
if (!handled) finish(byteArray);
}
addRunDependency(dep);
if (typeof url == 'string') {
Browser.asyncLoad(url, function(byteArray) {
processData(byteArray);
}, onerror);
} else {
processData(url);
}
},indexedDB:function () {
return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
},DB_NAME:function () {
return 'EM_FS_' + window.location.pathname;
},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function (paths, onload, onerror) {
onload = onload || function(){};
onerror = onerror || function(){};
var indexedDB = FS.indexedDB();
try {
var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
} catch (e) {
return onerror(e);
}
openRequest.onupgradeneeded = function openRequest_onupgradeneeded() {
console.log('creating db');
var db = openRequest.result;
db.createObjectStore(FS.DB_STORE_NAME);
};
openRequest.onsuccess = function openRequest_onsuccess() {
var db = openRequest.result;
var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite');
var files = transaction.objectStore(FS.DB_STORE_NAME);
var ok = 0, fail = 0, total = paths.length;
function finish() {
if (fail == 0) onload(); else onerror();
}
paths.forEach(function(path) {
var putRequest = files.put(FS.analyzePath(path).object.contents, path);
putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() };
putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() };
});
transaction.onerror = onerror;
};
openRequest.onerror = onerror;
},loadFilesFromDB:function (paths, onload, onerror) {
onload = onload || function(){};
onerror = onerror || function(){};
var indexedDB = FS.indexedDB();
try {
var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
} catch (e) {
return onerror(e);
}
openRequest.onupgradeneeded = onerror; // no database to load from
openRequest.onsuccess = function openRequest_onsuccess() {
var db = openRequest.result;
try {
var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly');
} catch(e) {
onerror(e);
return;
}
var files = transaction.objectStore(FS.DB_STORE_NAME);
var ok = 0, fail = 0, total = paths.length;
function finish() {
if (fail == 0) onload(); else onerror();
}
paths.forEach(function(path) {
var getRequest = files.get(path);
getRequest.onsuccess = function getRequest_onsuccess() {
if (FS.analyzePath(path).exists) {
FS.unlink(path);
}
FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);
ok++;
if (ok + fail == total) finish();
};
getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() };
});
transaction.onerror = onerror;
};
openRequest.onerror = onerror;
}};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) {
if (path[0] !== '/') {
// relative path
var dir;
if (dirfd === -100) {
dir = FS.cwd();
} else {
var dirstream = FS.getStream(dirfd);
if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
dir = dirstream.path;
}
path = PATH.join2(dir, path);
}
return path;
},doStat:function (func, path, buf) {
try {
var stat = func(path);
} catch (e) {
if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {
// an error occurred while trying to look up the path; we should just report ENOTDIR
return -ERRNO_CODES.ENOTDIR;
}
throw e;
}
HEAP32[((buf)>>2)]=stat.dev;
HEAP32[(((buf)+(4))>>2)]=0;
HEAP32[(((buf)+(8))>>2)]=stat.ino;
HEAP32[(((buf)+(12))>>2)]=stat.mode;
HEAP32[(((buf)+(16))>>2)]=stat.nlink;
HEAP32[(((buf)+(20))>>2)]=stat.uid;
HEAP32[(((buf)+(24))>>2)]=stat.gid;
HEAP32[(((buf)+(28))>>2)]=stat.rdev;
HEAP32[(((buf)+(32))>>2)]=0;
HEAP32[(((buf)+(36))>>2)]=stat.size;
HEAP32[(((buf)+(40))>>2)]=4096;
HEAP32[(((buf)+(44))>>2)]=stat.blocks;
HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0;
HEAP32[(((buf)+(52))>>2)]=0;
HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0;
HEAP32[(((buf)+(60))>>2)]=0;
HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0;
HEAP32[(((buf)+(68))>>2)]=0;
HEAP32[(((buf)+(72))>>2)]=stat.ino;
return 0;
},doMsync:function (addr, stream, len, flags) {
var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len));
FS.msync(stream, buffer, 0, len, flags);
},doMkdir:function (path, mode) {
// remove a trailing slash, if one - /a/b/ has basename of '', but
// we want to create b in the context of this function
path = PATH.normalize(path);
if (path[path.length-1] === '/') path = path.substr(0, path.length-1);
FS.mkdir(path, mode, 0);
return 0;
},doMknod:function (path, mode, dev) {
// we don't want this in the JS API as it uses mknod to create all nodes.
switch (mode & 61440) {
case 32768:
case 8192:
case 24576:
case 4096:
case 49152:
break;
default: return -ERRNO_CODES.EINVAL;
}
FS.mknod(path, mode, dev);
return 0;
},doReadlink:function (path, buf, bufsize) {
if (bufsize <= 0) return -ERRNO_CODES.EINVAL;
var ret = FS.readlink(path);
ret = ret.slice(0, Math.max(0, bufsize));
writeStringToMemory(ret, buf, true);
return ret.length;
},doAccess:function (path, amode) {
if (amode & ~7) {
// need a valid mode
return -ERRNO_CODES.EINVAL;
}
var node;
var lookup = FS.lookupPath(path, { follow: true });
node = lookup.node;
var perms = '';
if (amode & 4) perms += 'r';
if (amode & 2) perms += 'w';
if (amode & 1) perms += 'x';
if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) {
return -ERRNO_CODES.EACCES;
}
return 0;
},doDup:function (path, flags, suggestFD) {
var suggest = FS.getStream(suggestFD);
if (suggest) FS.close(suggest);
return FS.open(path, flags, 0, suggestFD, suggestFD).fd;
},doReadv:function (stream, iov, iovcnt, offset) {
var ret = 0;
for (var i = 0; i < iovcnt; i++) {
var ptr = HEAP32[(((iov)+(i*8))>>2)];
var len = HEAP32[(((iov)+(i*8 + 4))>>2)];
var curr = FS.read(stream, HEAP8,ptr, len, offset);
if (curr < 0) return -1;
ret += curr;
if (curr < len) break; // nothing more to read
}
return ret;
},doWritev:function (stream, iov, iovcnt, offset) {
var ret = 0;
for (var i = 0; i < iovcnt; i++) {
var ptr = HEAP32[(((iov)+(i*8))>>2)];
var len = HEAP32[(((iov)+(i*8 + 4))>>2)];
var curr = FS.write(stream, HEAP8,ptr, len, offset);
if (curr < 0) return -1;
ret += curr;
}
return ret;
},varargs:0,get:function (varargs) {
SYSCALLS.varargs += 4;
var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)];
return ret;
},getStr:function () {
var ret = Pointer_stringify(SYSCALLS.get());
return ret;
},getStreamFromFD:function () {
var stream = FS.getStream(SYSCALLS.get());
if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
return stream;
},getSocketFromFD:function () {
var socket = SOCKFS.getSocket(SYSCALLS.get());
if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
return socket;
},getSocketAddress:function (allowNull) {
var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get();
if (allowNull && addrp === 0) return null;
var info = __read_sockaddr(addrp, addrlen);
if (info.errno) throw new FS.ErrnoError(info.errno);
info.addr = DNS.lookup_addr(info.addr) || info.addr;
return info;
},get64:function () {
var low = SYSCALLS.get(), high = SYSCALLS.get();
if (low >= 0) assert(high === 0);
else assert(high === -1);
return low;
},getZero:function () {
assert(SYSCALLS.get() === 0);
}};function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs;
try {
// ioctl
var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get();
switch (op) {
case 21505: {
if (!stream.tty) return -ERRNO_CODES.ENOTTY;
return 0;
}
case 21506: {
if (!stream.tty) return -ERRNO_CODES.ENOTTY;
return 0; // no-op, not actually adjusting terminal settings
}
case 21519: {
if (!stream.tty) return -ERRNO_CODES.ENOTTY;
var argp = SYSCALLS.get();
HEAP32[((argp)>>2)]=0;
return 0;
}
case 21520: {
if (!stream.tty) return -ERRNO_CODES.ENOTTY;
return -ERRNO_CODES.EINVAL; // not supported
}
case 21531: {
var argp = SYSCALLS.get();
return FS.ioctl(stream, op, argp);
}
default: abort('bad ioctl syscall ' + op);
}
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function __Unwind_GetIPInfo() {
abort('Unwind_GetIPInfo');
}
function __emscripten_traverse_stack(args) {
if (!args || !args.callee || !args.callee.name) {
return [null, '', ''];
}
var funstr = args.callee.toString();
var funcname = args.callee.name;
var str = '(';
var first = true;
for(i in args) {
var a = args[i];
if (!first) {
str += ", ";
}
first = false;
if (typeof a === 'number' || typeof a === 'string') {
str += a;
} else {
str += '(' + typeof a + ')';
}
}
str += ')';
var caller = args.callee.caller;
args = caller ? caller.arguments : [];
if (first)
str = '';
return [args, funcname, str];
}function _emscripten_get_callstack_js(flags) {
var callstack = jsStackTrace();
// Find the symbols in the callstack that corresponds to the functions that report callstack information, and remove everyhing up to these from the output.
var iThisFunc = callstack.lastIndexOf('_emscripten_log');
var iThisFunc2 = callstack.lastIndexOf('_emscripten_get_callstack');
var iNextLine = callstack.indexOf('\n', Math.max(iThisFunc, iThisFunc2))+1;
callstack = callstack.slice(iNextLine);
// If user requested to see the original source stack, but no source map information is available, just fall back to showing the JS stack.
if (flags & 8/*EM_LOG_C_STACK*/ && typeof emscripten_source_map === 'undefined') {
Runtime.warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');
flags ^= 8/*EM_LOG_C_STACK*/;
flags |= 16/*EM_LOG_JS_STACK*/;
}
var stack_args = null;
if (flags & 128 /*EM_LOG_FUNC_PARAMS*/) {
// To get the actual parameters to the functions, traverse the stack via the unfortunately deprecated 'arguments.callee' method, if it works:
var stack_args = __emscripten_traverse_stack(arguments);
while (stack_args[1].indexOf('_emscripten_') >= 0)
stack_args = __emscripten_traverse_stack(stack_args[0]);
}
// Process all lines:
lines = callstack.split('\n');
callstack = '';
var newFirefoxRe = new RegExp('\\s*(.*?)@(.*?):([0-9]+):([0-9]+)'); // New FF30 with column info: extract components of form ' Object._main@http://server.com:4324:12'
var firefoxRe = new RegExp('\\s*(.*?)@(.*):(.*)(:(.*))?'); // Old FF without column info: extract components of form ' Object._main@http://server.com:4324'
var chromeRe = new RegExp('\\s*at (.*?) \\\((.*):(.*):(.*)\\\)'); // Extract components of form ' at Object._main (http://server.com/file.html:4324:12)'
for(l in lines) {
var line = lines[l];
var jsSymbolName = '';
var file = '';
var lineno = 0;
var column = 0;
var parts = chromeRe.exec(line);
if (parts && parts.length == 5) {
jsSymbolName = parts[1];
file = parts[2];
lineno = parts[3];
column = parts[4];
} else {
parts = newFirefoxRe.exec(line);
if (!parts) parts = firefoxRe.exec(line);
if (parts && parts.length >= 4) {
jsSymbolName = parts[1];
file = parts[2];
lineno = parts[3];
column = parts[4]|0; // Old Firefox doesn't carry column information, but in new FF30, it is present. See https://bugzilla.mozilla.org/show_bug.cgi?id=762556
} else {
// Was not able to extract this line for demangling/sourcemapping purposes. Output it as-is.
callstack += line + '\n';
continue;
}
}
// Try to demangle the symbol, but fall back to showing the original JS symbol name if not available.
var cSymbolName = (flags & 32/*EM_LOG_DEMANGLE*/) ? demangle(jsSymbolName) : jsSymbolName;
if (!cSymbolName) {
cSymbolName = jsSymbolName;
}
var haveSourceMap = false;
if (flags & 8/*EM_LOG_C_STACK*/) {
var orig = emscripten_source_map.originalPositionFor({line: lineno, column: column});
haveSourceMap = (orig && orig.source);
if (haveSourceMap) {
if (flags & 64/*EM_LOG_NO_PATHS*/) {
orig.source = orig.source.substring(orig.source.replace(/\\/g, "/").lastIndexOf('/')+1);
}
callstack += ' at ' + cSymbolName + ' (' + orig.source + ':' + orig.line + ':' + orig.column + ')\n';
}
}
if ((flags & 16/*EM_LOG_JS_STACK*/) || !haveSourceMap) {
if (flags & 64/*EM_LOG_NO_PATHS*/) {
file = file.substring(file.replace(/\\/g, "/").lastIndexOf('/')+1);
}
callstack += (haveSourceMap ? (' = '+jsSymbolName) : (' at '+cSymbolName)) + ' (' + file + ':' + lineno + ':' + column + ')\n';
}
// If we are still keeping track with the callstack by traversing via 'arguments.callee', print the function parameters as well.
if (flags & 128 /*EM_LOG_FUNC_PARAMS*/ && stack_args[0]) {
if (stack_args[1] == jsSymbolName && stack_args[2].length > 0) {
callstack = callstack.replace(/\s+$/, '');
callstack += ' with values: ' + stack_args[1] + stack_args[2] + '\n';
}
stack_args = __emscripten_traverse_stack(stack_args[0]);
}
}
// Trim extra whitespace at the end of the output.
callstack = callstack.replace(/\s+$/, '');
return callstack;
}function __Unwind_Backtrace(func, arg) {
var trace = _emscripten_get_callstack_js();
var parts = trace.split('\n');
for (var i = 0; i < parts.length; i++) {
var ret = Module.dynCall('iii', [0, arg]);
if (ret !== 0) return;
}
}
function _time(ptr) {
var ret = (Date.now()/1000)|0;
if (ptr) {
HEAP32[((ptr)>>2)]=ret;
}
return ret;
}
function _pthread_cleanup_push(routine, arg) {
__ATEXIT__.push(function() { Runtime.dynCall('vi', routine, [arg]) })
_pthread_cleanup_push.level = __ATEXIT__.length;
}
var _environ=STATICTOP; STATICTOP += 16;;var ___environ=_environ;function ___buildEnvironment(env) {
// WARNING: Arbitrary limit!
var MAX_ENV_VALUES = 64;
var TOTAL_ENV_SIZE = 1024;
// Statically allocate memory for the environment.
var poolPtr;
var envPtr;
if (!___buildEnvironment.called) {
___buildEnvironment.called = true;
// Set default values. Use string keys for Closure Compiler compatibility.
ENV['USER'] = ENV['LOGNAME'] = 'web_user';
ENV['PATH'] = '/';
ENV['PWD'] = '/';
ENV['HOME'] = '/home/web_user';
ENV['LANG'] = 'C';
ENV['_'] = Module['thisProgram'];
// Allocate memory.
poolPtr = allocate(TOTAL_ENV_SIZE, 'i8', ALLOC_STATIC);
envPtr = allocate(MAX_ENV_VALUES * 4,
'i8*', ALLOC_STATIC);
HEAP32[((envPtr)>>2)]=poolPtr;
HEAP32[((_environ)>>2)]=envPtr;
} else {
envPtr = HEAP32[((_environ)>>2)];
poolPtr = HEAP32[((envPtr)>>2)];
}
// Collect key=value lines.
var strings = [];
var totalSize = 0;
for (var key in env) {
if (typeof env[key] === 'string') {
var line = key + '=' + env[key];
strings.push(line);
totalSize += line.length;
}
}
if (totalSize > TOTAL_ENV_SIZE) {
throw new Error('Environment size exceeded TOTAL_ENV_SIZE!');
}
// Make new.
var ptrSize = 4;
for (var i = 0; i < strings.length; i++) {
var line = strings[i];
writeAsciiToMemory(line, poolPtr);
HEAP32[(((envPtr)+(i * ptrSize))>>2)]=poolPtr;
poolPtr += line.length + 1;
}
HEAP32[(((envPtr)+(strings.length * ptrSize))>>2)]=0;
}var ENV={};function _getenv(name) {
// char *getenv(const char *name);
// http://pubs.opengroup.org/onlinepubs/009695399/functions/getenv.html
if (name === 0) return 0;
name = Pointer_stringify(name);
if (!ENV.hasOwnProperty(name)) return 0;
if (_getenv.ret) _free(_getenv.ret);
_getenv.ret = allocate(intArrayFromString(ENV[name]), 'i8', ALLOC_NORMAL);
return _getenv.ret;
}
function _pthread_cleanup_pop() {
assert(_pthread_cleanup_push.level == __ATEXIT__.length, 'cannot pop if something else added meanwhile!');
__ATEXIT__.pop();
_pthread_cleanup_push.level = __ATEXIT__.length;
}
function _pthread_rwlock_rdlock() { return 0; }
function ___cxa_find_matching_catch_3() {
return ___cxa_find_matching_catch.apply(null, arguments);
}
function _pthread_mutex_unlock() {}
Module["_bitshift64Shl"] = _bitshift64Shl;
function _emscripten_memcpy_big(dest, src, num) {
HEAPU8.set(HEAPU8.subarray(src, src+num), dest);
return dest;
}
Module["_memcpy"] = _memcpy;
function ___syscall6(which, varargs) {SYSCALLS.varargs = varargs;
try {
// close
var stream = SYSCALLS.getStreamFromFD();
FS.close(stream);
return 0;
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function _sbrk(bytes) {
// Implement a Linux-like 'memory area' for our 'process'.
// Changes the size of the memory area by |bytes|; returns the
// address of the previous top ('break') of the memory area
// We control the "dynamic" memory - DYNAMIC_BASE to DYNAMICTOP
var self = _sbrk;
if (!self.called) {
DYNAMICTOP = alignMemoryPage(DYNAMICTOP); // make sure we start out aligned
self.called = true;
assert(Runtime.dynamicAlloc);
self.alloc = Runtime.dynamicAlloc;
Runtime.dynamicAlloc = function() { abort('cannot dynamically allocate, sbrk now has control') };
}
var ret = DYNAMICTOP;
if (bytes != 0) {
var success = self.alloc(bytes);
if (!success) return -1 >>> 0; // sbrk failure code
}
return ret; // Previous break location.
}
Module["_memmove"] = _memmove;
function __Unwind_RaiseException(ex) {
abort('Unwind_RaiseException');
}
function ___gcc_personality_v0() {
}
function _pthread_mutex_destroy() {}
function _pthread_mutexattr_init() {}
function ___syscall4(which, varargs) {SYSCALLS.varargs = varargs;
try {
// write
var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(), count = SYSCALLS.get();
return FS.write(stream, HEAP8,buf, count);
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function _llvm_trap() {
abort('trap!');
}
var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function (adjusted) {
if (!adjusted || EXCEPTIONS.infos[adjusted]) return adjusted;
for (var ptr in EXCEPTIONS.infos) {
var info = EXCEPTIONS.infos[ptr];
if (info.adjusted === adjusted) {
return ptr;
}
}
return adjusted;
},addRef:function (ptr) {
if (!ptr) return;
var info = EXCEPTIONS.infos[ptr];
info.refcount++;
},decRef:function (ptr) {
if (!ptr) return;
var info = EXCEPTIONS.infos[ptr];
assert(info.refcount > 0);
info.refcount--;
if (info.refcount === 0) {
if (info.destructor) {
Runtime.dynCall('vi', info.destructor, [ptr]);
}
delete EXCEPTIONS.infos[ptr];
___cxa_free_exception(ptr);
}
},clearRef:function (ptr) {
if (!ptr) return;
var info = EXCEPTIONS.infos[ptr];
info.refcount = 0;
}};
function ___resumeException(ptr) {
if (!EXCEPTIONS.last) { EXCEPTIONS.last = ptr; }
EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr)); // exception refcount should be cleared, but don't free it
throw ptr;
}
function ___cxa_find_matching_catch_2() {
return ___cxa_find_matching_catch.apply(null, arguments);
}
function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs;
try {
// llseek
var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get();
var offset = offset_low;
assert(offset_high === 0);
FS.llseek(stream, offset, whence);
HEAP32[((result)>>2)]=stream.position;
if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state
return 0;
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs;
try {
// writev
var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();
return SYSCALLS.doWritev(stream, iov, iovcnt);
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
var __sigalrm_handler=0;function _signal(sig, func) {
if (sig == 14 /*SIGALRM*/) {
__sigalrm_handler = func;
} else {
Module.printErr('Calling stub instead of signal()');
}
return 0;
}
var _llvm_nacl_atomic_cmpxchg_i32=undefined;
function _pthread_rwlock_unlock() {
Module['printErr']('missing function: pthread_rwlock_unlock'); abort(-1);
}
FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;;
__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });;
if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); };
___buildEnvironment(ENV);;
STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP);
staticSealed = true; // seal the static portion of memory
STACK_MAX = STACK_BASE + TOTAL_STACK;
DYNAMIC_BASE = DYNAMICTOP = Runtime.alignMemory(STACK_MAX);
assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack");
function nullFunc_iiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_ii(x) { Module["printErr"]("Invalid function pointer called with signature 'ii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
function invoke_iiii(index,a1,a2,a3) {
try {
return Module["dynCall_iiii"](index,a1,a2,a3);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_i(index) {
try {
return Module["dynCall_i"](index);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_vi(index,a1) {
try {
Module["dynCall_vi"](index,a1);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_vii(index,a1,a2) {
try {
Module["dynCall_vii"](index,a1,a2);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_ii(index,a1) {
try {
return Module["dynCall_ii"](index,a1);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_viii(index,a1,a2,a3) {
try {
Module["dynCall_viii"](index,a1,a2,a3);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_v(index) {
try {
Module["dynCall_v"](index);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_iii(index,a1,a2) {
try {
return Module["dynCall_iii"](index,a1,a2);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_viiii(index,a1,a2,a3,a4) {
try {
Module["dynCall_viiii"](index,a1,a2,a3,a4);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity };
Module.asmLibraryArg = { "abort": abort, "assert": assert, "nullFunc_iiii": nullFunc_iiii, "nullFunc_i": nullFunc_i, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viii": nullFunc_viii, "nullFunc_v": nullFunc_v, "nullFunc_iii": nullFunc_iii, "nullFunc_viiii": nullFunc_viiii, "invoke_iiii": invoke_iiii, "invoke_i": invoke_i, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viii": invoke_viii, "invoke_v": invoke_v, "invoke_iii": invoke_iii, "invoke_viiii": invoke_viiii, "_pthread_cleanup_pop": _pthread_cleanup_pop, "_pthread_mutex_init": _pthread_mutex_init, "___gcc_personality_v0": ___gcc_personality_v0, "___syscall54": ___syscall54, "__Unwind_FindEnclosingFunction": __Unwind_FindEnclosingFunction, "__Unwind_RaiseException": __Unwind_RaiseException, "_emscripten_get_callstack_js": _emscripten_get_callstack_js, "_pthread_rwlock_unlock": _pthread_rwlock_unlock, "___cxa_find_matching_catch_2": ___cxa_find_matching_catch_2, "___cxa_find_matching_catch_3": ___cxa_find_matching_catch_3, "___buildEnvironment": ___buildEnvironment, "__Unwind_GetIPInfo": __Unwind_GetIPInfo, "_pthread_mutexattr_destroy": _pthread_mutexattr_destroy, "_signal": _signal, "_pthread_cond_destroy": _pthread_cond_destroy, "___setErrNo": ___setErrNo, "_sbrk": _sbrk, "_pthread_key_delete": _pthread_key_delete, "_pthread_rwlock_rdlock": _pthread_rwlock_rdlock, "___resumeException": ___resumeException, "_sysconf": _sysconf, "_pthread_getspecific": _pthread_getspecific, "___syscall6": ___syscall6, "_emscripten_memcpy_big": _emscripten_memcpy_big, "__emscripten_traverse_stack": __emscripten_traverse_stack, "_pthread_self": _pthread_self, "_pthread_mutex_destroy": _pthread_mutex_destroy, "_pthread_mutex_unlock": _pthread_mutex_unlock, "_pthread_mutexattr_settype": _pthread_mutexattr_settype, "_dladdr": _dladdr, "_pthread_key_create": _pthread_key_create, "___unlock": ___unlock, "__Unwind_DeleteException": __Unwind_DeleteException, "_pthread_mutexattr_init": _pthread_mutexattr_init, "_pthread_setspecific": _pthread_setspecific, "_getenv": _getenv, "___lock": ___lock, "_abort": _abort, "_pthread_cleanup_push": _pthread_cleanup_push, "___syscall4": ___syscall4, "_time": _time, "_pthread_mutex_lock": _pthread_mutex_lock, "___syscall140": ___syscall140, "_llvm_trap": _llvm_trap, "__Unwind_Backtrace": __Unwind_Backtrace, "___syscall146": ___syscall146, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT };
// EMSCRIPTEN_START_ASM
var asm = (function(global, env, buffer) {
'almost asm';
var HEAP8 = new global.Int8Array(buffer);
var HEAP16 = new global.Int16Array(buffer);
var HEAP32 = new global.Int32Array(buffer);
var HEAPU8 = new global.Uint8Array(buffer);
var HEAPU16 = new global.Uint16Array(buffer);
var HEAPU32 = new global.Uint32Array(buffer);
var HEAPF32 = new global.Float32Array(buffer);
var HEAPF64 = new global.Float64Array(buffer);
var STACKTOP=env.STACKTOP|0;
var STACK_MAX=env.STACK_MAX|0;
var tempDoublePtr=env.tempDoublePtr|0;
var ABORT=env.ABORT|0;
var __THREW__ = 0;
var threwValue = 0;
var setjmpId = 0;
var undef = 0;
var nan = global.NaN, inf = global.Infinity;
var tempInt = 0, tempBigInt = 0, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 0, tempValue = 0, tempDouble = 0.0;
var tempRet0 = 0;
var tempRet1 = 0;
var tempRet2 = 0;
var tempRet3 = 0;
var tempRet4 = 0;
var tempRet5 = 0;
var tempRet6 = 0;
var tempRet7 = 0;
var tempRet8 = 0;
var tempRet9 = 0;
var Math_floor=global.Math.floor;
var Math_abs=global.Math.abs;
var Math_sqrt=global.Math.sqrt;
var Math_pow=global.Math.pow;
var Math_cos=global.Math.cos;
var Math_sin=global.Math.sin;
var Math_tan=global.Math.tan;
var Math_acos=global.Math.acos;
var Math_asin=global.Math.asin;
var Math_atan=global.Math.atan;
var Math_atan2=global.Math.atan2;
var Math_exp=global.Math.exp;
var Math_log=global.Math.log;
var Math_ceil=global.Math.ceil;
var Math_imul=global.Math.imul;
var Math_min=global.Math.min;
var Math_clz32=global.Math.clz32;
var abort=env.abort;
var assert=env.assert;
var nullFunc_iiii=env.nullFunc_iiii;
var nullFunc_i=env.nullFunc_i;
var nullFunc_vi=env.nullFunc_vi;
var nullFunc_vii=env.nullFunc_vii;
var nullFunc_ii=env.nullFunc_ii;
var nullFunc_viii=env.nullFunc_viii;
var nullFunc_v=env.nullFunc_v;
var nullFunc_iii=env.nullFunc_iii;
var nullFunc_viiii=env.nullFunc_viiii;
var invoke_iiii=env.invoke_iiii;
var invoke_i=env.invoke_i;
var invoke_vi=env.invoke_vi;
var invoke_vii=env.invoke_vii;
var invoke_ii=env.invoke_ii;
var invoke_viii=env.invoke_viii;
var invoke_v=env.invoke_v;
var invoke_iii=env.invoke_iii;
var invoke_viiii=env.invoke_viiii;
var _pthread_cleanup_pop=env._pthread_cleanup_pop;
var _pthread_mutex_init=env._pthread_mutex_init;
var ___gcc_personality_v0=env.___gcc_personality_v0;
var ___syscall54=env.___syscall54;
var __Unwind_FindEnclosingFunction=env.__Unwind_FindEnclosingFunction;
var __Unwind_RaiseException=env.__Unwind_RaiseException;
var _emscripten_get_callstack_js=env._emscripten_get_callstack_js;
var _pthread_rwlock_unlock=env._pthread_rwlock_unlock;
var ___cxa_find_matching_catch_2=env.___cxa_find_matching_catch_2;
var ___cxa_find_matching_catch_3=env.___cxa_find_matching_catch_3;
var ___buildEnvironment=env.___buildEnvironment;
var __Unwind_GetIPInfo=env.__Unwind_GetIPInfo;
var _pthread_mutexattr_destroy=env._pthread_mutexattr_destroy;
var _signal=env._signal;
var _pthread_cond_destroy=env._pthread_cond_destroy;
var ___setErrNo=env.___setErrNo;
var _sbrk=env._sbrk;
var _pthread_key_delete=env._pthread_key_delete;
var _pthread_rwlock_rdlock=env._pthread_rwlock_rdlock;
var ___resumeException=env.___resumeException;
var _sysconf=env._sysconf;
var _pthread_getspecific=env._pthread_getspecific;
var ___syscall6=env.___syscall6;
var _emscripten_memcpy_big=env._emscripten_memcpy_big;
var __emscripten_traverse_stack=env.__emscripten_traverse_stack;
var _pthread_self=env._pthread_self;
var _pthread_mutex_destroy=env._pthread_mutex_destroy;
var _pthread_mutex_unlock=env._pthread_mutex_unlock;
var _pthread_mutexattr_settype=env._pthread_mutexattr_settype;
var _dladdr=env._dladdr;
var _pthread_key_create=env._pthread_key_create;
var ___unlock=env.___unlock;
var __Unwind_DeleteException=env.__Unwind_DeleteException;
var _pthread_mutexattr_init=env._pthread_mutexattr_init;
var _pthread_setspecific=env._pthread_setspecific;
var _getenv=env._getenv;
var ___lock=env.___lock;
var _abort=env._abort;
var _pthread_cleanup_push=env._pthread_cleanup_push;
var ___syscall4=env.___syscall4;
var _time=env._time;
var _pthread_mutex_lock=env._pthread_mutex_lock;
var ___syscall140=env.___syscall140;
var _llvm_trap=env._llvm_trap;
var __Unwind_Backtrace=env.__Unwind_Backtrace;
var ___syscall146=env.___syscall146;
var tempFloat = 0.0;
// EMSCRIPTEN_START_FUNCS
function stackAlloc(size) {
size = size|0;
var ret = 0;
ret = STACKTOP;
STACKTOP = (STACKTOP + size)|0;
STACKTOP = (STACKTOP + 15)&-16;
if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
return ret|0;
}
function stackSave() {
return STACKTOP|0;
}
function stackRestore(top) {
top = top|0;
STACKTOP = top;
}
function establishStackSpace(stackBase, stackMax) {
stackBase = stackBase|0;
stackMax = stackMax|0;
STACKTOP = stackBase;
STACK_MAX = stackMax;
}
function setThrew(threw, value) {
threw = threw|0;
value = value|0;
if ((__THREW__|0) == 0) {
__THREW__ = threw;
threwValue = value;
}
}
function copyTempFloat(ptr) {
ptr = ptr|0;
HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0];
HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0];
HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0];
HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0];
}
function copyTempDouble(ptr) {
ptr = ptr|0;
HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0];
HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0];
HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0];
HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0];
HEAP8[tempDoublePtr+4>>0] = HEAP8[ptr+4>>0];
HEAP8[tempDoublePtr+5>>0] = HEAP8[ptr+5>>0];
HEAP8[tempDoublePtr+6>>0] = HEAP8[ptr+6>>0];
HEAP8[tempDoublePtr+7>>0] = HEAP8[ptr+7>>0];
}
function setTempRet0(value) {
value = value|0;
tempRet0 = value;
}
function getTempRet0() {
return tempRet0|0;
}
function __ZN4main20h7492e05434b3bfa2eaaE() {
var $$pre$i$i = 0, $$pre$phi$i$iZ2D = 0, $$pre3$i$i = 0, $$sroa$019$0$i = 0, $$sroa$5$0$i = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0;
var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $9 = 0, $addr_of = 0, $arg$i = 0, $arg$i$i$i$i = 0, $arg8$i$i$i = 0, $autoref$i = 0, $autoref$i$idx$val$cast = 0, $autoref7$i$i$i = 0, $autoref7$i$i$i$idx$val$cast = 0, $cond$i = 0, $cond$i$i$i = 0, $iret_slot$i$i$i = 0, $llretslotptr$0$i$i$i = 0, $phitmp$i$i = 0, $result$i = 0, $ret_slot$i$i$i = 0;
var $switch$i = 0, $switch$i$i = 0, $switchtmp$i$i = 0, $switchtmp$i$i$i = 0, $switchtmp$i$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$addr_of = sp + 192|0;
$arg$i$i$i$i = sp + 168|0;
$iret_slot$i$i$i = sp + 152|0;
$ret_slot$i$i$i = sp + 136|0;
$autoref7$i$i$i = sp + 128|0;
$arg8$i$i$i = sp + 104|0;
$result$i = sp + 88|0;
$autoref$i = sp + 80|0;
$arg$i = sp + 56|0;
$0 = sp + 32|0;
$1 = sp + 24|0;
$2 = sp;
HEAP32[$2>>2] = 440;
$3 = ((($2)) + 4|0);
HEAP32[$3>>2] = 1;
$4 = ((($2)) + 8|0);
$5 = $4;
$6 = $5;
HEAP32[$6>>2] = 0;
$7 = (($5) + 4)|0;
$8 = $7;
HEAP32[$8>>2] = 0;
$9 = ((($2)) + 16|0);
HEAP32[$9>>2] = $addr_of;
$10 = ((($2)) + 20|0);
HEAP32[$10>>2] = 0;
HEAP32[$autoref$i>>2] = 488447261;
$11 = (__ZN6thread5local2os12Key_LT_T_GT_3get21h17797014043959970495E(824)|0);
$switchtmp$i$i = ($11|0)==(0|0);
if ($switchtmp$i$i) {
label = 3;
} else {
$12 = HEAP32[$11>>2]|0;
$switch$i = ($12|0)==(1);
if ($switch$i) {
$16 = (__ZN6thread5local2os12Key_LT_T_GT_3get21h17797014043959970495E(824)|0);
$switchtmp$i$i$i = ($16|0)==(0|0);
if ($switchtmp$i$i$i) {
__ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57);
// unreachable;
}
$17 = HEAP32[$16>>2]|0;
$switch$i$i = ($17|0)==(1);
if ($switch$i$i) {
$$pre$i$i = ((($16)) + 4|0);
$$pre3$i$i = HEAP32[$$pre$i$i>>2]|0;
$phitmp$i$i = ($$pre3$i$i|0)==(0);
$$pre$phi$i$iZ2D = $$pre$i$i;$79 = $phitmp$i$i;
} else {
$18 = ((($16)) + 8|0);
$19 = ((($16)) + 12|0);
HEAP32[$16>>2] = 1;
$20 = ((($16)) + 4|0);
HEAP32[$20>>2] = 0;
HEAP32[$18>>2] = 0;
HEAP32[$19>>2] = 0;
$$pre$phi$i$iZ2D = $20;$79 = 1;
}
HEAP32[$autoref7$i$i$i>>2] = 488447261;
do {
if ($79) {
HEAP32[$$pre$phi$i$iZ2D>>2] = -1;
$23 = ((($16)) + 8|0);
$24 = HEAP32[$23>>2]|0;
$switchtmp$i$i$i$i = ($24|0)==(0|0);
if ($switchtmp$i$i$i$i) {
HEAP32[$$pre$phi$i$iZ2D>>2] = 0;
label = 15;
break;
}
$25 = ((($16)) + 12|0);
$26 = HEAP32[$25>>2]|0;
$27 = ((($26)) + 24|0);
$28 = HEAP32[$27>>2]|0;
;HEAP32[$arg$i$i$i$i>>2]=HEAP32[$2>>2]|0;HEAP32[$arg$i$i$i$i+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$arg$i$i$i$i+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$arg$i$i$i$i+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$arg$i$i$i$i+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$arg$i$i$i$i+20>>2]=HEAP32[$2+20>>2]|0;
__THREW__ = 0;
invoke_viii($28|0,($ret_slot$i$i$i|0),($24|0),($arg$i$i$i$i|0));
$29 = __THREW__; __THREW__ = 0;
$30 = $29&1;
if ($30) {
$21 = ___cxa_find_matching_catch_2()|0;
$22 = tempRet0;
HEAP32[$$pre$phi$i$iZ2D>>2] = 0;
___resumeException($21|0);
// unreachable;
} else {
HEAP32[$$pre$phi$i$iZ2D>>2] = 0;
$llretslotptr$0$i$i$i = $ret_slot$i$i$i;
break;
}
} else {
label = 15;
}
} while(0);
do {
if ((label|0) == 15) {
$31 = (__ZN2io5stdio6stdout20h5cd940239a47d19aCihE()|0);
HEAP32[$autoref7$i$i$i>>2] = $31;
;HEAP32[$arg8$i$i$i>>2]=HEAP32[$2>>2]|0;HEAP32[$arg8$i$i$i+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$arg8$i$i$i+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$arg8$i$i$i+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$arg8$i$i$i+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$arg8$i$i$i+20>>2]=HEAP32[$2+20>>2]|0;
$autoref7$i$i$i$idx$val$cast = $31;
__THREW__ = 0;
invoke_viii(51,($iret_slot$i$i$i|0),($autoref7$i$i$i$idx$val$cast|0),($arg8$i$i$i|0));
$32 = __THREW__; __THREW__ = 0;
$33 = $32&1;
if (!($33)) {
$34 = ($31|0)==(488447261);
if (!($34)) {
$35 = HEAP32[$autoref7$i$i$i$idx$val$cast>>2]|0;HEAP32[$autoref7$i$i$i$idx$val$cast>>2] = (($35-1)|0);
$36 = ($35|0)==(1);
if ($36) {
/* fence */;
__ZN3arc12Arc_LT_T_GT_9drop_slow21h18172976183440031798E($autoref7$i$i$i);
}
}
$llretslotptr$0$i$i$i = $iret_slot$i$i$i;
break;
}
$37 = ___cxa_find_matching_catch_2()|0;
$38 = tempRet0;
$39 = ($31|0)==(488447261);
if ($39) {
___resumeException($37|0);
// unreachable;
}
$40 = HEAP32[$autoref7$i$i$i$idx$val$cast>>2]|0;HEAP32[$autoref7$i$i$i$idx$val$cast>>2] = (($40-1)|0);
$41 = ($40|0)==(1);
if (!($41)) {
___resumeException($37|0);
// unreachable;
}
/* fence */;
__ZN3arc12Arc_LT_T_GT_9drop_slow21h18172976183440031798E($autoref7$i$i$i);
___resumeException($37|0);
// unreachable;
}
} while(0);
;HEAP32[$result$i>>2]=HEAP32[$llretslotptr$0$i$i$i>>2]|0;HEAP32[$result$i+4>>2]=HEAP32[$llretslotptr$0$i$i$i+4>>2]|0;HEAP32[$result$i+8>>2]=HEAP32[$llretslotptr$0$i$i$i+8>>2]|0;
} else {
label = 3;
}
}
do {
if ((label|0) == 3) {
$13 = (__ZN2io5stdio6stdout20h5cd940239a47d19aCihE()|0);
HEAP32[$autoref$i>>2] = $13;
;HEAP32[$arg$i>>2]=HEAP32[$2>>2]|0;HEAP32[$arg$i+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$arg$i+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$arg$i+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$arg$i+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$arg$i+20>>2]=HEAP32[$2+20>>2]|0;
$autoref$i$idx$val$cast = $13;
__THREW__ = 0;
invoke_viii(51,($result$i|0),($autoref$i$idx$val$cast|0),($arg$i|0));
$14 = __THREW__; __THREW__ = 0;
$15 = $14&1;
if (!($15)) {
$42 = ($13|0)==(488447261);
if (!($42)) {
$43 = HEAP32[$autoref$i$idx$val$cast>>2]|0;HEAP32[$autoref$i$idx$val$cast>>2] = (($43-1)|0);
$44 = ($43|0)==(1);
if ($44) {
/* fence */;
__ZN3arc12Arc_LT_T_GT_9drop_slow21h18172976183440031798E($autoref$i);
}
}
break;
}
$45 = ___cxa_find_matching_catch_2()|0;
$46 = tempRet0;
$47 = ($13|0)==(488447261);
if (!($47)) {
$48 = HEAP32[$autoref$i$idx$val$cast>>2]|0;HEAP32[$autoref$i$idx$val$cast>>2] = (($48-1)|0);
$49 = ($48|0)==(1);
if ($49) {
/* fence */;
__ZN3arc12Arc_LT_T_GT_9drop_slow21h18172976183440031798E($autoref$i);
}
}
$$sroa$019$0$i = $45;$$sroa$5$0$i = $46;
___resumeException($$sroa$019$0$i|0);
// unreachable;
}
} while(0);
$50 = HEAP32[$result$i>>2]|0;
$cond$i = ($50|0)==(1);
if (!($cond$i)) {
STACKTOP = sp;return;
}
$54 = ((($result$i)) + 4|0);
$68 = ((($1)) + 4|0);
HEAP32[$68>>2] = 52;
HEAP32[$1>>2] = $54;
HEAP32[$0>>2] = 832;
$69 = ((($0)) + 4|0);
HEAP32[$69>>2] = 1;
$70 = ((($0)) + 8|0);
$71 = $70;
$72 = $71;
HEAP32[$72>>2] = 0;
$73 = (($71) + 4)|0;
$74 = $73;
HEAP32[$74>>2] = 0;
$75 = ((($0)) + 16|0);
HEAP32[$75>>2] = $1;
$76 = ((($0)) + 20|0);
HEAP32[$76>>2] = 1;
__THREW__ = 0;
invoke_vii(53,($0|0),(840|0));
$77 = __THREW__; __THREW__ = 0;
$78 = $77&1;
if (!($78)) {
// unreachable;
}
$51 = ___cxa_find_matching_catch_2()|0;
$52 = tempRet0;
$53 = HEAP32[$54>>2]|0;
$cond$i$i$i = ($53|0)==(1);
if ($cond$i$i$i) {
$55 = ((($result$i)) + 8|0);
$56 = HEAP32[$55>>2]|0;
$57 = ($56|0)==((488447261)|0);
if (!($57)) {
$58 = ((($56)) + 4|0);
$59 = HEAP32[$58>>2]|0;
$60 = ($59|0)==((488447261)|0);
if (!($60)) {
$61 = ((($56)) + 8|0);
$62 = HEAP32[$61>>2]|0;
$63 = HEAP32[$62>>2]|0;
FUNCTION_TABLE_vi[$63 & 127]($59);
$64 = HEAP32[$61>>2]|0;
$65 = ((($64)) + 4|0);
$66 = HEAP32[$65>>2]|0;
$67 = ($66|0)==(0);
if (!($67)) {
_free($59);
}
}
_free($56);
}
}
$$sroa$019$0$i = $51;$$sroa$5$0$i = $52;
___resumeException($$sroa$019$0$i|0);
// unreachable;
}
function _main($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$$i = 0, $$$i$i$i = 0, $$$i$i$i$i$i = 0, $$$i$i$i$i$i$i$i = 0, $$$i$i$i$i$i$i$i$i = 0, $$0$i$i$i = 0, $$0$i10$i$i = 0, $$arith = 0, $$arith59 = 0, $$arith63 = 0, $$arith67 = 0, $$arith71 = 0, $$overflow = 0, $$overflow60 = 0, $$overflow64 = 0, $$overflow68 = 0, $$overflow72 = 0, $$pr$i$i$i$i$i = 0, $$pr$pre$i$i$i$i$i = 0, $$pre$i$i = 0;
var $$pre$i$i$i$i = 0, $$pre$i$i$i$i$i$i$i = 0, $$pre$i$i$i$i66$i = 0, $$pre$i$i27$i = 0, $$pre$i29$i$i$i = 0, $$pre$i3$i$i$i = 0, $$pre$i3$i$i$i$i$i$i = 0, $$pre$i33$i$i$i = 0, $$pre$i34$i$i$i = 0, $$pre$i43$i$i$i = 0, $$pre$i57$i$i$i = 0, $$pre$i57$i$i47$i = 0, $$pre$i71$i$i$i = 0, $$pre$i8$i$i$i$i$i$i = 0, $$pre$phi$i$i$iZ2D = 0, $$pre1$i$i$i = 0, $$pre17$i$i = 0, $$ptr = 0, $$sink$in$phi$trans$insert$i$i$i = 0, $$sink$in$phi$trans$insert$i$i$i$i = 0;
var $$sink$in$phi$trans$insert$i$i$i$i$i = 0, $$sink$in$phi$trans$insert$i$i$i$i$i$i$i = 0, $$sink$in$phi$trans$insert$i1$i$i$i = 0, $$sink$in$phi$trans$insert$i1$i$i$i$i$i$i = 0, $$sink$in$phi$trans$insert$i27$i$i$i = 0, $$sink$in$phi$trans$insert$i31$i$i$i = 0, $$sink$in$phi$trans$insert$i32$i$i$i = 0, $$sink$in$phi$trans$insert$i41$i$i$i = 0, $$sink$in$phi$trans$insert$i55$i$i$i = 0, $$sink$in$phi$trans$insert$i55$i$i45$i = 0, $$sink$in$phi$trans$insert$i6$i$i$i$i$i$i = 0, $$sink$in$phi$trans$insert$i69$i$i$i = 0, $$sroa$0$0 = 0, $$sroa$0$0$i = 0, $$sroa$0$0$i$i$i = 0, $$sroa$0$0$i$i$i$i$i = 0, $$sroa$0$0$i$i3$i = 0, $$sroa$058$081$i$i$i$i$i = 0, $$sroa$23$1 = 0, $$sroa$5$0$i = 0;
var $$sroa$5$0$i$i$i = 0, $$sroa$6$0 = 0, $$sroa$6$0$i$i$i = 0, $$sroa$6$0135 = 0, $$sroa$6$0137 = 0, $$sroa$6$0138 = 0, $$sroa$6$0139 = 0, $$sroa$6$0140 = 0, $$sroa$7$0$i$i$i$i$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0;
var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0;
var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0;
var $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0;
var $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0;
var $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0;
var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0;
var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0;
var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0;
var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0;
var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0;
var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0;
var $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0;
var $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0;
var $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0;
var $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0;
var $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0;
var $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0;
var $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0;
var $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0;
var $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0;
var $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arg$i$i = 0, $arg$i$i$i = 0, $arg18$i$i$i$i$i = 0, $args$sroa$0$0$i$i$i = 0, $args$sroa$11$0$i$i$i = 0, $args$sroa$16$0$i$i$i = 0, $argv$i$i$i = 0, $cond$i$i$i$i$i$i = 0, $cond$i$i$i$i11$i$i = 0;
var $eh$lpad$body$i$i$i$i$i$index8Z2D = 0, $eh$lpad$body$i$i$i$i$i$indexZ2D = 0, $eh$lpad$body$i$i$i$index34Z2D = 0, $eh$lpad$body$i$i$i$indexZ2D = 0, $eh$lpad$body$i$i$index2Z2D = 0, $eh$lpad$body$i$i$indexZ2D = 0, $eh$lpad$body$i$index18Z2D = 0, $eh$lpad$body$i$indexZ2D = 0, $eh$lpad$body74$i$index50Z2D = 0, $eh$lpad$body74$i$indexZ2D = 0, $f1$i$i$i = 0, $guard$sroa$0$0$ph$i$i$i = 0, $guard$sroa$0$1$i$i$i = 0, $guard$sroa$22$1$ph$i$i$i = 0, $guard$sroa$22$2$i$i$i = 0, $guard$sroa$29$1$ph$i$i$i = 0, $guard$sroa$29$2$i$i$i = 0, $guard$sroa$8$1$ph$i$i$i = 0, $guard$sroa$8$2$i$i$i = 0, $iterator$i$i$i$i$i = 0;
var $magicptr$i$i = 0, $magicptr$i$i$i = 0, $magicptr$i$i$i$i$i = 0, $magicptr$i19$i = 0, $payload$i$i$i$i = 0, $phitmp$i$i$i$i = 0, $phitmp$i$i$i$i$i = 0, $phitmp$i$i$i$i$i$i = 0, $phitmp$i30$i$i$i = 0, $phitmp$i34$i$i$i = 0, $phitmp$i35$i$i$i = 0, $phitmp$i4$i$i$i = 0, $phitmp$i4$i$i$i$i$i$i = 0, $phitmp$i44$i$i$i = 0, $phitmp$i58$i$i$i = 0, $phitmp$i58$i$i48$i = 0, $phitmp$i72$i$i$i = 0, $phitmp$i9$i$i$i$i$i$i = 0, $phitmp7$i$i$i$i = 0, $phitmp7$i$i$i41$i = 0;
var $ptr$0$i$i$i = 0, $ptr$0$i$i$i$i$i$i$i = 0, $res$sroa$0$0$i = 0, $result$i$i = 0, $sret_slot$0$i$i$i$i$i$i = 0, $sret_slot$0$i$i$i$i$i$i$i = 0, $switch$i$i$i = 0, $switch$i$i$i$i$i = 0, $switch$i$i$i$i$i$i = 0, $switch$i$i$i$i$i$i$i = 0, $switch$i$i$i$i$i$i$i$i = 0, $switch$i$i$i$i$i$i$i$i$i$i = 0, $switch$i$i$i$i$i$i39$i = 0, $switch$i$i1$i = 0, $switch$i$i12$i$i$i$i$i$i = 0, $switch$i$i16$i = 0, $switch$i$i26$i = 0, $switch$i$i31$i$i$i = 0, $switch$i$i38$i$i$i = 0, $switch$i$i39$i$i$i = 0;
var $switch$i$i49$i$i$i = 0, $switch$i$i5$i$i$i = 0, $switch$i$i5$i$i$i$i$i$i = 0, $switch$i$i63$i$i$i = 0, $switch$i$i63$i$i51$i = 0, $switch$i$i77$i$i$i = 0, $switch$i8$i$i = 0, $switch$split1022D = 0, $switch$split1052D = 0, $switch$split1082D = 0, $switch$split1112D = 0, $switch$split1142D = 0, $switch$split1172D = 0, $switch$split1202D = 0, $switch$split1232D = 0, $switch$split2D = 0, $switch$split782D = 0, $switch$split812D = 0, $switch$split842D = 0, $switch$split872D = 0;
var $switch$split902D = 0, $switch$split932D = 0, $switch$split962D = 0, $switch$split992D = 0, $switch33tmp$i$i$i$i$i = 0, $switchtmp$i$i$i$i = 0, $switchtmp$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i$i36$i = 0, $switchtmp$i$i$i$i$i30$i = 0, $switchtmp$i$i$i$i4$i = 0, $switchtmp$i$i$i10$i$i$i$i$i$i = 0, $switchtmp$i$i$i24$i = 0, $switchtmp$i$i$i36$i$i$i = 0, $switchtmp$i$i$i36$i$i67$i = 0, $switchtmp$i$i$i46$i$i$i = 0;
var $switchtmp$i$i$i60$i$i$i = 0, $switchtmp$i$i$i60$i$i49$i = 0, $switchtmp$i$i$i74$i$i$i = 0, $switchtmp$i$i6$i$i = 0, $thread$i$i = 0, $vector$i$i$i$i$i$sroa$0$0 = 0, $vector$i$i$i$i$i$sroa$0$1 = 0, $vector$i$i$i$i$i$sroa$0$2 = 0, $vector$i$i$i$i$i$sroa$0$3 = 0, $vector$i$i$i$i$i$sroa$15$1 = 0, $vector$i$i$i$i$i$sroa$9$0 = 0, $vector$i$i$i$i$i$sroa$9$1 = 0, $vector$i$i$i$i$i$sroa$9$2 = 0, $vector$i$i$i$i$i$sroa$9$3 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$$ptr = sp + 152|0;
$payload$i$i$i$i = sp + 156|0;
$arg$i$i$i = sp + 136|0;
$thread$i$i = sp + 128|0;
$2 = sp + 112|0;
$f1$i$i$i = sp + 104|0;
$result$i$i = sp + 96|0;
$3 = sp + 80|0;
$iterator$i$i$i$i$i = sp + 64|0;
$4 = sp + 48|0;
$arg18$i$i$i$i$i = sp + 32|0;
$argv$i$i$i = sp + 152|0;
$arg$i$i = sp + 16|0;
$5 = sp;
$6 = (_signal(13,1)|0);
$7 = ($6|0)==(-1);
if ($7) {
__ZN10sys_common6unwind12begin_unwind20h8284277630150637284E(3459,66,876);
// unreachable;
}
HEAP32[366] = (54);
__ZN3str11str_ToOwned8to_owned20h27f191d2b0131fa4EVeE($5,3586,6);
;HEAP32[$arg$i$i>>2]=HEAP32[$5>>2]|0;HEAP32[$arg$i$i+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$arg$i$i+8>>2]=HEAP32[$5+8>>2]|0;
;HEAP32[$5>>2]=488447261|0;HEAP32[$5+4>>2]=488447261|0;HEAP32[$5+8>>2]=488447261|0;
__THREW__ = 0;
$8 = (invoke_ii(55,($arg$i$i|0))|0);
$9 = __THREW__; __THREW__ = 0;
$10 = $9&1;
if ($10) {
$11 = ___cxa_find_matching_catch_2()|0;
$12 = tempRet0;
___resumeException($11|0);
// unreachable;
}
HEAP32[$thread$i$i>>2] = $8;
__THREW__ = 0;
$13 = (invoke_i(56)|0);
$14 = __THREW__; __THREW__ = 0;
$15 = $14&1;
L7: do {
if ($15) {
label = 42;
} else {
$switchtmp$i$i$i$i = ($13|0)==(0|0);
if ($switchtmp$i$i$i$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$16 = __THREW__; __THREW__ = 0;
label = 42;
break;
}
$17 = HEAP32[$13>>2]|0;
$switch$i$i1$i = ($17|0)==(1);
if ($switch$i$i1$i) {
$18 = ((($13)) + 4|0);
$$0$i$i$i = $18;
} else {
__THREW__ = 0;
$19 = (invoke_ii(58,($13|0))|0);
$20 = __THREW__; __THREW__ = 0;
$21 = $20&1;
if ($21) {
label = 42;
break;
} else {
$$0$i$i$i = $19;
}
}
$22 = HEAP32[$$0$i$i$i>>2]|0;
$cond$i$i$i$i$i$i = ($22|0)==(-1);
if ($cond$i$i$i$i$i$i) {
__THREW__ = 0;
invoke_vi(59,(1508|0));
$23 = __THREW__; __THREW__ = 0;
label = 42;
break;
}
$24 = ((($$0$i$i$i)) + 12|0);
$25 = HEAP32[$24>>2]|0;
$26 = ($25|0)==(0|0);
if (!($26)) {
__THREW__ = 0;
invoke_viii(60,(3310|0),38,(852|0));
$27 = __THREW__; __THREW__ = 0;
label = 42;
break;
}
$28 = $2;
$29 = $28;
HEAP32[$29>>2] = 0;
$30 = (($28) + 4)|0;
$31 = $30;
HEAP32[$31>>2] = 0;
$32 = ((($2)) + 8|0);
HEAP32[$32>>2] = $8;
HEAP32[$thread$i$i>>2] = 488447261;
__THREW__ = 0;
$33 = (invoke_i(56)|0);
$34 = __THREW__; __THREW__ = 0;
$35 = $34&1;
do {
if ($35) {
$478 = $8;
label = 18;
} else {
$switchtmp$i$i6$i$i = ($33|0)==(0|0);
if ($switchtmp$i$i6$i$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$36 = __THREW__; __THREW__ = 0;
$478 = $8;
label = 18;
break;
}
;HEAP32[$arg$i$i$i>>2]=HEAP32[$2>>2]|0;HEAP32[$arg$i$i$i+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$arg$i$i$i+8>>2]=HEAP32[$2+8>>2]|0;
;HEAP32[$2>>2]=488447261|0;HEAP32[$2+4>>2]=488447261|0;HEAP32[$2+8>>2]=488447261|0;
$44 = HEAP32[$33>>2]|0;
$switch$i8$i$i = ($44|0)==(1);
if ($switch$i8$i$i) {
$53 = ((($33)) + 4|0);
$$0$i10$i$i = $53;
} else {
__THREW__ = 0;
$54 = (invoke_ii(58,($33|0))|0);
$55 = __THREW__; __THREW__ = 0;
$56 = $55&1;
if ($56) {
$45 = ___cxa_find_matching_catch_2()|0;
$46 = tempRet0;
$47 = ((($arg$i$i$i)) + 8|0);
$48 = HEAP32[$47>>2]|0;
$49 = ($48|0)==(488447261);
if (!($49)) {
$50 = $48;
$51 = HEAP32[$50>>2]|0;HEAP32[$50>>2] = (($51-1)|0);
$52 = ($51|0)==(1);
if ($52) {
/* fence */;
__ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($47);
}
}
$$pre$i$i = HEAP32[$32>>2]|0;
$$sroa$0$0$i$i3$i = $45;$$sroa$5$0$i$i$i = $46;$39 = $$pre$i$i;
break;
} else {
$$0$i10$i$i = $54;
}
}
$57 = ((($arg$i$i$i)) + 8|0);
$58 = $arg$i$i$i;
$59 = $58;
$60 = HEAP32[$59>>2]|0;
$61 = (($58) + 4)|0;
$62 = $61;
$63 = HEAP32[$62>>2]|0;
$64 = HEAP32[$57>>2]|0;
HEAP32[$57>>2] = 488447261;
$65 = HEAP32[$$0$i10$i$i>>2]|0;
$cond$i$i$i$i11$i$i = ($65|0)==(0);
if (!($cond$i$i$i$i11$i$i)) {
__THREW__ = 0;
invoke_vi(59,(1528|0));
$66 = __THREW__; __THREW__ = 0;
$478 = 488447261;
label = 18;
break;
}
HEAP32[$$0$i10$i$i>>2] = -1;
$67 = ((($$0$i10$i$i)) + 4|0);
$68 = ((($$0$i10$i$i)) + 12|0);
$69 = HEAP32[$68>>2]|0;
$switchtmp$i$i$i$i4$i = ($69|0)==(0|0);
if (!($switchtmp$i$i$i$i4$i)) {
$70 = ((($$0$i10$i$i)) + 12|0);
$71 = ($69|0)==((488447261)|0);
if (!($71)) {
$72 = HEAP32[$69>>2]|0;HEAP32[$69>>2] = (($72-1)|0);
$73 = ($72|0)==(1);
if ($73) {
/* fence */;
__ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($70);
}
}
}
$74 = $67;
$75 = $74;
HEAP32[$75>>2] = $60;
$76 = (($74) + 4)|0;
$77 = $76;
HEAP32[$77>>2] = $63;
$78 = ((($$0$i10$i$i)) + 12|0);
HEAP32[$78>>2] = $64;
HEAP32[$$0$i10$i$i>>2] = 0;
$79 = HEAP32[$57>>2]|0;
$80 = ($79|0)==(488447261);
if (!($80)) {
$81 = $79;
$82 = HEAP32[$81>>2]|0;HEAP32[$81>>2] = (($82-1)|0);
$83 = ($82|0)==(1);
if ($83) {
/* fence */;
__ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($57);
}
}
$84 = HEAP32[$32>>2]|0;
$85 = ($84|0)==(488447261);
if (!($85)) {
$86 = $84;
$87 = HEAP32[$86>>2]|0;HEAP32[$86>>2] = (($87-1)|0);
$88 = ($87|0)==(1);
if ($88) {
/* fence */;
__ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($32);
}
}
$96 = HEAP32[$thread$i$i>>2]|0;
$97 = ($96|0)==(488447261);
if (!($97)) {
$98 = $96;
$99 = HEAP32[$98>>2]|0;HEAP32[$98>>2] = (($99-1)|0);
$100 = ($99|0)==(1);
if ($100) {
/* fence */;
__ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($thread$i$i);
}
}
HEAP32[$argv$i$i$i>>2] = $1;
$101 = $argv$i$i$i;
$102 = $iterator$i$i$i$i$i;
$103 = $102;
HEAP32[$103>>2] = 0;
$104 = (($102) + 4)|0;
$105 = $104;
HEAP32[$105>>2] = $0;
$106 = ((($iterator$i$i$i$i$i)) + 8|0);
HEAP32[$106>>2] = $101;
__THREW__ = 0;
invoke_vii(61,($4|0),($iterator$i$i$i$i$i|0));
$107 = __THREW__; __THREW__ = 0;
$108 = $107&1;
L56: do {
if (!($108)) {
$109 = HEAP32[$4>>2]|0;
$switchtmp$i$i$i$i$i = ($109|0)==(0|0);
L58: do {
if ($switchtmp$i$i$i$i$i) {
$args$sroa$0$0$i$i$i = 1;$args$sroa$11$0$i$i$i = 0;$args$sroa$16$0$i$i$i = 0;
} else {
$114 = ((($iterator$i$i$i$i$i)) + 4|0);
$115 = HEAP32[$iterator$i$i$i$i$i>>2]|0;
$116 = HEAP32[$114>>2]|0;
$117 = ($116|0)>($115|0);
$118 = (($116) - ($115))|0;
$$$i$i$i$i$i$i$i = $117 ? $118 : 0;
$$arith63 = (($$$i$i$i$i$i$i$i) + 1)|0;
$$overflow64 = ($$$i$i$i$i$i$i$i>>>0)>(4294967294);
$sret_slot$0$i$i$i$i$i$i = $$overflow64 ? -1 : $$arith63;
$$arith71 = ($sret_slot$0$i$i$i$i$i$i*12)|0;
$$overflow72 = ($sret_slot$0$i$i$i$i$i$i>>>0)>(357913941);
L61: do {
if ($$overflow72) {
__THREW__ = 0;
invoke_vii(57,(2376|0),17);
$119 = __THREW__; __THREW__ = 0;
label = 54;
} else {
$120 = ($$arith71|0)<(0);
if ($120) {
__THREW__ = 0;
invoke_vi(59,(1444|0));
$121 = __THREW__; __THREW__ = 0;
label = 54;
break;
}
$122 = ($$arith71|0)==(0);
do {
if ($122) {
$ptr$0$i$i$i$i$i$i$i = (1);
} else {
$123 = (_malloc($$arith71)|0);
$124 = ($123|0)==(0|0);
if (!($124)) {
$ptr$0$i$i$i$i$i$i$i = $123;
break;
}
__THREW__ = 0;
invoke_v(62);
$125 = __THREW__; __THREW__ = 0;
label = 54;
break L61;
}
} while(0);
$126 = $ptr$0$i$i$i$i$i$i$i;
;HEAP32[$ptr$0$i$i$i$i$i$i$i>>2]=HEAP32[$4>>2]|0;HEAP32[$ptr$0$i$i$i$i$i$i$i+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$ptr$0$i$i$i$i$i$i$i+8>>2]=HEAP32[$4+8>>2]|0;
;HEAP32[$arg18$i$i$i$i$i>>2]=HEAP32[$iterator$i$i$i$i$i>>2]|0;HEAP32[$arg18$i$i$i$i$i+4>>2]=HEAP32[$iterator$i$i$i$i$i+4>>2]|0;HEAP32[$arg18$i$i$i$i$i+8>>2]=HEAP32[$iterator$i$i$i$i$i+8>>2]|0;
__THREW__ = 0;
invoke_vii(61,($3|0),($arg18$i$i$i$i$i|0));
$127 = __THREW__; __THREW__ = 0;
$128 = $127&1;
L71: do {
if ($128) {
$169 = ___cxa_find_matching_catch_2()|0;
$170 = tempRet0;
$eh$lpad$body$i$i$i$i$i$index8Z2D = $170;$eh$lpad$body$i$i$i$i$i$indexZ2D = $169;$vector$i$i$i$i$i$sroa$0$3 = $126;$vector$i$i$i$i$i$sroa$15$1 = 1;$vector$i$i$i$i$i$sroa$9$3 = $sret_slot$0$i$i$i$i$i$i;
} else {
$129 = HEAP32[$3>>2]|0;
$130 = ($129|0)==(0|0);
L74: do {
if ($130) {
$479 = 1;$480 = $sret_slot$0$i$i$i$i$i$i;$481 = $126;
} else {
$131 = ((($arg18$i$i$i$i$i)) + 4|0);
$132 = ((($3)) + 4|0);
$136 = $129;$138 = 1;$482 = $ptr$0$i$i$i$i$i$i$i;$vector$i$i$i$i$i$sroa$0$0 = $126;$vector$i$i$i$i$i$sroa$9$0 = $sret_slot$0$i$i$i$i$i$i;
while(1) {
$137 = ($vector$i$i$i$i$i$sroa$9$0|0)==($138|0);
if ($137) {
$139 = HEAP32[$arg18$i$i$i$i$i>>2]|0;
$140 = HEAP32[$131>>2]|0;
$141 = ($140|0)>($139|0);
$142 = (($140) - ($139))|0;
$$$i$i$i$i$i$i$i$i = $141 ? $142 : 0;
$$arith59 = (($$$i$i$i$i$i$i$i$i) + 1)|0;
$$overflow60 = ($$$i$i$i$i$i$i$i$i>>>0)>(4294967294);
$sret_slot$0$i$i$i$i$i$i$i = $$overflow60 ? -1 : $$arith59;
$143 = (($vector$i$i$i$i$i$sroa$9$0) - ($138))|0;
$144 = ($143>>>0)<($sret_slot$0$i$i$i$i$i$i$i>>>0);
if ($144) {
$$arith = (($138) + ($sret_slot$0$i$i$i$i$i$i$i))|0;
$$overflow = ($$arith>>>0)<($138>>>0);
if ($$overflow) {
label = 72;
break;
}
$146 = $vector$i$i$i$i$i$sroa$9$0 << 1;
$147 = ($$arith>>>0)>=($146>>>0);
$148 = $147 ? $$arith : $146;
$$arith67 = ($148*12)|0;
$$overflow68 = ($148>>>0)>(357913941);
if ($$overflow68) {
label = 74;
break;
}
$150 = ($$arith67|0)<(0);
if ($150) {
label = 76;
break;
}
$152 = ($vector$i$i$i$i$i$sroa$9$0|0)==(0);
if ($152) {
$153 = (_malloc($$arith67)|0);
$ptr$0$i$i$i = $153;
} else {
$154 = $vector$i$i$i$i$i$sroa$0$0;
$155 = (_realloc($154,$$arith67)|0);
$ptr$0$i$i$i = $155;
}
$156 = ($ptr$0$i$i$i|0)==(0|0);
if ($156) {
label = 81;
break;
}
$158 = $ptr$0$i$i$i;
$vector$i$i$i$i$i$sroa$0$1 = $158;$vector$i$i$i$i$i$sroa$9$1 = $148;
} else {
$vector$i$i$i$i$i$sroa$0$1 = $vector$i$i$i$i$i$sroa$0$0;$vector$i$i$i$i$i$sroa$9$1 = $vector$i$i$i$i$i$sroa$9$0;
}
$159 = $vector$i$i$i$i$i$sroa$0$1;
$161 = $159;$vector$i$i$i$i$i$sroa$0$2 = $vector$i$i$i$i$i$sroa$0$1;$vector$i$i$i$i$i$sroa$9$2 = $vector$i$i$i$i$i$sroa$9$1;
} else {
$161 = $482;$vector$i$i$i$i$i$sroa$0$2 = $vector$i$i$i$i$i$sroa$0$0;$vector$i$i$i$i$i$sroa$9$2 = $vector$i$i$i$i$i$sroa$9$0;
}
$160 = (($161) + (($138*12)|0)|0);
_memmove(($160|0),($3|0),12)|0;
$162 = (($138) + 1)|0;
__THREW__ = 0;
invoke_vii(61,($3|0),($arg18$i$i$i$i$i|0));
$163 = __THREW__; __THREW__ = 0;
$164 = $163&1;
if ($164) {
label = 87;
break;
}
$165 = HEAP32[$3>>2]|0;
$166 = ($165|0)==(0|0);
if ($166) {
$479 = $162;$480 = $vector$i$i$i$i$i$sroa$9$2;$481 = $vector$i$i$i$i$i$sroa$0$2;
break L74;
} else {
$136 = $165;$138 = $162;$482 = $161;$vector$i$i$i$i$i$sroa$0$0 = $vector$i$i$i$i$i$sroa$0$2;$vector$i$i$i$i$i$sroa$9$0 = $vector$i$i$i$i$i$sroa$9$2;
}
}
if ((label|0) == 72) {
__THREW__ = 0;
invoke_vii(57,(2376|0),17);
$145 = __THREW__; __THREW__ = 0;
}
else if ((label|0) == 74) {
__THREW__ = 0;
invoke_vii(57,(2376|0),17);
$149 = __THREW__; __THREW__ = 0;
}
else if ((label|0) == 76) {
__THREW__ = 0;
invoke_vi(59,(1444|0));
$151 = __THREW__; __THREW__ = 0;
}
else if ((label|0) == 81) {
__THREW__ = 0;
invoke_v(62);
$157 = __THREW__; __THREW__ = 0;
}
else if ((label|0) == 87) {
$167 = ___cxa_find_matching_catch_2()|0;
$168 = tempRet0;
$eh$lpad$body$i$i$i$i$i$index8Z2D = $168;$eh$lpad$body$i$i$i$i$i$indexZ2D = $167;$vector$i$i$i$i$i$sroa$0$3 = $vector$i$i$i$i$i$sroa$0$2;$vector$i$i$i$i$i$sroa$15$1 = $162;$vector$i$i$i$i$i$sroa$9$3 = $vector$i$i$i$i$i$sroa$9$2;
break L71;
}
$133 = ___cxa_find_matching_catch_2()|0;
$134 = tempRet0;
$135 = HEAP32[$132>>2]|0;
$switch$split782D = ($135|0)<(488447261);
if ($switch$split782D) {
switch ($135|0) {
case 0: {
break;
}
default: {
label = 67;
}
}
} else {
switch ($135|0) {
case 488447261: {
break;
}
default: {
label = 67;
}
}
}
if ((label|0) == 67) {
_free($136);
}
$eh$lpad$body$i$i$i$i$i$index8Z2D = $134;$eh$lpad$body$i$i$i$i$i$indexZ2D = $133;$vector$i$i$i$i$i$sroa$0$3 = $vector$i$i$i$i$i$sroa$0$0;$vector$i$i$i$i$i$sroa$15$1 = $138;$vector$i$i$i$i$i$sroa$9$3 = $vector$i$i$i$i$i$sroa$9$0;
break L71;
}
} while(0);
$args$sroa$0$0$i$i$i = $481;$args$sroa$11$0$i$i$i = $480;$args$sroa$16$0$i$i$i = $479;
break L58;
}
} while(0);
$171 = ($vector$i$i$i$i$i$sroa$9$3|0)==(488447261);
if ($171) {
$$sroa$0$0$i$i$i$i$i = $eh$lpad$body$i$i$i$i$i$indexZ2D;$$sroa$7$0$i$i$i$i$i = $eh$lpad$body$i$i$i$i$i$index8Z2D;
break;
}
$172 = $vector$i$i$i$i$i$sroa$0$3;
$173 = (($172) + (($vector$i$i$i$i$i$sroa$15$1*12)|0)|0);
$174 = ($vector$i$i$i$i$i$sroa$15$1|0)>(0);
$175 = $vector$i$i$i$i$i$sroa$0$3;
if ($174) {
$177 = $172;
while(1) {
$176 = ((($177)) + 4|0);
$178 = HEAP32[$176>>2]|0;
$switch$split812D = ($178|0)<(488447261);
if ($switch$split812D) {
switch ($178|0) {
case 0: {
break;
}
default: {
label = 92;
}
}
} else {
switch ($178|0) {
case 488447261: {
break;
}
default: {
label = 92;
}
}
}
if ((label|0) == 92) {
label = 0;
$179 = HEAP32[$177>>2]|0;
_free($179);
}
$180 = ((($177)) + 12|0);
$181 = ($180>>>0)<($173>>>0);
if ($181) {
$177 = $180;
} else {
break;
}
}
}
$switch$split842D = ($vector$i$i$i$i$i$sroa$9$3|0)<(488447261);
if ($switch$split842D) {
switch ($vector$i$i$i$i$i$sroa$9$3|0) {
case 0: {
$$sroa$0$0$i$i$i$i$i = $eh$lpad$body$i$i$i$i$i$indexZ2D;$$sroa$7$0$i$i$i$i$i = $eh$lpad$body$i$i$i$i$i$index8Z2D;
break L61;
break;
}
default: {
}
}
} else {
switch ($vector$i$i$i$i$i$sroa$9$3|0) {
case 488447261: {
$$sroa$0$0$i$i$i$i$i = $eh$lpad$body$i$i$i$i$i$indexZ2D;$$sroa$7$0$i$i$i$i$i = $eh$lpad$body$i$i$i$i$i$index8Z2D;
break L61;
break;
}
default: {
}
}
}
_free($175);
$$sroa$0$0$i$i$i$i$i = $eh$lpad$body$i$i$i$i$i$indexZ2D;$$sroa$7$0$i$i$i$i$i = $eh$lpad$body$i$i$i$i$i$index8Z2D;
}
} while(0);
if ((label|0) == 54) {
$110 = ___cxa_find_matching_catch_2()|0;
$111 = tempRet0;
$112 = ((($4)) + 4|0);
$113 = HEAP32[$112>>2]|0;
$switch$split2D = ($113|0)<(488447261);
if ($switch$split2D) {
switch ($113|0) {
case 0: {
break;
}
default: {
label = 55;
}
}
} else {
switch ($113|0) {
case 488447261: {
break;
}
default: {
label = 55;
}
}
}
if ((label|0) == 55) {
_free($109);
}
$$sroa$0$0$i$i$i$i$i = $110;$$sroa$7$0$i$i$i$i$i = $111;
}
$eh$lpad$body$i$index18Z2D = $$sroa$7$0$i$i$i$i$i;$eh$lpad$body$i$indexZ2D = $$sroa$0$0$i$i$i$i$i;
break L7;
}
} while(0);
(_pthread_mutex_lock(((7000)|0))|0);
__THREW__ = 0;
$182 = (invoke_i(63)|0);
$183 = __THREW__; __THREW__ = 0;
$184 = $183&1;
do {
if ($184) {
label = 103;
} else {
$switchtmp$i$i$i$i$i$i$i$i = ($182|0)==(0|0);
if ($switchtmp$i$i$i$i$i$i$i$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$185 = __THREW__; __THREW__ = 0;
label = 103;
break;
}
$186 = HEAP32[$182>>2]|0;
$switch$i$i$i$i$i$i$i = ($186|0)==(1);
if ($switch$i$i$i$i$i$i$i) {
$$sink$in$phi$trans$insert$i$i$i$i = ((($182)) + 4|0);
$$pre$i$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i$i$i$i>>2]|0;
$phitmp$i$i$i$i = ($$pre$i$i$i$i|0)!=(0);
$phitmp7$i$i$i$i = $phitmp$i$i$i$i&1;
$209 = $phitmp7$i$i$i$i;
} else {
$187 = $182;
$188 = $187;
HEAP32[$188>>2] = 1;
$189 = (($187) + 4)|0;
$190 = $189;
HEAP32[$190>>2] = 0;
$209 = 0;
}
$191 = HEAP8[(7024)>>0]|0;
$switch$i$i$i$i$i = ($191<<24>>24)==(0);
$192 = HEAP32[1784]|0;
$193 = ($192|0)==(0|0);
do {
if ($193) {
$230 = (_malloc(12)|0);
$231 = ($230|0)==(0|0);
if ($231) {
__THREW__ = 0;
invoke_v(62);
$232 = __THREW__; __THREW__ = 0;
break;
}
HEAP32[$230>>2] = $args$sroa$0$0$i$i$i;
$233 = ((($230)) + 4|0);
HEAP32[$233>>2] = $args$sroa$11$0$i$i$i;
$234 = ((($230)) + 8|0);
HEAP32[$234>>2] = $args$sroa$16$0$i$i$i;
HEAP32[1784] = $230;
$235 = ($209<<24>>24)==(0);
if ($switch$i$i$i$i$i) {
do {
if ($235) {
__THREW__ = 0;
$236 = (invoke_i(63)|0);
$237 = __THREW__; __THREW__ = 0;
$238 = $237&1;
if ($238) {
break L56;
}
$switchtmp$i$i$i46$i$i$i = ($236|0)==(0|0);
if ($switchtmp$i$i$i46$i$i$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$239 = __THREW__; __THREW__ = 0;
break L56;
}
$240 = HEAP32[$236>>2]|0;
$switch$i$i49$i$i$i = ($240|0)==(1);
if (!($switch$i$i49$i$i$i)) {
$241 = $236;
$242 = $241;
HEAP32[$242>>2] = 1;
$243 = (($241) + 4)|0;
$244 = $243;
HEAP32[$244>>2] = 0;
break;
}
$$sink$in$phi$trans$insert$i41$i$i$i = ((($236)) + 4|0);
$$pre$i43$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i41$i$i$i>>2]|0;
$phitmp$i44$i$i$i = ($$pre$i43$i$i$i|0)==(0);
if ($phitmp$i44$i$i$i) {
break;
}
HEAP8[(7024)>>0] = 1;
}
} while(0);
(_pthread_mutex_unlock(((7000)|0))|0);
} else {
do {
if ($235) {
__THREW__ = 0;
$245 = (invoke_i(63)|0);
$246 = __THREW__; __THREW__ = 0;
$247 = $246&1;
if ($247) {
break L56;
}
$switchtmp$i$i$i60$i$i$i = ($245|0)==(0|0);
if ($switchtmp$i$i$i60$i$i$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$248 = __THREW__; __THREW__ = 0;
break L56;
}
$249 = HEAP32[$245>>2]|0;
$switch$i$i63$i$i$i = ($249|0)==(1);
if (!($switch$i$i63$i$i$i)) {
$250 = $245;
$251 = $250;
HEAP32[$251>>2] = 1;
$252 = (($250) + 4)|0;
$253 = $252;
HEAP32[$253>>2] = 0;
break;
}
$$sink$in$phi$trans$insert$i55$i$i$i = ((($245)) + 4|0);
$$pre$i57$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i55$i$i$i>>2]|0;
$phitmp$i58$i$i$i = ($$pre$i57$i$i$i|0)==(0);
if ($phitmp$i58$i$i$i) {
break;
}
HEAP8[(7024)>>0] = 1;
}
} while(0);
(_pthread_mutex_unlock(((7000)|0))|0);
}
HEAP8[$result$i$i>>0] = 0;
$256 = $result$i$i;
HEAP32[$f1$i$i$i>>2] = (64);
$257 = ((($f1$i$i$i)) + 4|0);
HEAP32[$257>>2] = $256;
__THREW__ = 0;
$258 = (invoke_i(63)|0);
$259 = __THREW__; __THREW__ = 0;
$260 = $259&1;
if ($260) {
break L56;
}
$switchtmp$i$i$i24$i = ($258|0)==(0|0);
if ($switchtmp$i$i$i24$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$261 = __THREW__; __THREW__ = 0;
break L56;
}
$262 = HEAP32[$258>>2]|0;
$switch$i$i26$i = ($262|0)==(1);
if ($switch$i$i26$i) {
$$sink$in$phi$trans$insert$i$i$i = ((($258)) + 4|0);
$$pre$i$i27$i = HEAP32[$$sink$in$phi$trans$insert$i$i$i>>2]|0;
$$pre$phi$i$i$iZ2D = $$sink$in$phi$trans$insert$i$i$i;$268 = $$pre$i$i27$i;
} else {
$263 = $258;
$264 = $263;
HEAP32[$264>>2] = 1;
$265 = (($263) + 4)|0;
$266 = $265;
HEAP32[$266>>2] = 0;
$$pre1$i$i$i = ((($258)) + 4|0);
$$pre$phi$i$i$iZ2D = $$pre1$i$i$i;$268 = 0;
}
HEAP32[$$pre$phi$i$i$iZ2D>>2] = 0;
HEAP32[$payload$i$i$i$i>>2] = 0;
$267 = (___rust_try(65,$f1$i$i$i,$payload$i$i$i$i)|0);
HEAP32[$$pre$phi$i$i$iZ2D>>2] = $268;
$269 = ($267|0)==(0);
do {
if ($269) {
$280 = HEAP8[$result$i$i>>0]|0;
$switch$i$i16$i = ($280<<24>>24)==(1);
if ($switch$i$i16$i) {
$$sroa$6$0135 = 0;$res$sroa$0$0$i = 0;
break;
} else {
__THREW__ = 0;
invoke_vi(59,(1488|0));
$281 = __THREW__; __THREW__ = 0;
break L56;
}
} else {
$270 = HEAP32[$payload$i$i$i$i>>2]|0;
$271 = ((($270)) + 96|0);
$272 = HEAP32[$271>>2]|0;
$273 = ((($270)) + 100|0);
$274 = HEAP32[$273>>2]|0;
$275 = $271;
$276 = $275;
HEAP32[$276>>2] = 0;
$277 = (($275) + 4)|0;
$278 = $277;
HEAP32[$278>>2] = 0;
__Unwind_DeleteException(($270|0));
$switchtmp$i$i$i$i$i30$i = ($272|0)==(0|0);
if ($switchtmp$i$i$i$i$i30$i) {
__THREW__ = 0;
invoke_vi(59,(1488|0));
$279 = __THREW__; __THREW__ = 0;
break L56;
} else {
$$sroa$0$0 = $272;$$sroa$6$0 = $274;
$$sroa$6$0135 = $$sroa$6$0;$res$sroa$0$0$i = $$sroa$0$0;
break;
}
}
} while(0);
$282 = HEAP32[(7088)>>2]|0;
$283 = ($282|0)<(0);
L191: do {
if (!($283)) {
$284 = HEAP32[(7088)>>2]|0;HEAP32[(7088)>>2] = (($284+1)|0);
$285 = ($284|0)<(0);
if ($285) {
HEAP32[(7088)>>2] = -2147483648;
break;
}
(_pthread_mutex_lock(((7056)|0))|0);
__THREW__ = 0;
$286 = (invoke_i(63)|0);
$287 = __THREW__; __THREW__ = 0;
$288 = $287&1;
L196: do {
if ($288) {
$$sroa$6$0137 = $$sroa$6$0135;
label = 294;
} else {
$switchtmp$i$i$i$i$i$i$i36$i = ($286|0)==(0|0);
if ($switchtmp$i$i$i$i$i$i$i36$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$289 = __THREW__; __THREW__ = 0;
$$sroa$6$0137 = $$sroa$6$0135;
label = 294;
break;
}
$290 = HEAP32[$286>>2]|0;
$switch$i$i$i$i$i$i39$i = ($290|0)==(1);
if ($switch$i$i$i$i$i$i39$i) {
$$sink$in$phi$trans$insert$i1$i$i$i = ((($286)) + 4|0);
$$pre$i3$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i1$i$i$i>>2]|0;
$phitmp$i4$i$i$i = ($$pre$i3$i$i$i|0)!=(0);
$phitmp7$i$i$i41$i = $phitmp$i4$i$i$i&1;
$441 = $phitmp7$i$i$i41$i;
} else {
$291 = $286;
$292 = $291;
HEAP32[$292>>2] = 1;
$293 = (($291) + 4)|0;
$294 = $293;
HEAP32[$294>>2] = 0;
$441 = 0;
}
$295 = HEAP8[(7080)>>0]|0;
$switch$i$i5$i$i$i = ($295<<24>>24)==(0);
$296 = $295 ^ 1;
$297 = $296&255;
$$$i$i$i = $297 ^ 1;
$298 = HEAP32[(7088)>>2]|0;
$299 = ($298|0)>(0);
L205: do {
if ($299) {
(_pthread_mutex_lock(((7000)|0))|0);
__THREW__ = 0;
$330 = (invoke_i(63)|0);
$331 = __THREW__; __THREW__ = 0;
$332 = $331&1;
if ($332) {
$$sroa$6$0140 = $$sroa$6$0135;$guard$sroa$0$0$ph$i$i$i = $$$i$i$i;$guard$sroa$22$1$ph$i$i$i = $441;$guard$sroa$29$1$ph$i$i$i = -44;$guard$sroa$8$1$ph$i$i$i = ((7056));
label = 180;
break;
}
$switchtmp$i$i$i$i$i$i$i$i$i$i$i = ($330|0)==(0|0);
if ($switchtmp$i$i$i$i$i$i$i$i$i$i$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$333 = __THREW__; __THREW__ = 0;
$$sroa$6$0140 = $$sroa$6$0135;$guard$sroa$0$0$ph$i$i$i = $$$i$i$i;$guard$sroa$22$1$ph$i$i$i = $441;$guard$sroa$29$1$ph$i$i$i = -44;$guard$sroa$8$1$ph$i$i$i = ((7056));
label = 180;
break;
}
$334 = HEAP32[$330>>2]|0;
$switch$i$i$i$i$i$i$i$i$i$i = ($334|0)==(1);
if ($switch$i$i$i$i$i$i$i$i$i$i) {
$$sink$in$phi$trans$insert$i$i$i$i$i$i$i = ((($330)) + 4|0);
$$pre$i$i$i$i$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i$i$i$i$i$i$i>>2]|0;
$phitmp$i$i$i$i$i$i = ($$pre$i$i$i$i$i$i$i|0)==(0);
$483 = $phitmp$i$i$i$i$i$i;
} else {
$335 = $330;
$336 = $335;
HEAP32[$336>>2] = 1;
$337 = (($335) + 4)|0;
$338 = $337;
HEAP32[$338>>2] = 0;
$483 = 1;
}
$339 = HEAP8[(7024)>>0]|0;
$switch$i$i$i$i$i$i$i$i = ($339<<24>>24)==(0);
$340 = HEAP32[1784]|0;
$magicptr$i$i$i = $340;
$switch$split932D = ($magicptr$i$i$i|0)<(488447261);
if ($switch$split932D) {
switch ($magicptr$i$i$i|0) {
case 0: {
break;
}
default: {
label = 209;
}
}
} else {
switch ($magicptr$i$i$i|0) {
case 488447261: {
break;
}
default: {
label = 209;
}
}
}
if ((label|0) == 209) {
$341 = ((($340)) + 4|0);
$342 = HEAP32[$341>>2]|0;
$343 = ($342|0)==(488447261);
L220: do {
if (!($343)) {
$344 = HEAP32[$340>>2]|0;
$345 = ((($340)) + 8|0);
$346 = HEAP32[$345>>2]|0;
$347 = (($344) + (($346*12)|0)|0);
$348 = ($346|0)>(0);
if ($348) {
$350 = $344;
while(1) {
$349 = ((($350)) + 4|0);
$351 = HEAP32[$349>>2]|0;
$switch$split962D = ($351|0)<(488447261);
if ($switch$split962D) {
switch ($351|0) {
case 0: {
break;
}
default: {
label = 212;
}
}
} else {
switch ($351|0) {
case 488447261: {
break;
}
default: {
label = 212;
}
}
}
if ((label|0) == 212) {
label = 0;
$352 = HEAP32[$350>>2]|0;
_free($352);
}
$353 = ((($350)) + 12|0);
$354 = ($353>>>0)<($347>>>0);
if ($354) {
$350 = $353;
} else {
break;
}
}
$$pr$pre$i$i$i$i$i = HEAP32[$341>>2]|0;
$$pr$i$i$i$i$i = $$pr$pre$i$i$i$i$i;
} else {
$$pr$i$i$i$i$i = $342;
}
$switch$split992D = ($$pr$i$i$i$i$i|0)<(488447261);
if ($switch$split992D) {
switch ($$pr$i$i$i$i$i|0) {
case 0: {
break L220;
break;
}
default: {
}
}
} else {
switch ($$pr$i$i$i$i$i|0) {
case 488447261: {
break L220;
break;
}
default: {
}
}
}
$355 = HEAP32[$340>>2]|0;
_free($355);
}
} while(0);
_free($340);
}
HEAP32[1784] = 0;
if ($switch$i$i$i$i$i$i$i$i) {
do {
if ($483) {
__THREW__ = 0;
$356 = (invoke_i(63)|0);
$357 = __THREW__; __THREW__ = 0;
$358 = $357&1;
if ($358) {
$$sroa$6$0140 = $$sroa$6$0135;$guard$sroa$0$0$ph$i$i$i = $$$i$i$i;$guard$sroa$22$1$ph$i$i$i = $441;$guard$sroa$29$1$ph$i$i$i = -44;$guard$sroa$8$1$ph$i$i$i = ((7056));
label = 180;
break L205;
}
$switchtmp$i$i$i$i$i$i$i$i$i = ($356|0)==(0|0);
if ($switchtmp$i$i$i$i$i$i$i$i$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$359 = __THREW__; __THREW__ = 0;
$$sroa$6$0140 = $$sroa$6$0135;$guard$sroa$0$0$ph$i$i$i = $$$i$i$i;$guard$sroa$22$1$ph$i$i$i = $441;$guard$sroa$29$1$ph$i$i$i = -44;$guard$sroa$8$1$ph$i$i$i = ((7056));
label = 180;
break L205;
}
$360 = HEAP32[$356>>2]|0;
$switch$i$i5$i$i$i$i$i$i = ($360|0)==(1);
if (!($switch$i$i5$i$i$i$i$i$i)) {
$361 = $356;
$362 = $361;
HEAP32[$362>>2] = 1;
$363 = (($361) + 4)|0;
$364 = $363;
HEAP32[$364>>2] = 0;
break;
}
$$sink$in$phi$trans$insert$i1$i$i$i$i$i$i = ((($356)) + 4|0);
$$pre$i3$i$i$i$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i1$i$i$i$i$i$i>>2]|0;
$phitmp$i4$i$i$i$i$i$i = ($$pre$i3$i$i$i$i$i$i|0)==(0);
if ($phitmp$i4$i$i$i$i$i$i) {
break;
}
HEAP8[(7024)>>0] = 1;
}
} while(0);
(_pthread_mutex_unlock(((7000)|0))|0);
$$sroa$058$081$i$i$i$i$i = 0;
} else {
do {
if ($483) {
__THREW__ = 0;
$365 = (invoke_i(63)|0);
$366 = __THREW__; __THREW__ = 0;
$367 = $366&1;
if ($367) {
$$sroa$6$0140 = $$sroa$6$0135;$guard$sroa$0$0$ph$i$i$i = $$$i$i$i;$guard$sroa$22$1$ph$i$i$i = $441;$guard$sroa$29$1$ph$i$i$i = -44;$guard$sroa$8$1$ph$i$i$i = ((7056));
label = 180;
break L205;
}
$switchtmp$i$i$i10$i$i$i$i$i$i = ($365|0)==(0|0);
if ($switchtmp$i$i$i10$i$i$i$i$i$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$368 = __THREW__; __THREW__ = 0;
$$sroa$6$0140 = $$sroa$6$0135;$guard$sroa$0$0$ph$i$i$i = $$$i$i$i;$guard$sroa$22$1$ph$i$i$i = $441;$guard$sroa$29$1$ph$i$i$i = -44;$guard$sroa$8$1$ph$i$i$i = ((7056));
label = 180;
break L205;
}
$369 = HEAP32[$365>>2]|0;
$switch$i$i12$i$i$i$i$i$i = ($369|0)==(1);
if (!($switch$i$i12$i$i$i$i$i$i)) {
$370 = $365;
$371 = $370;
HEAP32[$371>>2] = 1;
$372 = (($370) + 4)|0;
$373 = $372;
HEAP32[$373>>2] = 0;
break;
}
$$sink$in$phi$trans$insert$i6$i$i$i$i$i$i = ((($365)) + 4|0);
$$pre$i8$i$i$i$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i6$i$i$i$i$i$i>>2]|0;
$phitmp$i9$i$i$i$i$i$i = ($$pre$i8$i$i$i$i$i$i|0)==(0);
if ($phitmp$i9$i$i$i$i$i$i) {
break;
}
HEAP8[(7024)>>0] = 1;
}
} while(0);
(_pthread_mutex_unlock(((7000)|0))|0);
$$sroa$058$081$i$i$i$i$i = 0;
}
L264: while(1) {
$374 = (($$sroa$058$081$i$i$i$i$i) + 1)|0;
(_pthread_mutex_lock(((7032)|0))|0);
$375 = HEAP32[1785]|0;
$376 = ($$sroa$058$081$i$i$i$i$i|0)==(9);
$$$i$i$i$i$i = $376 ? (1) : 0;
HEAP32[1785] = $$$i$i$i$i$i;
(_pthread_mutex_unlock(((7032)|0))|0);
$magicptr$i$i$i$i$i = $375;
L266: do {
switch ($magicptr$i$i$i$i$i|0) {
case 1: {
label = 238;
break L264;
break;
}
case 0: {
break;
}
default: {
$378 = HEAP32[$375>>2]|0;
$379 = ((($375)) + 4|0);
$380 = HEAP32[$379>>2]|0;
$381 = ((($375)) + 8|0);
$382 = HEAP32[$381>>2]|0;
;HEAP32[$375>>2]=488447261|0;HEAP32[$375+4>>2]=488447261|0;HEAP32[$375+8>>2]=488447261|0;
$383 = (($378) + ($382<<3)|0);
$386 = $378;
while(1) {
$387 = ($386|0)==($383|0);
if ($387) {
$$sroa$23$1 = $386;
break;
}
$388 = ((($386)) + 8|0);
$389 = HEAP32[$386>>2]|0;
$switch33tmp$i$i$i$i$i = ($389|0)==(0);
if ($switch33tmp$i$i$i$i$i) {
$$sroa$23$1 = $388;
break;
}
$411 = ((($386)) + 4|0);
$412 = HEAP32[$411>>2]|0;
$413 = $389;
$414 = ((($412)) + 12|0);
$415 = HEAP32[$414>>2]|0;
__THREW__ = 0;
invoke_vii($415|0,($413|0),($$ptr|0));
$416 = __THREW__; __THREW__ = 0;
$417 = $416&1;
if ($417) {
label = 245;
break L264;
} else {
$386 = $388;
}
}
$418 = ($$sroa$23$1|0)==($383|0);
L273: do {
if (!($418)) {
$420 = $$sroa$23$1;
while(1) {
$419 = ((($420)) + 8|0);
$421 = HEAP32[$420>>2]|0;
$422 = ((($420)) + 4|0);
$423 = HEAP32[$422>>2]|0;
$424 = $421;
$switch$split1112D = ($421|0)<(488447261);
if ($switch$split1112D) {
switch ($421|0) {
case 0: {
break L273;
break;
}
default: {
label = 260;
}
}
} else {
switch ($421|0) {
case 488447261: {
break;
}
default: {
label = 260;
}
}
}
do {
if ((label|0) == 260) {
label = 0;
$426 = $423;
$427 = HEAP32[$426>>2]|0;
__THREW__ = 0;
invoke_vi($427|0,($424|0));
$428 = __THREW__; __THREW__ = 0;
$429 = $428&1;
if ($429) {
label = 265;
break L264;
}
$430 = $423;
$431 = ((($430)) + 4|0);
$432 = HEAP32[$431>>2]|0;
$433 = ($432|0)==(0);
if ($433) {
break;
}
_free($424);
}
} while(0);
$425 = ($419|0)==($383|0);
if ($425) {
break;
} else {
$420 = $419;
}
}
}
} while(0);
$switch$split1142D = ($380|0)<(488447261);
if ($switch$split1142D) {
switch ($380|0) {
case 0: {
break;
}
default: {
label = 264;
}
}
} else {
switch ($380|0) {
case 488447261: {
break;
}
default: {
label = 264;
}
}
}
if ((label|0) == 264) {
label = 0;
_free($378);
}
$436 = ($375|0)==((488447261)|0);
if ($436) {
break L266;
}
__THREW__ = 0;
invoke_vi(66,($375|0));
$437 = __THREW__; __THREW__ = 0;
$438 = $437&1;
if ($438) {
label = 179;
break L264;
}
_free($375);
}
}
} while(0);
$439 = ($374>>>0)<(10);
if ($439) {
$$sroa$058$081$i$i$i$i$i = $374;
} else {
label = 271;
break;
}
}
if ((label|0) == 179) {
$300 = ___cxa_find_matching_catch_2()|0;
$301 = tempRet0;
$$sroa$6$0139 = $$sroa$6$0135;$eh$lpad$body$i$i$i$index34Z2D = $301;$eh$lpad$body$i$i$i$indexZ2D = $300;$guard$sroa$0$1$i$i$i = $$$i$i$i;$guard$sroa$22$2$i$i$i = $441;$guard$sroa$29$2$i$i$i = -44;$guard$sroa$8$2$i$i$i = ((7056));
break;
}
else if ((label|0) == 238) {
__THREW__ = 0;
invoke_viii(60,(3384|0),39,(864|0));
$377 = __THREW__; __THREW__ = 0;
$$sroa$6$0140 = $$sroa$6$0135;$guard$sroa$0$0$ph$i$i$i = $$$i$i$i;$guard$sroa$22$1$ph$i$i$i = $441;$guard$sroa$29$1$ph$i$i$i = -44;$guard$sroa$8$1$ph$i$i$i = ((7056));
label = 180;
break;
}
else if ((label|0) == 245) {
$390 = ___cxa_find_matching_catch_2()|0;
$391 = tempRet0;
$392 = ($388|0)==($383|0);
L299: do {
if (!($392)) {
$394 = $388;
L300: while(1) {
$393 = ((($394)) + 8|0);
$395 = HEAP32[$394>>2]|0;
$396 = ((($394)) + 4|0);
$397 = HEAP32[$396>>2]|0;
$398 = $395;
$switch$split1022D = ($395|0)<(488447261);
if ($switch$split1022D) {
switch ($395|0) {
case 0: {
break L299;
break;
}
default: {
label = 248;
}
}
} else {
switch ($395|0) {
case 488447261: {
break;
}
default: {
label = 248;
}
}
}
do {
if ((label|0) == 248) {
label = 0;
$400 = $397;
$401 = HEAP32[$400>>2]|0;
__THREW__ = 0;
invoke_vi($401|0,($398|0));
$402 = __THREW__; __THREW__ = 0;
$403 = $402&1;
if ($403) {
break L300;
}
$404 = $397;
$405 = ((($404)) + 4|0);
$406 = HEAP32[$405>>2]|0;
$407 = ($406|0)==(0);
if ($407) {
break;
}
_free($398);
}
} while(0);
$399 = ($393|0)==($383|0);
if ($399) {
break L299;
} else {
$394 = $393;
}
}
$408 = ___cxa_find_matching_catch_2()|0;
$409 = tempRet0;
$switch$split1082D = ($380|0)<(488447261);
if ($switch$split1082D) {
switch ($380|0) {
case 0: {
$$sroa$6$0139 = $$sroa$6$0135;$eh$lpad$body$i$i$i$index34Z2D = $409;$eh$lpad$body$i$i$i$indexZ2D = $408;$guard$sroa$0$1$i$i$i = $$$i$i$i;$guard$sroa$22$2$i$i$i = $441;$guard$sroa$29$2$i$i$i = -44;$guard$sroa$8$2$i$i$i = ((7056));
break L205;
break;
}
default: {
}
}
} else {
switch ($380|0) {
case 488447261: {
$$sroa$6$0139 = $$sroa$6$0135;$eh$lpad$body$i$i$i$index34Z2D = $409;$eh$lpad$body$i$i$i$indexZ2D = $408;$guard$sroa$0$1$i$i$i = $$$i$i$i;$guard$sroa$22$2$i$i$i = $441;$guard$sroa$29$2$i$i$i = -44;$guard$sroa$8$2$i$i$i = ((7056));
break L205;
break;
}
default: {
}
}
}
_free($378);
$$sroa$6$0139 = $$sroa$6$0135;$eh$lpad$body$i$i$i$index34Z2D = $409;$eh$lpad$body$i$i$i$indexZ2D = $408;$guard$sroa$0$1$i$i$i = $$$i$i$i;$guard$sroa$22$2$i$i$i = $441;$guard$sroa$29$2$i$i$i = -44;$guard$sroa$8$2$i$i$i = ((7056));
break L205;
}
} while(0);
$switch$split1052D = ($380|0)<(488447261);
if ($switch$split1052D) {
switch ($380|0) {
case 0: {
break;
}
default: {
label = 252;
}
}
} else {
switch ($380|0) {
case 488447261: {
break;
}
default: {
label = 252;
}
}
}
if ((label|0) == 252) {
_free($378);
}
$410 = ($375|0)==((488447261)|0);
if (!($410)) {
__THREW__ = 0;
invoke_vi(66,($375|0));
$384 = __THREW__; __THREW__ = 0;
$385 = $384&1;
if ($385) {
$$sroa$6$0140 = $$sroa$6$0135;$guard$sroa$0$0$ph$i$i$i = $$$i$i$i;$guard$sroa$22$1$ph$i$i$i = $441;$guard$sroa$29$1$ph$i$i$i = -44;$guard$sroa$8$1$ph$i$i$i = ((7056));
label = 180;
break;
}
_free($375);
}
$$sroa$6$0139 = $$sroa$6$0135;$eh$lpad$body$i$i$i$index34Z2D = $391;$eh$lpad$body$i$i$i$indexZ2D = $390;$guard$sroa$0$1$i$i$i = $$$i$i$i;$guard$sroa$22$2$i$i$i = $441;$guard$sroa$29$2$i$i$i = -44;$guard$sroa$8$2$i$i$i = ((7056));
break;
}
else if ((label|0) == 265) {
$434 = ___cxa_find_matching_catch_2()|0;
$435 = tempRet0;
$switch$split1172D = ($380|0)<(488447261);
if ($switch$split1172D) {
switch ($380|0) {
case 0: {
$$sroa$6$0139 = $$sroa$6$0135;$eh$lpad$body$i$i$i$index34Z2D = $435;$eh$lpad$body$i$i$i$indexZ2D = $434;$guard$sroa$0$1$i$i$i = $$$i$i$i;$guard$sroa$22$2$i$i$i = $441;$guard$sroa$29$2$i$i$i = -44;$guard$sroa$8$2$i$i$i = ((7056));
break L205;
break;
}
default: {
}
}
} else {
switch ($380|0) {
case 488447261: {
$$sroa$6$0139 = $$sroa$6$0135;$eh$lpad$body$i$i$i$index34Z2D = $435;$eh$lpad$body$i$i$i$indexZ2D = $434;$guard$sroa$0$1$i$i$i = $$$i$i$i;$guard$sroa$22$2$i$i$i = $441;$guard$sroa$29$2$i$i$i = -44;$guard$sroa$8$2$i$i$i = ((7056));
break L205;
break;
}
default: {
}
}
}
_free($378);
$$sroa$6$0139 = $$sroa$6$0135;$eh$lpad$body$i$i$i$index34Z2D = $435;$eh$lpad$body$i$i$i$indexZ2D = $434;$guard$sroa$0$1$i$i$i = $$$i$i$i;$guard$sroa$22$2$i$i$i = $441;$guard$sroa$29$2$i$i$i = -44;$guard$sroa$8$2$i$i$i = ((7056));
break;
}
else if ((label|0) == 271) {
$440 = HEAP32[(7088)>>2]|0;HEAP32[(7088)>>2] = -2147483648;
HEAP32[(7092)>>2] = $440;
label = 272;
break;
}
} else {
label = 272;
}
} while(0);
L331: do {
if ((label|0) == 272) {
$442 = ($441<<24>>24)==(0);
if ($switch$i$i5$i$i$i) {
do {
if ($442) {
__THREW__ = 0;
$443 = (invoke_i(63)|0);
$444 = __THREW__; __THREW__ = 0;
$445 = $444&1;
if ($445) {
$$sroa$6$0140 = $$sroa$6$0135;$guard$sroa$0$0$ph$i$i$i = 488447261;$guard$sroa$22$1$ph$i$i$i = 29;$guard$sroa$29$1$ph$i$i$i = 29;$guard$sroa$8$1$ph$i$i$i = 488447261;
label = 180;
break L331;
}
$switchtmp$i$i$i$i$i$i$i = ($443|0)==(0|0);
if ($switchtmp$i$i$i$i$i$i$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$446 = __THREW__; __THREW__ = 0;
$$sroa$6$0140 = $$sroa$6$0135;$guard$sroa$0$0$ph$i$i$i = 488447261;$guard$sroa$22$1$ph$i$i$i = 29;$guard$sroa$29$1$ph$i$i$i = 29;$guard$sroa$8$1$ph$i$i$i = 488447261;
label = 180;
break L331;
}
$447 = HEAP32[$443>>2]|0;
$switch$i$i$i$i$i$i = ($447|0)==(1);
if (!($switch$i$i$i$i$i$i)) {
$448 = $443;
$449 = $448;
HEAP32[$449>>2] = 1;
$450 = (($448) + 4)|0;
$451 = $450;
HEAP32[$451>>2] = 0;
break;
}
$$sink$in$phi$trans$insert$i$i$i$i$i = ((($443)) + 4|0);
$$pre$i$i$i$i66$i = HEAP32[$$sink$in$phi$trans$insert$i$i$i$i$i>>2]|0;
$phitmp$i$i$i$i$i = ($$pre$i$i$i$i66$i|0)==(0);
if ($phitmp$i$i$i$i$i) {
break;
}
HEAP8[(7080)>>0] = 1;
}
} while(0);
(_pthread_mutex_unlock(((7056)|0))|0);
} else {
do {
if ($442) {
__THREW__ = 0;
$452 = (invoke_i(63)|0);
$453 = __THREW__; __THREW__ = 0;
$454 = $453&1;
if ($454) {
$$sroa$6$0140 = $$sroa$6$0135;$guard$sroa$0$0$ph$i$i$i = 488447261;$guard$sroa$22$1$ph$i$i$i = 29;$guard$sroa$29$1$ph$i$i$i = 29;$guard$sroa$8$1$ph$i$i$i = 488447261;
label = 180;
break L331;
}
$switchtmp$i$i$i36$i$i67$i = ($452|0)==(0|0);
if ($switchtmp$i$i$i36$i$i67$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$455 = __THREW__; __THREW__ = 0;
$$sroa$6$0140 = $$sroa$6$0135;$guard$sroa$0$0$ph$i$i$i = 488447261;$guard$sroa$22$1$ph$i$i$i = 29;$guard$sroa$29$1$ph$i$i$i = 29;$guard$sroa$8$1$ph$i$i$i = 488447261;
label = 180;
break L331;
}
$456 = HEAP32[$452>>2]|0;
$switch$i$i39$i$i$i = ($456|0)==(1);
if (!($switch$i$i39$i$i$i)) {
$457 = $452;
$458 = $457;
HEAP32[$458>>2] = 1;
$459 = (($457) + 4)|0;
$460 = $459;
HEAP32[$460>>2] = 0;
break;
}
$$sink$in$phi$trans$insert$i31$i$i$i = ((($452)) + 4|0);
$$pre$i33$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i31$i$i$i>>2]|0;
$phitmp$i34$i$i$i = ($$pre$i33$i$i$i|0)==(0);
if ($phitmp$i34$i$i$i) {
break;
}
HEAP8[(7080)>>0] = 1;
}
} while(0);
(_pthread_mutex_unlock(((7056)|0))|0);
}
$461 = HEAP32[(7092)>>2]|0;HEAP32[(7092)>>2] = (($461+-1)|0);
$462 = ($461|0)==(1);
if (!($462)) {
break L191;
}
(_pthread_mutex_destroy(((7056)|0))|0);
break L191;
}
} while(0);
if ((label|0) == 180) {
$302 = ___cxa_find_matching_catch_2()|0;
$303 = tempRet0;
$$sroa$6$0139 = $$sroa$6$0140;$eh$lpad$body$i$i$i$index34Z2D = $303;$eh$lpad$body$i$i$i$indexZ2D = $302;$guard$sroa$0$1$i$i$i = $guard$sroa$0$0$ph$i$i$i;$guard$sroa$22$2$i$i$i = $guard$sroa$22$1$ph$i$i$i;$guard$sroa$29$2$i$i$i = $guard$sroa$29$1$ph$i$i$i;$guard$sroa$8$2$i$i$i = $guard$sroa$8$1$ph$i$i$i;
}
switch ($guard$sroa$0$1$i$i$i|0) {
case 0: {
$304 = ($guard$sroa$29$2$i$i$i<<24>>24)==(-44);
if (!($304)) {
$$sroa$6$0138 = $$sroa$6$0139;$eh$lpad$body74$i$index50Z2D = $eh$lpad$body$i$i$i$index34Z2D;$eh$lpad$body74$i$indexZ2D = $eh$lpad$body$i$i$i$indexZ2D;
break L196;
}
$305 = $guard$sroa$8$2$i$i$i;
$306 = ($guard$sroa$22$2$i$i$i<<24>>24)==(0);
do {
if ($306) {
__THREW__ = 0;
$307 = (invoke_i(63)|0);
$308 = __THREW__; __THREW__ = 0;
$309 = $308&1;
if ($309) {
$$sroa$6$0137 = $$sroa$6$0139;
label = 294;
break L196;
}
$switchtmp$i$i$i60$i$i49$i = ($307|0)==(0|0);
if ($switchtmp$i$i$i60$i$i49$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$310 = __THREW__; __THREW__ = 0;
$$sroa$6$0137 = $$sroa$6$0139;
label = 294;
break L196;
}
$311 = HEAP32[$307>>2]|0;
$switch$i$i63$i$i51$i = ($311|0)==(1);
if (!($switch$i$i63$i$i51$i)) {
$312 = $307;
$313 = $312;
HEAP32[$313>>2] = 1;
$314 = (($312) + 4)|0;
$315 = $314;
HEAP32[$315>>2] = 0;
break;
}
$$sink$in$phi$trans$insert$i55$i$i45$i = ((($307)) + 4|0);
$$pre$i57$i$i47$i = HEAP32[$$sink$in$phi$trans$insert$i55$i$i45$i>>2]|0;
$phitmp$i58$i$i48$i = ($$pre$i57$i$i47$i|0)==(0);
if ($phitmp$i58$i$i48$i) {
break;
}
$316 = ((($305)) + 24|0);
HEAP8[$316>>0] = 1;
}
} while(0);
(_pthread_mutex_unlock(($305|0))|0);
$$sroa$6$0138 = $$sroa$6$0139;$eh$lpad$body74$i$index50Z2D = $eh$lpad$body$i$i$i$index34Z2D;$eh$lpad$body74$i$indexZ2D = $eh$lpad$body$i$i$i$indexZ2D;
break L196;
break;
}
case 1: {
$317 = ($guard$sroa$29$2$i$i$i<<24>>24)==(-44);
if (!($317)) {
$$sroa$6$0138 = $$sroa$6$0139;$eh$lpad$body74$i$index50Z2D = $eh$lpad$body$i$i$i$index34Z2D;$eh$lpad$body74$i$indexZ2D = $eh$lpad$body$i$i$i$indexZ2D;
break L196;
}
$318 = $guard$sroa$8$2$i$i$i;
$319 = ($guard$sroa$22$2$i$i$i<<24>>24)==(0);
do {
if ($319) {
__THREW__ = 0;
$320 = (invoke_i(63)|0);
$321 = __THREW__; __THREW__ = 0;
$322 = $321&1;
if ($322) {
$$sroa$6$0137 = $$sroa$6$0139;
label = 294;
break L196;
}
$switchtmp$i$i$i74$i$i$i = ($320|0)==(0|0);
if ($switchtmp$i$i$i74$i$i$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$323 = __THREW__; __THREW__ = 0;
$$sroa$6$0137 = $$sroa$6$0139;
label = 294;
break L196;
}
$324 = HEAP32[$320>>2]|0;
$switch$i$i77$i$i$i = ($324|0)==(1);
if (!($switch$i$i77$i$i$i)) {
$325 = $320;
$326 = $325;
HEAP32[$326>>2] = 1;
$327 = (($325) + 4)|0;
$328 = $327;
HEAP32[$328>>2] = 0;
break;
}
$$sink$in$phi$trans$insert$i69$i$i$i = ((($320)) + 4|0);
$$pre$i71$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i69$i$i$i>>2]|0;
$phitmp$i72$i$i$i = ($$pre$i71$i$i$i|0)==(0);
if ($phitmp$i72$i$i$i) {
break;
}
$329 = ((($318)) + 24|0);
HEAP8[$329>>0] = 1;
}
} while(0);
(_pthread_mutex_unlock(($318|0))|0);
$$sroa$6$0138 = $$sroa$6$0139;$eh$lpad$body74$i$index50Z2D = $eh$lpad$body$i$i$i$index34Z2D;$eh$lpad$body74$i$indexZ2D = $eh$lpad$body$i$i$i$indexZ2D;
break L196;
break;
}
default: {
$$sroa$6$0138 = $$sroa$6$0139;$eh$lpad$body74$i$index50Z2D = $eh$lpad$body$i$i$i$index34Z2D;$eh$lpad$body74$i$indexZ2D = $eh$lpad$body$i$i$i$indexZ2D;
break L196;
}
}
}
} while(0);
if ((label|0) == 294) {
$464 = ___cxa_find_matching_catch_2()|0;
$465 = tempRet0;
$$sroa$6$0138 = $$sroa$6$0137;$eh$lpad$body74$i$index50Z2D = $465;$eh$lpad$body74$i$indexZ2D = $464;
}
$magicptr$i$i = $res$sroa$0$0$i;
$switch$split1232D = ($magicptr$i$i|0)<(488447261);
L393: do {
if ($switch$split1232D) {
switch ($magicptr$i$i|0) {
case 0: {
$$sroa$0$0$i = $eh$lpad$body74$i$indexZ2D;$$sroa$5$0$i = $eh$lpad$body74$i$index50Z2D;
break;
}
default: {
break L393;
}
}
___resumeException($$sroa$0$0$i|0);
// unreachable;
} else {
switch ($magicptr$i$i|0) {
case 488447261: {
$$sroa$0$0$i = $eh$lpad$body74$i$indexZ2D;$$sroa$5$0$i = $eh$lpad$body74$i$index50Z2D;
break;
}
default: {
break L393;
}
}
___resumeException($$sroa$0$0$i|0);
// unreachable;
}
} while(0);
$466 = $$sroa$6$0138;
$467 = HEAP32[$466>>2]|0;
FUNCTION_TABLE_vi[$467 & 127]($res$sroa$0$0$i);
$468 = $$sroa$6$0138;
$469 = ((($468)) + 4|0);
$470 = HEAP32[$469>>2]|0;
$471 = ($470|0)==(0);
if ($471) {
$$sroa$0$0$i = $eh$lpad$body74$i$indexZ2D;$$sroa$5$0$i = $eh$lpad$body74$i$index50Z2D;
___resumeException($$sroa$0$0$i|0);
// unreachable;
}
_free($res$sroa$0$0$i);
$$sroa$0$0$i = $eh$lpad$body74$i$indexZ2D;$$sroa$5$0$i = $eh$lpad$body74$i$index50Z2D;
___resumeException($$sroa$0$0$i|0);
// unreachable;
}
} while(0);
$463 = ($res$sroa$0$0$i|0)!=(0|0);
$magicptr$i19$i = $res$sroa$0$0$i;
$switch$split1202D = ($magicptr$i19$i|0)<(488447261);
L404: do {
if ($switch$split1202D) {
switch ($magicptr$i19$i|0) {
case 0: {
break;
}
default: {
break L404;
}
}
$$$i = $463 ? 101 : 0;
STACKTOP = sp;return ($$$i|0);
} else {
switch ($magicptr$i19$i|0) {
case 488447261: {
break;
}
default: {
break L404;
}
}
$$$i = $463 ? 101 : 0;
STACKTOP = sp;return ($$$i|0);
}
} while(0);
$472 = $$sroa$6$0135;
$473 = HEAP32[$472>>2]|0;
FUNCTION_TABLE_vi[$473 & 127]($res$sroa$0$0$i);
$474 = $$sroa$6$0135;
$475 = ((($474)) + 4|0);
$476 = HEAP32[$475>>2]|0;
$477 = ($476|0)==(0);
if ($477) {
$$$i = $463 ? 101 : 0;
STACKTOP = sp;return ($$$i|0);
}
_free($res$sroa$0$0$i);
$$$i = $463 ? 101 : 0;
STACKTOP = sp;return ($$$i|0);
} else {
__THREW__ = 0;
invoke_viii(60,(3592|0),34,(888|0));
$229 = __THREW__; __THREW__ = 0;
}
} while(0);
$207 = ___cxa_find_matching_catch_2()|0;
$208 = tempRet0;
$switch$i$i$i = ($191<<24>>24)==(1);
$210 = ($209<<24>>24)==(0);
if ($switch$i$i$i) {
do {
if ($210) {
__THREW__ = 0;
$220 = (invoke_i(63)|0);
$221 = __THREW__; __THREW__ = 0;
$222 = $221&1;
if ($222) {
break L56;
}
$switchtmp$i$i$i36$i$i$i = ($220|0)==(0|0);
if ($switchtmp$i$i$i36$i$i$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$223 = __THREW__; __THREW__ = 0;
break L56;
}
$224 = HEAP32[$220>>2]|0;
$switch$i$i38$i$i$i = ($224|0)==(1);
if (!($switch$i$i38$i$i$i)) {
$225 = $220;
$226 = $225;
HEAP32[$226>>2] = 1;
$227 = (($225) + 4)|0;
$228 = $227;
HEAP32[$228>>2] = 0;
break;
}
$$sink$in$phi$trans$insert$i32$i$i$i = ((($220)) + 4|0);
$$pre$i34$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i32$i$i$i>>2]|0;
$phitmp$i35$i$i$i = ($$pre$i34$i$i$i|0)==(0);
if ($phitmp$i35$i$i$i) {
break;
}
HEAP8[(7024)>>0] = 1;
}
} while(0);
(_pthread_mutex_unlock(((7000)|0))|0);
$$sroa$0$0$i$i$i = $207;$$sroa$6$0$i$i$i = $208;
break;
} else {
do {
if ($210) {
__THREW__ = 0;
$211 = (invoke_i(63)|0);
$212 = __THREW__; __THREW__ = 0;
$213 = $212&1;
if ($213) {
break L56;
}
$switchtmp$i$i$i$i$i$i = ($211|0)==(0|0);
if ($switchtmp$i$i$i$i$i$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$214 = __THREW__; __THREW__ = 0;
break L56;
}
$215 = HEAP32[$211>>2]|0;
$switch$i$i31$i$i$i = ($215|0)==(1);
if (!($switch$i$i31$i$i$i)) {
$216 = $211;
$217 = $216;
HEAP32[$217>>2] = 1;
$218 = (($216) + 4)|0;
$219 = $218;
HEAP32[$219>>2] = 0;
break;
}
$$sink$in$phi$trans$insert$i27$i$i$i = ((($211)) + 4|0);
$$pre$i29$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i27$i$i$i>>2]|0;
$phitmp$i30$i$i$i = ($$pre$i29$i$i$i|0)==(0);
if ($phitmp$i30$i$i$i) {
break;
}
HEAP8[(7024)>>0] = 1;
}
} while(0);
(_pthread_mutex_unlock(((7000)|0))|0);
$$sroa$0$0$i$i$i = $207;$$sroa$6$0$i$i$i = $208;
break;
}
}
} while(0);
if ((label|0) == 103) {
$194 = ___cxa_find_matching_catch_2()|0;
$195 = tempRet0;
$$sroa$0$0$i$i$i = $194;$$sroa$6$0$i$i$i = $195;
}
$196 = ($args$sroa$11$0$i$i$i|0)==(488447261);
L444: do {
if (!($196)) {
$197 = $args$sroa$0$0$i$i$i;
$198 = (($197) + (($args$sroa$16$0$i$i$i*12)|0)|0);
$199 = ($args$sroa$16$0$i$i$i|0)>(0);
if ($199) {
$201 = $197;
while(1) {
$200 = ((($201)) + 4|0);
$202 = HEAP32[$200>>2]|0;
$switch$split872D = ($202|0)<(488447261);
if ($switch$split872D) {
switch ($202|0) {
case 0: {
break;
}
default: {
label = 107;
}
}
} else {
switch ($202|0) {
case 488447261: {
break;
}
default: {
label = 107;
}
}
}
if ((label|0) == 107) {
label = 0;
$203 = HEAP32[$201>>2]|0;
_free($203);
}
$204 = ((($201)) + 12|0);
$205 = ($204>>>0)<($198>>>0);
if ($205) {
$201 = $204;
} else {
break;
}
}
}
$switch$split902D = ($args$sroa$11$0$i$i$i|0)<(488447261);
if ($switch$split902D) {
switch ($args$sroa$11$0$i$i$i|0) {
case 0: {
break L444;
break;
}
default: {
}
}
} else {
switch ($args$sroa$11$0$i$i$i|0) {
case 488447261: {
break L444;
break;
}
default: {
}
}
}
$206 = $args$sroa$0$0$i$i$i;
_free($206);
}
} while(0);
$eh$lpad$body$i$index18Z2D = $$sroa$6$0$i$i$i;$eh$lpad$body$i$indexZ2D = $$sroa$0$0$i$i$i;
break L7;
}
} while(0);
$254 = ___cxa_find_matching_catch_2()|0;
$255 = tempRet0;
$eh$lpad$body$i$index18Z2D = $255;$eh$lpad$body$i$indexZ2D = $254;
break L7;
}
} while(0);
if ((label|0) == 18) {
$37 = ___cxa_find_matching_catch_2()|0;
$38 = tempRet0;
$$sroa$0$0$i$i3$i = $37;$$sroa$5$0$i$i$i = $38;$39 = $478;
}
$40 = ($39|0)==(488447261);
if (!($40)) {
$41 = $39;
$42 = HEAP32[$41>>2]|0;HEAP32[$41>>2] = (($42-1)|0);
$43 = ($42|0)==(1);
if ($43) {
/* fence */;
__ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($32);
}
}
$$pre17$i$i = HEAP32[$thread$i$i>>2]|0;
$91 = $$pre17$i$i;$eh$lpad$body$i$i$index2Z2D = $$sroa$5$0$i$i$i;$eh$lpad$body$i$i$indexZ2D = $$sroa$0$0$i$i3$i;
label = 43;
}
} while(0);
if ((label|0) == 42) {
$89 = ___cxa_find_matching_catch_2()|0;
$90 = tempRet0;
$91 = $8;$eh$lpad$body$i$i$index2Z2D = $90;$eh$lpad$body$i$i$indexZ2D = $89;
label = 43;
}
if ((label|0) == 43) {
$92 = ($91|0)==(488447261);
if ($92) {
$eh$lpad$body$i$index18Z2D = $eh$lpad$body$i$i$index2Z2D;$eh$lpad$body$i$indexZ2D = $eh$lpad$body$i$i$indexZ2D;
} else {
$93 = $91;
$94 = HEAP32[$93>>2]|0;HEAP32[$93>>2] = (($94-1)|0);
$95 = ($94|0)==(1);
if ($95) {
/* fence */;
__ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($thread$i$i);
$eh$lpad$body$i$index18Z2D = $eh$lpad$body$i$i$index2Z2D;$eh$lpad$body$i$indexZ2D = $eh$lpad$body$i$i$indexZ2D;
} else {
$eh$lpad$body$i$index18Z2D = $eh$lpad$body$i$i$index2Z2D;$eh$lpad$body$i$indexZ2D = $eh$lpad$body$i$i$indexZ2D;
}
}
}
$$sroa$0$0$i = $eh$lpad$body$i$indexZ2D;$$sroa$5$0$i = $eh$lpad$body$i$index18Z2D;
___resumeException($$sroa$0$0$i|0);
// unreachable;
return (0)|0;
}
function _rust_eh_personality($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$6 = (___gcc_personality_v0(($0|0),($1|0),($2|0),($3|0),($4|0),($5|0))|0);
return ($6|0);
}
function __ZN94error__Box_LT_Error_u2b__u20_Send_u20__u2b__u20_Sync_GT__From_LT_String_GT___from__StringError10drop_3933517h0c977e658c585014E($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $switch$split2D = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 4|0);
$2 = HEAP32[$1>>2]|0;
$switch$split2D = ($2|0)<(488447261);
L1: do {
if ($switch$split2D) {
switch ($2|0) {
case 0: {
break;
}
default: {
break L1;
}
}
return;
} else {
switch ($2|0) {
case 488447261: {
break;
}
default: {
break L1;
}
}
return;
}
} while(0);
$3 = HEAP32[$0>>2]|0;
_free($3);
return;
}
function __ZN5error68Box_LT_Error_u2b__u20_Send_u20__u2b__u20_Sync_GT__From_LT_String_GT_4from17StringError_Error11description20h0701b7776dad1e25tdaE($retVal,$0) {
$retVal = $retVal|0;
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $retVal$index1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$2 = ((($0)) + 8|0);
$3 = HEAP32[$2>>2]|0;
HEAP32[$retVal>>2] = $1;
$retVal$index1 = ((($retVal)) + 4|0);
HEAP32[$retVal$index1>>2] = $3;
return;
}
function __ZN5error5Error5cause20h1166521523764119224E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = $0;
$3 = $2;
HEAP32[$3>>2] = 0;
$4 = (($2) + 4)|0;
$5 = $4;
HEAP32[$5>>2] = 0;
return;
}
function __ZN5error5Error7type_id21h12502022606531839971E($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
tempRet0 = (-625059473);
return 2122472491;
}
function __ZN5error68Box_LT_Error_u2b__u20_Send_u20__u2b__u20_Sync_GT__From_LT_String_GT_4from19StringError_Display3fmt20ha7083d13032e4891JdaE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = HEAP32[$0>>2]|0;
$3 = ((($0)) + 8|0);
$4 = HEAP32[$3>>2]|0;
$5 = (__ZN3fmt23Formatter_LT__u27_a_GT_3pad20h4dc31ec7f968f174LyXE($1,$2,$4)|0);
return ($5|0);
}
function __ZN5error68Box_LT_Error_u2b__u20_Send_u20__u2b__u20_Sync_GT__From_LT_String_GT_4from30StringError___core__fmt__Debug3fmt20h02c8d2f33e135b4cOcaE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $addr_of = 0, $arg$i$i$i$i = 0, $prefix$i$i$i = 0, $space$i$i$i = 0, $sret_slot$sroa$0$0$i$i$i = 0, $sret_slot$sroa$0$0$i$i3 = 0, $switch$i$i = 0, $switch$i$i1 = 0, $value$i = 0;
var $writer$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$arg$i$i$i$i = sp + 96|0;
$prefix$i$i$i = sp + 88|0;
$space$i$i$i = sp + 80|0;
$writer$i$i$i = sp + 72|0;
$2 = sp + 48|0;
$3 = sp + 32|0;
$4 = sp + 8|0;
$value$i = sp;
$addr_of = sp + 120|0;
$5 = ((($1)) + 28|0);
$6 = HEAP32[$5>>2]|0;
$7 = ((($1)) + 32|0);
$8 = HEAP32[$7>>2]|0;
$9 = ((($8)) + 12|0);
$10 = HEAP32[$9>>2]|0;
$11 = (FUNCTION_TABLE_iiii[$10 & 127]($6,2365,11)|0);
HEAP32[$addr_of>>2] = $0;
HEAP32[$value$i>>2] = $addr_of;
$12 = ((($value$i)) + 4|0);
HEAP32[$12>>2] = 40;
$13 = $value$i;
$switch$i$i = ($11<<24>>24)==(0);
if (!($switch$i$i)) {
$sret_slot$sroa$0$0$i$i3 = 1;
STACKTOP = sp;return ($sret_slot$sroa$0$0$i$i3|0);
}
$14 = (416);
$15 = $14;
$16 = HEAP32[$15>>2]|0;
$17 = (($14) + 4)|0;
$18 = $17;
$19 = HEAP32[$18>>2]|0;
$20 = 408;
$21 = $20;
$22 = HEAP32[$21>>2]|0;
$23 = (($20) + 4)|0;
$24 = $23;
$25 = HEAP32[$24>>2]|0;
$26 = $prefix$i$i$i;
$27 = $26;
HEAP32[$27>>2] = $22;
$28 = (($26) + 4)|0;
$29 = $28;
HEAP32[$29>>2] = $25;
$30 = $space$i$i$i;
$31 = $30;
HEAP32[$31>>2] = $16;
$32 = (($30) + 4)|0;
$33 = $32;
HEAP32[$33>>2] = $19;
$34 = HEAP32[$1>>2]|0;
$35 = $34 & 4;
$36 = ($35|0)==(0);
if ($36) {
$48 = ((($4)) + 4|0);
HEAP32[$48>>2] = 67;
HEAP32[$4>>2] = $prefix$i$i$i;
$49 = ((($4)) + 8|0);
$50 = ((($4)) + 12|0);
HEAP32[$50>>2] = 67;
HEAP32[$49>>2] = $space$i$i$i;
$51 = ((($4)) + 16|0);
$52 = ((($4)) + 20|0);
HEAP32[$52>>2] = 68;
HEAP32[$51>>2] = $13;
$53 = HEAP32[$5>>2]|0;
$54 = HEAP32[$7>>2]|0;
HEAP32[$arg$i$i$i$i>>2] = 2012;
$55 = ((($arg$i$i$i$i)) + 4|0);
HEAP32[$55>>2] = 3;
$56 = ((($arg$i$i$i$i)) + 8|0);
$57 = $56;
$58 = $57;
HEAP32[$58>>2] = 0;
$59 = (($57) + 4)|0;
$60 = $59;
HEAP32[$60>>2] = 0;
$61 = ((($arg$i$i$i$i)) + 16|0);
HEAP32[$61>>2] = $4;
$62 = ((($arg$i$i$i$i)) + 20|0);
HEAP32[$62>>2] = 3;
$63 = (__ZN3fmt5write20h7901236a83d456cd7oXE($53,$54,$arg$i$i$i$i)|0);
$sret_slot$sroa$0$0$i$i$i = $63;
} else {
$37 = $1;
HEAP32[$writer$i$i$i>>2] = $37;
$38 = ((($writer$i$i$i)) + 4|0);
HEAP8[$38>>0] = 0;
$39 = ((($3)) + 4|0);
HEAP32[$39>>2] = 67;
HEAP32[$3>>2] = $prefix$i$i$i;
$40 = ((($3)) + 8|0);
$41 = ((($3)) + 12|0);
HEAP32[$41>>2] = 68;
HEAP32[$40>>2] = $13;
HEAP32[$2>>2] = 1924;
$42 = ((($2)) + 4|0);
HEAP32[$42>>2] = 2;
$43 = ((($2)) + 8|0);
HEAP32[$43>>2] = 1940;
$44 = ((($2)) + 12|0);
HEAP32[$44>>2] = 2;
$45 = ((($2)) + 16|0);
HEAP32[$45>>2] = $3;
$46 = ((($2)) + 20|0);
HEAP32[$46>>2] = 2;
$47 = (__ZN3fmt5write20h7901236a83d456cd7oXE($writer$i$i$i,360,$2)|0);
$sret_slot$sroa$0$0$i$i$i = $47;
}
$switch$i$i1 = ($sret_slot$sroa$0$0$i$i$i<<24>>24)==(0);
if (!($switch$i$i1)) {
$sret_slot$sroa$0$0$i$i3 = 1;
STACKTOP = sp;return ($sret_slot$sroa$0$0$i$i3|0);
}
$64 = HEAP32[$1>>2]|0;
$65 = $64 & 4;
$66 = ($65|0)==(0);
$67 = HEAP32[$5>>2]|0;
$68 = HEAP32[$7>>2]|0;
$69 = ((($68)) + 12|0);
$70 = HEAP32[$69>>2]|0;
if ($66) {
$72 = (FUNCTION_TABLE_iiii[$70 & 127]($67,4376,1)|0);
$sret_slot$sroa$0$0$i$i3 = $72;
STACKTOP = sp;return ($sret_slot$sroa$0$0$i$i3|0);
} else {
$71 = (FUNCTION_TABLE_iiii[$70 & 127]($67,4374,2)|0);
$sret_slot$sroa$0$0$i$i3 = $71;
STACKTOP = sp;return ($sret_slot$sroa$0$0$i$i3|0);
}
return (0)|0;
}
function __ZN2i810drop_3943217h7c3d8408ba05a0b7E($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
return;
}
function __ZN3fmt23__RF__u27_a_u20_T_Debug3fmt20h7661678759007062080E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = HEAP32[$0>>2]|0;
$3 = HEAP32[$2>>2]|0;
$4 = ((($2)) + 8|0);
$5 = HEAP32[$4>>2]|0;
$6 = (__ZN3fmt9str_Debug3fmt20h89aaf11c090de66eOVXE($3,$5,$1)|0);
return ($6|0);
}
function __ZN3vec12Vec_LT_T_GT_7reserve21h17275297742727099749E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$arith = 0, $$overflow = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ptr$0$i = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 8|0);
$3 = HEAP32[$2>>2]|0;
$4 = ((($0)) + 4|0);
$5 = HEAP32[$4>>2]|0;
$6 = (($5) - ($3))|0;
$7 = ($6>>>0)<($1>>>0);
if (!($7)) {
return;
}
$$arith = (($3) + ($1))|0;
$$overflow = ($$arith>>>0)<($3>>>0);
if ($$overflow) {
__ZN6option13expect_failed20h1df5d3b437d73060lTOE(2376,17);
// unreachable;
}
$8 = $5 << 1;
$9 = ($$arith>>>0)>=($8>>>0);
$10 = $9 ? $$arith : $8;
$11 = ($10|0)<(0);
if ($11) {
__ZN9panicking5panic20h505ed693e1be0208ElME(1444);
// unreachable;
}
$12 = ($5|0)==(0);
if ($12) {
$13 = (_malloc($10)|0);
$ptr$0$i = $13;
} else {
$14 = HEAP32[$0>>2]|0;
$15 = (_realloc($14,$10)|0);
$ptr$0$i = $15;
}
$16 = ($ptr$0$i|0)==(0|0);
if ($16) {
__ZN3oom3oom20hc88b31053092c214PzbE();
// unreachable;
}
$17 = $ptr$0$i;
HEAP32[$0>>2] = $17;
HEAP32[$4>>2] = $10;
return;
}
function __ZN10sys_common11thread_info11THREAD_INFO7__getit20hda54a47be4fae4c2a9tE() {
var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond$i$i$i = 0, $cond$i$i10$i = 0, $sret_slot$0$i$i$i = 0, $sret_slot$0$i$i12$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = HEAP32[121]|0;
$cond$i$i$i = ($0|0)==(0);
if ($cond$i$i$i) {
$1 = (__ZN10sys_common12thread_local9StaticKey9lazy_init20h7764f75565e4e259beuE(484)|0);
$sret_slot$0$i$i$i = $1;
} else {
$sret_slot$0$i$i$i = $0;
}
$2 = (_pthread_getspecific(($sret_slot$0$i$i$i|0))|0);
$3 = ($2|0)==(0|0);
if (!($3)) {
$4 = ($2|0)==((1)|0);
$5 = ((($2)) + 4|0);
$6 = $4 ? 0 : $5;
$12 = $6;
return ($12|0);
}
$7 = (_malloc(24)|0);
$8 = ($7|0)==(0|0);
if ($8) {
__ZN3oom3oom20hc88b31053092c214PzbE();
// unreachable;
}
HEAP32[$7>>2] = 484;
$9 = ((($7)) + 4|0);
;HEAP32[$9>>2]=HEAP32[7116>>2]|0;HEAP32[$9+4>>2]=HEAP32[7116+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[7116+8>>2]|0;HEAP32[$9+12>>2]=HEAP32[7116+12>>2]|0;HEAP32[$9+16>>2]=HEAP32[7116+16>>2]|0;
$10 = HEAP32[121]|0;
$cond$i$i10$i = ($10|0)==(0);
if ($cond$i$i10$i) {
$11 = (__ZN10sys_common12thread_local9StaticKey9lazy_init20h7764f75565e4e259beuE(484)|0);
$sret_slot$0$i$i12$i = $11;
} else {
$sret_slot$0$i$i12$i = $10;
}
(_pthread_setspecific(($sret_slot$0$i$i12$i|0),($7|0))|0);
$12 = $9;
return ($12|0);
}
function __ZN6thread5local2os13destroy_value20h6313610056414098593E($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond$i$i$i = 0, $cond$i$i$i$i$i$i = 0, $cond$i$i$i$i5$i = 0, $cond$i$i14$i = 0, $ptr1$sroa$0$0$i = 0, $sret_slot$0$i$i$i = 0, $sret_slot$0$i$i16$i = 0, $switchtmp$i$i$i$i$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i$i7$i = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$2 = HEAP32[$1>>2]|0;
$cond$i$i$i = ($2|0)==(0);
if ($cond$i$i$i) {
$3 = $0;
__THREW__ = 0;
$4 = (invoke_ii(69,($1|0))|0);
$5 = __THREW__; __THREW__ = 0;
$6 = $5&1;
if ($6) {
$ptr1$sroa$0$0$i = $3;
} else {
$sret_slot$0$i$i$i = $4;
label = 3;
}
} else {
$sret_slot$0$i$i$i = $2;
label = 3;
}
if ((label|0) == 3) {
(_pthread_setspecific(($sret_slot$0$i$i$i|0),((1)|0))|0);
$7 = ($0|0)==((488447261)|0);
if (!($7)) {
$8 = ((($0)) + 4|0);
$9 = HEAP32[$8>>2]|0;
$cond$i$i$i$i$i$i = ($9|0)==(1);
if ($cond$i$i$i$i$i$i) {
$10 = ((($0)) + 20|0);
$11 = HEAP32[$10>>2]|0;
$switchtmp$i$i$i$i$i$i$i$i$i = ($11|0)==(0|0);
if (!($switchtmp$i$i$i$i$i$i$i$i$i)) {
$12 = ($11|0)==((488447261)|0);
if (!($12)) {
$13 = HEAP32[$11>>2]|0;HEAP32[$11>>2] = (($13-1)|0);
$14 = ($13|0)==(1);
if ($14) {
/* fence */;
__ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($10);
}
}
}
}
_free($0);
}
$27 = HEAP32[$1>>2]|0;
$cond$i$i14$i = ($27|0)==(0);
if (!($cond$i$i14$i)) {
$sret_slot$0$i$i16$i = $27;
(_pthread_setspecific(($sret_slot$0$i$i16$i|0),(0|0))|0);
return;
}
__THREW__ = 0;
$28 = (invoke_ii(69,($1|0))|0);
$29 = __THREW__; __THREW__ = 0;
$30 = $29&1;
if ($30) {
$ptr1$sroa$0$0$i = 488447261;
} else {
$sret_slot$0$i$i16$i = $28;
(_pthread_setspecific(($sret_slot$0$i$i16$i|0),(0|0))|0);
return;
}
}
$15 = ___cxa_find_matching_catch_2()|0;
$16 = tempRet0;
$17 = $ptr1$sroa$0$0$i;
$18 = ($17|0)==((488447261)|0);
if ($18) {
___resumeException($15|0);
// unreachable;
}
$19 = ((($17)) + 4|0);
$20 = HEAP32[$19>>2]|0;
$cond$i$i$i$i5$i = ($20|0)==(1);
if ($cond$i$i$i$i5$i) {
$21 = ((($17)) + 20|0);
$22 = HEAP32[$21>>2]|0;
$switchtmp$i$i$i$i$i$i$i7$i = ($22|0)==(0|0);
if (!($switchtmp$i$i$i$i$i$i$i7$i)) {
$23 = ($22|0)==((488447261)|0);
if (!($23)) {
$24 = HEAP32[$22>>2]|0;HEAP32[$22>>2] = (($24-1)|0);
$25 = ($24|0)==(1);
if ($25) {
/* fence */;
__ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($21);
}
}
}
}
$26 = $ptr1$sroa$0$0$i;
_free($26);
___resumeException($15|0);
// unreachable;
}
function __ZN10sys_common12thread_local9StaticKey9lazy_init20h7764f75565e4e259beuE($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $addr_of$i = 0, $addr_of$i4 = 0, $key$09 = 0;
var $key$i = 0, $key$i3 = 0, $left_val$i = 0, $left_val$i5 = 0, $right_val$i = 0, $right_val$i6 = 0, $sret_slot$0 = 0, $success = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$key$i3 = sp + 92|0;
$addr_of$i4 = sp + 88|0;
$left_val$i5 = sp + 84|0;
$right_val$i6 = sp + 80|0;
$1 = sp + 40|0;
$key$i = sp + 76|0;
$addr_of$i = sp + 72|0;
$left_val$i = sp + 68|0;
$right_val$i = sp + 64|0;
$2 = sp + 16|0;
$3 = sp;
$4 = ((($0)) + 4|0);
$5 = HEAP32[$4>>2]|0;
HEAP32[$key$i>>2] = 0;
$6 = (_pthread_key_create(($key$i|0),($5|0))|0);
HEAP32[$addr_of$i>>2] = $6;
HEAP32[$left_val$i>>2] = $addr_of$i;
HEAP32[$right_val$i>>2] = 7096;
$7 = ($6|0)==(0);
if (!($7)) {
$8 = ((($3)) + 4|0);
HEAP32[$8>>2] = 70;
HEAP32[$3>>2] = $left_val$i;
$9 = ((($3)) + 8|0);
$10 = ((($3)) + 12|0);
HEAP32[$10>>2] = 70;
HEAP32[$9>>2] = $right_val$i;
HEAP32[$2>>2] = 448;
$11 = ((($2)) + 4|0);
HEAP32[$11>>2] = 3;
$12 = ((($2)) + 8|0);
$13 = $12;
$14 = $13;
HEAP32[$14>>2] = 0;
$15 = (($13) + 4)|0;
$16 = $15;
HEAP32[$16>>2] = 0;
$17 = ((($2)) + 16|0);
HEAP32[$17>>2] = $3;
$18 = ((($2)) + 20|0);
HEAP32[$18>>2] = 2;
__ZN10sys_common6unwind16begin_unwind_fmt20h0ca53700e4e0b4b7houE($2,492);
// unreachable;
}
$19 = HEAP32[$key$i>>2]|0;
$20 = ($19|0)==(0);
if ($20) {
$21 = HEAP32[$4>>2]|0;
HEAP32[$key$i3>>2] = 0;
$22 = (_pthread_key_create(($key$i3|0),($21|0))|0);
HEAP32[$addr_of$i4>>2] = $22;
HEAP32[$left_val$i5>>2] = $addr_of$i4;
HEAP32[$right_val$i6>>2] = 7096;
$23 = ($22|0)==(0);
if (!($23)) {
$24 = ((($3)) + 4|0);
HEAP32[$24>>2] = 70;
HEAP32[$3>>2] = $left_val$i5;
$25 = ((($3)) + 8|0);
$26 = ((($3)) + 12|0);
HEAP32[$26>>2] = 70;
HEAP32[$25>>2] = $right_val$i6;
HEAP32[$1>>2] = 448;
$27 = ((($1)) + 4|0);
HEAP32[$27>>2] = 3;
$28 = ((($1)) + 8|0);
$29 = $28;
$30 = $29;
HEAP32[$30>>2] = 0;
$31 = (($29) + 4)|0;
$32 = $31;
HEAP32[$32>>2] = 0;
$33 = ((($1)) + 16|0);
HEAP32[$33>>2] = $3;
$34 = ((($1)) + 20|0);
HEAP32[$34>>2] = 2;
__ZN10sys_common6unwind16begin_unwind_fmt20h0ca53700e4e0b4b7houE($1,492);
// unreachable;
}
$35 = HEAP32[$key$i3>>2]|0;
(_pthread_key_delete(0)|0);
$36 = ($35|0)==(0);
if ($36) {
__ZN10sys_common6unwind12begin_unwind20h8284277630150637284E(3129,26,812);
// unreachable;
} else {
$key$09 = $35;
}
} else {
$key$09 = $19;
}
$37 = HEAP32[$0>>2]|0;if (($37|0) == 0) HEAP32[$0>>2] = $key$09;
$success = ($37|0)==(0);
if ($success) {
$sret_slot$0 = $key$09;
STACKTOP = sp;return ($sret_slot$0|0);
}
(_pthread_key_delete(($key$09|0))|0);
$sret_slot$0 = $37;
STACKTOP = sp;return ($sret_slot$0|0);
}
function __ZN3fmt23__RF__u27_a_u20_T_Debug3fmt21h16394839043098550908E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = HEAP32[$0>>2]|0;
$3 = (__ZN3fmt3num16i32_fmt__Display3fmt20hd41f468b70333a45fhWE($2,$1)|0);
return ($3|0);
}
function __ZN10sys_common6unwind16begin_unwind_fmt20h0ca53700e4e0b4b7houE($msg,$0) {
$msg = $msg|0;
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var $addr_of$i = 0, $arg$i = 0, $eh$lpad$body$index4Z2D = 0, $eh$lpad$body$indexZ2D = 0, $s = 0, $switch$split102D = 0, $switch$split2D = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$addr_of$i = sp + 40|0;
$arg$i = sp + 16|0;
$s = sp;
HEAP32[$s>>2] = 1;
$1 = ((($s)) + 4|0);
HEAP32[$1>>2] = 0;
$2 = ((($s)) + 8|0);
HEAP32[$2>>2] = 0;
$3 = $s;
HEAP32[$addr_of$i>>2] = $3;
;HEAP32[$arg$i>>2]=HEAP32[$msg>>2]|0;HEAP32[$arg$i+4>>2]=HEAP32[$msg+4>>2]|0;HEAP32[$arg$i+8>>2]=HEAP32[$msg+8>>2]|0;HEAP32[$arg$i+12>>2]=HEAP32[$msg+12>>2]|0;HEAP32[$arg$i+16>>2]=HEAP32[$msg+16>>2]|0;HEAP32[$arg$i+20>>2]=HEAP32[$msg+20>>2]|0;
__THREW__ = 0;
(invoke_iiii(71,($addr_of$i|0),(56|0),($arg$i|0))|0);
$4 = __THREW__; __THREW__ = 0;
$5 = $4&1;
L1: do {
if ($5) {
label = 5;
} else {
$6 = HEAP32[$s>>2]|0;
$7 = HEAP32[$1>>2]|0;
$8 = HEAP32[$2>>2]|0;
;HEAP32[$s>>2]=488447261|0;HEAP32[$s+4>>2]=488447261|0;HEAP32[$s+8>>2]=488447261|0;
$9 = (_malloc(12)|0);
$10 = ($9|0)==(0|0);
if (!($10)) {
HEAP32[$9>>2] = $6;
$18 = ((($9)) + 4|0);
HEAP32[$18>>2] = $7;
$19 = ((($9)) + 8|0);
HEAP32[$19>>2] = $8;
__THREW__ = 0;
invoke_viii(72,($9|0),(80|0),($0|0));
$20 = __THREW__; __THREW__ = 0;
label = 5;
break;
}
__THREW__ = 0;
invoke_v(62);
$11 = __THREW__; __THREW__ = 0;
$12 = ___cxa_find_matching_catch_2()|0;
$13 = tempRet0;
$switch$split2D = ($7|0)<(488447261);
if ($switch$split2D) {
switch ($7|0) {
case 0: {
$eh$lpad$body$index4Z2D = $13;$eh$lpad$body$indexZ2D = $12;
break L1;
break;
}
default: {
}
}
} else {
switch ($7|0) {
case 488447261: {
$eh$lpad$body$index4Z2D = $13;$eh$lpad$body$indexZ2D = $12;
break L1;
break;
}
default: {
}
}
}
_free($6);
$eh$lpad$body$index4Z2D = $13;$eh$lpad$body$indexZ2D = $12;
}
} while(0);
if ((label|0) == 5) {
$14 = ___cxa_find_matching_catch_2()|0;
$15 = tempRet0;
$eh$lpad$body$index4Z2D = $15;$eh$lpad$body$indexZ2D = $14;
}
$16 = HEAP32[$1>>2]|0;
$switch$split102D = ($16|0)<(488447261);
L13: do {
if ($switch$split102D) {
switch ($16|0) {
case 0: {
break;
}
default: {
break L13;
}
}
___resumeException($eh$lpad$body$indexZ2D|0);
// unreachable;
} else {
switch ($16|0) {
case 488447261: {
break;
}
default: {
break L13;
}
}
___resumeException($eh$lpad$body$indexZ2D|0);
// unreachable;
}
} while(0);
$17 = HEAP32[$s>>2]|0;
_free($17);
___resumeException($eh$lpad$body$indexZ2D|0);
// unreachable;
}
function __ZN3fmt5Write9write_fmt36Adapter_LT__u27_a_C__u20_T_GT__Write9write_str21h10531360150872445436E($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$pre$i$i$i = 0, $$sroa$06$011$i$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = HEAP32[$0>>2]|0;
__ZN3vec12Vec_LT_T_GT_7reserve21h17275297742727099749E($3,$2);
$4 = ($2|0)==(0);
if ($4) {
return 0;
}
$5 = ((($3)) + 8|0);
$$pre$i$i$i = HEAP32[$5>>2]|0;
$$sroa$06$011$i$i$i = 0;$9 = $$pre$i$i$i;
while(1) {
$6 = (($$sroa$06$011$i$i$i) + 1)|0;
$7 = HEAP32[$3>>2]|0;
$8 = (($7) + ($9)|0);
$10 = (($1) + ($$sroa$06$011$i$i$i)|0);
$11 = HEAP8[$10>>0]|0;
HEAP8[$8>>0] = $11;
$12 = (($9) + 1)|0;
HEAP32[$5>>2] = $12;
$exitcond$i$i$i = ($6|0)==($2|0);
if ($exitcond$i$i$i) {
break;
} else {
$$sroa$06$011$i$i$i = $6;$9 = $12;
}
}
return 0;
}
function __ZN3fmt5Write9write_fmt36Adapter_LT__u27_a_C__u20_T_GT__Write10write_char20h7862694527285835139E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$$i$i$i$i = 0, $$pre$i$i$i = 0, $$sroa$0$0$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
var $62 = 0, $7 = 0, $8 = 0, $9 = 0, $sret_slot$0$i$i$ph$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = HEAP32[$0>>2]|0;
$3 = ($1>>>0)<(128);
if ($3) {
$52 = $1&255;
$53 = ((($2)) + 8|0);
$54 = HEAP32[$53>>2]|0;
$55 = ((($2)) + 4|0);
$56 = HEAP32[$55>>2]|0;
$57 = ($54|0)==($56|0);
if ($57) {
__ZN7raw_vec15RawVec_LT_T_GT_6double21h18434162781060287832E($2);
$$pre$i$i$i = HEAP32[$53>>2]|0;
$60 = $$pre$i$i$i;
} else {
$60 = $54;
}
$58 = HEAP32[$2>>2]|0;
$59 = (($58) + ($60)|0);
HEAP8[$59>>0] = $52;
$61 = HEAP32[$53>>2]|0;
$62 = (($61) + 1)|0;
HEAP32[$53>>2] = $62;
return 0;
}
$4 = ($1>>>0)<(2048);
$5 = ($1>>>0)<(65536);
$$$i$i$i$i = $5 ? 3 : 4;
$sret_slot$0$i$i$ph$i$i = $4 ? 2 : $$$i$i$i$i;
$6 = ((($2)) + 8|0);
$7 = HEAP32[$6>>2]|0;
__ZN3vec12Vec_LT_T_GT_7reserve21h17275297742727099749E($2,$sret_slot$0$i$i$ph$i$i);
$8 = HEAP32[$2>>2]|0;
$9 = (($8) + ($7)|0);
do {
if ($4) {
$10 = $1 >>> 6;
$11 = $10 & 31;
$12 = $11&255;
$13 = $12 | -64;
HEAP8[$9>>0] = $13;
$14 = $1 & 63;
$15 = $14&255;
$16 = $15 | -128;
$17 = ((($9)) + 1|0);
HEAP8[$17>>0] = $16;
$$sroa$0$0$i$i = 2;
} else {
if ($5) {
$18 = ($sret_slot$0$i$i$ph$i$i>>>0)>(2);
if (!($18)) {
$$sroa$0$0$i$i = 0;
break;
}
$19 = $1 >>> 12;
$20 = $19 & 15;
$21 = $20&255;
$22 = $21 | -32;
HEAP8[$9>>0] = $22;
$23 = $1 >>> 6;
$24 = $23 & 63;
$25 = $24&255;
$26 = $25 | -128;
$27 = ((($9)) + 1|0);
HEAP8[$27>>0] = $26;
$28 = $1 & 63;
$29 = $28&255;
$30 = $29 | -128;
$31 = ((($9)) + 2|0);
HEAP8[$31>>0] = $30;
$$sroa$0$0$i$i = 3;
break;
} else {
$32 = ($sret_slot$0$i$i$ph$i$i>>>0)>(3);
if (!($32)) {
$$sroa$0$0$i$i = 0;
break;
}
$33 = $1 >>> 18;
$34 = $33 & 7;
$35 = $34&255;
$36 = $35 | -16;
HEAP8[$9>>0] = $36;
$37 = $1 >>> 12;
$38 = $37 & 63;
$39 = $38&255;
$40 = $39 | -128;
$41 = ((($9)) + 1|0);
HEAP8[$41>>0] = $40;
$42 = $1 >>> 6;
$43 = $42 & 63;
$44 = $43&255;
$45 = $44 | -128;
$46 = ((($9)) + 2|0);
HEAP8[$46>>0] = $45;
$47 = $1 & 63;
$48 = $47&255;
$49 = $48 | -128;
$50 = ((($9)) + 3|0);
HEAP8[$50>>0] = $49;
$$sroa$0$0$i$i = 4;
break;
}
}
} while(0);
$51 = (($$sroa$0$0$i$i) + ($7))|0;
HEAP32[$6>>2] = $51;
return 0;
}
function __ZN7raw_vec15RawVec_LT_T_GT_6double21h18434162781060287832E($0) {
$0 = $0|0;
var $$sroa$08$0 = 0, $$sroa$5$0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 4|0);
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)==(0);
do {
if ($3) {
$4 = (_malloc(4)|0);
$$sroa$08$0 = 4;$$sroa$5$0 = $4;
} else {
$5 = $2 << 1;
$6 = ($5|0)<(0);
if ($6) {
__ZN9panicking5panic20h505ed693e1be0208ElME(1444);
// unreachable;
} else {
$7 = HEAP32[$0>>2]|0;
$8 = (_realloc($7,$5)|0);
$$sroa$08$0 = $5;$$sroa$5$0 = $8;
break;
}
}
} while(0);
$9 = ($$sroa$5$0|0)==(0|0);
if ($9) {
__ZN3oom3oom20hc88b31053092c214PzbE();
// unreachable;
} else {
$10 = $$sroa$5$0;
HEAP32[$0>>2] = $10;
HEAP32[$1>>2] = $$sroa$08$0;
return;
}
}
function __ZN3fmt5Write9write_fmt36Adapter_LT__u27_a_C__u20_T_GT__Write9write_fmt20h1418446094437505835E($0,$args) {
$0 = $0|0;
$args = $args|0;
var $1 = 0, $2 = 0, $addr_of$i = 0, $arg$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$addr_of$i = sp + 24|0;
$arg$i = sp;
$1 = HEAP32[$0>>2]|0;
HEAP32[$addr_of$i>>2] = $1;
;HEAP32[$arg$i>>2]=HEAP32[$args>>2]|0;HEAP32[$arg$i+4>>2]=HEAP32[$args+4>>2]|0;HEAP32[$arg$i+8>>2]=HEAP32[$args+8>>2]|0;HEAP32[$arg$i+12>>2]=HEAP32[$args+12>>2]|0;HEAP32[$arg$i+16>>2]=HEAP32[$args+16>>2]|0;HEAP32[$arg$i+20>>2]=HEAP32[$args+20>>2]|0;
$2 = (__ZN3fmt5write20h7901236a83d456cd7oXE($addr_of$i,56,$arg$i)|0);
STACKTOP = sp;return ($2|0);
}
function __ZN32core_collections__string__String10drop_3933817hd824912d29397bbaE($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $switch$split2D = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 4|0);
$2 = HEAP32[$1>>2]|0;
$switch$split2D = ($2|0)<(488447261);
L1: do {
if ($switch$split2D) {
switch ($2|0) {
case 0: {
break;
}
default: {
break L1;
}
}
return;
} else {
switch ($2|0) {
case 488447261: {
break;
}
default: {
break L1;
}
}
return;
}
} while(0);
$3 = HEAP32[$0>>2]|0;
_free($3);
return;
}
function __ZN3any5T_Any11get_type_id20h9831754303553698080E($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
tempRet0 = (-312767636);
return 1609885971;
}
function __ZN10sys_common6unwind18begin_unwind_inner20hb5c400f399182f09bpuE($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$$i124$i = 0, $$0$i$i$i = 0, $$phi$trans$insert42 = 0, $$phi$trans$insert45 = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i$i$i = 0, $$pre$i$i$i$i$i = 0, $$pre$phi148157$iZ2D = 0, $$pre$phi151159$iZ2D = 0, $$pre$phi53Z2D = 0, $$pre$phiZ2D = 0, $$pre115$i$i = 0, $$pre117$i$i = 0, $$pre119$i$i = 0, $$pre142$i = 0, $$pre143$i = 0, $$pre146$i = 0, $$pre149$i = 0;
var $$pre154$i = 0, $$pre155$i = 0, $$pre19 = 0, $$pre41 = 0, $$pre44 = 0, $$pre47 = 0, $$pre52 = 0, $$sink$in$phi$trans$insert = 0, $$sink$in$phi$trans$insert$i = 0, $$sink$in$phi$trans$insert$i$i = 0, $$sink$in$phi$trans$insert$i$i$i = 0, $$sink110$in$phi$trans$insert$i$i = 0, $$sink111$in$phi$trans$insert$i$i = 0, $$sink112$in$phi$trans$insert$i$i = 0, $$sroa$0$0$i = 0, $$sroa$020$0$i$i = 0, $$sroa$046$1$i = 0, $$sroa$046$3$i = 0, $$sroa$046$4$i = 0, $$sroa$7$0$i = 0;
var $$sroa$8$0$i$i = 0, $$sroa$9$1$i = 0, $$sroa$9$3$i = 0, $$sroa$9$4$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0;
var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0;
var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0;
var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0;
var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0;
var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0;
var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0;
var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0;
var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0;
var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0;
var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0;
var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0;
var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0;
var $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0;
var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0;
var $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0;
var $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0;
var $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr_of$i = 0, $arg$i$i = 0, $arg$i$i$i$i$i = 0, $cond$i$i$i$i$i2$i = 0, $cond$i$i$i$i113$i = 0, $cond$i$i$i19$i$i = 0, $cond$i$i1$i$i$i = 0, $cond$i$i11$i$i$i$i = 0, $cond$i$i5$i$i$i$i = 0, $eh$lpad$body$i$i$index7Z2D = 0, $eh$lpad$body$i$i$indexZ2D = 0, $eh$lpad$body$index25Z2D = 0, $eh$lpad$body$indexZ2D = 0;
var $eh$lpad$body12$index16Z2D = 0, $eh$lpad$body12$indexZ2D = 0, $eh$lpad$body44$i$i$index2Z2D = 0, $eh$lpad$body44$i$i$indexZ2D = 0, $err$i = 0, $file$i = 0, $key$i$i$i = 0, $line$i = 0, $log_backtrace$i = 0, $magicptr$i$i$i = 0, $magicptr$i$i$i$i = 0, $magicptr$i$i70$i = 0, $magicptr$i66$i = 0, $msg$i = 0, $msg$sroa$0$0 = 0, $msg$sroa$0$1 = 0, $msg$sroa$5$0 = 0, $msg$sroa$5$1 = 0, $name$i = 0, $not$switchtmp$i123$i = 0;
var $or$cond$i$i = 0, $or$cond113$i$i = 0, $phitmp = 0, $phitmp$i$i = 0, $phitmp$i$i$i = 0, $phitmp132$i$i = 0, $phitmp133$i$i = 0, $phitmp134$i$i = 0, $phitmp5$i$i$i = 0, $ptr$0$i$i$i$i$i$i = 0, $scevgep$i$i$i$i = 0, $sret_slot$0$i58$i = 0, $sret_slot$sroa$0$0$i$i = 0, $sret_slot$sroa$3$0$i$i = 0, $switch$i$i = 0, $switch$i$i$i = 0, $switch$i$i$i$i = 0, $switch$i$i$i$i$i = 0, $switch$i$i100$i$i = 0, $switch$i$i11 = 0;
var $switch$i$i135$i$i = 0, $switch$i$i2 = 0, $switch$i$i72$i$i = 0, $switch$i$i86$i$i = 0, $switch$i130$i = 0, $switch$i5$i = 0, $switch$i57$i = 0, $switch$i83$i = 0, $switch$i97$i = 0, $switch$split2D = 0, $switch$split362D = 0, $switch$split392D = 0, $switch$split422D = 0, $switch$split452D = 0, $switch$split482D = 0, $switch$split512D = 0, $switch$split542D = 0, $switch139$i$i = 0, $switch45tmp$i = 0, $switchtmp$i$i = 0;
var $switchtmp$i$i$i = 0, $switchtmp$i$i$i$i = 0, $switchtmp$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i = 0, $switchtmp$i$i$i4 = 0, $switchtmp$i$i$i69$i$i = 0, $switchtmp$i$i$i83$i$i = 0, $switchtmp$i$i$i9 = 0, $switchtmp$i$i$i97$i$i = 0, $switchtmp$i$i1$i = 0, $switchtmp$i$i128$i = 0, $switchtmp$i$i38 = 0, $switchtmp$i$i95$i = 0, $switchtmp$i1$i$i$i$i = 0, $switchtmp$i10$i$i$i$i = 0, $switchtmp$i123$i = 0, $switchtmp$i4$i$i$i$i = 0, $switchtmp$i56$i = 0, $thread$i = 0, $vector$i$i$i$i = 0;
var $write$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$addr_of$i = sp + 272|0;
$vector$i$i$i$i = sp + 256|0;
$3 = sp + 232|0;
$4 = sp + 216|0;
$arg$i$i$i$i$i = sp + 200|0;
$5 = sp + 176|0;
$6 = sp + 160|0;
$arg$i$i = sp + 152|0;
$key$i$i$i = sp + 144|0;
$7 = sp + 128|0;
$log_backtrace$i = sp + 276|0;
$file$i = sp + 120|0;
$line$i = sp + 272|0;
$msg$i = sp + 112|0;
$err$i = sp + 104|0;
$thread$i = sp + 96|0;
$name$i = sp + 88|0;
$write$i = sp + 64|0;
$8 = sp + 48|0;
$9 = sp + 24|0;
$10 = sp;
$11 = $1;
$12 = HEAP32[$2>>2]|0;
$13 = ((($2)) + 4|0);
$14 = HEAP32[$13>>2]|0;
$15 = ((($2)) + 8|0);
$16 = HEAP32[$15>>2]|0;
__THREW__ = 0;
$17 = (invoke_i(63)|0);
$18 = __THREW__; __THREW__ = 0;
$19 = $18&1;
L1: do {
if ($19) {
$msg$sroa$0$0 = $0;$msg$sroa$5$0 = $11;
label = 218;
} else {
$switchtmp$i$i$i = ($17|0)==(0|0);
if ($switchtmp$i$i$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$20 = __THREW__; __THREW__ = 0;
$msg$sroa$0$0 = $0;$msg$sroa$5$0 = $11;
label = 218;
break;
}
$21 = HEAP32[$17>>2]|0;
$switch$i$i = ($21|0)==(1);
if ($switch$i$i) {
$$sink$in$phi$trans$insert = ((($17)) + 4|0);
$$pre = HEAP32[$$sink$in$phi$trans$insert>>2]|0;
$phitmp = (($$pre) + 1)|0;
HEAP32[$$sink$in$phi$trans$insert>>2] = $phitmp;
$26 = ($phitmp>>>0)>(2);
if ($26) {
HEAP32[$9>>2] = 512;
$27 = ((($9)) + 4|0);
HEAP32[$27>>2] = 1;
$28 = ((($9)) + 8|0);
$29 = $28;
$30 = $29;
HEAP32[$30>>2] = 0;
$31 = (($29) + 4)|0;
$32 = $31;
HEAP32[$32>>2] = 0;
$33 = ((($9)) + 16|0);
HEAP32[$33>>2] = $addr_of$i;
$34 = ((($9)) + 20|0);
HEAP32[$34>>2] = 0;
__THREW__ = 0;
invoke_vi(73,($9|0));
$35 = __THREW__; __THREW__ = 0;
$36 = $35&1;
if ($36) {
$msg$sroa$0$0 = $0;$msg$sroa$5$0 = $11;
label = 218;
break;
}
_llvm_trap();
// unreachable;
} else {
$443 = $phitmp;
}
} else {
$22 = $17;
$23 = $22;
HEAP32[$23>>2] = 1;
$24 = (($22) + 4)|0;
$25 = $24;
HEAP32[$25>>2] = 0;
$$pre19 = ((($17)) + 4|0);
HEAP32[$$pre19>>2] = 1;
$443 = 1;
}
$37 = (_pthread_rwlock_rdlock(((6792)|0))|0);
$38 = ($37|0)==(35);
if ($38) {
__THREW__ = 0;
invoke_viii(60,(2543|0),41,(472|0));
$39 = __THREW__; __THREW__ = 0;
$msg$sroa$0$0 = $0;$msg$sroa$5$0 = $11;
label = 218;
break;
}
__THREW__ = 0;
$40 = (invoke_i(63)|0);
$41 = __THREW__; __THREW__ = 0;
$42 = $41&1;
if ($42) {
$msg$sroa$0$0 = $0;$msg$sroa$5$0 = $11;
label = 218;
} else {
$switchtmp$i$i$i9 = ($40|0)==(0|0);
if ($switchtmp$i$i$i9) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$43 = __THREW__; __THREW__ = 0;
$msg$sroa$0$0 = $0;$msg$sroa$5$0 = $11;
label = 218;
break;
}
$44 = HEAP32[$40>>2]|0;
$switch$i$i11 = ($44|0)==(1);
if (!($switch$i$i11)) {
$45 = $40;
$46 = $45;
HEAP32[$46>>2] = 1;
$47 = (($45) + 4)|0;
$48 = $47;
HEAP32[$48>>2] = 0;
}
__THREW__ = 0;
$49 = (invoke_i(63)|0);
$50 = __THREW__; __THREW__ = 0;
$51 = $50&1;
L22: do {
if ($51) {
label = 212;
} else {
$switchtmp$i$i128$i = ($49|0)==(0|0);
if ($switchtmp$i$i128$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$52 = __THREW__; __THREW__ = 0;
label = 212;
break;
}
$53 = HEAP32[$49>>2]|0;
$switch$i130$i = ($53|0)==(1);
if ($switch$i130$i) {
$$sink$in$phi$trans$insert$i = ((($49)) + 4|0);
$$pre$i = HEAP32[$$sink$in$phi$trans$insert$i>>2]|0;
$58 = ($$pre$i>>>0)>(1);
if ($58) {
$60 = 1;
} else {
label = 24;
}
} else {
$54 = $49;
$55 = $54;
HEAP32[$55>>2] = 1;
$56 = (($54) + 4)|0;
$57 = $56;
HEAP32[$57>>2] = 0;
label = 24;
}
L30: do {
if ((label|0) == 24) {
$74 = HEAP32[1786]|0;
switch ($74|0) {
case 1: {
$60 = 0;
break L30;
break;
}
case 2: {
$60 = 1;
break L30;
break;
}
default: {
}
}
HEAP32[$key$i$i$i>>2] = 2584;
$75 = ((($key$i$i$i)) + 4|0);
HEAP32[$75>>2] = 14;
__THREW__ = 0;
invoke_vi(74,($3|0));
$76 = __THREW__; __THREW__ = 0;
$77 = $76&1;
if ($77) {
label = 212;
break L22;
}
$78 = HEAP32[$3>>2]|0;
$switch$i5$i = ($78|0)==(1);
L36: do {
if ($switch$i5$i) {
$97 = ((($3)) + 4|0);
$98 = ((($7)) + 4|0);
$99 = ((($3)) + 8|0);
$100 = HEAP32[$99>>2]|0;
$101 = ((($3)) + 12|0);
$102 = HEAP32[$101>>2]|0;
;HEAP32[$97>>2]=488447261|0;HEAP32[$97+4>>2]=488447261|0;HEAP32[$97+8>>2]=488447261|0;HEAP32[$97+12>>2]=488447261|0;
__THREW__ = 0;
invoke_viiii(75,($98|0),11,(2598|0),33);
$103 = __THREW__; __THREW__ = 0;
$104 = $103&1;
if ($104) {
$105 = ___cxa_find_matching_catch_2()|0;
$106 = tempRet0;
$switch$split362D = ($102|0)<(488447261);
if ($switch$split362D) {
switch ($102|0) {
case 0: {
break;
}
default: {
label = 39;
}
}
} else {
switch ($102|0) {
case 488447261: {
break;
}
default: {
label = 39;
}
}
}
if ((label|0) == 39) {
_free($100);
}
$eh$lpad$body12$index16Z2D = $106;$eh$lpad$body12$indexZ2D = $105;
break L22;
} else {
$switch$split2D = ($102|0)<(488447261);
if ($switch$split2D) {
switch ($102|0) {
case 0: {
break;
}
default: {
label = 37;
}
}
} else {
switch ($102|0) {
case 488447261: {
break;
}
default: {
label = 37;
}
}
}
if ((label|0) == 37) {
_free($100);
}
HEAP32[$7>>2] = 1;
break;
}
} else {
$79 = ((($3)) + 4|0);
$80 = HEAP32[$79>>2]|0;
$81 = ((($3)) + 8|0);
$82 = HEAP32[$81>>2]|0;
(_pthread_mutex_lock(((6848)|0))|0);
__THREW__ = 0;
$83 = (invoke_i(63)|0);
$84 = __THREW__; __THREW__ = 0;
$85 = $84&1;
L54: do {
if ($85) {
label = 42;
} else {
$switchtmp$i$i$i$i$i$i = ($83|0)==(0|0);
if ($switchtmp$i$i$i$i$i$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$86 = __THREW__; __THREW__ = 0;
label = 42;
break;
}
$87 = HEAP32[$83>>2]|0;
$switch$i$i$i$i$i = ($87|0)==(1);
if ($switch$i$i$i$i$i) {
$$sink$in$phi$trans$insert$i$i$i = ((($83)) + 4|0);
$$pre$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i$i$i>>2]|0;
$phitmp$i$i$i = ($$pre$i$i$i|0)!=(0);
$phitmp5$i$i$i = $phitmp$i$i$i&1;
$114 = $phitmp5$i$i$i;
} else {
$88 = $83;
$89 = $88;
HEAP32[$89>>2] = 1;
$90 = (($88) + 4)|0;
$91 = $90;
HEAP32[$91>>2] = 0;
$114 = 0;
}
$92 = HEAP8[(6872)>>0]|0;
$switch$i$i135$i$i = ($92<<24>>24)==(0);
$93 = ((($7)) + 4|0);
$94 = $80;
$95 = (_getenv(($94|0))|0);
$96 = ($95|0)==(0|0);
L63: do {
if ($96) {
;HEAP32[$93>>2]=0|0;HEAP32[$93+4>>2]=0|0;HEAP32[$93+8>>2]=0|0;
} else {
$134 = (_strlen($95)|0);
$135 = ($134|0)==(-1);
L66: do {
if ($135) {
__THREW__ = 0;
invoke_vii(76,-1,0);
$136 = __THREW__; __THREW__ = 0;
label = 46;
} else {
$137 = ($134|0)<(0);
if ($137) {
__THREW__ = 0;
invoke_vi(59,(1444|0));
$138 = __THREW__; __THREW__ = 0;
label = 46;
break;
}
$139 = ($134|0)==(0);
do {
if ($139) {
$ptr$0$i$i$i$i$i$i = (1);
} else {
$140 = (_malloc($134)|0);
$141 = ($140|0)==(0|0);
if (!($141)) {
$ptr$0$i$i$i$i$i$i = $140;
break;
}
__THREW__ = 0;
invoke_v(62);
$142 = __THREW__; __THREW__ = 0;
label = 46;
break L66;
}
} while(0);
$143 = $ptr$0$i$i$i$i$i$i;
HEAP32[$vector$i$i$i$i>>2] = $143;
$144 = ((($vector$i$i$i$i)) + 4|0);
HEAP32[$144>>2] = $134;
$145 = ((($vector$i$i$i$i)) + 8|0);
HEAP32[$145>>2] = 0;
__THREW__ = 0;
invoke_vii(77,($vector$i$i$i$i|0),($134|0));
$146 = __THREW__; __THREW__ = 0;
$147 = $146&1;
if (!($147)) {
if (!($139)) {
$$pre$i$i$i$i$i = HEAP32[$145>>2]|0;
$148 = HEAP32[$vector$i$i$i$i>>2]|0;
$scevgep$i$i$i$i = (($148) + ($$pre$i$i$i$i$i)|0);
_memcpy(($scevgep$i$i$i$i|0),($95|0),($134|0))|0;
$149 = (($$pre$i$i$i$i$i) + ($134))|0;
HEAP32[$145>>2] = $149;
}
;HEAP32[$4>>2]=HEAP32[$vector$i$i$i$i>>2]|0;HEAP32[$4+4>>2]=HEAP32[$vector$i$i$i$i+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$vector$i$i$i$i+8>>2]|0;
;HEAP32[$93>>2]=HEAP32[$4>>2]|0;HEAP32[$93+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$93+8>>2]=HEAP32[$4+8>>2]|0;
break L63;
}
$150 = ___cxa_find_matching_catch_2()|0;
$151 = tempRet0;
$152 = HEAP32[$144>>2]|0;
$switch$split392D = ($152|0)<(488447261);
if ($switch$split392D) {
switch ($152|0) {
case 0: {
break;
}
default: {
label = 78;
}
}
} else {
switch ($152|0) {
case 488447261: {
break;
}
default: {
label = 78;
}
}
}
if ((label|0) == 78) {
$153 = HEAP32[$vector$i$i$i$i>>2]|0;
_free($153);
}
$eh$lpad$body44$i$i$index2Z2D = $151;$eh$lpad$body44$i$i$indexZ2D = $150;
}
} while(0);
if ((label|0) == 46) {
$112 = ___cxa_find_matching_catch_2()|0;
$113 = tempRet0;
$eh$lpad$body44$i$i$index2Z2D = $113;$eh$lpad$body44$i$i$indexZ2D = $112;
}
$switch139$i$i = ($92<<24>>24)==(1);
$115 = ($114<<24>>24)==(0);
if ($switch139$i$i) {
do {
if ($115) {
__THREW__ = 0;
$125 = (invoke_i(63)|0);
$126 = __THREW__; __THREW__ = 0;
$127 = $126&1;
if ($127) {
label = 212;
break L22;
}
$switchtmp$i$i$i97$i$i = ($125|0)==(0|0);
if ($switchtmp$i$i$i97$i$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$128 = __THREW__; __THREW__ = 0;
label = 212;
break L22;
}
$129 = HEAP32[$125>>2]|0;
$switch$i$i100$i$i = ($129|0)==(1);
if (!($switch$i$i100$i$i)) {
$130 = $125;
$131 = $130;
HEAP32[$131>>2] = 1;
$132 = (($130) + 4)|0;
$133 = $132;
HEAP32[$133>>2] = 0;
break;
}
$$sink110$in$phi$trans$insert$i$i = ((($125)) + 4|0);
$$pre$i$i = HEAP32[$$sink110$in$phi$trans$insert$i$i>>2]|0;
$phitmp$i$i = ($$pre$i$i|0)==(0);
if ($phitmp$i$i) {
break;
}
HEAP8[(6872)>>0] = 1;
}
} while(0);
(_pthread_mutex_unlock(((6848)|0))|0);
$$sroa$020$0$i$i = $eh$lpad$body44$i$i$indexZ2D;$$sroa$8$0$i$i = $eh$lpad$body44$i$i$index2Z2D;
break L54;
} else {
do {
if ($115) {
__THREW__ = 0;
$116 = (invoke_i(63)|0);
$117 = __THREW__; __THREW__ = 0;
$118 = $117&1;
if ($118) {
label = 212;
break L22;
}
$switchtmp$i$i$i83$i$i = ($116|0)==(0|0);
if ($switchtmp$i$i$i83$i$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$119 = __THREW__; __THREW__ = 0;
label = 212;
break L22;
}
$120 = HEAP32[$116>>2]|0;
$switch$i$i86$i$i = ($120|0)==(1);
if (!($switch$i$i86$i$i)) {
$121 = $116;
$122 = $121;
HEAP32[$122>>2] = 1;
$123 = (($121) + 4)|0;
$124 = $123;
HEAP32[$124>>2] = 0;
break;
}
$$sink$in$phi$trans$insert$i$i = ((($116)) + 4|0);
$$pre115$i$i = HEAP32[$$sink$in$phi$trans$insert$i$i>>2]|0;
$phitmp132$i$i = ($$pre115$i$i|0)==(0);
if ($phitmp132$i$i) {
break;
}
HEAP8[(6872)>>0] = 1;
}
} while(0);
(_pthread_mutex_unlock(((6848)|0))|0);
$$sroa$020$0$i$i = $eh$lpad$body44$i$i$indexZ2D;$$sroa$8$0$i$i = $eh$lpad$body44$i$i$index2Z2D;
break L54;
}
}
} while(0);
HEAP32[$7>>2] = 0;
$154 = ($114<<24>>24)==(0);
if ($switch$i$i135$i$i) {
do {
if ($154) {
__THREW__ = 0;
$155 = (invoke_i(63)|0);
$156 = __THREW__; __THREW__ = 0;
$157 = $156&1;
if ($157) {
label = 212;
break L22;
}
$switchtmp$i$i$i$i$i = ($155|0)==(0|0);
if ($switchtmp$i$i$i$i$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$158 = __THREW__; __THREW__ = 0;
label = 212;
break L22;
}
$159 = HEAP32[$155>>2]|0;
$switch$i$i$i$i = ($159|0)==(1);
if (!($switch$i$i$i$i)) {
$160 = $155;
$161 = $160;
HEAP32[$161>>2] = 1;
$162 = (($160) + 4)|0;
$163 = $162;
HEAP32[$163>>2] = 0;
break;
}
$$sink111$in$phi$trans$insert$i$i = ((($155)) + 4|0);
$$pre119$i$i = HEAP32[$$sink111$in$phi$trans$insert$i$i>>2]|0;
$phitmp134$i$i = ($$pre119$i$i|0)==(0);
if ($phitmp134$i$i) {
break;
}
HEAP8[(6872)>>0] = 1;
}
} while(0);
(_pthread_mutex_unlock(((6848)|0))|0);
} else {
do {
if ($154) {
__THREW__ = 0;
$164 = (invoke_i(63)|0);
$165 = __THREW__; __THREW__ = 0;
$166 = $165&1;
if ($166) {
label = 212;
break L22;
}
$switchtmp$i$i$i69$i$i = ($164|0)==(0|0);
if ($switchtmp$i$i$i69$i$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$167 = __THREW__; __THREW__ = 0;
label = 212;
break L22;
}
$168 = HEAP32[$164>>2]|0;
$switch$i$i72$i$i = ($168|0)==(1);
if (!($switch$i$i72$i$i)) {
$169 = $164;
$170 = $169;
HEAP32[$170>>2] = 1;
$171 = (($169) + 4)|0;
$172 = $171;
HEAP32[$172>>2] = 0;
break;
}
$$sink112$in$phi$trans$insert$i$i = ((($164)) + 4|0);
$$pre117$i$i = HEAP32[$$sink112$in$phi$trans$insert$i$i>>2]|0;
$phitmp133$i$i = ($$pre117$i$i|0)==(0);
if ($phitmp133$i$i) {
break;
}
HEAP8[(6872)>>0] = 1;
}
} while(0);
(_pthread_mutex_unlock(((6848)|0))|0);
}
$173 = $80;
$174 = ($173|0)==((488447261)|0);
$175 = ($82|0)==(0);
$or$cond113$i$i = $174 | $175;
if (!($or$cond113$i$i)) {
_free($173);
$$pre41 = HEAP32[$7>>2]|0;
$switch$i$i2 = ($$pre41|0)==(1);
if ($switch$i$i2) {
break L36;
}
}
$224 = ((($7)) + 4|0);
$225 = HEAP32[$224>>2]|0;
$226 = ((($7)) + 8|0);
$227 = HEAP32[$226>>2]|0;
$switchtmp$i123$i = ($225|0)==(0|0);
$$$i124$i = $switchtmp$i123$i ? 1 : 2;
L146: do {
if (!($switchtmp$i123$i)) {
$switch$split422D = ($227|0)<(488447261);
if ($switch$split422D) {
switch ($227|0) {
case 0: {
break L146;
break;
}
default: {
}
}
} else {
switch ($227|0) {
case 488447261: {
break L146;
break;
}
default: {
}
}
}
_free($225);
}
} while(0);
HEAP32[1786] = $$$i124$i;
$not$switchtmp$i123$i = $switchtmp$i123$i ^ 1;
$60 = $not$switchtmp$i123$i;
break L30;
}
} while(0);
if ((label|0) == 42) {
$107 = ___cxa_find_matching_catch_2()|0;
$108 = tempRet0;
$$sroa$020$0$i$i = $107;$$sroa$8$0$i$i = $108;
}
$109 = $80;
$110 = ($109|0)==((488447261)|0);
$111 = ($82|0)==(0);
$or$cond$i$i = $110 | $111;
if (!($or$cond$i$i)) {
_free($109);
}
$eh$lpad$body12$index16Z2D = $$sroa$8$0$i$i;$eh$lpad$body12$indexZ2D = $$sroa$020$0$i$i;
break L22;
}
} while(0);
$176 = ((($7)) + 4|0);
$177 = $176;
$178 = $177;
$179 = HEAP32[$178>>2]|0;
$180 = (($177) + 4)|0;
$181 = $180;
$182 = HEAP32[$181>>2]|0;
$183 = $arg$i$i;
$184 = $183;
HEAP32[$184>>2] = $179;
$185 = (($183) + 4)|0;
$186 = $185;
HEAP32[$186>>2] = $182;
$187 = $176;
$188 = $187;
HEAP32[$188>>2] = 488447261;
$189 = (($187) + 4)|0;
$190 = $189;
HEAP32[$190>>2] = 488447261;
$191 = ((($6)) + 4|0);
HEAP32[$191>>2] = 78;
HEAP32[$6>>2] = $key$i$i$i;
$192 = ((($6)) + 8|0);
$193 = ((($6)) + 12|0);
HEAP32[$193>>2] = 52;
HEAP32[$192>>2] = $arg$i$i;
HEAP32[$5>>2] = 556;
$194 = ((($5)) + 4|0);
HEAP32[$194>>2] = 2;
$195 = ((($5)) + 8|0);
$196 = $195;
$197 = $196;
HEAP32[$197>>2] = 0;
$198 = (($196) + 4)|0;
$199 = $198;
HEAP32[$199>>2] = 0;
$200 = ((($5)) + 16|0);
HEAP32[$200>>2] = $6;
$201 = ((($5)) + 20|0);
HEAP32[$201>>2] = 2;
__THREW__ = 0;
invoke_vii(53,($5|0),(572|0));
$202 = __THREW__; __THREW__ = 0;
$203 = $202&1;
if (!($203)) {
// unreachable;
}
$204 = ___cxa_find_matching_catch_2()|0;
$205 = tempRet0;
$206 = HEAP32[$arg$i$i>>2]|0;
$cond$i$i$i19$i$i = ($206|0)==(1);
L163: do {
if ($cond$i$i$i19$i$i) {
$207 = ((($arg$i$i)) + 4|0);
$208 = HEAP32[$207>>2]|0;
$209 = ($208|0)==((488447261)|0);
if ($209) {
label = 110;
} else {
$210 = ((($208)) + 4|0);
$211 = HEAP32[$210>>2]|0;
$212 = ($211|0)==((488447261)|0);
do {
if (!($212)) {
$213 = ((($208)) + 8|0);
$214 = HEAP32[$213>>2]|0;
$215 = HEAP32[$214>>2]|0;
__THREW__ = 0;
invoke_vi($215|0,($211|0));
$216 = __THREW__; __THREW__ = 0;
$217 = $216&1;
if ($217) {
$222 = ___cxa_find_matching_catch_2()|0;
$223 = tempRet0;
$eh$lpad$body$i$i$index7Z2D = $223;$eh$lpad$body$i$i$indexZ2D = $222;
break L163;
}
$218 = HEAP32[$213>>2]|0;
$219 = ((($218)) + 4|0);
$220 = HEAP32[$219>>2]|0;
$221 = ($220|0)==(0);
if ($221) {
break;
}
_free($211);
}
} while(0);
_free($208);
label = 110;
}
} else {
label = 110;
}
} while(0);
if ((label|0) == 110) {
$eh$lpad$body$i$i$index7Z2D = $205;$eh$lpad$body$i$i$indexZ2D = $204;
}
$eh$lpad$body12$index16Z2D = $eh$lpad$body$i$i$index7Z2D;$eh$lpad$body12$indexZ2D = $eh$lpad$body$i$i$indexZ2D;
break L22;
}
} while(0);
$59 = $60&1;
HEAP8[$log_backtrace$i>>0] = $59;
$61 = $file$i;
$62 = $61;
HEAP32[$62>>2] = $12;
$63 = (($61) + 4)|0;
$64 = $63;
HEAP32[$64>>2] = $14;
HEAP32[$line$i>>2] = $16;
$65 = ((($1)) + 12|0);
$66 = HEAP32[$65>>2]|0;
__THREW__ = 0;
$67 = (invoke_ii($66|0,($0|0))|0);
$68 = tempRet0;
$69 = __THREW__; __THREW__ = 0;
$70 = $69&1;
if ($70) {
label = 212;
} else {
$71 = ($67|0)==(2026980809);
$72 = ($68|0)==(2049436277);
$73 = $71 & $72;
do {
if ($73) {
$228 = $0;
$229 = $228;
$230 = HEAP32[$229>>2]|0;
$231 = (($228) + 4)|0;
$232 = $231;
$233 = HEAP32[$232>>2]|0;
$234 = $msg$i;
$235 = $234;
HEAP32[$235>>2] = $230;
$236 = (($234) + 4)|0;
$237 = $236;
HEAP32[$237>>2] = $233;
} else {
$238 = HEAP32[$65>>2]|0;
__THREW__ = 0;
$239 = (invoke_ii($238|0,($0|0))|0);
$240 = tempRet0;
$241 = __THREW__; __THREW__ = 0;
$242 = $241&1;
if ($242) {
label = 212;
break L22;
}
$243 = ($239|0)==(1609885971);
$244 = ($240|0)==(-312767636);
$245 = $243 & $244;
if ($245) {
$246 = HEAP32[$0>>2]|0;
$247 = ((($0)) + 8|0);
$248 = HEAP32[$247>>2]|0;
HEAP32[$msg$i>>2] = $246;
$249 = ((($msg$i)) + 4|0);
HEAP32[$249>>2] = $248;
break;
} else {
$250 = 160;
$251 = $250;
$252 = HEAP32[$251>>2]|0;
$253 = (($250) + 4)|0;
$254 = $253;
$255 = HEAP32[$254>>2]|0;
$256 = $msg$i;
$257 = $256;
HEAP32[$257>>2] = $252;
$258 = (($256) + 4)|0;
$259 = $258;
HEAP32[$259>>2] = $255;
break;
}
}
} while(0);
HEAP8[$err$i>>0] = 1;
__THREW__ = 0;
$260 = (invoke_i(56)|0);
$261 = __THREW__; __THREW__ = 0;
$262 = $261&1;
if ($262) {
label = 212;
} else {
$switchtmp$i$i1$i = ($260|0)==(0|0);
do {
if ($switchtmp$i$i1$i) {
HEAP32[$thread$i>>2] = 0;
$$sroa$0$0$i = 0;$$sroa$7$0$i = 0;$307 = 0;$465 = $name$i;$switchtmp$i$i38 = 1;
} else {
__THREW__ = 0;
$263 = (invoke_i(56)|0);
$264 = __THREW__; __THREW__ = 0;
$265 = $264&1;
if ($265) {
label = 212;
break L22;
}
$switchtmp$i$i$i$i = ($263|0)==(0|0);
if ($switchtmp$i$i$i$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$266 = __THREW__; __THREW__ = 0;
label = 212;
break L22;
}
$267 = HEAP32[$263>>2]|0;
$switch$i$i$i = ($267|0)==(1);
if ($switch$i$i$i) {
$268 = ((($263)) + 4|0);
$$0$i$i$i = $268;
} else {
__THREW__ = 0;
$269 = (invoke_ii(58,($263|0))|0);
$270 = __THREW__; __THREW__ = 0;
$271 = $270&1;
if ($271) {
label = 212;
break L22;
} else {
$$0$i$i$i = $269;
}
}
$272 = HEAP32[$$0$i$i$i>>2]|0;
$cond$i$i$i$i$i2$i = ($272|0)==(-1);
if ($cond$i$i$i$i$i2$i) {
__THREW__ = 0;
invoke_vi(59,(1508|0));
$273 = __THREW__; __THREW__ = 0;
label = 212;
break L22;
}
$274 = ((($$0$i$i$i)) + 4|0);
$275 = ((($$0$i$i$i)) + 12|0);
$276 = HEAP32[$275>>2]|0;
$277 = ($276|0)==(0|0);
do {
if ($277) {
;HEAP32[$arg$i$i$i$i$i>>2]=0|0;HEAP32[$arg$i$i$i$i$i+4>>2]=0|0;HEAP32[$arg$i$i$i$i$i+8>>2]=0|0;
__THREW__ = 0;
$278 = (invoke_ii(55,($arg$i$i$i$i$i|0))|0);
$279 = __THREW__; __THREW__ = 0;
$280 = $279&1;
if ($280) {
label = 212;
break L22;
}
$281 = HEAP32[$$0$i$i$i>>2]|0;
$cond$i$i11$i$i$i$i = ($281|0)==(0);
if (!($cond$i$i11$i$i$i$i)) {
__THREW__ = 0;
invoke_vi(59,(1528|0));
$282 = __THREW__; __THREW__ = 0;
label = 212;
break L22;
}
HEAP32[$$0$i$i$i>>2] = -1;
$283 = HEAP32[$275>>2]|0;
$switchtmp$i10$i$i$i$i = ($283|0)==(0|0);
do {
if (!($switchtmp$i10$i$i$i$i)) {
$284 = ((($$0$i$i$i)) + 12|0);
$285 = ($283|0)==((488447261)|0);
if ($285) {
break;
}
$286 = HEAP32[$283>>2]|0;HEAP32[$283>>2] = (($286-1)|0);
$287 = ($286|0)==(1);
if (!($287)) {
break;
}
/* fence */;
__ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($284);
}
} while(0);
$289 = $274;
$290 = $289;
HEAP32[$290>>2] = 0;
$291 = (($289) + 4)|0;
$292 = $291;
HEAP32[$292>>2] = 0;
$293 = ((($$0$i$i$i)) + 12|0);
HEAP32[$293>>2] = $278;
$294 = $278;
HEAP32[$$0$i$i$i>>2] = -1;
$switchtmp$i4$i$i$i$i = ($278|0)==(0);
if (!($switchtmp$i4$i$i$i$i)) {
$299 = $294;
break;
}
__THREW__ = 0;
invoke_vi(59,(1488|0));
$295 = __THREW__; __THREW__ = 0;
$296 = ___cxa_find_matching_catch_2()|0;
$297 = tempRet0;
HEAP32[$$0$i$i$i>>2] = 0;
$eh$lpad$body12$index16Z2D = $297;$eh$lpad$body12$indexZ2D = $296;
break L22;
} else {
$cond$i$i5$i$i$i$i = ($272|0)==(0);
if ($cond$i$i5$i$i$i$i) {
HEAP32[$$0$i$i$i>>2] = -1;
$299 = $276;
break;
} else {
__THREW__ = 0;
invoke_vi(59,(1528|0));
$288 = __THREW__; __THREW__ = 0;
label = 212;
break L22;
}
}
} while(0);
$298 = HEAP32[$299>>2]|0;HEAP32[$299>>2] = (($298+1)|0);
$300 = ($298|0)<(0);
if ($300) {
_llvm_trap();
// unreachable;
}
$301 = $299;
HEAP32[$$0$i$i$i>>2] = 0;
HEAP32[$thread$i>>2] = $301;
$switchtmp$i$i = ($299|0)==(0|0);
if ($switchtmp$i$i) {
$$sroa$0$0$i = 0;$$sroa$7$0$i = 0;$307 = $299;$465 = $name$i;$switchtmp$i$i38 = 1;
break;
}
$302 = ((($299)) + 8|0);
$303 = HEAP32[$302>>2]|0;
$switchtmp$i1$i$i$i$i = ($303|0)==(0|0);
if ($switchtmp$i1$i$i$i$i) {
$$sroa$0$0$i = 0;$$sroa$7$0$i = 0;$307 = $299;$465 = $name$i;$switchtmp$i$i38 = 0;
break;
}
$304 = $303;
$305 = ((($299)) + 16|0);
$306 = HEAP32[$305>>2]|0;
$$sroa$0$0$i = $304;$$sroa$7$0$i = $306;$307 = $299;$465 = $name$i;$switchtmp$i$i38 = 0;
}
} while(0);
$311 = $$sroa$0$0$i;
$switchtmp$i56$i = ($$sroa$0$0$i|0)==(0);
$sret_slot$sroa$0$0$i$i = $switchtmp$i56$i ? 2793 : $311;
$sret_slot$sroa$3$0$i$i = $switchtmp$i56$i ? 9 : $$sroa$7$0$i;
HEAP32[$name$i>>2] = $sret_slot$sroa$0$0$i$i;
$312 = ((($name$i)) + 4|0);
HEAP32[$312>>2] = $sret_slot$sroa$3$0$i$i;
HEAP32[$write$i>>2] = $name$i;
$313 = ((($write$i)) + 4|0);
HEAP32[$313>>2] = $msg$i;
$314 = ((($write$i)) + 8|0);
HEAP32[$314>>2] = $file$i;
$315 = ((($write$i)) + 12|0);
HEAP32[$315>>2] = $line$i;
$316 = ((($write$i)) + 16|0);
HEAP32[$316>>2] = $log_backtrace$i;
__THREW__ = 0;
$317 = (invoke_ii(79,(584|0))|0);
$318 = __THREW__; __THREW__ = 0;
$319 = $318&1;
L224: do {
if ($319) {
label = 165;
} else {
$switchtmp$i$i95$i = ($317|0)==(0|0);
if ($switchtmp$i$i95$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$320 = __THREW__; __THREW__ = 0;
label = 165;
break;
}
$321 = HEAP32[$317>>2]|0;
$switch$i97$i = ($321|0)==(1);
do {
if ($switch$i97$i) {
$$pre146$i = ((($317)) + 4|0);
$$pre154$i = HEAP32[$$pre146$i>>2]|0;
$cond$i$i$i$i113$i = ($$pre154$i|0)==(0);
if ($cond$i$i$i$i113$i) {
$$phi$trans$insert42 = ((($317)) + 8|0);
$$pre44 = HEAP32[$$phi$trans$insert42>>2]|0;
$$phi$trans$insert45 = ((($317)) + 12|0);
$$pre47 = HEAP32[$$phi$trans$insert45>>2]|0;
$$pre$phi148157$iZ2D = $$pre146$i;$$pre$phiZ2D = $$phi$trans$insert42;$332 = $$pre44;$334 = $$pre47;
break;
} else {
__THREW__ = 0;
invoke_vi(59,(1528|0));
$325 = __THREW__; __THREW__ = 0;
label = 165;
break L224;
}
} else {
$322 = ((($317)) + 8|0);
$323 = ((($317)) + 12|0);
HEAP32[$317>>2] = 1;
$324 = ((($317)) + 4|0);
HEAP32[$324>>2] = 0;
HEAP32[$322>>2] = 0;
HEAP32[$323>>2] = 0;
$$pre$phi148157$iZ2D = $324;$$pre$phiZ2D = $322;$332 = 0;$334 = 0;
}
} while(0);
$328 = $$pre$phiZ2D;
$329 = $328;
HEAP32[$329>>2] = 0;
$330 = (($328) + 4)|0;
$331 = $330;
HEAP32[$331>>2] = 0;
HEAP32[$$pre$phi148157$iZ2D>>2] = 0;
HEAP32[$8>>2] = $332;
$333 = ((($8)) + 4|0);
HEAP32[$333>>2] = $334;
$335 = ((($8)) + 8|0);
$336 = HEAP8[$err$i>>0]|0;
$switch$i57$i = ($336<<24>>24)==(1);
$337 = ((($err$i)) + 1|0);
$sret_slot$0$i58$i = $switch$i57$i ? $337 : 0;
HEAP32[$335>>2] = $sret_slot$0$i58$i;
$switch45tmp$i = ($332|0)==(0);
L236: do {
if ($switch45tmp$i) {
$342 = ($sret_slot$0$i58$i|0)==(0|0);
if ($342) {
$429 = 0;
break;
}
__THREW__ = 0;
invoke_viii(80,($write$i|0),($335|0),(168|0));
$343 = __THREW__; __THREW__ = 0;
$344 = $343&1;
if ($344) {
$427 = ___cxa_find_matching_catch_2()|0;
$428 = tempRet0;
$$pre142$i = HEAP32[$8>>2]|0;
$$sroa$046$3$i = $427;$$sroa$9$3$i = $428;$374 = $$pre142$i;
label = 185;
break;
} else {
$$pre143$i = HEAP32[$8>>2]|0;
$429 = $$pre143$i;
break;
}
} else {
$338 = $334;
$339 = $332;
__THREW__ = 0;
invoke_viii(80,($write$i|0),($339|0),($338|0));
$340 = __THREW__; __THREW__ = 0;
$341 = $340&1;
L243: do {
if ($341) {
$372 = ___cxa_find_matching_catch_2()|0;
$373 = tempRet0;
$$sroa$046$4$i = $372;$$sroa$9$4$i = $373;
} else {
$345 = HEAP32[$8>>2]|0;
$346 = HEAP32[$333>>2]|0;
$347 = $8;
$348 = $347;
HEAP32[$348>>2] = 488447261;
$349 = (($347) + 4)|0;
$350 = $349;
HEAP32[$350>>2] = 488447261;
$351 = $345;
$352 = $346;
__THREW__ = 0;
$353 = (invoke_ii(79,(584|0))|0);
$354 = __THREW__; __THREW__ = 0;
$355 = $354&1;
L246: do {
if ($355) {
$419 = $351;$421 = $352;
} else {
$switchtmp$i$i$i4 = ($353|0)==(0|0);
if ($switchtmp$i$i$i4) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$356 = __THREW__; __THREW__ = 0;
$419 = $351;$421 = $352;
break;
}
$357 = HEAP32[$353>>2]|0;
$switch$i83$i = ($357|0)==(1);
do {
if ($switch$i83$i) {
$$pre149$i = ((($353)) + 4|0);
$$pre155$i = HEAP32[$$pre149$i>>2]|0;
$cond$i$i1$i$i$i = ($$pre155$i|0)==(0);
if ($cond$i$i1$i$i$i) {
$$pre52 = ((($353)) + 8|0);
$$pre$phi151159$iZ2D = $$pre149$i;$$pre$phi53Z2D = $$pre52;$399 = $345;$402 = $346;
break;
} else {
__THREW__ = 0;
invoke_vi(59,(1528|0));
$361 = __THREW__; __THREW__ = 0;
$419 = 0;$421 = 0;
break L246;
}
} else {
$358 = ((($353)) + 8|0);
$359 = ((($353)) + 12|0);
HEAP32[$353>>2] = 1;
$360 = ((($353)) + 4|0);
HEAP32[$360>>2] = 0;
HEAP32[$358>>2] = 0;
HEAP32[$359>>2] = 0;
$$pre$phi151159$iZ2D = $360;$$pre$phi53Z2D = $358;$399 = $345;$402 = $346;
}
} while(0);
HEAP32[$$pre$phi151159$iZ2D>>2] = -1;
$362 = HEAP32[$$pre$phi53Z2D>>2]|0;
$magicptr$i$i$i$i = $362;
$switch$split452D = ($magicptr$i$i$i$i|0)<(488447261);
if ($switch$split452D) {
switch ($magicptr$i$i$i$i|0) {
case 0: {
break;
}
default: {
label = 181;
}
}
} else {
switch ($magicptr$i$i$i$i|0) {
case 488447261: {
break;
}
default: {
label = 181;
}
}
}
do {
if ((label|0) == 181) {
$363 = ((($353)) + 12|0);
$364 = HEAP32[$363>>2]|0;
$365 = HEAP32[$364>>2]|0;
__THREW__ = 0;
invoke_vi($365|0,($362|0));
$366 = __THREW__; __THREW__ = 0;
$367 = $366&1;
if ($367) {
$419 = 0;$421 = 0;
break L246;
}
$368 = HEAP32[$363>>2]|0;
$369 = ((($368)) + 4|0);
$370 = HEAP32[$369>>2]|0;
$371 = ($370|0)==(0);
if ($371) {
break;
}
_free($362);
}
} while(0);
$397 = $$pre$phi53Z2D;
$398 = $397;
HEAP32[$398>>2] = $399;
$400 = (($397) + 4)|0;
$401 = $400;
HEAP32[$401>>2] = $402;
HEAP32[$$pre$phi151159$iZ2D>>2] = 0;
$403 = HEAP32[$8>>2]|0;
$404 = ($403|0)==((488447261)|0);
do {
if (!($404)) {
$405 = HEAP32[$333>>2]|0;
$406 = HEAP32[$405>>2]|0;
__THREW__ = 0;
invoke_vi($406|0,($403|0));
$407 = __THREW__; __THREW__ = 0;
$408 = $407&1;
if ($408) {
label = 212;
break L22;
}
$409 = HEAP32[$333>>2]|0;
$410 = ((($409)) + 4|0);
$411 = HEAP32[$410>>2]|0;
$412 = ($411|0)==(0);
if ($412) {
break;
}
_free($403);
}
} while(0);
$413 = $8;
$414 = $413;
HEAP32[$414>>2] = 488447261;
$415 = (($413) + 4)|0;
$416 = $415;
HEAP32[$416>>2] = 488447261;
$429 = (488447261);
break L236;
}
} while(0);
$417 = ___cxa_find_matching_catch_2()|0;
$418 = tempRet0;
$magicptr$i66$i = $419;
$switch$split512D = ($magicptr$i66$i|0)<(488447261);
if ($switch$split512D) {
switch ($magicptr$i66$i|0) {
case 0: {
$$sroa$046$4$i = $417;$$sroa$9$4$i = $418;
break L243;
break;
}
default: {
}
}
} else {
switch ($magicptr$i66$i|0) {
case 488447261: {
$$sroa$046$4$i = $417;$$sroa$9$4$i = $418;
break L243;
break;
}
default: {
}
}
}
$420 = HEAP32[$421>>2]|0;
__THREW__ = 0;
invoke_vi($420|0,($419|0));
$422 = __THREW__; __THREW__ = 0;
$423 = $422&1;
if ($423) {
label = 212;
break L22;
}
$424 = ((($421)) + 4|0);
$425 = HEAP32[$424>>2]|0;
$426 = ($425|0)==(0);
if ($426) {
$$sroa$046$4$i = $417;$$sroa$9$4$i = $418;
break;
}
_free($419);
$$sroa$046$4$i = $417;$$sroa$9$4$i = $418;
}
} while(0);
$383 = HEAP32[$8>>2]|0;
$384 = ($383|0)==((488447261)|0);
do {
if (!($384)) {
$385 = HEAP32[$333>>2]|0;
$386 = HEAP32[$385>>2]|0;
__THREW__ = 0;
invoke_vi($386|0,($383|0));
$387 = __THREW__; __THREW__ = 0;
$388 = $387&1;
if ($388) {
label = 212;
break L22;
}
$389 = HEAP32[$333>>2]|0;
$390 = ((($389)) + 4|0);
$391 = HEAP32[$390>>2]|0;
$392 = ($391|0)==(0);
if ($392) {
break;
}
_free($383);
}
} while(0);
$393 = $8;
$394 = $393;
HEAP32[$394>>2] = 488447261;
$395 = (($393) + 4)|0;
$396 = $395;
HEAP32[$396>>2] = 488447261;
$$sroa$046$3$i = $$sroa$046$4$i;$$sroa$9$3$i = $$sroa$9$4$i;$374 = (488447261);
label = 185;
}
} while(0);
if ((label|0) == 185) {
$magicptr$i$i$i = $374;
$switch$split482D = ($magicptr$i$i$i|0)<(488447261);
if ($switch$split482D) {
switch ($magicptr$i$i$i|0) {
case 0: {
break;
}
default: {
label = 186;
}
}
} else {
switch ($magicptr$i$i$i|0) {
case 488447261: {
break;
}
default: {
label = 186;
}
}
}
do {
if ((label|0) == 186) {
$375 = HEAP32[$333>>2]|0;
$376 = HEAP32[$375>>2]|0;
__THREW__ = 0;
invoke_vi($376|0,($374|0));
$377 = __THREW__; __THREW__ = 0;
$378 = $377&1;
if ($378) {
label = 212;
break L22;
}
$379 = HEAP32[$333>>2]|0;
$380 = ((($379)) + 4|0);
$381 = HEAP32[$380>>2]|0;
$382 = ($381|0)==(0);
if ($382) {
break;
}
_free($374);
}
} while(0);
$$sroa$046$1$i = $$sroa$046$3$i;$$sroa$9$1$i = $$sroa$9$3$i;
break;
}
$magicptr$i$i70$i = $429;
$switch$split542D = ($magicptr$i$i70$i|0)<(488447261);
if ($switch$split542D) {
switch ($magicptr$i$i70$i|0) {
case 0: {
break;
}
default: {
label = 205;
}
}
} else {
switch ($magicptr$i$i70$i|0) {
case 488447261: {
break;
}
default: {
label = 205;
}
}
}
do {
if ((label|0) == 205) {
$430 = HEAP32[$333>>2]|0;
$431 = HEAP32[$430>>2]|0;
__THREW__ = 0;
invoke_vi($431|0,($429|0));
$432 = __THREW__; __THREW__ = 0;
$433 = $432&1;
if ($433) {
label = 212;
break L22;
}
$434 = HEAP32[$333>>2]|0;
$435 = ((($434)) + 4|0);
$436 = HEAP32[$435>>2]|0;
$437 = ($436|0)==(0);
if ($437) {
break;
}
_free($429);
}
} while(0);
do {
if (!($switchtmp$i$i38)) {
$438 = ($307|0)==((488447261)|0);
if ($438) {
break;
}
$439 = HEAP32[$307>>2]|0;HEAP32[$307>>2] = (($439-1)|0);
$440 = ($439|0)==(1);
if (!($440)) {
break;
}
/* fence */;
__ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($thread$i);
}
} while(0);
(_pthread_rwlock_unlock(((6792)|0))|0);
$444 = ($443>>>0)>(1);
if (!($444)) {
__THREW__ = 0;
invoke_vii(81,($0|0),($1|0));
$455 = __THREW__; __THREW__ = 0;
$msg$sroa$0$0 = (488447261);$msg$sroa$5$0 = 488447261;
label = 218;
break L1;
}
HEAP32[$10>>2] = 780;
$445 = ((($10)) + 4|0);
HEAP32[$445>>2] = 1;
$446 = ((($10)) + 8|0);
$447 = $446;
$448 = $447;
HEAP32[$448>>2] = 0;
$449 = (($447) + 4)|0;
$450 = $449;
HEAP32[$450>>2] = 0;
$451 = ((($10)) + 16|0);
HEAP32[$451>>2] = $addr_of$i;
$452 = ((($10)) + 20|0);
HEAP32[$452>>2] = 0;
__THREW__ = 0;
invoke_vi(73,($10|0));
$453 = __THREW__; __THREW__ = 0;
$454 = $453&1;
if ($454) {
$msg$sroa$0$0 = $0;$msg$sroa$5$0 = $11;
label = 218;
break L1;
}
_llvm_trap();
// unreachable;
}
} while(0);
if ((label|0) == 165) {
$326 = ___cxa_find_matching_catch_2()|0;
$327 = tempRet0;
$$sroa$046$1$i = $326;$$sroa$9$1$i = $327;
}
do {
if (!($switchtmp$i$i38)) {
$308 = ($307|0)==((488447261)|0);
if (!($308)) {
$309 = HEAP32[$307>>2]|0;HEAP32[$307>>2] = (($309-1)|0);
$310 = ($309|0)==(1);
if (!($310)) {
break;
}
/* fence */;
__ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($thread$i);
}
}
} while(0);
$eh$lpad$body12$index16Z2D = $$sroa$9$1$i;$eh$lpad$body12$indexZ2D = $$sroa$046$1$i;
}
}
}
} while(0);
if ((label|0) == 212) {
$441 = ___cxa_find_matching_catch_2()|0;
$442 = tempRet0;
$eh$lpad$body12$index16Z2D = $442;$eh$lpad$body12$indexZ2D = $441;
}
(_pthread_rwlock_unlock(((6792)|0))|0);
$eh$lpad$body$index25Z2D = $eh$lpad$body12$index16Z2D;$eh$lpad$body$indexZ2D = $eh$lpad$body12$indexZ2D;$msg$sroa$0$1 = $0;$msg$sroa$5$1 = $11;
}
}
} while(0);
if ((label|0) == 218) {
$456 = ___cxa_find_matching_catch_2()|0;
$457 = tempRet0;
$eh$lpad$body$index25Z2D = $457;$eh$lpad$body$indexZ2D = $456;$msg$sroa$0$1 = $msg$sroa$0$0;$msg$sroa$5$1 = $msg$sroa$5$0;
}
$458 = ($msg$sroa$0$1|0)==((488447261)|0);
if ($458) {
___resumeException($eh$lpad$body$indexZ2D|0);
// unreachable;
}
$459 = $msg$sroa$5$1;
$460 = HEAP32[$459>>2]|0;
FUNCTION_TABLE_vi[$460 & 127]($msg$sroa$0$1);
$461 = $msg$sroa$5$1;
$462 = ((($461)) + 4|0);
$463 = HEAP32[$462>>2]|0;
$464 = ($463|0)==(0);
if ($464) {
___resumeException($eh$lpad$body$indexZ2D|0);
// unreachable;
}
_free($msg$sroa$0$1);
___resumeException($eh$lpad$body$indexZ2D|0);
// unreachable;
}
function __ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E() {
var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond$i$i = 0, $cond$i3 = 0, $sret_slot$0$i = 0;
var $sret_slot$0$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = HEAP32[126]|0;
$cond$i3 = ($0|0)==(0);
if ($cond$i3) {
$1 = (__ZN10sys_common12thread_local9StaticKey9lazy_init20h7764f75565e4e259beuE(504)|0);
$sret_slot$0$i = $1;
} else {
$sret_slot$0$i = $0;
}
$2 = (_pthread_getspecific(($sret_slot$0$i|0))|0);
$3 = ($2|0)==(0|0);
if (!($3)) {
$4 = ($2|0)==((1)|0);
$5 = ((($2)) + 4|0);
$6 = $4 ? 0 : $5;
$16 = $6;
return ($16|0);
}
$7 = (_malloc(12)|0);
$8 = ($7|0)==(0|0);
if ($8) {
__ZN3oom3oom20hc88b31053092c214PzbE();
// unreachable;
}
HEAP32[$7>>2] = 504;
$9 = ((($7)) + 4|0);
$10 = $9;
$11 = $10;
HEAP32[$11>>2] = 0;
$12 = (($10) + 4)|0;
$13 = $12;
HEAP32[$13>>2] = 0;
$14 = HEAP32[126]|0;
$cond$i$i = ($14|0)==(0);
if ($cond$i$i) {
$15 = (__ZN10sys_common12thread_local9StaticKey9lazy_init20h7764f75565e4e259beuE(504)|0);
$sret_slot$0$i$i = $15;
} else {
$sret_slot$0$i$i = $14;
}
(_pthread_setspecific(($sret_slot$0$i$i|0),($7|0))|0);
$16 = $9;
return ($16|0);
}
function __ZN6thread5local2os13destroy_value20h9592533782055344067E($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond$i$i$i = 0, $cond$i$i7$i = 0, $ptr1$sroa$0$0$i = 0, $sret_slot$0$i$i$i = 0;
var $sret_slot$0$i$i9$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$2 = HEAP32[$1>>2]|0;
$cond$i$i$i = ($2|0)==(0);
if ($cond$i$i$i) {
$3 = $0;
__THREW__ = 0;
$4 = (invoke_ii(69,($1|0))|0);
$5 = __THREW__; __THREW__ = 0;
$6 = $5&1;
if ($6) {
$ptr1$sroa$0$0$i = $3;
} else {
$sret_slot$0$i$i$i = $4;
label = 3;
}
} else {
$sret_slot$0$i$i$i = $2;
label = 3;
}
if ((label|0) == 3) {
(_pthread_setspecific(($sret_slot$0$i$i$i|0),((1)|0))|0);
$7 = ($0|0)==((488447261)|0);
if (!($7)) {
_free($0);
}
$13 = HEAP32[$1>>2]|0;
$cond$i$i7$i = ($13|0)==(0);
if (!($cond$i$i7$i)) {
$sret_slot$0$i$i9$i = $13;
(_pthread_setspecific(($sret_slot$0$i$i9$i|0),(0|0))|0);
return;
}
__THREW__ = 0;
$14 = (invoke_ii(69,($1|0))|0);
$15 = __THREW__; __THREW__ = 0;
$16 = $15&1;
if ($16) {
$ptr1$sroa$0$0$i = 488447261;
} else {
$sret_slot$0$i$i9$i = $14;
(_pthread_setspecific(($sret_slot$0$i$i9$i|0),(0|0))|0);
return;
}
}
$8 = ___cxa_find_matching_catch_2()|0;
$9 = tempRet0;
$10 = $ptr1$sroa$0$0$i;
$11 = ($10|0)==((488447261)|0);
if ($11) {
___resumeException($8|0);
// unreachable;
}
$12 = $ptr1$sroa$0$0$i;
_free($12);
___resumeException($8|0);
// unreachable;
}
function __ZN10sys_common4util10dumb_print20h67f0e8f90c6852e9SquE($args) {
$args = $args|0;
var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arg$i$i = 0;
var $cond$i$i = 0, $cond$i$i$i$i = 0, $stderr$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$stderr$i$i = sp + 40|0;
$arg$i$i = sp + 16|0;
$0 = sp;
$1 = ((($0)) + 4|0);
;HEAP32[$arg$i$i>>2]=HEAP32[$args>>2]|0;HEAP32[$arg$i$i+4>>2]=HEAP32[$args+4>>2]|0;HEAP32[$arg$i$i+8>>2]=HEAP32[$args+8>>2]|0;HEAP32[$arg$i$i+12>>2]=HEAP32[$args+12>>2]|0;HEAP32[$arg$i$i+16>>2]=HEAP32[$args+16>>2]|0;HEAP32[$arg$i$i+20>>2]=HEAP32[$args+20>>2]|0;
__ZN2io5Write9write_fmt20h7380755752343363050E($1,$stderr$i$i,$arg$i$i);
HEAP32[$0>>2] = 0;
$2 = ((($0)) + 4|0);
$3 = HEAP32[$2>>2]|0;
$cond$i$i = ($3|0)==(1);
if (!($cond$i$i)) {
STACKTOP = sp;return;
}
$4 = ((($0)) + 8|0);
$5 = HEAP32[$4>>2]|0;
$cond$i$i$i$i = ($5|0)==(1);
if (!($cond$i$i$i$i)) {
STACKTOP = sp;return;
}
$6 = ((($0)) + 12|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($7|0)==((488447261)|0);
if ($8) {
STACKTOP = sp;return;
}
$9 = ((($7)) + 4|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($10|0)==((488447261)|0);
if (!($11)) {
$12 = ((($7)) + 8|0);
$13 = HEAP32[$12>>2]|0;
$14 = HEAP32[$13>>2]|0;
FUNCTION_TABLE_vi[$14 & 127]($10);
$15 = HEAP32[$12>>2]|0;
$16 = ((($15)) + 4|0);
$17 = HEAP32[$16>>2]|0;
$18 = ($17|0)==(0);
if (!($18)) {
_free($10);
}
}
_free($7);
STACKTOP = sp;return;
}
function __ZN2io5Write9write_fmt20h7380755752343363050E($0,$1,$fmt) {
$0 = $0|0;
$1 = $1|0;
$fmt = $fmt|0;
var $$sink$index = 0, $$sink$index2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arg = 0, $cond$i$i = 0, $cond$i$i$i$i = 0, $cond$i$i$i$i10 = 0, $cond$i$i9 = 0, $output = 0, $switch = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$output = sp + 24|0;
$arg = sp;
HEAP32[$output>>2] = $1;
$2 = ((($output)) + 4|0);
;HEAP32[$2>>2]=HEAP32[6832>>2]|0;HEAP32[$2+4>>2]=HEAP32[6832+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[6832+8>>2]|0;
;HEAP32[$arg>>2]=HEAP32[$fmt>>2]|0;HEAP32[$arg+4>>2]=HEAP32[$fmt+4>>2]|0;HEAP32[$arg+8>>2]=HEAP32[$fmt+8>>2]|0;HEAP32[$arg+12>>2]=HEAP32[$fmt+12>>2]|0;HEAP32[$arg+16>>2]=HEAP32[$fmt+16>>2]|0;HEAP32[$arg+20>>2]=HEAP32[$fmt+20>>2]|0;
__THREW__ = 0;
$3 = (invoke_iiii(71,($output|0),(96|0),($arg|0))|0);
$4 = __THREW__; __THREW__ = 0;
$5 = $4&1;
L1: do {
if ($5) {
$6 = ___cxa_find_matching_catch_2()|0;
$7 = tempRet0;
$$sink$index = $6;$$sink$index2 = $7;
} else {
$switch = ($3<<24>>24)==(0);
do {
if ($switch) {
;HEAP32[$0>>2]=HEAP32[6832>>2]|0;HEAP32[$0+4>>2]=HEAP32[6832+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[6832+8>>2]|0;
} else {
$25 = HEAP32[$2>>2]|0;
$26 = ($25|0)==(1);
if ($26) {
;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;
;HEAP32[$2>>2]=488447261|0;HEAP32[$2+4>>2]=488447261|0;HEAP32[$2+8>>2]=488447261|0;
break;
}
$29 = ((($0)) + 4|0);
__THREW__ = 0;
invoke_viiii(75,($29|0),16,(2528|0),15);
$30 = __THREW__; __THREW__ = 0;
$31 = $30&1;
if ($31) {
$27 = ___cxa_find_matching_catch_2()|0;
$28 = tempRet0;
$$sink$index = $27;$$sink$index2 = $28;
break L1;
} else {
HEAP32[$0>>2] = 1;
break;
}
}
} while(0);
$32 = ((($output)) + 4|0);
$33 = HEAP32[$32>>2]|0;
$cond$i$i9 = ($33|0)==(1);
if (!($cond$i$i9)) {
STACKTOP = sp;return;
}
$34 = ((($output)) + 8|0);
$35 = HEAP32[$34>>2]|0;
$cond$i$i$i$i10 = ($35|0)==(1);
if (!($cond$i$i$i$i10)) {
STACKTOP = sp;return;
}
$36 = ((($output)) + 12|0);
$37 = HEAP32[$36>>2]|0;
$38 = ($37|0)==((488447261)|0);
if ($38) {
STACKTOP = sp;return;
}
$39 = ((($37)) + 4|0);
$40 = HEAP32[$39>>2]|0;
$41 = ($40|0)==((488447261)|0);
if (!($41)) {
$42 = ((($37)) + 8|0);
$43 = HEAP32[$42>>2]|0;
$44 = HEAP32[$43>>2]|0;
FUNCTION_TABLE_vi[$44 & 127]($40);
$45 = HEAP32[$42>>2]|0;
$46 = ((($45)) + 4|0);
$47 = HEAP32[$46>>2]|0;
$48 = ($47|0)==(0);
if (!($48)) {
_free($40);
}
}
_free($37);
STACKTOP = sp;return;
}
} while(0);
$8 = ((($output)) + 4|0);
$9 = HEAP32[$8>>2]|0;
$cond$i$i = ($9|0)==(1);
if (!($cond$i$i)) {
___resumeException($$sink$index|0);
// unreachable;
}
$10 = ((($output)) + 8|0);
$11 = HEAP32[$10>>2]|0;
$cond$i$i$i$i = ($11|0)==(1);
if (!($cond$i$i$i$i)) {
___resumeException($$sink$index|0);
// unreachable;
}
$12 = ((($output)) + 12|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($13|0)==((488447261)|0);
if ($14) {
___resumeException($$sink$index|0);
// unreachable;
}
$15 = ((($13)) + 4|0);
$16 = HEAP32[$15>>2]|0;
$17 = ($16|0)==((488447261)|0);
if (!($17)) {
$18 = ((($13)) + 8|0);
$19 = HEAP32[$18>>2]|0;
$20 = HEAP32[$19>>2]|0;
FUNCTION_TABLE_vi[$20 & 127]($16);
$21 = HEAP32[$18>>2]|0;
$22 = ((($21)) + 4|0);
$23 = HEAP32[$22>>2]|0;
$24 = ($23|0)==(0);
if (!($24)) {
_free($16);
}
}
_free($13);
___resumeException($$sink$index|0);
// unreachable;
}
function __ZN55io__Write__write_fmt__Adaptor_LT_sys__stdio__Stderr_GT_10drop_4384017hded09446f5cd456aE($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond$i = 0, $cond$i$i$i = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 4|0);
$2 = HEAP32[$1>>2]|0;
$cond$i = ($2|0)==(1);
if (!($cond$i)) {
return;
}
$3 = ((($0)) + 8|0);
$4 = HEAP32[$3>>2]|0;
$cond$i$i$i = ($4|0)==(1);
if (!($cond$i$i$i)) {
return;
}
$5 = ((($0)) + 12|0);
$6 = HEAP32[$5>>2]|0;
$7 = ($6|0)==((488447261)|0);
if ($7) {
return;
}
$8 = ((($6)) + 4|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==((488447261)|0);
if (!($10)) {
$11 = ((($6)) + 8|0);
$12 = HEAP32[$11>>2]|0;
$13 = HEAP32[$12>>2]|0;
FUNCTION_TABLE_vi[$13 & 127]($9);
$14 = HEAP32[$11>>2]|0;
$15 = ((($14)) + 4|0);
$16 = HEAP32[$15>>2]|0;
$17 = ($16|0)==(0);
if (!($17)) {
_free($9);
}
}
_free($6);
return;
}
function __ZN2io5Write9write_fmt41Adaptor_LT__u27_a_C__u20_T_GT__fmt__Write9write_str21h11889209272373980980E($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond$i$i$i5 = 0;
var $cond$i4 = 0, $sret_slot$sroa$0$015 = 0, $switch = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$3 = sp;
__ZN2io5Write9write_all21h15376866622950179486E($3,$1,$2);
$4 = HEAP32[$3>>2]|0;
$switch = ($4|0)==(1);
if (!($switch)) {
$sret_slot$sroa$0$015 = 0;
STACKTOP = sp;return ($sret_slot$sroa$0$015|0);
}
$5 = ((($3)) + 4|0);
$6 = $5;
$7 = $6;
$8 = HEAP32[$7>>2]|0;
$9 = (($6) + 4)|0;
$10 = $9;
$11 = HEAP32[$10>>2]|0;
$12 = $5;
$13 = $12;
HEAP32[$13>>2] = 488447261;
$14 = (($12) + 4)|0;
$15 = $14;
HEAP32[$15>>2] = 488447261;
$16 = ((($0)) + 4|0);
$17 = HEAP32[$16>>2]|0;
$cond$i4 = ($17|0)==(1);
if ($cond$i4) {
$18 = ((($0)) + 8|0);
$19 = HEAP32[$18>>2]|0;
$cond$i$i$i5 = ($19|0)==(1);
if ($cond$i$i$i5) {
$20 = ((($0)) + 12|0);
$21 = HEAP32[$20>>2]|0;
$22 = ($21|0)==((488447261)|0);
if (!($22)) {
$23 = ((($21)) + 4|0);
$24 = HEAP32[$23>>2]|0;
$25 = ($24|0)==((488447261)|0);
if (!($25)) {
$26 = ((($21)) + 8|0);
$27 = HEAP32[$26>>2]|0;
$28 = HEAP32[$27>>2]|0;
FUNCTION_TABLE_vi[$28 & 127]($24);
$29 = HEAP32[$26>>2]|0;
$30 = ((($29)) + 4|0);
$31 = HEAP32[$30>>2]|0;
$32 = ($31|0)==(0);
if (!($32)) {
_free($24);
}
}
_free($21);
}
}
}
HEAP32[$16>>2] = 1;
$33 = ((($0)) + 8|0);
$34 = $33;
$35 = $34;
HEAP32[$35>>2] = $8;
$36 = (($34) + 4)|0;
$37 = $36;
HEAP32[$37>>2] = $11;
$38 = $5;
$39 = $38;
HEAP32[$39>>2] = 488447261;
$40 = (($38) + 4)|0;
$41 = $40;
HEAP32[$41>>2] = 488447261;
$sret_slot$sroa$0$015 = 1;
STACKTOP = sp;return ($sret_slot$sroa$0$015|0);
}
function __ZN2io5Write9write_all21h15376866622950179486E($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $buf$sroa$0$0$ph75 = 0, $buf$sroa$5$0$ph76 = 0, $cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($2|0)==(0);
L1: do {
if (!($3)) {
$buf$sroa$0$0$ph75 = $1;$buf$sroa$5$0$ph76 = $2;
L2: while(1) {
L4: while(1) {
$4 = (_write(2,$buf$sroa$0$0$ph75,$buf$sroa$5$0$ph76)|0);
switch ($4|0) {
case 0: {
label = 8;
break L2;
break;
}
case -1: {
break;
}
default: {
break L4;
}
}
$7 = (___errno_location()|0);
$8 = HEAP32[$7>>2]|0;
$cond = ($8|0)==(4);
if (!($cond)) {
label = 10;
break L2;
}
}
$5 = ($buf$sroa$5$0$ph76>>>0)<($4>>>0);
if ($5) {
label = 7;
break;
}
$11 = (($buf$sroa$0$0$ph75) + ($4)|0);
$12 = (($buf$sroa$5$0$ph76) - ($4))|0;
$13 = ($buf$sroa$5$0$ph76|0)==($4|0);
if ($13) {
break L1;
} else {
$buf$sroa$0$0$ph75 = $11;$buf$sroa$5$0$ph76 = $12;
}
}
if ((label|0) == 7) {
__ZN5slice22slice_index_order_fail20h0ea23a39457ab7feuaQE($4,$buf$sroa$5$0$ph76);
// unreachable;
}
else if ((label|0) == 8) {
$6 = ((($0)) + 4|0);
__ZN2io5error5Error3new21h11805183956863188220E($6,14,2500,28);
HEAP32[$0>>2] = 1;
return;
}
else if ((label|0) == 10) {
$9 = ((($0)) + 4|0);
HEAP32[$9>>2] = 0;
$10 = ((($0)) + 8|0);
HEAP32[$10>>2] = $8;
HEAP32[$0>>2] = 1;
return;
}
}
} while(0);
;HEAP32[$0>>2]=HEAP32[6832>>2]|0;HEAP32[$0+4>>2]=HEAP32[6832+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[6832+8>>2]|0;
return;
}
function __ZN2io5error5Error3new21h11805183956863188220E($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$pre$i = 0, $$pre$i$i$i$i$i = 0, $$pre1$i = 0, $$sroa$6$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, $ptr$0$i$i$i$i$i$i = 0, $scevgep$i$i$i$i = 0, $switch$split12D = 0, $switch$split2D = 0, $switch$split42D = 0, $vector$i$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$vector$i$i$i$i = sp;
$$sroa$6$i = sp + 12|0;
$4 = ($3|0)<(0);
if ($4) {
__ZN9panicking5panic20h505ed693e1be0208ElME(1444);
// unreachable;
}
$5 = ($3|0)==(0);
if ($5) {
$ptr$0$i$i$i$i$i$i = (1);
} else {
$6 = (_malloc($3)|0);
$7 = ($6|0)==(0|0);
if ($7) {
__ZN3oom3oom20hc88b31053092c214PzbE();
// unreachable;
} else {
$ptr$0$i$i$i$i$i$i = $6;
}
}
$8 = $ptr$0$i$i$i$i$i$i;
HEAP32[$vector$i$i$i$i>>2] = $8;
$9 = ((($vector$i$i$i$i)) + 4|0);
HEAP32[$9>>2] = $3;
$10 = ((($vector$i$i$i$i)) + 8|0);
HEAP32[$10>>2] = 0;
__THREW__ = 0;
invoke_vii(77,($vector$i$i$i$i|0),($3|0));
$11 = __THREW__; __THREW__ = 0;
$12 = $11&1;
if ($12) {
$15 = ___cxa_find_matching_catch_2()|0;
$16 = tempRet0;
$17 = HEAP32[$9>>2]|0;
$switch$split2D = ($17|0)<(488447261);
L10: do {
if ($switch$split2D) {
switch ($17|0) {
case 0: {
break;
}
default: {
break L10;
}
}
___resumeException($15|0);
// unreachable;
} else {
switch ($17|0) {
case 488447261: {
break;
}
default: {
break L10;
}
}
___resumeException($15|0);
// unreachable;
}
} while(0);
$18 = HEAP32[$vector$i$i$i$i>>2]|0;
_free($18);
___resumeException($15|0);
// unreachable;
}
if ($5) {
$$pre$i = HEAP32[$vector$i$i$i$i>>2]|0;
$$pre1$i = HEAP32[$10>>2]|0;
$25 = $$pre$i;$28 = $$pre1$i;
} else {
$$pre$i$i$i$i$i = HEAP32[$10>>2]|0;
$13 = HEAP32[$vector$i$i$i$i>>2]|0;
$scevgep$i$i$i$i = (($13) + ($$pre$i$i$i$i$i)|0);
_memcpy(($scevgep$i$i$i$i|0),($2|0),($3|0))|0;
$14 = (($$pre$i$i$i$i$i) + ($3))|0;
HEAP32[$10>>2] = $14;
$25 = $13;$28 = $14;
}
$19 = HEAP32[$9>>2]|0;
$20 = (_malloc(12)|0);
$21 = ($20|0)==(0|0);
if ($21) {
__THREW__ = 0;
invoke_v(62);
$22 = __THREW__; __THREW__ = 0;
$23 = ___cxa_find_matching_catch_2()|0;
$24 = tempRet0;
$switch$split12D = ($19|0)<(488447261);
L24: do {
if ($switch$split12D) {
switch ($19|0) {
case 0: {
break;
}
default: {
break L24;
}
}
___resumeException($23|0);
// unreachable;
} else {
switch ($19|0) {
case 488447261: {
break;
}
default: {
break L24;
}
}
___resumeException($23|0);
// unreachable;
}
} while(0);
_free($25);
___resumeException($23|0);
// unreachable;
}
HEAP32[$20>>2] = $25;
$26 = ((($20)) + 4|0);
HEAP32[$26>>2] = $19;
$27 = ((($20)) + 8|0);
HEAP32[$27>>2] = $28;
$29 = (_malloc(12)|0);
$30 = ($29|0)==(0|0);
if (!($30)) {
$37 = $20;
HEAP8[$29>>0] = $1;
$38 = ((($29)) + 1|0);
;HEAP8[$38>>0]=HEAP8[$$sroa$6$i>>0]|0;HEAP8[$38+1>>0]=HEAP8[$$sroa$6$i+1>>0]|0;HEAP8[$38+2>>0]=HEAP8[$$sroa$6$i+2>>0]|0;
$39 = ((($29)) + 4|0);
HEAP32[$39>>2] = $37;
$40 = ((($29)) + 8|0);
HEAP32[$40>>2] = (8);
$41 = ((($0)) + 4|0);
HEAP32[$41>>2] = $29;
HEAP32[$0>>2] = 1;
STACKTOP = sp;return;
}
__THREW__ = 0;
invoke_v(62);
$31 = __THREW__; __THREW__ = 0;
$32 = ___cxa_find_matching_catch_2()|0;
$33 = tempRet0;
$34 = ($20|0)==((488447261)|0);
if ($34) {
___resumeException($32|0);
// unreachable;
}
$35 = HEAP32[$26>>2]|0;
$switch$split42D = ($35|0)<(488447261);
if ($switch$split42D) {
switch ($35|0) {
case 0: {
break;
}
default: {
label = 20;
}
}
} else {
switch ($35|0) {
case 488447261: {
break;
}
default: {
label = 20;
}
}
}
if ((label|0) == 20) {
$36 = HEAP32[$20>>2]|0;
_free($36);
}
_free($20);
___resumeException($32|0);
// unreachable;
}
function __ZN3fmt5Write10write_char20h8678511755428160911E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$sroa$8$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $utf_8 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$utf_8 = sp;
HEAP32[$utf_8>>2] = 0;
$2 = ($1>>>0)<(128);
do {
if ($2) {
$3 = $1&255;
HEAP8[$utf_8>>0] = $3;
$$sroa$8$0 = 1;
} else {
$4 = ($1>>>0)<(2048);
if ($4) {
$5 = $1 >>> 6;
$6 = $5 & 31;
$7 = $6&255;
$8 = $7 | -64;
HEAP8[$utf_8>>0] = $8;
$9 = $1 & 63;
$10 = $9&255;
$11 = $10 | -128;
$12 = ((($utf_8)) + 1|0);
HEAP8[$12>>0] = $11;
$$sroa$8$0 = 2;
break;
}
$13 = ($1>>>0)<(65536);
if ($13) {
$14 = $1 >>> 12;
$15 = $14 & 15;
$16 = $15&255;
$17 = $16 | -32;
HEAP8[$utf_8>>0] = $17;
$18 = $1 >>> 6;
$19 = $18 & 63;
$20 = $19&255;
$21 = $20 | -128;
$22 = ((($utf_8)) + 1|0);
HEAP8[$22>>0] = $21;
$23 = $1 & 63;
$24 = $23&255;
$25 = $24 | -128;
$26 = ((($utf_8)) + 2|0);
HEAP8[$26>>0] = $25;
$$sroa$8$0 = 3;
break;
} else {
$27 = $1 >>> 18;
$28 = $27 & 7;
$29 = $28&255;
$30 = $29 | -16;
HEAP8[$utf_8>>0] = $30;
$31 = $1 >>> 12;
$32 = $31 & 63;
$33 = $32&255;
$34 = $33 | -128;
$35 = ((($utf_8)) + 1|0);
HEAP8[$35>>0] = $34;
$36 = $1 >>> 6;
$37 = $36 & 63;
$38 = $37&255;
$39 = $38 | -128;
$40 = ((($utf_8)) + 2|0);
HEAP8[$40>>0] = $39;
$41 = $1 & 63;
$42 = $41&255;
$43 = $42 | -128;
$44 = ((($utf_8)) + 3|0);
HEAP8[$44>>0] = $43;
$$sroa$8$0 = 4;
break;
}
}
} while(0);
$45 = (__ZN2io5Write9write_fmt41Adaptor_LT__u27_a_C__u20_T_GT__fmt__Write9write_str21h11889209272373980980E($0,$utf_8,$$sroa$8$0)|0);
STACKTOP = sp;return ($45|0);
}
function __ZN3fmt5Write9write_fmt19h200145009681796815E($0,$args) {
$0 = $0|0;
$args = $args|0;
var $1 = 0, $2 = 0, $addr_of = 0, $arg = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$addr_of = sp + 24|0;
$arg = sp;
$1 = $0;
HEAP32[$addr_of>>2] = $1;
;HEAP32[$arg>>2]=HEAP32[$args>>2]|0;HEAP32[$arg+4>>2]=HEAP32[$args+4>>2]|0;HEAP32[$arg+8>>2]=HEAP32[$args+8>>2]|0;HEAP32[$arg+12>>2]=HEAP32[$args+12>>2]|0;HEAP32[$arg+16>>2]=HEAP32[$args+16>>2]|0;HEAP32[$arg+20>>2]=HEAP32[$args+20>>2]|0;
$2 = (__ZN3fmt5write20h7901236a83d456cd7oXE($addr_of,120,$arg)|0);
STACKTOP = sp;return ($2|0);
}
function __ZN3fmt5Write9write_fmt36Adapter_LT__u27_a_C__u20_T_GT__Write9write_str20h7300152946267042590E($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = HEAP32[$0>>2]|0;
$4 = (__ZN2io5Write9write_fmt41Adaptor_LT__u27_a_C__u20_T_GT__fmt__Write9write_str21h11889209272373980980E($3,$1,$2)|0);
return ($4|0);
}
function __ZN3fmt5Write9write_fmt36Adapter_LT__u27_a_C__u20_T_GT__Write10write_char20h7494623943173368362E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = HEAP32[$0>>2]|0;
$3 = (__ZN3fmt5Write10write_char20h8678511755428160911E($2,$1)|0);
return ($3|0);
}
function __ZN3fmt5Write9write_fmt36Adapter_LT__u27_a_C__u20_T_GT__Write9write_fmt20h9086120238873147086E($0,$args) {
$0 = $0|0;
$args = $args|0;
var $1 = 0, $2 = 0, $addr_of$i = 0, $arg$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$addr_of$i = sp + 24|0;
$arg$i = sp;
$1 = HEAP32[$0>>2]|0;
HEAP32[$addr_of$i>>2] = $1;
;HEAP32[$arg$i>>2]=HEAP32[$args>>2]|0;HEAP32[$arg$i+4>>2]=HEAP32[$args+4>>2]|0;HEAP32[$arg$i+8>>2]=HEAP32[$args+8>>2]|0;HEAP32[$arg$i+12>>2]=HEAP32[$args+12>>2]|0;HEAP32[$arg$i+16>>2]=HEAP32[$args+16>>2]|0;HEAP32[$arg$i+20>>2]=HEAP32[$args+20>>2]|0;
$2 = (__ZN3fmt5write20h7901236a83d456cd7oXE($addr_of$i,120,$arg$i)|0);
STACKTOP = sp;return ($2|0);
}
function __ZN10sys_common6unwind12begin_unwind20h8284277630150637284E($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (_malloc(8)|0);
$4 = ($3|0)==(0|0);
if ($4) {
__ZN3oom3oom20hc88b31053092c214PzbE();
// unreachable;
} else {
HEAP32[$3>>2] = $0;
$5 = ((($3)) + 4|0);
HEAP32[$5>>2] = $1;
__ZN10sys_common6unwind18begin_unwind_inner20hb5c400f399182f09bpuE($3,144,$2);
// unreachable;
}
}
function __ZN3any5T_Any11get_type_id21h10539599530762854953E($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
tempRet0 = (2049436277);
return 2026980809;
}
function __ZN3ffi5c_str7CString3new20h5746760787285640165E($0) {
$0 = $0|0;
var $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i$i$i$i$i = 0, $$pre7$i = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0;
var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arg$i = 0, $arg$sroa$0$sroa$0$0$i = 0, $arg$sroa$0$sroa$11$0$i = 0, $eh$lpad$body8$i$index6Z2D = 0;
var $eh$lpad$body8$i$indexZ2D = 0, $scevgep$i$i$i$i = 0, $switch$split142D = 0, $switch$split172D = 0, $switch$split202D = 0, $switch$split2D = 0, $vector$i$i$i$i = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$arg$i = sp + 16|0;
$vector$i$i$i$i = sp;
$1 = (_malloc(14)|0);
$2 = ($1|0)==(0|0);
if ($2) {
__ZN3oom3oom20hc88b31053092c214PzbE();
// unreachable;
}
$3 = $1;
HEAP32[$vector$i$i$i$i>>2] = $3;
$4 = ((($vector$i$i$i$i)) + 4|0);
HEAP32[$4>>2] = 14;
$5 = ((($vector$i$i$i$i)) + 8|0);
HEAP32[$5>>2] = 0;
__THREW__ = 0;
invoke_vii(77,($vector$i$i$i$i|0),14);
$6 = __THREW__; __THREW__ = 0;
$7 = $6&1;
if ($7) {
$8 = ___cxa_find_matching_catch_2()|0;
$9 = tempRet0;
$10 = HEAP32[$4>>2]|0;
$switch$split2D = ($10|0)<(488447261);
L6: do {
if ($switch$split2D) {
switch ($10|0) {
case 0: {
break;
}
default: {
break L6;
}
}
___resumeException($8|0);
// unreachable;
} else {
switch ($10|0) {
case 488447261: {
break;
}
default: {
break L6;
}
}
___resumeException($8|0);
// unreachable;
}
} while(0);
$11 = HEAP32[$vector$i$i$i$i>>2]|0;
_free($11);
___resumeException($8|0);
// unreachable;
}
$$pre$i$i$i$i$i = HEAP32[$5>>2]|0;
$12 = HEAP32[$vector$i$i$i$i>>2]|0;
$scevgep$i$i$i$i = (($12) + ($$pre$i$i$i$i$i)|0);
dest=$scevgep$i$i$i$i; src=2584; stop=dest+14|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
$13 = (($$pre$i$i$i$i$i) + 14)|0;
HEAP32[$5>>2] = $13;
$14 = HEAP32[$4>>2]|0;
$15 = (_memchr($12,0,$13)|0);
$16 = ($15|0)==(0|0);
if (!($16)) {
$17 = $15;
$18 = $12;
$19 = (($17) - ($18))|0;
$20 = ((($0)) + 4|0);
HEAP32[$20>>2] = $19;
$21 = ((($0)) + 8|0);
HEAP32[$21>>2] = $12;
$22 = ((($0)) + 12|0);
HEAP32[$22>>2] = $14;
$23 = ((($0)) + 16|0);
HEAP32[$23>>2] = $13;
$$sink = 1;
HEAP32[$0>>2] = $$sink;
STACKTOP = sp;return;
}
$24 = ((($0)) + 4|0);
HEAP32[$arg$i>>2] = $12;
$25 = ((($arg$i)) + 4|0);
HEAP32[$25>>2] = $14;
$26 = ((($arg$i)) + 8|0);
HEAP32[$26>>2] = $13;
$27 = ($13|0)==($14|0);
do {
if ($27) {
__THREW__ = 0;
invoke_vi(82,($arg$i|0));
$28 = __THREW__; __THREW__ = 0;
$29 = $28&1;
if (!($29)) {
$$pre$i$i = HEAP32[$26>>2]|0;
$$pre$i = HEAP32[$25>>2]|0;
$$pre = HEAP32[$arg$i>>2]|0;
$31 = $$pre;$32 = $$pre$i$i;$35 = $$pre$i;
break;
}
$46 = ___cxa_find_matching_catch_2()|0;
$47 = tempRet0;
$$pre7$i = HEAP32[$25>>2]|0;
$switch$split202D = ($$pre7$i|0)<(488447261);
L23: do {
if ($switch$split202D) {
switch ($$pre7$i|0) {
case 0: {
$eh$lpad$body8$i$index6Z2D = $47;$eh$lpad$body8$i$indexZ2D = $46;
break;
}
default: {
break L23;
}
}
___resumeException($eh$lpad$body8$i$indexZ2D|0);
// unreachable;
} else {
switch ($$pre7$i|0) {
case 488447261: {
$eh$lpad$body8$i$index6Z2D = $47;$eh$lpad$body8$i$indexZ2D = $46;
break;
}
default: {
break L23;
}
}
___resumeException($eh$lpad$body8$i$indexZ2D|0);
// unreachable;
}
} while(0);
$48 = HEAP32[$arg$i>>2]|0;
_free($48);
$eh$lpad$body8$i$index6Z2D = $47;$eh$lpad$body8$i$indexZ2D = $46;
___resumeException($eh$lpad$body8$i$indexZ2D|0);
// unreachable;
} else {
$31 = $12;$32 = $13;$35 = $14;
}
} while(0);
$30 = (($31) + ($32)|0);
HEAP8[$30>>0] = 0;
$33 = (($32) + 1)|0;
$34 = $31;
;HEAP32[$arg$i>>2]=488447261|0;HEAP32[$arg$i+4>>2]=488447261|0;HEAP32[$arg$i+8>>2]=488447261|0;
$36 = ($35>>>0)<($33>>>0);
L31: do {
if ($36) {
__THREW__ = 0;
invoke_vi(59,(1424|0));
$37 = __THREW__; __THREW__ = 0;
} else {
$38 = ($33|0)==(0);
L34: do {
if ($38) {
$switch$split142D = ($35|0)<(488447261);
if ($switch$split142D) {
switch ($35|0) {
case 0: {
$arg$sroa$0$sroa$0$0$i = 1;$arg$sroa$0$sroa$11$0$i = 0;
break L34;
break;
}
default: {
}
}
} else {
switch ($35|0) {
case 488447261: {
$arg$sroa$0$sroa$0$0$i = 1;$arg$sroa$0$sroa$11$0$i = 0;
break L34;
break;
}
default: {
}
}
}
_free($31);
$arg$sroa$0$sroa$0$0$i = 1;$arg$sroa$0$sroa$11$0$i = 0;
} else {
$39 = ($35|0)==($33|0);
if ($39) {
$arg$sroa$0$sroa$0$0$i = $34;$arg$sroa$0$sroa$11$0$i = $35;
} else {
$40 = (_realloc($31,$33)|0);
$41 = ($40|0)==(0|0);
if ($41) {
__THREW__ = 0;
invoke_v(62);
$42 = __THREW__; __THREW__ = 0;
break L31;
} else {
$43 = $40;
$arg$sroa$0$sroa$0$0$i = $43;$arg$sroa$0$sroa$11$0$i = $33;
break;
}
}
}
} while(0);
$49 = $arg$sroa$0$sroa$0$0$i;
HEAP32[$24>>2] = $49;
$50 = ((($0)) + 8|0);
HEAP32[$50>>2] = $arg$sroa$0$sroa$11$0$i;
$$sink = 0;
HEAP32[$0>>2] = $$sink;
STACKTOP = sp;return;
}
} while(0);
$44 = ___cxa_find_matching_catch_2()|0;
$45 = tempRet0;
$switch$split172D = ($35|0)<(488447261);
L48: do {
if ($switch$split172D) {
switch ($35|0) {
case 0: {
$eh$lpad$body8$i$index6Z2D = $45;$eh$lpad$body8$i$indexZ2D = $44;
break;
}
default: {
break L48;
}
}
___resumeException($eh$lpad$body8$i$indexZ2D|0);
// unreachable;
} else {
switch ($35|0) {
case 488447261: {
$eh$lpad$body8$i$index6Z2D = $45;$eh$lpad$body8$i$indexZ2D = $44;
break;
}
default: {
break L48;
}
}
___resumeException($eh$lpad$body8$i$indexZ2D|0);
// unreachable;
}
} while(0);
_free($31);
$eh$lpad$body8$i$index6Z2D = $45;$eh$lpad$body8$i$indexZ2D = $44;
___resumeException($eh$lpad$body8$i$indexZ2D|0);
// unreachable;
}
function __ZN3fmt23__RF__u27_a_u20_T_Debug3fmt21h15232890246984197759E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$off$i$i = 0, $$off160$i$i = 0, $$off163$i$i = 0, $$off165$i$i = 0, $$off167$i$i = 0, $$pre = 0, $$pre$i$i$i = 0, $$pre$i187$i$i = 0, $$pre$i203$i$i = 0, $$pre$i210$i$i = 0, $$pre$i223$i$i = 0, $$pre$i230$i$i = 0, $$pre$i249$i$i = 0, $$pre$i256$i$i = 0, $$pre$i266$i$i = 0, $$pre$i279$i$i = 0, $$pre$i286$i$i = 0, $$pre$i293$i$i = 0, $$pre$i306$i$i = 0, $$pre$i313$i$i = 0;
var $$pre$i335$i$i = 0, $$pre$i342$i$i = 0, $$sink$i$i$index = 0, $$sink$i$i$index3 = 0, $$sroa$06$011$i$i$i = 0, $$sroa$06$011$i189$i$i = 0, $$sroa$06$011$i212$i$i = 0, $$sroa$06$011$i225$i$i = 0, $$sroa$06$011$i251$i$i = 0, $$sroa$06$011$i281$i$i = 0, $$sroa$06$011$i295$i$i = 0, $$sroa$06$011$i308$i$i = 0, $$sroa$06$011$i337$i$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0;
var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0;
var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0;
var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0;
var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0;
var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0;
var $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0;
var $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0;
var $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0;
var $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0;
var $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0;
var $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0;
var $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0;
var $322 = 0, $323 = 0, $324 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond$i$i$i = 0, $exitcond$i190$i$i = 0, $exitcond$i213$i$i = 0, $exitcond$i226$i$i = 0;
var $exitcond$i252$i$i = 0, $exitcond$i282$i$i = 0, $exitcond$i296$i$i = 0, $exitcond$i309$i$i = 0, $exitcond$i338$i$i = 0, $i$0$be$i$i = 0, $i$0416$i$i = 0, $or$cond$i$i = 0, $or$cond173$i$i = 0, $or$cond175$i$i = 0, $or$cond179$i$i = 0, $or$cond181$i$i = 0, $ptr$0$i$i$i$i$i = 0, $res$i$i = 0, $sret_slot$sroa$0$0$i6$i = 0, $subseqidx$0$be$i$i = 0, $subseqidx$0$lcssa$i$i = 0, $subseqidx$0$ph$i$i = 0, $subseqidx$0414$i$i = 0, $switch$i1$i = 0;
var $switch$split112D = 0, $switch$split2D = 0, $switch$split82D = 0, $switch183$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$2 = sp + 16|0;
$res$i$i = sp;
$3 = HEAP32[$0>>2]|0;
$4 = ((($0)) + 4|0);
$5 = HEAP32[$4>>2]|0;
__ZN3str9from_utf820h89a4a927a5863b3a3sSE($2,$3,$5);
$6 = HEAP32[$2>>2]|0;
$switch$i1$i = ($6|0)==(1);
$7 = ((($2)) + 4|0);
$8 = HEAP32[$7>>2]|0;
if (!($switch$i1$i)) {
$308 = ((($2)) + 8|0);
$309 = HEAP32[$308>>2]|0;
$310 = $8;
$311 = (__ZN3fmt9str_Debug3fmt20h89aaf11c090de66eOVXE($310,$309,$1)|0);
$sret_slot$sroa$0$0$i6$i = $311;
STACKTOP = sp;return ($sret_slot$sroa$0$0$i6$i|0);
}
$9 = ($5|0)<(0);
if ($9) {
__ZN9panicking5panic20h505ed693e1be0208ElME(1444);
// unreachable;
}
$10 = ($5|0)==(0);
if ($10) {
$ptr$0$i$i$i$i$i = (1);
} else {
$11 = (_malloc($5)|0);
$12 = ($11|0)==(0|0);
if ($12) {
__ZN3oom3oom20hc88b31053092c214PzbE();
// unreachable;
} else {
$ptr$0$i$i$i$i$i = $11;
}
}
$13 = $ptr$0$i$i$i$i$i;
HEAP32[$res$i$i>>2] = $13;
$14 = ((($res$i$i)) + 4|0);
HEAP32[$14>>2] = $5;
$15 = ((($res$i$i)) + 8|0);
HEAP32[$15>>2] = 0;
$16 = ($8|0)==(0);
do {
if ($16) {
$321 = 0;$subseqidx$0$ph$i$i = 0;
label = 18;
} else {
$17 = ($8>>>0)>($5>>>0);
if ($17) {
__THREW__ = 0;
invoke_vii(76,($8|0),($5|0));
$18 = __THREW__; __THREW__ = 0;
} else {
__THREW__ = 0;
invoke_vii(83,($res$i$i|0),($8|0));
$23 = __THREW__; __THREW__ = 0;
$24 = $23&1;
if (!($24)) {
$$pre$i$i$i = HEAP32[$15>>2]|0;
$$sroa$06$011$i$i$i = 0;$28 = $$pre$i$i$i;
while(1) {
$25 = (($$sroa$06$011$i$i$i) + 1)|0;
$26 = HEAP32[$res$i$i>>2]|0;
$27 = (($26) + ($28)|0);
$29 = (($3) + ($$sroa$06$011$i$i$i)|0);
$30 = HEAP8[$29>>0]|0;
HEAP8[$27>>0] = $30;
$31 = (($28) + 1)|0;
HEAP32[$15>>2] = $31;
$exitcond$i$i$i = ($25|0)==($8|0);
if ($exitcond$i$i$i) {
break;
} else {
$$sroa$06$011$i$i$i = $25;$28 = $31;
}
}
$32 = (($8) + ($$pre$i$i$i))|0;
$321 = $32;$subseqidx$0$ph$i$i = $8;
label = 18;
break;
}
}
$19 = ___cxa_find_matching_catch_2()|0;
$20 = tempRet0;
$$sink$i$i$index = $19;$$sink$i$i$index3 = $20;
}
} while(0);
L22: do {
if ((label|0) == 18) {
$33 = ($subseqidx$0$ph$i$i>>>0)<($5>>>0);
L24: do {
if ($33) {
$323 = $321;$i$0416$i$i = $subseqidx$0$ph$i$i;$subseqidx$0414$i$i = $subseqidx$0$ph$i$i;
L26: while(1) {
$35 = (($3) + ($i$0416$i$i)|0);
$36 = HEAP8[$35>>0]|0;
$37 = (($i$0416$i$i) + 1)|0;
$38 = ($36<<24>>24)>(-1);
L28: do {
if ($38) {
$324 = $323;$i$0$be$i$i = $37;$subseqidx$0$be$i$i = $subseqidx$0414$i$i;
} else {
$43 = $36&255;
$44 = (4617 + ($43)|0);
$45 = HEAP8[$44>>0]|0;
$46 = $45&255;
switch ($46|0) {
case 2: {
$48 = ($37>>>0)<($5>>>0);
if ($48) {
$51 = (($3) + ($37)|0);
$52 = HEAP8[$51>>0]|0;
$53 = $52 & -64;
$54 = ($53<<24>>24)==(-128);
if ($54) {
$82 = (($i$0416$i$i) + 2)|0;
$324 = $323;$i$0$be$i$i = $82;$subseqidx$0$be$i$i = $subseqidx$0414$i$i;
break L28;
}
}
$55 = ($i$0416$i$i|0)==($subseqidx$0414$i$i|0);
if (!($55)) {
$56 = ($i$0416$i$i>>>0)<($subseqidx$0414$i$i>>>0);
if ($56) {
label = 32;
break L26;
}
$58 = ($i$0416$i$i>>>0)>($5>>>0);
if ($58) {
label = 34;
break L26;
}
$60 = (($3) + ($subseqidx$0414$i$i)|0);
$61 = (($i$0416$i$i) - ($subseqidx$0414$i$i))|0;
__THREW__ = 0;
invoke_vii(83,($res$i$i|0),($61|0));
$62 = __THREW__; __THREW__ = 0;
$63 = $62&1;
if ($63) {
label = 22;
break L26;
}
$$pre$i223$i$i = HEAP32[$15>>2]|0;
$$sroa$06$011$i225$i$i = 0;$67 = $$pre$i223$i$i;
while(1) {
$64 = (($$sroa$06$011$i225$i$i) + 1)|0;
$65 = HEAP32[$res$i$i>>2]|0;
$66 = (($65) + ($67)|0);
$68 = (($60) + ($$sroa$06$011$i225$i$i)|0);
$69 = HEAP8[$68>>0]|0;
HEAP8[$66>>0] = $69;
$70 = (($67) + 1)|0;
HEAP32[$15>>2] = $70;
$exitcond$i226$i$i = ($64|0)==($61|0);
if ($exitcond$i226$i$i) {
break;
} else {
$$sroa$06$011$i225$i$i = $64;$67 = $70;
}
}
}
__THREW__ = 0;
invoke_vii(83,($res$i$i|0),3);
$71 = __THREW__; __THREW__ = 0;
$72 = $71&1;
if ($72) {
label = 22;
break L26;
}
$$pre$i230$i$i = HEAP32[$15>>2]|0;
$73 = HEAP32[$res$i$i>>2]|0;
$74 = (($73) + ($$pre$i230$i$i)|0);
HEAP8[$74>>0] = -17;
$75 = (($$pre$i230$i$i) + 1)|0;
$76 = HEAP32[$res$i$i>>2]|0;
$77 = (($76) + ($75)|0);
HEAP8[$77>>0] = -65;
$78 = (($$pre$i230$i$i) + 2)|0;
$79 = HEAP32[$res$i$i>>2]|0;
$80 = (($79) + ($78)|0);
HEAP8[$80>>0] = -67;
$81 = (($$pre$i230$i$i) + 3)|0;
HEAP32[$15>>2] = $81;
$324 = $81;$i$0$be$i$i = $37;$subseqidx$0$be$i$i = $37;
break L28;
break;
}
case 3: {
$49 = ($37>>>0)<($5>>>0);
L56: do {
if ($49) {
$84 = (($3) + ($37)|0);
$85 = HEAP8[$84>>0]|0;
$86 = ($85&255)<(192);
$87 = $85 & -32;
$88 = ($87<<24>>24)==(-96);
if ($88) {
$$off167$i$i = (($36) + 31)<<24>>24;
$90 = ($$off167$i$i&255)<(12);
if (!($90)) {
switch ($36<<24>>24) {
case -32: case -18: case -17: {
break;
}
default: {
label = 46;
}
}
}
} else {
label = 46;
}
do {
if ((label|0) == 46) {
label = 0;
$91 = ($85<<24>>24)<(0);
$92 = $91 & $86;
if ($92) {
$$off165$i$i = (($36) + 31)<<24>>24;
$93 = ($$off165$i$i&255)<(12);
$94 = $36 & -2;
$95 = ($94<<24>>24)==(-18);
$or$cond173$i$i = $93 | $95;
if ($or$cond173$i$i) {
break;
}
}
$96 = ($85&255)<(160);
$97 = $91 & $96;
if (!($97)) {
break L56;
}
$$off163$i$i = (($36) + 31)<<24>>24;
$98 = ($$off163$i$i&255)<(13);
$99 = $36 & -2;
$100 = ($99<<24>>24)==(-18);
$or$cond175$i$i = $98 | $100;
if (!($or$cond175$i$i)) {
break L56;
}
}
} while(0);
$127 = (($i$0416$i$i) + 2)|0;
$128 = ($127>>>0)<($5>>>0);
if ($128) {
$129 = (($3) + ($127)|0);
$130 = HEAP8[$129>>0]|0;
$131 = $130 & -64;
$132 = ($131<<24>>24)==(-128);
if ($132) {
$160 = (($i$0416$i$i) + 3)|0;
$324 = $323;$i$0$be$i$i = $160;$subseqidx$0$be$i$i = $subseqidx$0414$i$i;
break L28;
}
}
$133 = ($i$0416$i$i|0)==($subseqidx$0414$i$i|0);
if (!($133)) {
$134 = ($i$0416$i$i>>>0)<($subseqidx$0414$i$i>>>0);
if ($134) {
label = 63;
break L26;
}
$136 = ($i$0416$i$i>>>0)>($5>>>0);
if ($136) {
label = 65;
break L26;
}
$138 = (($3) + ($subseqidx$0414$i$i)|0);
$139 = (($i$0416$i$i) - ($subseqidx$0414$i$i))|0;
__THREW__ = 0;
invoke_vii(83,($res$i$i|0),($139|0));
$140 = __THREW__; __THREW__ = 0;
$141 = $140&1;
if ($141) {
label = 22;
break L26;
}
$$pre$i279$i$i = HEAP32[$15>>2]|0;
$$sroa$06$011$i281$i$i = 0;$145 = $$pre$i279$i$i;
while(1) {
$142 = (($$sroa$06$011$i281$i$i) + 1)|0;
$143 = HEAP32[$res$i$i>>2]|0;
$144 = (($143) + ($145)|0);
$146 = (($138) + ($$sroa$06$011$i281$i$i)|0);
$147 = HEAP8[$146>>0]|0;
HEAP8[$144>>0] = $147;
$148 = (($145) + 1)|0;
HEAP32[$15>>2] = $148;
$exitcond$i282$i$i = ($142|0)==($139|0);
if ($exitcond$i282$i$i) {
break;
} else {
$$sroa$06$011$i281$i$i = $142;$145 = $148;
}
}
}
__THREW__ = 0;
invoke_vii(83,($res$i$i|0),3);
$149 = __THREW__; __THREW__ = 0;
$150 = $149&1;
if ($150) {
label = 22;
break L26;
}
$$pre$i286$i$i = HEAP32[$15>>2]|0;
$151 = HEAP32[$res$i$i>>2]|0;
$152 = (($151) + ($$pre$i286$i$i)|0);
HEAP8[$152>>0] = -17;
$153 = (($$pre$i286$i$i) + 1)|0;
$154 = HEAP32[$res$i$i>>2]|0;
$155 = (($154) + ($153)|0);
HEAP8[$155>>0] = -65;
$156 = (($$pre$i286$i$i) + 2)|0;
$157 = HEAP32[$res$i$i>>2]|0;
$158 = (($157) + ($156)|0);
HEAP8[$158>>0] = -67;
$159 = (($$pre$i286$i$i) + 3)|0;
HEAP32[$15>>2] = $159;
$324 = $159;$i$0$be$i$i = $127;$subseqidx$0$be$i$i = $127;
break L28;
}
} while(0);
$89 = ($i$0416$i$i|0)==($subseqidx$0414$i$i|0);
if (!($89)) {
$101 = ($i$0416$i$i>>>0)<($subseqidx$0414$i$i>>>0);
if ($101) {
label = 51;
break L26;
}
$103 = ($i$0416$i$i>>>0)>($5>>>0);
if ($103) {
label = 53;
break L26;
}
$105 = (($3) + ($subseqidx$0414$i$i)|0);
$106 = (($i$0416$i$i) - ($subseqidx$0414$i$i))|0;
__THREW__ = 0;
invoke_vii(83,($res$i$i|0),($106|0));
$107 = __THREW__; __THREW__ = 0;
$108 = $107&1;
if ($108) {
label = 22;
break L26;
}
$$pre$i249$i$i = HEAP32[$15>>2]|0;
$$sroa$06$011$i251$i$i = 0;$112 = $$pre$i249$i$i;
while(1) {
$109 = (($$sroa$06$011$i251$i$i) + 1)|0;
$110 = HEAP32[$res$i$i>>2]|0;
$111 = (($110) + ($112)|0);
$113 = (($105) + ($$sroa$06$011$i251$i$i)|0);
$114 = HEAP8[$113>>0]|0;
HEAP8[$111>>0] = $114;
$115 = (($112) + 1)|0;
HEAP32[$15>>2] = $115;
$exitcond$i252$i$i = ($109|0)==($106|0);
if ($exitcond$i252$i$i) {
break;
} else {
$$sroa$06$011$i251$i$i = $109;$112 = $115;
}
}
}
__THREW__ = 0;
invoke_vii(83,($res$i$i|0),3);
$116 = __THREW__; __THREW__ = 0;
$117 = $116&1;
if ($117) {
label = 22;
break L26;
}
$$pre$i256$i$i = HEAP32[$15>>2]|0;
$118 = HEAP32[$res$i$i>>2]|0;
$119 = (($118) + ($$pre$i256$i$i)|0);
HEAP8[$119>>0] = -17;
$120 = (($$pre$i256$i$i) + 1)|0;
$121 = HEAP32[$res$i$i>>2]|0;
$122 = (($121) + ($120)|0);
HEAP8[$122>>0] = -65;
$123 = (($$pre$i256$i$i) + 2)|0;
$124 = HEAP32[$res$i$i>>2]|0;
$125 = (($124) + ($123)|0);
HEAP8[$125>>0] = -67;
$126 = (($$pre$i256$i$i) + 3)|0;
HEAP32[$15>>2] = $126;
$324 = $126;$i$0$be$i$i = $37;$subseqidx$0$be$i$i = $37;
break L28;
break;
}
case 4: {
$50 = ($37>>>0)<($5>>>0);
do {
if ($50) {
$161 = (($3) + ($37)|0);
$162 = HEAP8[$161>>0]|0;
$$off$i$i = (($162) + 112)<<24>>24;
$163 = ($$off$i$i&255)<(48);
$164 = $36 & -4;
$switch183$i$i = ($164<<24>>24)==(-16);
$or$cond$i$i = $switch183$i$i & $163;
if (!($or$cond$i$i)) {
$166 = ($162&255)<(192);
$167 = ($162<<24>>24)<(0);
$168 = $167 & $166;
$$off160$i$i = (($36) + 15)<<24>>24;
$169 = ($$off160$i$i&255)<(3);
$or$cond179$i$i = $169 & $168;
if (!($or$cond179$i$i)) {
$170 = ($162&255)<(144);
$171 = $167 & $170;
$172 = ($$off160$i$i&255)<(4);
$or$cond181$i$i = $172 & $171;
if (!($or$cond181$i$i)) {
break;
}
}
}
$199 = (($i$0416$i$i) + 2)|0;
$200 = ($199>>>0)<($5>>>0);
if ($200) {
$201 = (($3) + ($199)|0);
$202 = HEAP8[$201>>0]|0;
$203 = $202 & -64;
$204 = ($203<<24>>24)==(-128);
if ($204) {
$232 = (($i$0416$i$i) + 3)|0;
$233 = ($232>>>0)<($5>>>0);
if ($233) {
$234 = (($3) + ($232)|0);
$235 = HEAP8[$234>>0]|0;
$236 = $235 & -64;
$237 = ($236<<24>>24)==(-128);
if ($237) {
$265 = (($i$0416$i$i) + 4)|0;
$324 = $323;$i$0$be$i$i = $265;$subseqidx$0$be$i$i = $subseqidx$0414$i$i;
break L28;
}
}
$238 = ($i$0416$i$i|0)==($subseqidx$0414$i$i|0);
if (!($238)) {
$239 = ($i$0416$i$i>>>0)<($subseqidx$0414$i$i>>>0);
if ($239) {
label = 101;
break L26;
}
$241 = ($i$0416$i$i>>>0)>($5>>>0);
if ($241) {
label = 103;
break L26;
}
$243 = (($3) + ($subseqidx$0414$i$i)|0);
$244 = (($i$0416$i$i) - ($subseqidx$0414$i$i))|0;
__THREW__ = 0;
invoke_vii(83,($res$i$i|0),($244|0));
$245 = __THREW__; __THREW__ = 0;
$246 = $245&1;
if ($246) {
label = 22;
break L26;
}
$$pre$i293$i$i = HEAP32[$15>>2]|0;
$$sroa$06$011$i295$i$i = 0;$250 = $$pre$i293$i$i;
while(1) {
$247 = (($$sroa$06$011$i295$i$i) + 1)|0;
$248 = HEAP32[$res$i$i>>2]|0;
$249 = (($248) + ($250)|0);
$251 = (($243) + ($$sroa$06$011$i295$i$i)|0);
$252 = HEAP8[$251>>0]|0;
HEAP8[$249>>0] = $252;
$253 = (($250) + 1)|0;
HEAP32[$15>>2] = $253;
$exitcond$i296$i$i = ($247|0)==($244|0);
if ($exitcond$i296$i$i) {
break;
} else {
$$sroa$06$011$i295$i$i = $247;$250 = $253;
}
}
}
__THREW__ = 0;
invoke_vii(83,($res$i$i|0),3);
$254 = __THREW__; __THREW__ = 0;
$255 = $254&1;
if ($255) {
label = 22;
break L26;
}
$$pre$i266$i$i = HEAP32[$15>>2]|0;
$256 = HEAP32[$res$i$i>>2]|0;
$257 = (($256) + ($$pre$i266$i$i)|0);
HEAP8[$257>>0] = -17;
$258 = (($$pre$i266$i$i) + 1)|0;
$259 = HEAP32[$res$i$i>>2]|0;
$260 = (($259) + ($258)|0);
HEAP8[$260>>0] = -65;
$261 = (($$pre$i266$i$i) + 2)|0;
$262 = HEAP32[$res$i$i>>2]|0;
$263 = (($262) + ($261)|0);
HEAP8[$263>>0] = -67;
$264 = (($$pre$i266$i$i) + 3)|0;
HEAP32[$15>>2] = $264;
$324 = $264;$i$0$be$i$i = $232;$subseqidx$0$be$i$i = $232;
break L28;
}
}
$205 = ($i$0416$i$i|0)==($subseqidx$0414$i$i|0);
if (!($205)) {
$206 = ($i$0416$i$i>>>0)<($subseqidx$0414$i$i>>>0);
if ($206) {
label = 89;
break L26;
}
$208 = ($i$0416$i$i>>>0)>($5>>>0);
if ($208) {
label = 91;
break L26;
}
$210 = (($3) + ($subseqidx$0414$i$i)|0);
$211 = (($i$0416$i$i) - ($subseqidx$0414$i$i))|0;
__THREW__ = 0;
invoke_vii(83,($res$i$i|0),($211|0));
$212 = __THREW__; __THREW__ = 0;
$213 = $212&1;
if ($213) {
label = 22;
break L26;
}
$$pre$i335$i$i = HEAP32[$15>>2]|0;
$$sroa$06$011$i337$i$i = 0;$217 = $$pre$i335$i$i;
while(1) {
$214 = (($$sroa$06$011$i337$i$i) + 1)|0;
$215 = HEAP32[$res$i$i>>2]|0;
$216 = (($215) + ($217)|0);
$218 = (($210) + ($$sroa$06$011$i337$i$i)|0);
$219 = HEAP8[$218>>0]|0;
HEAP8[$216>>0] = $219;
$220 = (($217) + 1)|0;
HEAP32[$15>>2] = $220;
$exitcond$i338$i$i = ($214|0)==($211|0);
if ($exitcond$i338$i$i) {
break;
} else {
$$sroa$06$011$i337$i$i = $214;$217 = $220;
}
}
}
__THREW__ = 0;
invoke_vii(83,($res$i$i|0),3);
$221 = __THREW__; __THREW__ = 0;
$222 = $221&1;
if ($222) {
label = 22;
break L26;
}
$$pre$i342$i$i = HEAP32[$15>>2]|0;
$223 = HEAP32[$res$i$i>>2]|0;
$224 = (($223) + ($$pre$i342$i$i)|0);
HEAP8[$224>>0] = -17;
$225 = (($$pre$i342$i$i) + 1)|0;
$226 = HEAP32[$res$i$i>>2]|0;
$227 = (($226) + ($225)|0);
HEAP8[$227>>0] = -65;
$228 = (($$pre$i342$i$i) + 2)|0;
$229 = HEAP32[$res$i$i>>2]|0;
$230 = (($229) + ($228)|0);
HEAP8[$230>>0] = -67;
$231 = (($$pre$i342$i$i) + 3)|0;
HEAP32[$15>>2] = $231;
$324 = $231;$i$0$be$i$i = $199;$subseqidx$0$be$i$i = $199;
break L28;
}
} while(0);
$165 = ($i$0416$i$i|0)==($subseqidx$0414$i$i|0);
if (!($165)) {
$173 = ($i$0416$i$i>>>0)<($subseqidx$0414$i$i>>>0);
if ($173) {
label = 77;
break L26;
}
$175 = ($i$0416$i$i>>>0)>($5>>>0);
if ($175) {
label = 79;
break L26;
}
$177 = (($3) + ($subseqidx$0414$i$i)|0);
$178 = (($i$0416$i$i) - ($subseqidx$0414$i$i))|0;
__THREW__ = 0;
invoke_vii(83,($res$i$i|0),($178|0));
$179 = __THREW__; __THREW__ = 0;
$180 = $179&1;
if ($180) {
label = 22;
break L26;
}
$$pre$i306$i$i = HEAP32[$15>>2]|0;
$$sroa$06$011$i308$i$i = 0;$184 = $$pre$i306$i$i;
while(1) {
$181 = (($$sroa$06$011$i308$i$i) + 1)|0;
$182 = HEAP32[$res$i$i>>2]|0;
$183 = (($182) + ($184)|0);
$185 = (($177) + ($$sroa$06$011$i308$i$i)|0);
$186 = HEAP8[$185>>0]|0;
HEAP8[$183>>0] = $186;
$187 = (($184) + 1)|0;
HEAP32[$15>>2] = $187;
$exitcond$i309$i$i = ($181|0)==($178|0);
if ($exitcond$i309$i$i) {
break;
} else {
$$sroa$06$011$i308$i$i = $181;$184 = $187;
}
}
}
__THREW__ = 0;
invoke_vii(83,($res$i$i|0),3);
$188 = __THREW__; __THREW__ = 0;
$189 = $188&1;
if ($189) {
label = 22;
break L26;
}
$$pre$i313$i$i = HEAP32[$15>>2]|0;
$190 = HEAP32[$res$i$i>>2]|0;
$191 = (($190) + ($$pre$i313$i$i)|0);
HEAP8[$191>>0] = -17;
$192 = (($$pre$i313$i$i) + 1)|0;
$193 = HEAP32[$res$i$i>>2]|0;
$194 = (($193) + ($192)|0);
HEAP8[$194>>0] = -65;
$195 = (($$pre$i313$i$i) + 2)|0;
$196 = HEAP32[$res$i$i>>2]|0;
$197 = (($196) + ($195)|0);
HEAP8[$197>>0] = -67;
$198 = (($$pre$i313$i$i) + 3)|0;
HEAP32[$15>>2] = $198;
$324 = $198;$i$0$be$i$i = $37;$subseqidx$0$be$i$i = $37;
break L28;
break;
}
default: {
$47 = ($i$0416$i$i|0)==($subseqidx$0414$i$i|0);
if (!($47)) {
$266 = ($i$0416$i$i>>>0)<($subseqidx$0414$i$i>>>0);
if ($266) {
label = 111;
break L26;
}
$268 = ($i$0416$i$i>>>0)>($5>>>0);
if ($268) {
label = 113;
break L26;
}
$270 = (($3) + ($subseqidx$0414$i$i)|0);
$271 = (($i$0416$i$i) - ($subseqidx$0414$i$i))|0;
__THREW__ = 0;
invoke_vii(83,($res$i$i|0),($271|0));
$272 = __THREW__; __THREW__ = 0;
$273 = $272&1;
if ($273) {
label = 22;
break L26;
}
$$pre$i210$i$i = HEAP32[$15>>2]|0;
$$sroa$06$011$i212$i$i = 0;$277 = $$pre$i210$i$i;
while(1) {
$274 = (($$sroa$06$011$i212$i$i) + 1)|0;
$275 = HEAP32[$res$i$i>>2]|0;
$276 = (($275) + ($277)|0);
$278 = (($270) + ($$sroa$06$011$i212$i$i)|0);
$279 = HEAP8[$278>>0]|0;
HEAP8[$276>>0] = $279;
$280 = (($277) + 1)|0;
HEAP32[$15>>2] = $280;
$exitcond$i213$i$i = ($274|0)==($271|0);
if ($exitcond$i213$i$i) {
break;
} else {
$$sroa$06$011$i212$i$i = $274;$277 = $280;
}
}
}
__THREW__ = 0;
invoke_vii(83,($res$i$i|0),3);
$281 = __THREW__; __THREW__ = 0;
$282 = $281&1;
if ($282) {
label = 22;
break L26;
}
$$pre$i203$i$i = HEAP32[$15>>2]|0;
$283 = HEAP32[$res$i$i>>2]|0;
$284 = (($283) + ($$pre$i203$i$i)|0);
HEAP8[$284>>0] = -17;
$285 = (($$pre$i203$i$i) + 1)|0;
$286 = HEAP32[$res$i$i>>2]|0;
$287 = (($286) + ($285)|0);
HEAP8[$287>>0] = -65;
$288 = (($$pre$i203$i$i) + 2)|0;
$289 = HEAP32[$res$i$i>>2]|0;
$290 = (($289) + ($288)|0);
HEAP8[$290>>0] = -67;
$291 = (($$pre$i203$i$i) + 3)|0;
HEAP32[$15>>2] = $291;
$324 = $291;$i$0$be$i$i = $37;$subseqidx$0$be$i$i = $37;
break L28;
}
}
}
} while(0);
$83 = ($i$0$be$i$i>>>0)<($5>>>0);
if ($83) {
$323 = $324;$i$0416$i$i = $i$0$be$i$i;$subseqidx$0414$i$i = $subseqidx$0$be$i$i;
} else {
$322 = $324;$subseqidx$0$lcssa$i$i = $subseqidx$0$be$i$i;
label = 20;
break L24;
}
}
switch (label|0) {
case 22: {
$39 = ___cxa_find_matching_catch_2()|0;
$40 = tempRet0;
$$sink$i$i$index = $39;$$sink$i$i$index3 = $40;
break L22;
break;
}
case 32: {
__THREW__ = 0;
invoke_vii(84,($subseqidx$0414$i$i|0),($i$0416$i$i|0));
$57 = __THREW__; __THREW__ = 0;
break L24;
break;
}
case 34: {
__THREW__ = 0;
invoke_vii(76,($i$0416$i$i|0),($5|0));
$59 = __THREW__; __THREW__ = 0;
break L24;
break;
}
case 51: {
__THREW__ = 0;
invoke_vii(84,($subseqidx$0414$i$i|0),($i$0416$i$i|0));
$102 = __THREW__; __THREW__ = 0;
break L24;
break;
}
case 53: {
__THREW__ = 0;
invoke_vii(76,($i$0416$i$i|0),($5|0));
$104 = __THREW__; __THREW__ = 0;
break L24;
break;
}
case 63: {
__THREW__ = 0;
invoke_vii(84,($subseqidx$0414$i$i|0),($i$0416$i$i|0));
$135 = __THREW__; __THREW__ = 0;
break L24;
break;
}
case 65: {
__THREW__ = 0;
invoke_vii(76,($i$0416$i$i|0),($5|0));
$137 = __THREW__; __THREW__ = 0;
break L24;
break;
}
case 77: {
__THREW__ = 0;
invoke_vii(84,($subseqidx$0414$i$i|0),($i$0416$i$i|0));
$174 = __THREW__; __THREW__ = 0;
break L24;
break;
}
case 79: {
__THREW__ = 0;
invoke_vii(76,($i$0416$i$i|0),($5|0));
$176 = __THREW__; __THREW__ = 0;
break L24;
break;
}
case 89: {
__THREW__ = 0;
invoke_vii(84,($subseqidx$0414$i$i|0),($i$0416$i$i|0));
$207 = __THREW__; __THREW__ = 0;
break L24;
break;
}
case 91: {
__THREW__ = 0;
invoke_vii(76,($i$0416$i$i|0),($5|0));
$209 = __THREW__; __THREW__ = 0;
break L24;
break;
}
case 101: {
__THREW__ = 0;
invoke_vii(84,($subseqidx$0414$i$i|0),($i$0416$i$i|0));
$240 = __THREW__; __THREW__ = 0;
break L24;
break;
}
case 103: {
__THREW__ = 0;
invoke_vii(76,($i$0416$i$i|0),($5|0));
$242 = __THREW__; __THREW__ = 0;
break L24;
break;
}
case 111: {
__THREW__ = 0;
invoke_vii(84,($subseqidx$0414$i$i|0),($i$0416$i$i|0));
$267 = __THREW__; __THREW__ = 0;
break L24;
break;
}
case 113: {
__THREW__ = 0;
invoke_vii(76,($i$0416$i$i|0),($5|0));
$269 = __THREW__; __THREW__ = 0;
break L24;
break;
}
}
} else {
$322 = $321;$subseqidx$0$lcssa$i$i = $subseqidx$0$ph$i$i;
label = 20;
}
} while(0);
L151: do {
if ((label|0) == 20) {
$34 = ($5>>>0)>($subseqidx$0$lcssa$i$i>>>0);
do {
if ($34) {
$292 = ($5>>>0)<($subseqidx$0$lcssa$i$i>>>0);
if ($292) {
__THREW__ = 0;
invoke_vii(84,($subseqidx$0$lcssa$i$i|0),($5|0));
$293 = __THREW__; __THREW__ = 0;
break L151;
}
$294 = (($3) + ($subseqidx$0$lcssa$i$i)|0);
$295 = (($5) - ($subseqidx$0$lcssa$i$i))|0;
__THREW__ = 0;
invoke_vii(83,($res$i$i|0),($295|0));
$296 = __THREW__; __THREW__ = 0;
$297 = $296&1;
if ($297) {
break L151;
}
$298 = ($5|0)==($subseqidx$0$lcssa$i$i|0);
if ($298) {
$$pre = HEAP32[$15>>2]|0;
$315 = $$pre;
break;
}
$$pre$i187$i$i = HEAP32[$15>>2]|0;
$299 = (($5) + ($$pre$i187$i$i))|0;
$$sroa$06$011$i189$i$i = 0;$303 = $$pre$i187$i$i;
while(1) {
$300 = (($$sroa$06$011$i189$i$i) + 1)|0;
$301 = HEAP32[$res$i$i>>2]|0;
$302 = (($301) + ($303)|0);
$304 = (($294) + ($$sroa$06$011$i189$i$i)|0);
$305 = HEAP8[$304>>0]|0;
HEAP8[$302>>0] = $305;
$306 = (($303) + 1)|0;
HEAP32[$15>>2] = $306;
$exitcond$i190$i$i = ($300|0)==($295|0);
if ($exitcond$i190$i$i) {
break;
} else {
$$sroa$06$011$i189$i$i = $300;$303 = $306;
}
}
$307 = (($299) - ($subseqidx$0$lcssa$i$i))|0;
$315 = $307;
} else {
$315 = $322;
}
} while(0);
$312 = HEAP32[$res$i$i>>2]|0;
$313 = HEAP32[$14>>2]|0;
$314 = $312;
__THREW__ = 0;
$316 = (invoke_iiii(85,($314|0),($315|0),($1|0))|0);
$317 = __THREW__; __THREW__ = 0;
$318 = $317&1;
if ($318) {
$319 = ___cxa_find_matching_catch_2()|0;
$320 = tempRet0;
$switch$split112D = ($313|0)<(488447261);
L168: do {
if ($switch$split112D) {
switch ($313|0) {
case 0: {
break;
}
default: {
break L168;
}
}
___resumeException($319|0);
// unreachable;
} else {
switch ($313|0) {
case 488447261: {
break;
}
default: {
break L168;
}
}
___resumeException($319|0);
// unreachable;
}
} while(0);
_free($314);
___resumeException($319|0);
// unreachable;
} else {
$switch$split82D = ($313|0)<(488447261);
L176: do {
if ($switch$split82D) {
switch ($313|0) {
case 0: {
$sret_slot$sroa$0$0$i6$i = $316;
break;
}
default: {
break L176;
}
}
STACKTOP = sp;return ($sret_slot$sroa$0$0$i6$i|0);
} else {
switch ($313|0) {
case 488447261: {
$sret_slot$sroa$0$0$i6$i = $316;
break;
}
default: {
break L176;
}
}
STACKTOP = sp;return ($sret_slot$sroa$0$0$i6$i|0);
}
} while(0);
_free($314);
$sret_slot$sroa$0$0$i6$i = $316;
STACKTOP = sp;return ($sret_slot$sroa$0$0$i6$i|0);
}
}
} while(0);
$41 = ___cxa_find_matching_catch_2()|0;
$42 = tempRet0;
$$sink$i$i$index = $41;$$sink$i$i$index3 = $42;
}
} while(0);
$21 = HEAP32[$14>>2]|0;
$switch$split2D = ($21|0)<(488447261);
L185: do {
if ($switch$split2D) {
switch ($21|0) {
case 0: {
break;
}
default: {
break L185;
}
}
___resumeException($$sink$i$i$index|0);
// unreachable;
} else {
switch ($21|0) {
case 488447261: {
break;
}
default: {
break L185;
}
}
___resumeException($$sink$i$i$index|0);
// unreachable;
}
} while(0);
$22 = HEAP32[$res$i$i>>2]|0;
_free($22);
___resumeException($$sink$i$i$index|0);
// unreachable;
return (0)|0;
}
function __ZN2io5error18Error_fmt__Display3fmt20h0882d078f70e8f60BKgE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arg$i = 0, $buf$i = 0, $code = 0, $detail = 0, $sret_slot$sroa$0$0 = 0, $switch = 0, $switch$i$i = 0, $switch$split22D = 0, $switch$split2D = 0;
var dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 208|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$arg$i = sp + 48|0;
$buf$i = sp + 80|0;
$2 = sp + 32|0;
$code = sp + 72|0;
$detail = sp + 16|0;
$3 = sp;
$4 = HEAP32[$0>>2]|0;
$switch = ($4|0)==(1);
if ($switch) {
$5 = ((($0)) + 4|0);
$6 = HEAP32[$5>>2]|0;
$7 = ((($6)) + 4|0);
$8 = HEAP32[$7>>2]|0;
$9 = ((($6)) + 8|0);
$10 = HEAP32[$9>>2]|0;
$11 = ((($10)) + 24|0);
$12 = HEAP32[$11>>2]|0;
$13 = (FUNCTION_TABLE_iii[$12 & 127]($8,$1)|0);
$sret_slot$sroa$0$0 = $13;
STACKTOP = sp;return ($sret_slot$sroa$0$0|0);
}
$15 = ((($0)) + 4|0);
$16 = HEAP32[$15>>2]|0;
HEAP32[$code>>2] = $16;
dest=$buf$i; stop=dest+128|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0));
$17 = (_strerror_r($16,$buf$i,128)|0);
$18 = ($17|0)<(0);
if ($18) {
__ZN10sys_common6unwind12begin_unwind20h8284277630150637284E(2631,18,520);
// unreachable;
}
$19 = (_strlen($buf$i)|0);
$20 = ($19|0)==(-1);
if ($20) {
__ZN5slice20slice_index_len_fail20h9ec8212373ae0291u9PE(-1,0);
// unreachable;
}
__ZN3str9from_utf820h89a4a927a5863b3a3sSE($2,$buf$i,$19);
$21 = HEAP32[$2>>2]|0;
$switch$i$i = ($21|0)==(1);
if ($switch$i$i) {
$22 = ((($2)) + 4|0);
$23 = HEAP32[$22>>2]|0;
__ZN6result13unwrap_failed20h3679629888972018590E($23);
// unreachable;
}
$24 = ((($2)) + 4|0);
$25 = HEAP32[$24>>2]|0;
$26 = ((($2)) + 8|0);
$27 = HEAP32[$26>>2]|0;
__ZN3str11str_ToOwned8to_owned20h27f191d2b0131fa4EVeE($detail,$25,$27);
$28 = ((($3)) + 4|0);
HEAP32[$28>>2] = 86;
HEAP32[$3>>2] = $detail;
$29 = ((($3)) + 8|0);
$30 = ((($3)) + 12|0);
HEAP32[$30>>2] = 87;
HEAP32[$29>>2] = $code;
$31 = ((($1)) + 28|0);
$32 = HEAP32[$31>>2]|0;
$33 = ((($1)) + 32|0);
$34 = HEAP32[$33>>2]|0;
HEAP32[$arg$i>>2] = 532;
$35 = ((($arg$i)) + 4|0);
HEAP32[$35>>2] = 3;
$36 = ((($arg$i)) + 8|0);
$37 = $36;
$38 = $37;
HEAP32[$38>>2] = 0;
$39 = (($37) + 4)|0;
$40 = $39;
HEAP32[$40>>2] = 0;
$41 = ((($arg$i)) + 16|0);
HEAP32[$41>>2] = $3;
$42 = ((($arg$i)) + 20|0);
HEAP32[$42>>2] = 2;
__THREW__ = 0;
$43 = (invoke_iiii(71,($32|0),($34|0),($arg$i|0))|0);
$44 = __THREW__; __THREW__ = 0;
$45 = $44&1;
if (!($45)) {
$50 = ((($detail)) + 4|0);
$51 = HEAP32[$50>>2]|0;
$switch$split22D = ($51|0)<(488447261);
if ($switch$split22D) {
switch ($51|0) {
case 0: {
break;
}
default: {
label = 14;
}
}
} else {
switch ($51|0) {
case 488447261: {
break;
}
default: {
label = 14;
}
}
}
if ((label|0) == 14) {
$52 = HEAP32[$detail>>2]|0;
_free($52);
}
$sret_slot$sroa$0$0 = $43;
STACKTOP = sp;return ($sret_slot$sroa$0$0|0);
}
$14 = ___cxa_find_matching_catch_2()|0;
$46 = tempRet0;
$47 = ((($detail)) + 4|0);
$48 = HEAP32[$47>>2]|0;
$switch$split2D = ($48|0)<(488447261);
L24: do {
if ($switch$split2D) {
switch ($48|0) {
case 0: {
break;
}
default: {
break L24;
}
}
___resumeException($14|0);
// unreachable;
} else {
switch ($48|0) {
case 488447261: {
break;
}
default: {
break L24;
}
}
___resumeException($14|0);
// unreachable;
}
} while(0);
$49 = HEAP32[$detail>>2]|0;
_free($49);
___resumeException($14|0);
// unreachable;
return (0)|0;
}
function __ZN6result13unwrap_failed20h3679629888972018590E($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $error = 0, $msg = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$msg = sp + 48|0;
$error = sp + 40|0;
$1 = sp + 16|0;
$2 = sp;
HEAP32[$msg>>2] = 2674;
$3 = ((($msg)) + 4|0);
HEAP32[$3>>2] = 43;
HEAP32[$error>>2] = $0;
$4 = ((($2)) + 4|0);
HEAP32[$4>>2] = 88;
HEAP32[$2>>2] = $msg;
$5 = ((($2)) + 8|0);
$6 = ((($2)) + 12|0);
HEAP32[$6>>2] = 89;
HEAP32[$5>>2] = $error;
HEAP32[$1>>2] = (1560);
$7 = ((($1)) + 4|0);
HEAP32[$7>>2] = 2;
$8 = ((($1)) + 8|0);
$9 = $8;
$10 = $9;
HEAP32[$10>>2] = 0;
$11 = (($9) + 4)|0;
$12 = $11;
HEAP32[$12>>2] = 0;
$13 = ((($1)) + 16|0);
HEAP32[$13>>2] = $2;
$14 = ((($1)) + 20|0);
HEAP32[$14>>2] = 2;
__ZN9panicking9panic_fmt20h354880378c07fbbe7mME($1,1548);
// unreachable;
}
function __ZN3fmt25__RF__u27_a_u20_T_Display3fmt20h4807422829571681786E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = HEAP32[$0>>2]|0;
$3 = ((($0)) + 4|0);
$4 = HEAP32[$3>>2]|0;
$5 = (__ZN3fmt23Formatter_LT__u27_a_GT_3pad20h4dc31ec7f968f174LyXE($1,$2,$4)|0);
return ($5|0);
}
function __ZN6string19String_fmt__Display3fmt20h6a9a544f9ad54bfafUfE_20($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = HEAP32[$0>>2]|0;
$3 = ((($0)) + 8|0);
$4 = HEAP32[$3>>2]|0;
$5 = (__ZN3fmt23Formatter_LT__u27_a_GT_3pad20h4dc31ec7f968f174LyXE($1,$2,$4)|0);
return ($5|0);
}
function __ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$2 = ((($1)) + 8|0);
__ZN13thread__Inner10drop_4009617h3c2e86dd183ee453E($2);
$3 = HEAP32[$0>>2]|0;
$4 = ((($3)) + 4|0);
$5 = HEAP32[$4>>2]|0;HEAP32[$4>>2] = (($5-1)|0);
$6 = ($5|0)==(1);
if (!($6)) {
return;
}
/* fence */;
_free($1);
return;
}
function __ZN13thread__Inner10drop_4009617h3c2e86dd183ee453E($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $switch$split2D = 0, $switchtmp$i = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$switchtmp$i = ($1|0)==(0|0);
L1: do {
if (!($switchtmp$i)) {
$2 = ((($0)) + 4|0);
$3 = HEAP32[$2>>2]|0;
$switch$split2D = ($3|0)<(488447261);
if ($switch$split2D) {
switch ($3|0) {
case 0: {
break L1;
break;
}
default: {
}
}
} else {
switch ($3|0) {
case 488447261: {
break L1;
break;
}
default: {
}
}
}
_free($1);
}
} while(0);
$4 = ((($0)) + 17|0);
$5 = HEAP8[$4>>0]|0;
$6 = ($5<<24>>24)==(-44);
if ($6) {
$7 = ((($0)) + 12|0);
$8 = HEAP32[$7>>2]|0;
(_pthread_mutex_destroy(($8|0))|0);
$9 = HEAP32[$7>>2]|0;
$10 = ($9|0)==((488447261)|0);
if (!($10)) {
_free($9);
}
}
$11 = ((($0)) + 24|0);
$12 = HEAP8[$11>>0]|0;
$13 = ($12<<24>>24)==(-44);
if (!($13)) {
return;
}
$14 = ((($0)) + 20|0);
$15 = HEAP32[$14>>2]|0;
(_pthread_cond_destroy(($15|0))|0);
$16 = HEAP32[$14>>2]|0;
$17 = ($16|0)==((488447261)|0);
if ($17) {
return;
}
_free($16);
return;
}
function __ZN6thread5local2os13destroy_value20h5533627499773354290E($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var $cond$i$i$i = 0, $cond$i$i$i$i$i$i = 0, $cond$i$i$i$i6$i = 0, $cond$i$i14$i = 0, $magicptr$i$i$i$i$i$i$i$i$i = 0, $magicptr$i$i$i$i$i$i$i8$i = 0, $ptr1$sroa$0$0$i = 0, $sret_slot$0$i$i$i = 0, $sret_slot$0$i$i16$i = 0, $switch$split12D = 0, $switch$split2D = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$2 = HEAP32[$1>>2]|0;
$cond$i$i$i = ($2|0)==(0);
if ($cond$i$i$i) {
$3 = $0;
__THREW__ = 0;
$4 = (invoke_ii(69,($1|0))|0);
$5 = __THREW__; __THREW__ = 0;
$6 = $5&1;
if ($6) {
$ptr1$sroa$0$0$i = $3;
} else {
$sret_slot$0$i$i$i = $4;
label = 3;
}
} else {
$sret_slot$0$i$i$i = $2;
label = 3;
}
L3: do {
if ((label|0) == 3) {
(_pthread_setspecific(($sret_slot$0$i$i$i|0),((1)|0))|0);
$7 = ($0|0)==((488447261)|0);
if (!($7)) {
$8 = ((($0)) + 4|0);
$9 = HEAP32[$8>>2]|0;
$cond$i$i$i$i$i$i = ($9|0)==(1);
L7: do {
if ($cond$i$i$i$i$i$i) {
$10 = ((($0)) + 12|0);
$11 = HEAP32[$10>>2]|0;
$magicptr$i$i$i$i$i$i$i$i$i = $11;
$switch$split2D = ($magicptr$i$i$i$i$i$i$i$i$i|0)<(488447261);
if ($switch$split2D) {
switch ($magicptr$i$i$i$i$i$i$i$i$i|0) {
case 0: {
break L7;
break;
}
default: {
}
}
} else {
switch ($magicptr$i$i$i$i$i$i$i$i$i|0) {
case 488447261: {
break L7;
break;
}
default: {
}
}
}
$12 = ((($0)) + 16|0);
$13 = HEAP32[$12>>2]|0;
$14 = HEAP32[$13>>2]|0;
__THREW__ = 0;
invoke_vi($14|0,($11|0));
$15 = __THREW__; __THREW__ = 0;
$16 = $15&1;
if ($16) {
$ptr1$sroa$0$0$i = 488447261;
break L3;
}
$17 = HEAP32[$12>>2]|0;
$18 = ((($17)) + 4|0);
$19 = HEAP32[$18>>2]|0;
$20 = ($19|0)==(0);
if (!($20)) {
_free($11);
}
}
} while(0);
_free($0);
}
$37 = HEAP32[$1>>2]|0;
$cond$i$i14$i = ($37|0)==(0);
if (!($cond$i$i14$i)) {
$sret_slot$0$i$i16$i = $37;
(_pthread_setspecific(($sret_slot$0$i$i16$i|0),(0|0))|0);
return;
}
__THREW__ = 0;
$38 = (invoke_ii(69,($1|0))|0);
$39 = __THREW__; __THREW__ = 0;
$40 = $39&1;
if ($40) {
$ptr1$sroa$0$0$i = 488447261;
} else {
$sret_slot$0$i$i16$i = $38;
(_pthread_setspecific(($sret_slot$0$i$i16$i|0),(0|0))|0);
return;
}
}
} while(0);
$21 = ___cxa_find_matching_catch_2()|0;
$22 = tempRet0;
$23 = $ptr1$sroa$0$0$i;
$24 = ($23|0)==((488447261)|0);
if ($24) {
___resumeException($21|0);
// unreachable;
}
$25 = ((($23)) + 4|0);
$26 = HEAP32[$25>>2]|0;
$cond$i$i$i$i6$i = ($26|0)==(1);
L25: do {
if ($cond$i$i$i$i6$i) {
$27 = ((($23)) + 12|0);
$28 = HEAP32[$27>>2]|0;
$magicptr$i$i$i$i$i$i$i8$i = $28;
$switch$split12D = ($magicptr$i$i$i$i$i$i$i8$i|0)<(488447261);
if ($switch$split12D) {
switch ($magicptr$i$i$i$i$i$i$i8$i|0) {
case 0: {
break L25;
break;
}
default: {
}
}
} else {
switch ($magicptr$i$i$i$i$i$i$i8$i|0) {
case 488447261: {
break L25;
break;
}
default: {
}
}
}
$29 = ((($23)) + 16|0);
$30 = HEAP32[$29>>2]|0;
$31 = HEAP32[$30>>2]|0;
FUNCTION_TABLE_vi[$31 & 127]($28);
$32 = HEAP32[$29>>2]|0;
$33 = ((($32)) + 4|0);
$34 = HEAP32[$33>>2]|0;
$35 = ($34|0)==(0);
if (!($35)) {
_free($28);
}
}
} while(0);
$36 = $ptr1$sroa$0$0$i;
_free($36);
___resumeException($21|0);
// unreachable;
}
function __ZN6thread5local2os12Key_LT_T_GT_3get21h17797014043959970495E($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond$i$i = 0, $cond$i$i18 = 0, $sret_slot$0$i$i = 0, $sret_slot$0$i$i20 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$cond$i$i18 = ($1|0)==(0);
if ($cond$i$i18) {
$2 = (__ZN10sys_common12thread_local9StaticKey9lazy_init20h7764f75565e4e259beuE($0)|0);
$sret_slot$0$i$i20 = $2;
} else {
$sret_slot$0$i$i20 = $1;
}
$3 = (_pthread_getspecific(($sret_slot$0$i$i20|0))|0);
$4 = ($3|0)==(0|0);
if (!($4)) {
$5 = ($3|0)==((1)|0);
$6 = ((($3)) + 4|0);
$7 = $5 ? 0 : $6;
$13 = $7;
return ($13|0);
}
$8 = (_malloc(20)|0);
$9 = ($8|0)==(0|0);
if ($9) {
__ZN3oom3oom20hc88b31053092c214PzbE();
// unreachable;
}
HEAP32[$8>>2] = $0;
$10 = ((($8)) + 4|0);
;HEAP32[$10>>2]=HEAP32[7100>>2]|0;HEAP32[$10+4>>2]=HEAP32[7100+4>>2]|0;HEAP32[$10+8>>2]=HEAP32[7100+8>>2]|0;HEAP32[$10+12>>2]=HEAP32[7100+12>>2]|0;
$11 = HEAP32[$0>>2]|0;
$cond$i$i = ($11|0)==(0);
if ($cond$i$i) {
$12 = (__ZN10sys_common12thread_local9StaticKey9lazy_init20h7764f75565e4e259beuE($0)|0);
$sret_slot$0$i$i = $12;
} else {
$sret_slot$0$i$i = $11;
}
(_pthread_setspecific(($sret_slot$0$i$i|0),($8|0))|0);
$13 = $10;
return ($13|0);
}
function __ZN9panicking15default_handler28__u7b__u7b_closure_u7d__u7d_13closure_44651E($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $addr_of = 0, $cond$i = 0, $cond$i$i$i = 0, $cond$i$i$i12 = 0, $cond$i$i$i21 = 0, $cond$i11 = 0, $cond$i20 = 0;
var label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$addr_of = sp + 128|0;
$3 = sp + 112|0;
$4 = sp + 88|0;
$5 = sp + 56|0;
$6 = sp + 40|0;
$7 = sp + 24|0;
$8 = sp;
$9 = HEAP32[$0>>2]|0;
$10 = ((($0)) + 4|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($0)) + 8|0);
$13 = HEAP32[$12>>2]|0;
$14 = ((($0)) + 12|0);
$15 = HEAP32[$14>>2]|0;
$16 = ((($0)) + 16|0);
$17 = HEAP32[$16>>2]|0;
$18 = ((($2)) + 24|0);
$19 = HEAP32[$18>>2]|0;
$20 = ((($5)) + 4|0);
HEAP32[$20>>2] = 88;
HEAP32[$5>>2] = $9;
$21 = ((($5)) + 8|0);
$22 = ((($5)) + 12|0);
HEAP32[$22>>2] = 88;
HEAP32[$21>>2] = $11;
$23 = ((($5)) + 16|0);
$24 = ((($5)) + 20|0);
HEAP32[$24>>2] = 88;
HEAP32[$23>>2] = $13;
$25 = ((($5)) + 24|0);
$26 = ((($5)) + 28|0);
HEAP32[$26>>2] = 90;
HEAP32[$25>>2] = $15;
HEAP32[$4>>2] = 592;
$27 = ((($4)) + 4|0);
HEAP32[$27>>2] = 5;
$28 = ((($4)) + 8|0);
$29 = $28;
$30 = $29;
HEAP32[$30>>2] = 0;
$31 = (($29) + 4)|0;
$32 = $31;
HEAP32[$32>>2] = 0;
$33 = ((($4)) + 16|0);
HEAP32[$33>>2] = $5;
$34 = ((($4)) + 20|0);
HEAP32[$34>>2] = 4;
FUNCTION_TABLE_viii[$19 & 127]($3,$1,$4);
$35 = HEAP32[$3>>2]|0;
$cond$i = ($35|0)==(1);
if ($cond$i) {
$36 = ((($3)) + 4|0);
$37 = HEAP32[$36>>2]|0;
$cond$i$i$i = ($37|0)==(1);
if ($cond$i$i$i) {
$38 = ((($3)) + 8|0);
$39 = HEAP32[$38>>2]|0;
$40 = ($39|0)==((488447261)|0);
if (!($40)) {
$41 = ((($39)) + 4|0);
$42 = HEAP32[$41>>2]|0;
$43 = ($42|0)==((488447261)|0);
if (!($43)) {
$44 = ((($39)) + 8|0);
$45 = HEAP32[$44>>2]|0;
$46 = HEAP32[$45>>2]|0;
FUNCTION_TABLE_vi[$46 & 127]($42);
$47 = HEAP32[$44>>2]|0;
$48 = ((($47)) + 4|0);
$49 = HEAP32[$48>>2]|0;
$50 = ($49|0)==(0);
if (!($50)) {
_free($42);
}
}
_free($39);
}
}
}
$51 = HEAP8[$17>>0]|0;
$52 = ($51<<24>>24)==(0);
if (!($52)) {
__ZN3sys9backtrace7tracing3imp5write20h1dc575cfd4855667pqvE($6,$1,$2);
$53 = HEAP32[$6>>2]|0;
$cond$i11 = ($53|0)==(1);
if ($cond$i11) {
$54 = ((($6)) + 4|0);
$55 = HEAP32[$54>>2]|0;
$cond$i$i$i12 = ($55|0)==(1);
if ($cond$i$i$i12) {
$56 = ((($6)) + 8|0);
$57 = HEAP32[$56>>2]|0;
$58 = ($57|0)==((488447261)|0);
if (!($58)) {
$59 = ((($57)) + 4|0);
$60 = HEAP32[$59>>2]|0;
$61 = ($60|0)==((488447261)|0);
if (!($61)) {
$62 = ((($57)) + 8|0);
$63 = HEAP32[$62>>2]|0;
$64 = HEAP32[$63>>2]|0;
FUNCTION_TABLE_vi[$64 & 127]($60);
$65 = HEAP32[$62>>2]|0;
$66 = ((($65)) + 4|0);
$67 = HEAP32[$66>>2]|0;
$68 = ($67|0)==(0);
if (!($68)) {
_free($60);
}
}
_free($57);
}
}
}
STACKTOP = sp;return;
}
$69 = HEAP32[192]|0;if (($69|0) == -1) HEAP32[192] = 0;
$70 = ($69|0)==(0);
if ($70) {
STACKTOP = sp;return;
}
$71 = HEAP32[$18>>2]|0;
HEAP32[$8>>2] = 772;
$72 = ((($8)) + 4|0);
HEAP32[$72>>2] = 1;
$73 = ((($8)) + 8|0);
$74 = $73;
$75 = $74;
HEAP32[$75>>2] = 0;
$76 = (($74) + 4)|0;
$77 = $76;
HEAP32[$77>>2] = 0;
$78 = ((($8)) + 16|0);
HEAP32[$78>>2] = $addr_of;
$79 = ((($8)) + 20|0);
HEAP32[$79>>2] = 0;
FUNCTION_TABLE_viii[$71 & 127]($7,$1,$8);
$80 = HEAP32[$7>>2]|0;
$cond$i20 = ($80|0)==(1);
if ($cond$i20) {
$81 = ((($7)) + 4|0);
$82 = HEAP32[$81>>2]|0;
$cond$i$i$i21 = ($82|0)==(1);
if ($cond$i$i$i21) {
$83 = ((($7)) + 8|0);
$84 = HEAP32[$83>>2]|0;
$85 = ($84|0)==((488447261)|0);
if (!($85)) {
$86 = ((($84)) + 4|0);
$87 = HEAP32[$86>>2]|0;
$88 = ($87|0)==((488447261)|0);
if (!($88)) {
$89 = ((($84)) + 8|0);
$90 = HEAP32[$89>>2]|0;
$91 = HEAP32[$90>>2]|0;
FUNCTION_TABLE_vi[$91 & 127]($87);
$92 = HEAP32[$89>>2]|0;
$93 = ((($92)) + 4|0);
$94 = HEAP32[$93>>2]|0;
$95 = ($94|0)==(0);
if (!($95)) {
_free($87);
}
}
_free($84);
}
}
}
STACKTOP = sp;return;
}
function __ZN3sys9backtrace7tracing3imp5write20h1dc575cfd4855667pqvE($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$phi$trans$insert148 = 0, $$phi$trans$insert174 = 0, $$pre = 0, $$pre145 = 0, $$pre147 = 0, $$pre149 = 0, $$pre151 = 0, $$pre153 = 0, $$pre175 = 0, $$sink$in$phi$trans$insert = 0, $$sink138$in$phi$trans$insert = 0, $$sink139$in$phi$trans$insert = 0, $$sink142$in$phi$trans$insert = 0, $$sink143$in$phi$trans$insert = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $addr_of = 0, $cond = 0, $cond$i$i62 = 0, $cx = 0, $phitmp = 0, $phitmp168 = 0, $phitmp169 = 0, $phitmp170 = 0, $phitmp177 = 0, $switch = 0;
var $switch$i$i = 0, $switch$i$i$i = 0, $switch$i$i81 = 0, $switch$i105 = 0, $switch$i112 = 0, $switch137 = 0, $switch141 = 0, $switch27 = 0, $switchtmp$i$i = 0, $switchtmp$i$i$i = 0, $switchtmp$i$i$i$i = 0, $switchtmp$i$i$i78 = 0, $switchtmp$i$i110 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$addr_of = sp + 64|0;
$3 = sp + 48|0;
$4 = sp + 24|0;
$cx = sp;
(_pthread_mutex_lock(((6880)|0))|0);
$5 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0);
$switchtmp$i$i$i$i = ($5|0)==(0|0);
if ($switchtmp$i$i$i$i) {
__ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57);
// unreachable;
}
$6 = HEAP32[$5>>2]|0;
$switch$i$i$i = ($6|0)==(1);
if ($switch$i$i$i) {
$$sink$in$phi$trans$insert = ((($5)) + 4|0);
$$pre = HEAP32[$$sink$in$phi$trans$insert>>2]|0;
$11 = $$pre;
} else {
$7 = $5;
$8 = $7;
HEAP32[$8>>2] = 1;
$9 = (($7) + 4)|0;
$10 = $9;
HEAP32[$10>>2] = 0;
$11 = 0;
}
$12 = ($11|0)!=(0);
$13 = HEAP8[(6904)>>0]|0;
$14 = ((($2)) + 24|0);
$15 = HEAP32[$14>>2]|0;
HEAP32[$4>>2] = 632;
$16 = ((($4)) + 4|0);
HEAP32[$16>>2] = 1;
$17 = ((($4)) + 8|0);
$18 = $17;
$19 = $18;
HEAP32[$19>>2] = 0;
$20 = (($18) + 4)|0;
$21 = $20;
HEAP32[$21>>2] = 0;
$22 = ((($4)) + 16|0);
HEAP32[$22>>2] = $addr_of;
$23 = ((($4)) + 20|0);
HEAP32[$23>>2] = 0;
__THREW__ = 0;
invoke_viii($15|0,($3|0),($1|0),($4|0));
$24 = __THREW__; __THREW__ = 0;
$25 = $24&1;
if ($25) {
$26 = ___cxa_find_matching_catch_2()|0;
$27 = tempRet0;
$switch137 = ($13<<24>>24)==(1);
if ($switch137) {
do {
if (!($12)) {
$34 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0);
$switchtmp$i$i110 = ($34|0)==(0|0);
if ($switchtmp$i$i110) {
__ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57);
// unreachable;
}
$35 = HEAP32[$34>>2]|0;
$switch$i112 = ($35|0)==(1);
if (!($switch$i112)) {
$36 = $34;
$37 = $36;
HEAP32[$37>>2] = 1;
$38 = (($36) + 4)|0;
$39 = $38;
HEAP32[$39>>2] = 0;
break;
}
$$sink139$in$phi$trans$insert = ((($34)) + 4|0);
$$pre147 = HEAP32[$$sink139$in$phi$trans$insert>>2]|0;
$phitmp168 = ($$pre147|0)==(0);
if (!($phitmp168)) {
HEAP8[(6904)>>0] = 1;
}
}
} while(0);
(_pthread_mutex_unlock(((6880)|0))|0);
___resumeException($26|0);
// unreachable;
} else {
do {
if (!($12)) {
$28 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0);
$switchtmp$i$i$i78 = ($28|0)==(0|0);
if ($switchtmp$i$i$i78) {
__ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57);
// unreachable;
}
$29 = HEAP32[$28>>2]|0;
$switch$i$i81 = ($29|0)==(1);
if (!($switch$i$i81)) {
$30 = $28;
$31 = $30;
HEAP32[$31>>2] = 1;
$32 = (($30) + 4)|0;
$33 = $32;
HEAP32[$33>>2] = 0;
break;
}
$$sink138$in$phi$trans$insert = ((($28)) + 4|0);
$$pre145 = HEAP32[$$sink138$in$phi$trans$insert>>2]|0;
$phitmp = ($$pre145|0)==(0);
if (!($phitmp)) {
HEAP8[(6904)>>0] = 1;
}
}
} while(0);
(_pthread_mutex_unlock(((6880)|0))|0);
___resumeException($26|0);
// unreachable;
}
}
$40 = HEAP32[$3>>2]|0;
$switch = ($40|0)==(1);
if ($switch) {
$45 = ((($3)) + 4|0);
$46 = ((($0)) + 4|0);
$47 = $45;
$48 = $47;
$49 = HEAP32[$48>>2]|0;
$50 = (($47) + 4)|0;
$51 = $50;
$52 = HEAP32[$51>>2]|0;
$53 = $46;
$54 = $53;
HEAP32[$54>>2] = $49;
$55 = (($53) + 4)|0;
$56 = $55;
HEAP32[$56>>2] = $52;
HEAP32[$0>>2] = 1;
} else {
$41 = ((($cx)) + 4|0);
HEAP32[$41>>2] = $1;
$42 = ((($cx)) + 8|0);
HEAP32[$42>>2] = $2;
$43 = ((($cx)) + 12|0);
;HEAP32[$43>>2]=HEAP32[6912>>2]|0;HEAP32[$43+4>>2]=HEAP32[6912+4>>2]|0;HEAP32[$43+8>>2]=HEAP32[6912+8>>2]|0;
HEAP32[$cx>>2] = 0;
$44 = (__Unwind_Backtrace((91|0),($cx|0))|0);
$cond = ($44|0)==(0);
do {
if ($cond) {
$69 = HEAP32[$43>>2]|0;
$switch27 = ($69|0)==(1);
if ($switch27) {
$70 = ((($cx)) + 16|0);
$71 = ((($0)) + 4|0);
$72 = $70;
$73 = $72;
$74 = HEAP32[$73>>2]|0;
$75 = (($72) + 4)|0;
$76 = $75;
$77 = HEAP32[$76>>2]|0;
$78 = $71;
$79 = $78;
HEAP32[$79>>2] = $74;
$80 = (($78) + 4)|0;
$81 = $80;
HEAP32[$81>>2] = $77;
HEAP32[$0>>2] = 1;
$82 = $70;
$83 = $82;
HEAP32[$83>>2] = 488447261;
$84 = (($82) + 4)|0;
$85 = $84;
HEAP32[$85>>2] = 488447261;
break;
} else {
;HEAP32[$0>>2]=HEAP32[6832>>2]|0;HEAP32[$0+4>>2]=HEAP32[6832+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[6832+8>>2]|0;
break;
}
} else {
;HEAP32[$0>>2]=HEAP32[6832>>2]|0;HEAP32[$0+4>>2]=HEAP32[6832+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[6832+8>>2]|0;
$$phi$trans$insert148 = ((($cx)) + 12|0);
$$pre149 = HEAP32[$$phi$trans$insert148>>2]|0;
$cond$i$i62 = ($$pre149|0)==(1);
if ($cond$i$i62) {
$$phi$trans$insert174 = ((($cx)) + 16|0);
$$pre175 = HEAP32[$$phi$trans$insert174>>2]|0;
$phitmp177 = ($$pre175|0)==(1);
if ($phitmp177) {
$86 = ((($cx)) + 20|0);
$87 = HEAP32[$86>>2]|0;
$88 = ($87|0)==((488447261)|0);
if (!($88)) {
$89 = ((($87)) + 4|0);
$90 = HEAP32[$89>>2]|0;
$91 = ($90|0)==((488447261)|0);
if (!($91)) {
$92 = ((($87)) + 8|0);
$93 = HEAP32[$92>>2]|0;
$94 = HEAP32[$93>>2]|0;
FUNCTION_TABLE_vi[$94 & 127]($90);
$95 = HEAP32[$92>>2]|0;
$96 = ((($95)) + 4|0);
$97 = HEAP32[$96>>2]|0;
$98 = ($97|0)==(0);
if (!($98)) {
_free($90);
}
}
_free($87);
}
}
}
}
} while(0);
}
$switch141 = ($13<<24>>24)==(1);
if ($switch141) {
do {
if (!($12)) {
$63 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0);
$switchtmp$i$i = ($63|0)==(0|0);
if ($switchtmp$i$i) {
__ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57);
// unreachable;
}
$64 = HEAP32[$63>>2]|0;
$switch$i105 = ($64|0)==(1);
if (!($switch$i105)) {
$65 = $63;
$66 = $65;
HEAP32[$66>>2] = 1;
$67 = (($65) + 4)|0;
$68 = $67;
HEAP32[$68>>2] = 0;
break;
}
$$sink143$in$phi$trans$insert = ((($63)) + 4|0);
$$pre153 = HEAP32[$$sink143$in$phi$trans$insert>>2]|0;
$phitmp170 = ($$pre153|0)==(0);
if (!($phitmp170)) {
HEAP8[(6904)>>0] = 1;
}
}
} while(0);
(_pthread_mutex_unlock(((6880)|0))|0);
STACKTOP = sp;return;
} else {
do {
if (!($12)) {
$57 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0);
$switchtmp$i$i$i = ($57|0)==(0|0);
if ($switchtmp$i$i$i) {
__ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57);
// unreachable;
}
$58 = HEAP32[$57>>2]|0;
$switch$i$i = ($58|0)==(1);
if (!($switch$i$i)) {
$59 = $57;
$60 = $59;
HEAP32[$60>>2] = 1;
$61 = (($59) + 4)|0;
$62 = $61;
HEAP32[$62>>2] = 0;
break;
}
$$sink142$in$phi$trans$insert = ((($57)) + 4|0);
$$pre151 = HEAP32[$$sink142$in$phi$trans$insert>>2]|0;
$phitmp169 = ($$pre151|0)==(0);
if (!($phitmp169)) {
HEAP8[(6904)>>0] = 1;
}
}
} while(0);
(_pthread_mutex_unlock(((6880)|0))|0);
STACKTOP = sp;return;
}
}
function __ZN3sys9backtrace7tracing3imp5write8trace_fn20h408698690a8939c6isvE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr_of$i = 0;
var $cond$i$i$i26$i = 0, $cond$i$i$i44$i = 0, $cond$i25$i = 0, $cond$i43$i = 0, $const$i$i = 0, $info$i$i = 0, $ip$0$i = 0, $ip$0$v$i = 0, $ip_before_insn$i = 0, $sret_slot$0$i = 0, $sret_slot$1$i = 0, $switch$i = 0, $switch$i$i = 0, $switch21$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$addr_of$i = sp + 88|0;
$info$i$i = sp + 72|0;
$const$i$i = sp + 64|0;
$2 = sp + 56|0;
$ip_before_insn$i = sp + 88|0;
$3 = sp + 40|0;
$4 = sp + 16|0;
$5 = sp;
HEAP32[$ip_before_insn$i>>2] = 0;
$6 = (__Unwind_GetIPInfo(($0|0),($ip_before_insn$i|0))|0);
$7 = ($6|0)==(0);
$8 = $7 ^ 1;
if ($7) {
$10 = $8;
} else {
$14 = HEAP32[$ip_before_insn$i>>2]|0;
$15 = ($14|0)==(0);
$10 = $15;
}
$9 = $10 << 31 >> 31;
$ip$0$v$i = (($9) + ($6))|0;
$ip$0$i = $ip$0$v$i;
(__Unwind_FindEnclosingFunction(($ip$0$i|0))|0);
$11 = HEAP32[$1>>2]|0;
$12 = (($11) + 1)|0;
HEAP32[$1>>2] = $12;
$13 = ($12|0)<(1);
do {
if ($13) {
$sret_slot$0$i = 0;
} else {
$16 = ($12|0)>(100);
if ($16) {
$17 = ((($1)) + 4|0);
$18 = HEAP32[$17>>2]|0;
$19 = ((($1)) + 8|0);
$20 = HEAP32[$19>>2]|0;
$21 = ((($20)) + 24|0);
$22 = HEAP32[$21>>2]|0;
HEAP32[$4>>2] = 640;
$23 = ((($4)) + 4|0);
HEAP32[$23>>2] = 1;
$24 = ((($4)) + 8|0);
$25 = $24;
$26 = $25;
HEAP32[$26>>2] = 0;
$27 = (($25) + 4)|0;
$28 = $27;
HEAP32[$28>>2] = 0;
$29 = ((($4)) + 16|0);
HEAP32[$29>>2] = $addr_of$i;
$30 = ((($4)) + 20|0);
HEAP32[$30>>2] = 0;
FUNCTION_TABLE_viii[$22 & 127]($3,$18,$4);
$31 = HEAP32[$3>>2]|0;
$switch21$i = ($31|0)==(1);
if ($switch21$i) {
$32 = ((($3)) + 4|0);
$33 = $32;
$34 = $33;
$35 = HEAP32[$34>>2]|0;
$36 = (($33) + 4)|0;
$37 = $36;
$38 = HEAP32[$37>>2]|0;
$39 = $32;
$40 = $39;
HEAP32[$40>>2] = 488447261;
$41 = (($39) + 4)|0;
$42 = $41;
HEAP32[$42>>2] = 488447261;
$43 = ((($1)) + 12|0);
$44 = HEAP32[$43>>2]|0;
$cond$i25$i = ($44|0)==(1);
$45 = ((($1)) + 16|0);
if ($cond$i25$i) {
$46 = HEAP32[$45>>2]|0;
$cond$i$i$i26$i = ($46|0)==(1);
if ($cond$i$i$i26$i) {
$47 = ((($1)) + 20|0);
$48 = HEAP32[$47>>2]|0;
$49 = ($48|0)==((488447261)|0);
if (!($49)) {
$50 = ((($48)) + 4|0);
$51 = HEAP32[$50>>2]|0;
$52 = ($51|0)==((488447261)|0);
if (!($52)) {
$53 = ((($48)) + 8|0);
$54 = HEAP32[$53>>2]|0;
$55 = HEAP32[$54>>2]|0;
FUNCTION_TABLE_vi[$55 & 127]($51);
$56 = HEAP32[$53>>2]|0;
$57 = ((($56)) + 4|0);
$58 = HEAP32[$57>>2]|0;
$59 = ($58|0)==(0);
if (!($59)) {
_free($51);
}
}
_free($48);
}
}
}
HEAP32[$43>>2] = 1;
$60 = $45;
$61 = $60;
HEAP32[$61>>2] = $35;
$62 = (($60) + 4)|0;
$63 = $62;
HEAP32[$63>>2] = $38;
$64 = $32;
$65 = $64;
HEAP32[$65>>2] = 488447261;
$66 = (($64) + 4)|0;
$67 = $66;
HEAP32[$67>>2] = 488447261;
}
$sret_slot$0$i = 9;
break;
}
$68 = ((($1)) + 12|0);
$69 = HEAP32[$68>>2]|0;
$switch$i$i = ($69|0)==(1);
if ($switch$i$i) {
$sret_slot$0$i = 9;
} else {
$70 = ((($1)) + 4|0);
$71 = HEAP32[$70>>2]|0;
$72 = ((($1)) + 8|0);
$73 = HEAP32[$72>>2]|0;
;HEAP32[$info$i$i>>2]=0|0;HEAP32[$info$i$i+4>>2]=0|0;HEAP32[$info$i$i+8>>2]=0|0;HEAP32[$info$i$i+12>>2]=0|0;
$74 = (_dladdr(($ip$0$i|0),($info$i$i|0))|0);
$75 = ($74|0)==(0);
do {
if ($75) {
$76 = $const$i$i;
$77 = $76;
HEAP32[$77>>2] = 0;
$78 = (($76) + 4)|0;
$79 = $78;
HEAP32[$79>>2] = 0;
__ZN10sys_common9backtrace6output20h2200d349d62ac2bfCusE($5,$71,$73,$12,$ip$0$i,$const$i$i);
} else {
$80 = ((($info$i$i)) + 8|0);
$81 = HEAP32[$80>>2]|0;
$82 = (_strlen($81)|0);
$83 = ($82|0)==(-1);
if ($83) {
__ZN5slice20slice_index_len_fail20h9ec8212373ae0291u9PE(-1,0);
// unreachable;
} else {
HEAP32[$2>>2] = $81;
$84 = ((($2)) + 4|0);
HEAP32[$84>>2] = $82;
__ZN10sys_common9backtrace6output20h2200d349d62ac2bfCusE($5,$71,$73,$12,$ip$0$i,$2);
break;
}
}
} while(0);
$85 = HEAP32[$5>>2]|0;
$switch$i = ($85|0)==(1);
if ($switch$i) {
$86 = ((($5)) + 4|0);
$87 = $86;
$88 = $87;
$89 = HEAP32[$88>>2]|0;
$90 = (($87) + 4)|0;
$91 = $90;
$92 = HEAP32[$91>>2]|0;
$93 = $86;
$94 = $93;
HEAP32[$94>>2] = 488447261;
$95 = (($93) + 4)|0;
$96 = $95;
HEAP32[$96>>2] = 488447261;
$97 = HEAP32[$68>>2]|0;
$cond$i43$i = ($97|0)==(1);
$98 = ((($1)) + 16|0);
if ($cond$i43$i) {
$99 = HEAP32[$98>>2]|0;
$cond$i$i$i44$i = ($99|0)==(1);
if ($cond$i$i$i44$i) {
$100 = ((($1)) + 20|0);
$101 = HEAP32[$100>>2]|0;
$102 = ($101|0)==((488447261)|0);
if (!($102)) {
$103 = ((($101)) + 4|0);
$104 = HEAP32[$103>>2]|0;
$105 = ($104|0)==((488447261)|0);
if (!($105)) {
$106 = ((($101)) + 8|0);
$107 = HEAP32[$106>>2]|0;
$108 = HEAP32[$107>>2]|0;
FUNCTION_TABLE_vi[$108 & 127]($104);
$109 = HEAP32[$106>>2]|0;
$110 = ((($109)) + 4|0);
$111 = HEAP32[$110>>2]|0;
$112 = ($111|0)==(0);
if (!($112)) {
_free($104);
}
}
_free($101);
}
}
}
HEAP32[$68>>2] = 1;
$113 = $98;
$114 = $113;
HEAP32[$114>>2] = $89;
$115 = (($113) + 4)|0;
$116 = $115;
HEAP32[$116>>2] = $92;
$117 = $86;
$118 = $117;
HEAP32[$118>>2] = 488447261;
$119 = (($117) + 4)|0;
$120 = $119;
HEAP32[$120>>2] = 488447261;
}
$sret_slot$1$i = 0;
STACKTOP = sp;return ($sret_slot$1$i|0);
}
}
} while(0);
$sret_slot$1$i = $sret_slot$0$i;
STACKTOP = sp;return ($sret_slot$1$i|0);
}
function __ZN10sys_common9backtrace6output20h2200d349d62ac2bfCusE($0,$1,$2,$3,$4,$s) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$s = $s|0;
var $$$i$i$i$i = 0, $$$i$i$i$i1 = 0, $$$i$i$i$i9 = 0, $$$i$i$i554$i = 0, $$2649$i = 0, $$arith = 0, $$arith2 = 0, $$cast$i$i$i$i$i$i$i = 0, $$lcssa808 = 0, $$lobit$i$i$i$i$i = 0, $$lobit$i$i$i$i1005$i = 0, $$lobit$i$i$i$i1067$i = 0, $$lobit$i$i$i$i1129$i = 0, $$lobit$i$i$i$i1191$i = 0, $$lobit$i$i$i$i1253$i = 0, $$lobit$i$i$i$i1310$i = 0, $$lobit$i$i$i$i1398$i = 0, $$lobit$i$i$i$i1453$i = 0, $$lobit$i$i$i$i1536$i = 0, $$lobit$i$i$i$i540$i = 0;
var $$lobit$i$i$i$i545$i = 0, $$lobit$i$i$i$i551$i = 0, $$lobit$i$i$i$i749$i = 0, $$lobit$i$i$i$i757$i = 0, $$lobit$i$i$i$i819$i = 0, $$lobit$i$i$i$i881$i = 0, $$lobit$i$i$i$i943$i = 0, $$lobit$i$i1024$i = 0, $$lobit$i$i1086$i = 0, $$lobit$i$i1148$i = 0, $$lobit$i$i1210$i = 0, $$lobit$i$i1272$i = 0, $$lobit$i$i1299$i = 0, $$lobit$i$i1320$i = 0, $$lobit$i$i1363$i = 0, $$lobit$i$i1417$i = 0, $$lobit$i$i1555$i = 0, $$lobit$i$i596$i = 0, $$lobit$i$i696$i = 0, $$lobit$i$i707$i = 0;
var $$lobit$i$i738$i = 0, $$lobit$i$i776$i = 0, $$lobit$i$i838$i = 0, $$lobit$i$i900$i = 0, $$lobit$i$i962$i = 0, $$lobit$not$i$i$i$i$i = 0, $$lobit$not$i$i$i$i1006$i = 0, $$lobit$not$i$i$i$i1068$i = 0, $$lobit$not$i$i$i$i1130$i = 0, $$lobit$not$i$i$i$i1192$i = 0, $$lobit$not$i$i$i$i1254$i = 0, $$lobit$not$i$i$i$i1311$i = 0, $$lobit$not$i$i$i$i1399$i = 0, $$lobit$not$i$i$i$i1454$i = 0, $$lobit$not$i$i$i$i1537$i = 0, $$lobit$not$i$i$i$i541$i = 0, $$lobit$not$i$i$i$i546$i = 0, $$lobit$not$i$i$i$i552$i = 0, $$lobit$not$i$i$i$i750$i = 0, $$lobit$not$i$i$i$i758$i = 0;
var $$lobit$not$i$i$i$i820$i = 0, $$lobit$not$i$i$i$i882$i = 0, $$lobit$not$i$i$i$i944$i = 0, $$lobit$not$i$i1025$i = 0, $$lobit$not$i$i1087$i = 0, $$lobit$not$i$i1149$i = 0, $$lobit$not$i$i1211$i = 0, $$lobit$not$i$i1273$i = 0, $$lobit$not$i$i1300$i = 0, $$lobit$not$i$i1321$i = 0, $$lobit$not$i$i1364$i = 0, $$lobit$not$i$i1418$i = 0, $$lobit$not$i$i1556$i = 0, $$lobit$not$i$i597$i = 0, $$lobit$not$i$i697$i = 0, $$lobit$not$i$i708$i = 0, $$lobit$not$i$i739$i = 0, $$lobit$not$i$i777$i = 0, $$lobit$not$i$i839$i = 0, $$lobit$not$i$i901$i = 0;
var $$lobit$not$i$i963$i = 0, $$off$i$i = 0, $$off$i124$i$i = 0, $$off$i728$i = 0, $$overflow = 0, $$overflow3 = 0, $$phi$trans$insert$i = 0, $$phi$trans$insert2310$i = 0, $$phi$trans$insert2312$i = 0, $$phi$trans$insert2314$i = 0, $$phi$trans$insert2316$i = 0, $$phi$trans$insert2318$i = 0, $$phi$trans$insert2320$i = 0, $$phi$trans$insert2322$i = 0, $$phi$trans$insert2324$i = 0, $$phi$trans$insert2326$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i1020$i = 0, $$pre$i1082$i = 0;
var $$pre$i1144$i = 0, $$pre$i1206$i = 0, $$pre$i1268$i = 0, $$pre$i1295$i = 0, $$pre$i1316$i = 0, $$pre$i1413$i = 0, $$pre$i1551$i = 0, $$pre$i703$i = 0, $$pre$i734$i = 0, $$pre$i772$i = 0, $$pre$i834$i = 0, $$pre$i896$i = 0, $$pre$i958$i = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i1214$iZ2D = 0, $$pre$phi$i7111641$iZ2D = 0, $$pre2311$i = 0, $$pre2313$i = 0, $$pre2315$i = 0, $$pre2317$i = 0;
var $$pre2319$i = 0, $$pre2321$i = 0, $$pre2323$i = 0, $$pre2325$i = 0, $$pre2327$i = 0, $$sroa$0$sroa$10$sroa$0$0 = 0, $$sroa$0$sroa$10$sroa$0$1 = 0, $$sroa$0$sroa$10$sroa$0$1$ph = 0, $$sroa$0154$0175$i$i = 0, $$sroa$10$0157$i$i = 0, $$sroa$1016$0 = 0, $$sroa$26$sroa$0$0$ph = 0, $$sroa$26$sroa$31$0$ph = 0, $$sroa$4$04$i$i$i = 0, $$sroa$54$0$ph$i$i$i$i$i$i$i = 0, $$sroa$6$0$i$i$i = 0, $$sroa$6$0$ph$i = 0, $$sroa$6113$0156$i$i = 0, $10 = 0, $100 = 0;
var $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0;
var $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0;
var $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0;
var $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0;
var $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0;
var $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0;
var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0;
var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0;
var $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0;
var $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0;
var $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0;
var $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0;
var $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0;
var $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0;
var $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0;
var $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0;
var $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0;
var $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0;
var $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0;
var $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0;
var $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0;
var $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0;
var $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0;
var $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0;
var $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0;
var $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0;
var $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0;
var $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0;
var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
var $98 = 0, $99 = 0, $accum$0$lcssa$i$i$i = 0, $accum$05$i$i$i = 0, $addr = 0, $addr_of = 0, $cond$i$i = 0, $extract$t4$i$i$i$i$i = 0, $extract$t4$i$i$i$i1007$i = 0, $extract$t4$i$i$i$i1069$i = 0, $extract$t4$i$i$i$i1131$i = 0, $extract$t4$i$i$i$i1193$i = 0, $extract$t4$i$i$i$i1255$i = 0, $extract$t4$i$i$i$i1312$i = 0, $extract$t4$i$i$i$i1400$i = 0, $extract$t4$i$i$i$i1455$i = 0, $extract$t4$i$i$i$i1538$i = 0, $extract$t4$i$i$i$i547$i = 0, $extract$t4$i$i$i$i751$i = 0, $extract$t4$i$i$i$i759$i = 0;
var $extract$t4$i$i$i$i821$i = 0, $extract$t4$i$i$i$i883$i = 0, $extract$t4$i$i$i$i945$i = 0, $extract$t4$i$i1026$i = 0, $extract$t4$i$i1088$i = 0, $extract$t4$i$i1150$i = 0, $extract$t4$i$i1212$i = 0, $extract$t4$i$i1274$i = 0, $extract$t4$i$i1301$i = 0, $extract$t4$i$i1322$i = 0, $extract$t4$i$i1365$i = 0, $extract$t4$i$i1419$i = 0, $extract$t4$i$i1557$i = 0, $extract$t4$i$i598$i = 0, $extract$t4$i$i698$i = 0, $extract$t4$i$i709$i = 0, $extract$t4$i$i740$i = 0, $extract$t4$i$i778$i = 0, $extract$t4$i$i840$i = 0, $extract$t4$i$i902$i = 0;
var $extract$t4$i$i964$i = 0, $first$0$off02020$i = 0, $i$0$lcssa$i = 0, $i$02023$i = 0, $idx = 0, $idx$0$i = 0, $inner$sroa$0$0$ph$i = 0, $inner$sroa$0$12021$i = 0, $inner$sroa$13$0$ph$i = 0, $inner$sroa$13$0$ph$in$i = 0, $inner$sroa$13$12022$i = 0, $not$$i$i$i$i$i$i = 0, $not$$i$i$i$i1251$i = 0, $not$$i$i$i$i755$i = 0, $not$$i$i1208$i = 0, $not$$i$i1361$i = 0, $not$$i$i594$i = 0, $not$$i$i694$i = 0, $not$$i$i705$i = 0, $not$extract$t4$i$i$i$i$i = 0;
var $not$extract$t4$i$i$i$i553$i = 0, $or$cond$i$i$i = 0, $or$cond9$i$i$i = 0, $phitmp$i$i$i$i = 0, $phitmp$i$i$i$i$i$i$i$i$i = 0, $phitmp29$i$i$i$i = 0, $phitmp29$i$i$i$i$i$i$i$i$i = 0, $phitmp30$i$i$i$i = 0, $phitmp30$i$i$i$i$i$i$i$i$i = 0, $rest$sroa$0$02018$i = 0, $rest$sroa$0$1$i = 0, $rest$sroa$59$02019$i = 0, $rest$sroa$59$1$i = 0, $result$0174$i$i = 0, $rhsc$i = 0, $s$sroa$0$0$ph$i$i$i = 0, $s$sroa$0$0$ph$i$i$i2 = 0, $s$sroa$7$0$i$i$i = 0, $s$sroa$7$0$i$i$i5 = 0, $s$sroa$7$0$ph$i$i$i = 0;
var $s$sroa$7$0$ph$i$i$i3 = 0, $sret_slot$0$i$i$i$i = 0, $sret_slot$0$i$i$i$i$i = 0, $sret_slot$0$i$i$i$i$i$i$i$i$i$i = 0, $sret_slot$0$i$i$i$i10 = 0, $sret_slot$0$i13$i$i$i$i = 0, $sret_slot$0$i13$i$i$i$i$i$i$i$i$i = 0, $sret_slot$0$i20$i$i$i$i = 0, $sret_slot$0$i20$i$i$i$i$i$i$i$i$i = 0, $switch$i$i$i = 0, $switch394$i = 0, $switch395$i = 0, $switch396$i = 0, $switch397$i = 0, $switch398$i = 0, $switch399$i = 0, $switch400$i = 0, $switch401$i = 0, $switch402$i = 0, $switch403$i = 0;
var $switch404$i = 0, $switch405$i = 0, $switch406$i = 0, $switch407$i = 0, $switch408$i = 0, $switch409$i = 0, $switch411$i = 0, $switch62 = 0, $switch63tmp = 0, $switch64 = 0, $switchtmp$i = 0, $val$0$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 400|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$addr_of = sp + 392|0;
$5 = sp + 376|0;
$6 = sp + 360|0;
$7 = sp + 344|0;
$8 = sp + 328|0;
$9 = sp + 312|0;
$10 = sp + 296|0;
$11 = sp + 280|0;
$12 = sp + 264|0;
$13 = sp + 248|0;
$14 = sp + 232|0;
$15 = sp + 216|0;
$16 = sp + 200|0;
$17 = sp + 184|0;
$18 = sp + 168|0;
$19 = sp + 152|0;
$20 = sp + 136|0;
$21 = sp + 120|0;
$22 = sp + 104|0;
$idx = sp + 396|0;
$addr = sp + 392|0;
$23 = sp + 88|0;
$24 = sp + 64|0;
$25 = sp + 40|0;
$26 = sp + 24|0;
$27 = sp;
HEAP32[$idx>>2] = $3;
HEAP32[$addr>>2] = $4;
$28 = ((($2)) + 24|0);
$29 = HEAP32[$28>>2]|0;
$30 = ((($25)) + 4|0);
HEAP32[$30>>2] = 92;
HEAP32[$25>>2] = $idx;
$31 = ((($25)) + 8|0);
$32 = ((($25)) + 12|0);
HEAP32[$32>>2] = 93;
HEAP32[$31>>2] = $addr;
$33 = ((($25)) + 16|0);
$34 = ((($25)) + 20|0);
HEAP32[$34>>2] = 94;
HEAP32[$33>>2] = 648;
HEAP32[$24>>2] = 652;
$35 = ((($24)) + 4|0);
HEAP32[$35>>2] = 3;
$36 = ((($24)) + 8|0);
HEAP32[$36>>2] = 676;
$37 = ((($24)) + 12|0);
HEAP32[$37>>2] = 2;
$38 = ((($24)) + 16|0);
HEAP32[$38>>2] = $25;
$39 = ((($24)) + 20|0);
HEAP32[$39>>2] = 3;
FUNCTION_TABLE_viii[$29 & 127]($23,$1,$24);
$40 = HEAP32[$23>>2]|0;
$switch62 = ($40|0)==(1);
if ($switch62) {
$50 = ((($23)) + 4|0);
$51 = ((($0)) + 4|0);
$52 = $50;
$53 = $52;
$54 = HEAP32[$53>>2]|0;
$55 = (($52) + 4)|0;
$56 = $55;
$57 = HEAP32[$56>>2]|0;
$58 = $51;
$59 = $58;
HEAP32[$59>>2] = $54;
$60 = (($58) + 4)|0;
$61 = $60;
HEAP32[$61>>2] = $57;
HEAP32[$0>>2] = 1;
STACKTOP = sp;return;
}
$41 = HEAP32[$s>>2]|0;
$switchtmp$i = ($41|0)==(0|0);
L5: do {
if ($switchtmp$i) {
label = 267;
} else {
$42 = ((($s)) + 4|0);
$43 = HEAP32[$42>>2]|0;
__ZN3str9from_utf820h89a4a927a5863b3a3sSE($22,$41,$43);
$44 = HEAP32[$22>>2]|0;
$switch$i$i$i = ($44|0)==(1);
$45 = ((($22)) + 4|0);
$46 = HEAP32[$45>>2]|0;
$47 = ((($22)) + 8|0);
$48 = HEAP32[$47>>2]|0;
if ($switch$i$i$i) {
label = 267;
} else {
$49 = $46;
$switch63tmp = ($46|0)==(0);
if ($switch63tmp) {
label = 267;
} else {
$62 = ($48>>>0)>(4);
if ($62) {
$65 = ((($49)) + 3|0);
$66 = HEAP8[$65>>0]|0;
$67 = ($66&255)>(191);
$$lobit$i$i$i$i$i = ($66&255) >>> 7;
$$lobit$not$i$i$i$i$i = $$lobit$i$i$i$i$i ^ 1;
$68 = $67&1;
$69 = $$lobit$not$i$i$i$i$i | $68;
$extract$t4$i$i$i$i$i = ($69<<24>>24)==(0);
if ($extract$t4$i$i$i$i$i) {
label = 13;
} else {
$63 = (_memcmp(2876,$49,3)|0);
$64 = ($63|0)==(0);
if ($64) {
$70 = (($48) + -1)|0;
$71 = (($49) + ($70)|0);
$72 = HEAP8[$71>>0]|0;
$73 = ($72&255)>(191);
$$lobit$i$i$i$i540$i = ($72&255) >>> 7;
$$lobit$not$i$i$i$i541$i = $$lobit$i$i$i$i540$i ^ 1;
$74 = $73&1;
$75 = $$lobit$not$i$i$i$i541$i | $74;
$76 = ($72<<24>>24)==(69);
$not$extract$t4$i$i$i$i$i = ($75<<24>>24)!=(0);
$$$i$i$i$i = $76 & $not$extract$t4$i$i$i$i$i;
if ($$$i$i$i$i) {
$inner$sroa$0$0$ph$i = $65;$inner$sroa$13$0$ph$in$i = $70;
label = 15;
} else {
label = 13;
}
} else {
label = 13;
}
}
} else {
$77 = ($48>>>0)>(3);
if ($77) {
label = 13;
} else {
label = 50;
}
}
if ((label|0) == 13) {
$80 = ((($49)) + 2|0);
$81 = HEAP8[$80>>0]|0;
$82 = ($81&255)>(191);
$$lobit$i$i$i$i545$i = ($81&255) >>> 7;
$$lobit$not$i$i$i$i546$i = $$lobit$i$i$i$i545$i ^ 1;
$83 = $82&1;
$84 = $$lobit$not$i$i$i$i546$i | $83;
$extract$t4$i$i$i$i547$i = ($84<<24>>24)==(0);
if ($extract$t4$i$i$i$i547$i) {
label = 50;
} else {
$78 = (_memcmp(2879,$49,2)|0);
$79 = ($78|0)==(0);
if ($79) {
$85 = (($48) + -1)|0;
$86 = (($49) + ($85)|0);
$87 = HEAP8[$86>>0]|0;
$88 = ($87&255)>(191);
$$lobit$i$i$i$i551$i = ($87&255) >>> 7;
$$lobit$not$i$i$i$i552$i = $$lobit$i$i$i$i551$i ^ 1;
$89 = $88&1;
$90 = $$lobit$not$i$i$i$i552$i | $89;
$91 = ($87<<24>>24)==(69);
$not$extract$t4$i$i$i$i553$i = ($90<<24>>24)!=(0);
$$$i$i$i554$i = $91 & $not$extract$t4$i$i$i$i553$i;
if ($$$i$i$i554$i) {
$inner$sroa$0$0$ph$i = $80;$inner$sroa$13$0$ph$in$i = $48;
label = 15;
} else {
label = 50;
}
} else {
label = 50;
}
}
}
L18: do {
if ((label|0) == 15) {
$inner$sroa$13$0$ph$i = (($inner$sroa$13$0$ph$in$i) + -3)|0;
$92 = (($inner$sroa$0$0$ph$i) + ($inner$sroa$13$0$ph$i)|0);
$93 = $inner$sroa$0$0$ph$i;
L20: while(1) {
$94 = ($93|0)==($92|0);
if ($94) {
break;
} else {
$96 = $93;$i$02023$i = 0;
}
L22: while(1) {
$95 = ((($96)) + 1|0);
$97 = HEAP8[$96>>0]|0;
$98 = ($97<<24>>24)<(0);
if ($98) {
$100 = $97 & 31;
$101 = $100&255;
$102 = ($95|0)==($92|0);
if ($102) {
$109 = $92;$sret_slot$0$i20$i$i$i$i = 0;
} else {
$103 = ((($96)) + 2|0);
$104 = HEAP8[$95>>0]|0;
$phitmp$i$i$i$i = $104 & 63;
$109 = $103;$sret_slot$0$i20$i$i$i$i = $phitmp$i$i$i$i;
}
$105 = $101 << 6;
$106 = $sret_slot$0$i20$i$i$i$i&255;
$107 = $106 | $105;
$108 = ($97&255)>(223);
if ($108) {
$110 = ($109|0)==($92|0);
if ($110) {
$119 = $92;$sret_slot$0$i13$i$i$i$i = 0;
} else {
$111 = ((($109)) + 1|0);
$112 = HEAP8[$109>>0]|0;
$phitmp29$i$i$i$i = $112 & 63;
$119 = $111;$sret_slot$0$i13$i$i$i$i = $phitmp29$i$i$i$i;
}
$113 = $106 << 6;
$114 = $sret_slot$0$i13$i$i$i$i&255;
$115 = $114 | $113;
$116 = $101 << 12;
$117 = $115 | $116;
$118 = ($97&255)>(239);
if ($118) {
$120 = ($119|0)==($92|0);
if ($120) {
$597 = $92;$sret_slot$0$i$i$i$i$i = 0;
} else {
$121 = ((($119)) + 1|0);
$122 = HEAP8[$119>>0]|0;
$phitmp30$i$i$i$i = $122 & 63;
$597 = $121;$sret_slot$0$i$i$i$i$i = $phitmp30$i$i$i$i;
}
$123 = $101 << 18;
$124 = $123 & 1835008;
$125 = $115 << 6;
$126 = $sret_slot$0$i$i$i$i$i&255;
$127 = $125 | $124;
$128 = $127 | $126;
$$sroa$6$0$ph$i = $128;$146 = $597;
} else {
$$sroa$6$0$ph$i = $117;$146 = $119;
}
} else {
$$sroa$6$0$ph$i = $107;$146 = $109;
}
} else {
$99 = $97&255;
$$sroa$6$0$ph$i = $99;$146 = $95;
}
$$off$i$i = (($$sroa$6$0$ph$i) + -48)|0;
$129 = ($$off$i$i>>>0)<(10);
L39: do {
if (!($129)) {
$130 = ($$sroa$6$0$ph$i>>>0)<(128);
if ($130) {
$$lcssa808 = $146;$i$0$lcssa$i = $i$02023$i;
break L22;
} else {
$s$sroa$0$0$ph$i$i$i = 920;$s$sroa$7$0$ph$i$i$i = 63;
}
while(1) {
$s$sroa$7$0$i$i$i = $s$sroa$7$0$ph$i$i$i;
L43: while(1) {
$131 = $s$sroa$7$0$i$i$i >>> 1;
$132 = ($s$sroa$7$0$i$i$i>>>0)<($131>>>0);
if ($132) {
label = 32;
break L20;
}
$133 = (($s$sroa$0$0$ph$i$i$i) + ($131<<3)|0);
$134 = ($s$sroa$7$0$i$i$i|0)==($131|0);
if ($134) {
$$lcssa808 = $146;$i$0$lcssa$i = $i$02023$i;
break L22;
}
$135 = HEAP32[$133>>2]|0;
$136 = ($135>>>0)>($$sroa$6$0$ph$i>>>0);
$137 = (((($s$sroa$0$0$ph$i$i$i) + ($131<<3)|0)) + 4|0);
$138 = HEAP32[$137>>2]|0;
$139 = ($138>>>0)<($$sroa$6$0$ph$i>>>0);
$$$i$i$i$i1 = $139 << 31 >> 31;
$sret_slot$0$i$i$i$i = $136 ? 1 : $$$i$i$i$i1;
switch ($sret_slot$0$i$i$i$i<<24>>24) {
case 0: {
break L39;
break;
}
case 1: {
$s$sroa$7$0$i$i$i = $131;
break;
}
case -1: {
break L43;
break;
}
default: {
label = 35;
break L20;
}
}
}
$140 = ((($133)) + 8|0);
$141 = (($s$sroa$7$0$i$i$i) + -1)|0;
$142 = (($141) - ($131))|0;
$s$sroa$0$0$ph$i$i$i = $140;$s$sroa$7$0$ph$i$i$i = $142;
}
}
} while(0);
$143 = ($i$02023$i*10)|0;
$144 = (($143) + -48)|0;
$145 = (($144) + ($$sroa$6$0$ph$i))|0;
$147 = ($146|0)==($92|0);
if ($147) {
$$lcssa808 = $92;$i$0$lcssa$i = $145;
break;
} else {
$96 = $146;$i$02023$i = $145;
}
}
$148 = ($i$0$lcssa$i|0)==(0);
if ($148) {
$149 = $$lcssa808;
label = 39;
break;
}
$151 = (($i$0$lcssa$i) + -1)|0;
$152 = ($151|0)==(0);
L51: do {
if ($152) {
$598 = $$lcssa808;$accum$0$lcssa$i$i$i = 0;
} else {
$$sroa$4$04$i$i$i = $151;$154 = $$lcssa808;$accum$05$i$i$i = 0;
while(1) {
$153 = (($$sroa$4$04$i$i$i) + -1)|0;
$155 = ($154|0)==($92|0);
if ($155) {
$598 = $92;$accum$0$lcssa$i$i$i = $accum$05$i$i$i;
break L51;
}
$156 = ((($154)) + 1|0);
$157 = HEAP8[$154>>0]|0;
$158 = ($157<<24>>24)<(0);
if ($158) {
$159 = ($156|0)==($92|0);
if ($159) {
$599 = $92;
} else {
$160 = ((($154)) + 2|0);
$161 = ($157&255)<(224);
$162 = ($160|0)==($92|0);
$or$cond9$i$i$i = $162 | $161;
if ($or$cond9$i$i$i) {
$599 = $160;
} else {
$163 = ((($154)) + 3|0);
$164 = ($157&255)<(240);
$165 = ($163|0)==($92|0);
$or$cond$i$i$i = $165 | $164;
$166 = ((($154)) + 4|0);
$$2649$i = $or$cond$i$i$i ? $163 : $166;
$599 = $$2649$i;
}
}
} else {
$599 = $156;
}
$167 = (($accum$05$i$i$i) + 1)|0;
$168 = ($153|0)==(0);
if ($168) {
$598 = $599;$accum$0$lcssa$i$i$i = $167;
break;
} else {
$$sroa$4$04$i$i$i = $153;$154 = $599;$accum$05$i$i$i = $167;
}
}
}
} while(0);
$169 = ($accum$0$lcssa$i$i$i|0)==($151|0);
if ($169) {
$93 = $598;
} else {
label = 50;
break L18;
}
}
if ((label|0) == 32) {
__ZN5slice20slice_index_len_fail20h9ec8212373ae0291u9PE($131,$s$sroa$7$0$i$i$i);
// unreachable;
}
else if ((label|0) == 35) {
// unreachable;
}
else if ((label|0) == 39) {
$150 = ($149|0)==($92|0);
if (!($150)) {
label = 50;
break;
}
}
$170 = ($inner$sroa$13$0$ph$i|0)==(0);
if ($170) {
break L5;
}
$171 = ((($2)) + 20|0);
$$sroa$0$sroa$10$sroa$0$0 = 0;$first$0$off02020$i = 1;$inner$sroa$0$12021$i = $inner$sroa$0$0$ph$i;$inner$sroa$13$12022$i = $inner$sroa$13$0$ph$i;
L67: while(1) {
if (!($first$0$off02020$i)) {
$179 = HEAP32[$171>>2]|0;
FUNCTION_TABLE_viiii[$179 & 127]($6,$1,2881,2);
$180 = HEAP32[$6>>2]|0;
$switch395$i = ($180|0)==(1);
if ($switch395$i) {
label = 58;
break;
}
}
$181 = ($inner$sroa$13$12022$i|0)==(0);
if ($181) {
label = 78;
break;
}
$$pre = HEAP8[$inner$sroa$0$12021$i>>0]|0;
$209 = $$pre;$rest$sroa$0$02018$i = $inner$sroa$0$12021$i;$rest$sroa$59$02019$i = $inner$sroa$13$12022$i;
L74: while(1) {
$210 = ($209<<24>>24)>(-1);
$211 = $209&255;
if ($210) {
$244 = $211;
} else {
$212 = (4617 + ($211)|0);
$213 = HEAP8[$212>>0]|0;
$214 = ($213<<24>>24)==(0);
if ($214) {
label = 80;
break L67;
}
$215 = ($rest$sroa$59$02019$i>>>0)>(1);
if (!($215)) {
label = 82;
break L67;
}
$216 = $213 & 7;
$217 = (127&255) >>> $216;
$218 = $217 & $209;
$219 = $218&255;
$220 = ((($rest$sroa$0$02018$i)) + 1|0);
$221 = HEAP8[$220>>0]|0;
$222 = $219 << 6;
$223 = $221 & 63;
$224 = $223&255;
$225 = $224 | $222;
$226 = (($211) + -224)|0;
$227 = ($226>>>0)<(21);
if ($227) {
$228 = ($rest$sroa$59$02019$i>>>0)>(2);
if (!($228)) {
label = 85;
break L67;
}
$229 = ((($rest$sroa$0$02018$i)) + 2|0);
$230 = HEAP8[$229>>0]|0;
$231 = $225 << 6;
$232 = $230 & 63;
$233 = $232&255;
$234 = $233 | $231;
$val$0$i = $234;
} else {
$val$0$i = $225;
}
$235 = (($211) + -240)|0;
$236 = ($235>>>0)<(5);
if ($236) {
$237 = ($rest$sroa$59$02019$i>>>0)>(3);
if (!($237)) {
label = 89;
break L67;
}
$238 = ((($rest$sroa$0$02018$i)) + 3|0);
$239 = HEAP8[$238>>0]|0;
$240 = $val$0$i << 6;
$241 = $239 & 63;
$242 = $241&255;
$243 = $242 | $240;
$244 = $243;
} else {
$244 = $val$0$i;
}
}
$$off$i728$i = (($244) + -48)|0;
$245 = ($$off$i728$i>>>0)<(10);
L87: do {
if (!($245)) {
$246 = ($244>>>0)<(128);
if ($246) {
break L74;
} else {
$s$sroa$0$0$ph$i$i$i2 = 920;$s$sroa$7$0$ph$i$i$i3 = 63;
}
while(1) {
$s$sroa$7$0$i$i$i5 = $s$sroa$7$0$ph$i$i$i3;
L91: while(1) {
$247 = $s$sroa$7$0$i$i$i5 >>> 1;
$248 = ($s$sroa$7$0$i$i$i5>>>0)<($247>>>0);
if ($248) {
label = 95;
break L67;
}
$249 = (($s$sroa$0$0$ph$i$i$i2) + ($247<<3)|0);
$250 = ($s$sroa$7$0$i$i$i5|0)==($247|0);
if ($250) {
break L74;
}
$251 = HEAP32[$249>>2]|0;
$252 = ($251>>>0)>($244>>>0);
$253 = (((($s$sroa$0$0$ph$i$i$i2) + ($247<<3)|0)) + 4|0);
$254 = HEAP32[$253>>2]|0;
$255 = ($254>>>0)<($244>>>0);
$$$i$i$i$i9 = $255 << 31 >> 31;
$sret_slot$0$i$i$i$i10 = $252 ? 1 : $$$i$i$i$i9;
switch ($sret_slot$0$i$i$i$i10<<24>>24) {
case 0: {
break L87;
break;
}
case 1: {
$s$sroa$7$0$i$i$i5 = $247;
break;
}
case -1: {
break L91;
break;
}
default: {
label = 98;
break L67;
}
}
}
$256 = ((($249)) + 8|0);
$257 = (($s$sroa$7$0$i$i$i5) + -1)|0;
$258 = (($257) - ($247))|0;
$s$sroa$0$0$ph$i$i$i2 = $256;$s$sroa$7$0$ph$i$i$i3 = $258;
}
}
} while(0);
$259 = ($rest$sroa$59$02019$i|0)==(1);
$$pre$i734$i = ((($rest$sroa$0$02018$i)) + 1|0);
if ($259) {
label = 78;
break L67;
}
$260 = HEAP8[$$pre$i734$i>>0]|0;
$261 = ($260&255)>(191);
$$lobit$i$i738$i = ($260&255) >>> 7;
$$lobit$not$i$i739$i = $$lobit$i$i738$i ^ 1;
$262 = $261&1;
$263 = $$lobit$not$i$i739$i | $262;
$extract$t4$i$i740$i = ($263<<24>>24)==(0);
if ($extract$t4$i$i740$i) {
label = 102;
break L67;
}
$264 = (($rest$sroa$59$02019$i) + -1)|0;
$265 = ($264|0)==(0);
if ($265) {
label = 78;
break L67;
} else {
$209 = $260;$rest$sroa$0$02018$i = $$pre$i734$i;$rest$sroa$59$02019$i = $264;
}
}
$186 = (($inner$sroa$13$12022$i) - ($rest$sroa$59$02019$i))|0;
$not$$i$i694$i = ($inner$sroa$13$12022$i>>>0)>($186>>>0);
if (!($not$$i$i694$i)) {
label = 61;
break;
}
$187 = (($inner$sroa$0$12021$i) + ($186)|0);
$188 = HEAP8[$187>>0]|0;
$189 = ($188&255)>(191);
$$lobit$i$i696$i = ($188&255) >>> 7;
$$lobit$not$i$i697$i = $$lobit$i$i696$i ^ 1;
$190 = $189&1;
$191 = $$lobit$not$i$i697$i | $190;
$extract$t4$i$i698$i = ($191<<24>>24)==(0);
if ($extract$t4$i$i698$i) {
label = 61;
break;
}
$192 = ($inner$sroa$13$12022$i|0)==($rest$sroa$59$02019$i|0);
if ($192) {
$$sroa$0$sroa$10$sroa$0$1$ph = 0;
label = 70;
break;
}
$cond$i$i = ($$pre<<24>>24)==(43);
if ($cond$i$i) {
$193 = ((($inner$sroa$0$12021$i)) + 1|0);
$194 = (($186) + -1)|0;
$195 = ($194|0)==(0);
if ($195) {
$$sroa$0$sroa$10$sroa$0$1$ph = 0;
label = 70;
break;
} else {
$$sroa$10$0157$i$i = $194;$$sroa$6113$0156$i$i = $193;
}
} else {
$$sroa$10$0157$i$i = $186;$$sroa$6113$0156$i$i = $inner$sroa$0$12021$i;
}
$196 = (($$sroa$6113$0156$i$i) + ($$sroa$10$0157$i$i)|0);
$$sroa$0154$0175$i$i = $$sroa$6113$0156$i$i;$result$0174$i$i = 0;
while(1) {
$197 = ((($$sroa$0154$0175$i$i)) + 1|0);
$198 = HEAP8[$$sroa$0154$0175$i$i>>0]|0;
$199 = $198&255;
$$off$i124$i$i = (($199) + -48)|0;
$200 = ($$off$i124$i$i>>>0)<(10);
if (!($200)) {
$$sroa$0$sroa$10$sroa$0$1$ph = 1;
label = 70;
break L67;
}
$$arith2 = ($result$0174$i$i*10)|0;
$$overflow3 = ($result$0174$i$i>>>0)>(429496729);
if ($$overflow3) {
$$sroa$0$sroa$10$sroa$0$1$ph = 2;
label = 70;
break L67;
}
$$arith = (($$arith2) + ($$off$i124$i$i))|0;
$$overflow = ($$arith>>>0)<($$arith2>>>0);
if ($$overflow) {
$$sroa$0$sroa$10$sroa$0$1$ph = 2;
label = 70;
break L67;
}
$201 = ($197|0)==($196|0);
if ($201) {
$$sroa$0$sroa$10$sroa$0$1 = $$sroa$0$sroa$10$sroa$0$0;$$sroa$1016$0 = $$arith;
break;
} else {
$$sroa$0154$0175$i$i = $197;$result$0174$i$i = $$arith;
}
}
$202 = ($rest$sroa$59$02019$i|0)==($$sroa$1016$0|0);
if ($202) {
$$pre$i703$i = (($rest$sroa$0$02018$i) + ($rest$sroa$59$02019$i)|0);
$$pre$phi$i7111641$iZ2D = $$pre$i703$i;
} else {
$not$$i$i705$i = ($rest$sroa$59$02019$i>>>0)>($$sroa$1016$0>>>0);
if (!($not$$i$i705$i)) {
label = 75;
break;
}
$203 = (($rest$sroa$0$02018$i) + ($$sroa$1016$0)|0);
$204 = HEAP8[$203>>0]|0;
$205 = ($204&255)>(191);
$$lobit$i$i707$i = ($204&255) >>> 7;
$$lobit$not$i$i708$i = $$lobit$i$i707$i ^ 1;
$206 = $205&1;
$207 = $$lobit$not$i$i708$i | $206;
$extract$t4$i$i709$i = ($207<<24>>24)==(0);
if ($extract$t4$i$i709$i) {
label = 75;
break;
} else {
$$pre$phi$i7111641$iZ2D = $203;
}
}
$208 = (($rest$sroa$59$02019$i) - ($$sroa$1016$0))|0;
$rest$sroa$0$1$i = $rest$sroa$0$02018$i;$rest$sroa$59$1$i = $$sroa$1016$0;
L117: while(1) {
switch ($rest$sroa$59$1$i|0) {
case 0: {
break L117;
break;
}
case 1: {
label = 106;
break;
}
default: {
$266 = ((($rest$sroa$0$1$i)) + 1|0);
$267 = HEAP8[$266>>0]|0;
$268 = ($267&255)>(191);
$$lobit$i$i$i$i749$i = ($267&255) >>> 7;
$$lobit$not$i$i$i$i750$i = $$lobit$i$i$i$i749$i ^ 1;
$269 = $268&1;
$270 = $$lobit$not$i$i$i$i750$i | $269;
$extract$t4$i$i$i$i751$i = ($270<<24>>24)==(0);
if (!($extract$t4$i$i$i$i751$i)) {
label = 106;
}
}
}
if ((label|0) == 106) {
label = 0;
$rhsc$i = HEAP8[$rest$sroa$0$1$i>>0]|0;
$271 = ($rhsc$i<<24>>24)==(36);
if ($271) {
$272 = ($rest$sroa$59$1$i|0)==(4);
do {
if ($272) {
label = 110;
} else {
$not$$i$i$i$i755$i = ($rest$sroa$59$1$i>>>0)>(4);
if ($not$$i$i$i$i755$i) {
$273 = ((($rest$sroa$0$1$i)) + 4|0);
$274 = HEAP8[$273>>0]|0;
$275 = ($274&255)>(191);
$$lobit$i$i$i$i757$i = ($274&255) >>> 7;
$$lobit$not$i$i$i$i758$i = $$lobit$i$i$i$i757$i ^ 1;
$276 = $275&1;
$277 = $$lobit$not$i$i$i$i758$i | $276;
$extract$t4$i$i$i$i759$i = ($277<<24>>24)==(0);
if ($extract$t4$i$i$i$i759$i) {
$291 = $274;
label = 119;
break;
} else {
label = 110;
break;
}
} else {
$393 = ($rest$sroa$59$1$i|0)==(3);
if ($393) {
$600 = 1;
label = 179;
break;
} else {
label = 238;
break L117;
}
}
}
} while(0);
do {
if ((label|0) == 110) {
label = 0;
$278 = (_memcmp(2905,$rest$sroa$0$1$i,4)|0);
$279 = ($278|0)==(0);
if (!($279)) {
if ($272) {
label = 120;
break;
}
$$phi$trans$insert$i = ((($rest$sroa$0$1$i)) + 4|0);
$$pre$i = HEAP8[$$phi$trans$insert$i>>0]|0;
$291 = $$pre$i;
label = 119;
break;
}
$280 = HEAP32[$171>>2]|0;
FUNCTION_TABLE_viiii[$280 & 127]($7,$1,2909,1);
$281 = HEAP32[$7>>2]|0;
$switch396$i = ($281|0)==(1);
if ($switch396$i) {
label = 116;
break L67;
}
$$pre$i772$i = ((($rest$sroa$0$1$i)) + 4|0);
if (!($272)) {
$282 = HEAP8[$$pre$i772$i>>0]|0;
$283 = ($282&255)>(191);
$$lobit$i$i776$i = ($282&255) >>> 7;
$$lobit$not$i$i777$i = $$lobit$i$i776$i ^ 1;
$284 = $283&1;
$285 = $$lobit$not$i$i777$i | $284;
$extract$t4$i$i778$i = ($285<<24>>24)==(0);
if ($extract$t4$i$i778$i) {
label = 114;
break L67;
}
}
$286 = (($rest$sroa$59$1$i) + -4)|0;
$rest$sroa$0$1$i = $$pre$i772$i;$rest$sroa$59$1$i = $286;
continue L117;
}
} while(0);
if ((label|0) == 119) {
label = 0;
$292 = ($291&255)>(191);
$$lobit$i$i$i$i819$i = ($291&255) >>> 7;
$$lobit$not$i$i$i$i820$i = $$lobit$i$i$i$i819$i ^ 1;
$293 = $292&1;
$294 = $$lobit$not$i$i$i$i820$i | $293;
$extract$t4$i$i$i$i821$i = ($294<<24>>24)==(0);
if ($extract$t4$i$i$i$i821$i) {
$308 = $291;
label = 129;
} else {
label = 120;
}
}
do {
if ((label|0) == 120) {
label = 0;
$295 = (_memcmp(2910,$rest$sroa$0$1$i,4)|0);
$296 = ($295|0)==(0);
if (!($296)) {
if ($272) {
label = 130;
break;
}
$$phi$trans$insert2310$i = ((($rest$sroa$0$1$i)) + 4|0);
$$pre2311$i = HEAP8[$$phi$trans$insert2310$i>>0]|0;
$308 = $$pre2311$i;
label = 129;
break;
}
$297 = HEAP32[$171>>2]|0;
FUNCTION_TABLE_viiii[$297 & 127]($8,$1,2914,1);
$298 = HEAP32[$8>>2]|0;
$switch397$i = ($298|0)==(1);
if ($switch397$i) {
label = 126;
break L67;
}
$$pre$i834$i = ((($rest$sroa$0$1$i)) + 4|0);
if (!($272)) {
$299 = HEAP8[$$pre$i834$i>>0]|0;
$300 = ($299&255)>(191);
$$lobit$i$i838$i = ($299&255) >>> 7;
$$lobit$not$i$i839$i = $$lobit$i$i838$i ^ 1;
$301 = $300&1;
$302 = $$lobit$not$i$i839$i | $301;
$extract$t4$i$i840$i = ($302<<24>>24)==(0);
if ($extract$t4$i$i840$i) {
label = 124;
break L67;
}
}
$303 = (($rest$sroa$59$1$i) + -4)|0;
$rest$sroa$0$1$i = $$pre$i834$i;$rest$sroa$59$1$i = $303;
continue L117;
}
} while(0);
if ((label|0) == 129) {
label = 0;
$309 = ($308&255)>(191);
$$lobit$i$i$i$i881$i = ($308&255) >>> 7;
$$lobit$not$i$i$i$i882$i = $$lobit$i$i$i$i881$i ^ 1;
$310 = $309&1;
$311 = $$lobit$not$i$i$i$i882$i | $310;
$extract$t4$i$i$i$i883$i = ($311<<24>>24)==(0);
if ($extract$t4$i$i$i$i883$i) {
$325 = $308;
label = 139;
} else {
label = 130;
}
}
do {
if ((label|0) == 130) {
label = 0;
$312 = (_memcmp(2915,$rest$sroa$0$1$i,4)|0);
$313 = ($312|0)==(0);
if (!($313)) {
if ($272) {
label = 140;
break;
}
$$phi$trans$insert2312$i = ((($rest$sroa$0$1$i)) + 4|0);
$$pre2313$i = HEAP8[$$phi$trans$insert2312$i>>0]|0;
$325 = $$pre2313$i;
label = 139;
break;
}
$314 = HEAP32[$171>>2]|0;
FUNCTION_TABLE_viiii[$314 & 127]($9,$1,2919,1);
$315 = HEAP32[$9>>2]|0;
$switch398$i = ($315|0)==(1);
if ($switch398$i) {
label = 136;
break L67;
}
$$pre$i896$i = ((($rest$sroa$0$1$i)) + 4|0);
if (!($272)) {
$316 = HEAP8[$$pre$i896$i>>0]|0;
$317 = ($316&255)>(191);
$$lobit$i$i900$i = ($316&255) >>> 7;
$$lobit$not$i$i901$i = $$lobit$i$i900$i ^ 1;
$318 = $317&1;
$319 = $$lobit$not$i$i901$i | $318;
$extract$t4$i$i902$i = ($319<<24>>24)==(0);
if ($extract$t4$i$i902$i) {
label = 134;
break L67;
}
}
$320 = (($rest$sroa$59$1$i) + -4)|0;
$rest$sroa$0$1$i = $$pre$i896$i;$rest$sroa$59$1$i = $320;
continue L117;
}
} while(0);
if ((label|0) == 139) {
label = 0;
$326 = ($325&255)>(191);
$$lobit$i$i$i$i943$i = ($325&255) >>> 7;
$$lobit$not$i$i$i$i944$i = $$lobit$i$i$i$i943$i ^ 1;
$327 = $326&1;
$328 = $$lobit$not$i$i$i$i944$i | $327;
$extract$t4$i$i$i$i945$i = ($328<<24>>24)==(0);
if ($extract$t4$i$i$i$i945$i) {
$342 = $325;
label = 149;
} else {
label = 140;
}
}
do {
if ((label|0) == 140) {
label = 0;
$329 = (_memcmp(2920,$rest$sroa$0$1$i,4)|0);
$330 = ($329|0)==(0);
if (!($330)) {
if ($272) {
label = 150;
break;
}
$$phi$trans$insert2314$i = ((($rest$sroa$0$1$i)) + 4|0);
$$pre2315$i = HEAP8[$$phi$trans$insert2314$i>>0]|0;
$342 = $$pre2315$i;
label = 149;
break;
}
$331 = HEAP32[$171>>2]|0;
FUNCTION_TABLE_viiii[$331 & 127]($10,$1,2924,1);
$332 = HEAP32[$10>>2]|0;
$switch399$i = ($332|0)==(1);
if ($switch399$i) {
label = 146;
break L67;
}
$$pre$i958$i = ((($rest$sroa$0$1$i)) + 4|0);
if (!($272)) {
$333 = HEAP8[$$pre$i958$i>>0]|0;
$334 = ($333&255)>(191);
$$lobit$i$i962$i = ($333&255) >>> 7;
$$lobit$not$i$i963$i = $$lobit$i$i962$i ^ 1;
$335 = $334&1;
$336 = $$lobit$not$i$i963$i | $335;
$extract$t4$i$i964$i = ($336<<24>>24)==(0);
if ($extract$t4$i$i964$i) {
label = 144;
break L67;
}
}
$337 = (($rest$sroa$59$1$i) + -4)|0;
$rest$sroa$0$1$i = $$pre$i958$i;$rest$sroa$59$1$i = $337;
continue L117;
}
} while(0);
if ((label|0) == 149) {
label = 0;
$343 = ($342&255)>(191);
$$lobit$i$i$i$i1005$i = ($342&255) >>> 7;
$$lobit$not$i$i$i$i1006$i = $$lobit$i$i$i$i1005$i ^ 1;
$344 = $343&1;
$345 = $$lobit$not$i$i$i$i1006$i | $344;
$extract$t4$i$i$i$i1007$i = ($345<<24>>24)==(0);
if ($extract$t4$i$i$i$i1007$i) {
$359 = $342;
label = 159;
} else {
label = 150;
}
}
do {
if ((label|0) == 150) {
label = 0;
$346 = (_memcmp(2925,$rest$sroa$0$1$i,4)|0);
$347 = ($346|0)==(0);
if (!($347)) {
if ($272) {
label = 160;
break;
}
$$phi$trans$insert2316$i = ((($rest$sroa$0$1$i)) + 4|0);
$$pre2317$i = HEAP8[$$phi$trans$insert2316$i>>0]|0;
$359 = $$pre2317$i;
label = 159;
break;
}
$348 = HEAP32[$171>>2]|0;
FUNCTION_TABLE_viiii[$348 & 127]($11,$1,2929,1);
$349 = HEAP32[$11>>2]|0;
$switch400$i = ($349|0)==(1);
if ($switch400$i) {
label = 156;
break L67;
}
$$pre$i1020$i = ((($rest$sroa$0$1$i)) + 4|0);
if (!($272)) {
$350 = HEAP8[$$pre$i1020$i>>0]|0;
$351 = ($350&255)>(191);
$$lobit$i$i1024$i = ($350&255) >>> 7;
$$lobit$not$i$i1025$i = $$lobit$i$i1024$i ^ 1;
$352 = $351&1;
$353 = $$lobit$not$i$i1025$i | $352;
$extract$t4$i$i1026$i = ($353<<24>>24)==(0);
if ($extract$t4$i$i1026$i) {
label = 154;
break L67;
}
}
$354 = (($rest$sroa$59$1$i) + -4)|0;
$rest$sroa$0$1$i = $$pre$i1020$i;$rest$sroa$59$1$i = $354;
continue L117;
}
} while(0);
if ((label|0) == 159) {
label = 0;
$360 = ($359&255)>(191);
$$lobit$i$i$i$i1067$i = ($359&255) >>> 7;
$$lobit$not$i$i$i$i1068$i = $$lobit$i$i$i$i1067$i ^ 1;
$361 = $360&1;
$362 = $$lobit$not$i$i$i$i1068$i | $361;
$extract$t4$i$i$i$i1069$i = ($362<<24>>24)==(0);
if ($extract$t4$i$i$i$i1069$i) {
$376 = $359;
label = 169;
} else {
label = 160;
}
}
do {
if ((label|0) == 160) {
label = 0;
$363 = (_memcmp(2930,$rest$sroa$0$1$i,4)|0);
$364 = ($363|0)==(0);
if (!($364)) {
if ($272) {
label = 170;
break;
}
$$phi$trans$insert2318$i = ((($rest$sroa$0$1$i)) + 4|0);
$$pre2319$i = HEAP8[$$phi$trans$insert2318$i>>0]|0;
$376 = $$pre2319$i;
label = 169;
break;
}
$365 = HEAP32[$171>>2]|0;
FUNCTION_TABLE_viiii[$365 & 127]($12,$1,2934,1);
$366 = HEAP32[$12>>2]|0;
$switch401$i = ($366|0)==(1);
if ($switch401$i) {
label = 166;
break L67;
}
$$pre$i1082$i = ((($rest$sroa$0$1$i)) + 4|0);
if (!($272)) {
$367 = HEAP8[$$pre$i1082$i>>0]|0;
$368 = ($367&255)>(191);
$$lobit$i$i1086$i = ($367&255) >>> 7;
$$lobit$not$i$i1087$i = $$lobit$i$i1086$i ^ 1;
$369 = $368&1;
$370 = $$lobit$not$i$i1087$i | $369;
$extract$t4$i$i1088$i = ($370<<24>>24)==(0);
if ($extract$t4$i$i1088$i) {
label = 164;
break L67;
}
}
$371 = (($rest$sroa$59$1$i) + -4)|0;
$rest$sroa$0$1$i = $$pre$i1082$i;$rest$sroa$59$1$i = $371;
continue L117;
}
} while(0);
if ((label|0) == 169) {
label = 0;
$377 = ($376&255)>(191);
$$lobit$i$i$i$i1129$i = ($376&255) >>> 7;
$$lobit$not$i$i$i$i1130$i = $$lobit$i$i$i$i1129$i ^ 1;
$378 = $377&1;
$379 = $$lobit$not$i$i$i$i1130$i | $378;
$extract$t4$i$i$i$i1131$i = ($379<<24>>24)==(0);
if ($extract$t4$i$i$i$i1131$i) {
label = 178;
} else {
label = 170;
}
}
do {
if ((label|0) == 170) {
label = 0;
$380 = (_memcmp(2935,$rest$sroa$0$1$i,4)|0);
$381 = ($380|0)==(0);
if (!($381)) {
label = 178;
break;
}
$382 = HEAP32[$171>>2]|0;
FUNCTION_TABLE_viiii[$382 & 127]($13,$1,2728,1);
$383 = HEAP32[$13>>2]|0;
$switch402$i = ($383|0)==(1);
if ($switch402$i) {
label = 176;
break L67;
}
$$pre$i1144$i = ((($rest$sroa$0$1$i)) + 4|0);
if (!($272)) {
$384 = HEAP8[$$pre$i1144$i>>0]|0;
$385 = ($384&255)>(191);
$$lobit$i$i1148$i = ($384&255) >>> 7;
$$lobit$not$i$i1149$i = $$lobit$i$i1148$i ^ 1;
$386 = $385&1;
$387 = $$lobit$not$i$i1149$i | $386;
$extract$t4$i$i1150$i = ($387<<24>>24)==(0);
if ($extract$t4$i$i1150$i) {
label = 174;
break L67;
}
}
$388 = (($rest$sroa$59$1$i) + -4)|0;
$rest$sroa$0$1$i = $$pre$i1144$i;$rest$sroa$59$1$i = $388;
continue L117;
}
} while(0);
if ((label|0) == 178) {
label = 0;
$394 = ((($rest$sroa$0$1$i)) + 3|0);
$395 = HEAP8[$394>>0]|0;
$396 = ($395&255)>(191);
$$lobit$i$i$i$i1191$i = ($395&255) >>> 7;
$$lobit$not$i$i$i$i1192$i = $$lobit$i$i$i$i1191$i ^ 1;
$397 = $396&1;
$398 = $$lobit$not$i$i$i$i1192$i | $397;
$extract$t4$i$i$i$i1193$i = ($398<<24>>24)==(0);
if (!($extract$t4$i$i$i$i1193$i)) {
$600 = 0;
label = 179;
}
}
do {
if ((label|0) == 179) {
label = 0;
$399 = (_memcmp(2939,$rest$sroa$0$1$i,3)|0);
$400 = ($399|0)==(0);
if (!($400)) {
break;
}
$401 = HEAP32[$171>>2]|0;
FUNCTION_TABLE_viiii[$401 & 127]($14,$1,2942,1);
$402 = HEAP32[$14>>2]|0;
$switch403$i = ($402|0)==(1);
if ($switch403$i) {
label = 187;
break L67;
}
if ($600) {
$$pre$i1206$i = ((($rest$sroa$0$1$i)) + 3|0);
$$pre$phi$i1214$iZ2D = $$pre$i1206$i;
} else {
$not$$i$i1208$i = ($rest$sroa$59$1$i>>>0)>(3);
if (!($not$$i$i1208$i)) {
label = 185;
break L67;
}
$403 = ((($rest$sroa$0$1$i)) + 3|0);
$404 = HEAP8[$403>>0]|0;
$405 = ($404&255)>(191);
$$lobit$i$i1210$i = ($404&255) >>> 7;
$$lobit$not$i$i1211$i = $$lobit$i$i1210$i ^ 1;
$406 = $405&1;
$407 = $$lobit$not$i$i1211$i | $406;
$extract$t4$i$i1212$i = ($407<<24>>24)==(0);
if ($extract$t4$i$i1212$i) {
label = 185;
break L67;
} else {
$$pre$phi$i1214$iZ2D = $403;
}
}
$408 = (($rest$sroa$59$1$i) + -3)|0;
$rest$sroa$0$1$i = $$pre$phi$i1214$iZ2D;$rest$sroa$59$1$i = $408;
continue L117;
}
} while(0);
$413 = ($rest$sroa$59$1$i|0)==(5);
if ($413) {
$601 = 1;
label = 191;
} else {
$not$$i$i$i$i1251$i = ($rest$sroa$59$1$i>>>0)>(5);
if (!($not$$i$i$i$i1251$i)) {
label = 238;
break;
}
$414 = ((($rest$sroa$0$1$i)) + 5|0);
$415 = HEAP8[$414>>0]|0;
$416 = ($415&255)>(191);
$$lobit$i$i$i$i1253$i = ($415&255) >>> 7;
$$lobit$not$i$i$i$i1254$i = $$lobit$i$i$i$i1253$i ^ 1;
$417 = $416&1;
$418 = $$lobit$not$i$i$i$i1254$i | $417;
$extract$t4$i$i$i$i1255$i = ($418<<24>>24)==(0);
if ($extract$t4$i$i$i$i1255$i) {
$432 = $415;
label = 200;
} else {
$601 = 0;
label = 191;
}
}
do {
if ((label|0) == 191) {
label = 0;
$419 = (_memcmp(2943,$rest$sroa$0$1$i,5)|0);
$420 = ($419|0)==(0);
if (!($420)) {
if ($601) {
$602 = 1;
label = 201;
break;
}
$$phi$trans$insert2320$i = ((($rest$sroa$0$1$i)) + 5|0);
$$pre2321$i = HEAP8[$$phi$trans$insert2320$i>>0]|0;
$432 = $$pre2321$i;
label = 200;
break;
}
$421 = HEAP32[$171>>2]|0;
FUNCTION_TABLE_viiii[$421 & 127]($15,$1,2948,1);
$422 = HEAP32[$15>>2]|0;
$switch404$i = ($422|0)==(1);
if ($switch404$i) {
label = 197;
break L67;
}
$$pre$i1268$i = ((($rest$sroa$0$1$i)) + 5|0);
if (!($601)) {
$423 = HEAP8[$$pre$i1268$i>>0]|0;
$424 = ($423&255)>(191);
$$lobit$i$i1272$i = ($423&255) >>> 7;
$$lobit$not$i$i1273$i = $$lobit$i$i1272$i ^ 1;
$425 = $424&1;
$426 = $$lobit$not$i$i1273$i | $425;
$extract$t4$i$i1274$i = ($426<<24>>24)==(0);
if ($extract$t4$i$i1274$i) {
label = 195;
break L67;
}
}
$427 = (($rest$sroa$59$1$i) + -5)|0;
$rest$sroa$0$1$i = $$pre$i1268$i;$rest$sroa$59$1$i = $427;
continue L117;
}
} while(0);
if ((label|0) == 200) {
label = 0;
$433 = ($432&255)>(191);
$$lobit$i$i$i$i1398$i = ($432&255) >>> 7;
$$lobit$not$i$i$i$i1399$i = $$lobit$i$i$i$i1398$i ^ 1;
$434 = $433&1;
$435 = $$lobit$not$i$i$i$i1399$i | $434;
$extract$t4$i$i$i$i1400$i = ($435<<24>>24)==(0);
if ($extract$t4$i$i$i$i1400$i) {
$449 = $432;
label = 210;
} else {
$602 = 0;
label = 201;
}
}
do {
if ((label|0) == 201) {
label = 0;
$436 = (_memcmp(2949,$rest$sroa$0$1$i,5)|0);
$437 = ($436|0)==(0);
if (!($437)) {
if ($602) {
$603 = 1;
label = 211;
break;
}
$$phi$trans$insert2322$i = ((($rest$sroa$0$1$i)) + 5|0);
$$pre2323$i = HEAP8[$$phi$trans$insert2322$i>>0]|0;
$449 = $$pre2323$i;
label = 210;
break;
}
$438 = HEAP32[$171>>2]|0;
FUNCTION_TABLE_viiii[$438 & 127]($16,$1,2954,1);
$439 = HEAP32[$16>>2]|0;
$switch405$i = ($439|0)==(1);
if ($switch405$i) {
label = 207;
break L67;
}
$$pre$i1413$i = ((($rest$sroa$0$1$i)) + 5|0);
if (!($602)) {
$440 = HEAP8[$$pre$i1413$i>>0]|0;
$441 = ($440&255)>(191);
$$lobit$i$i1417$i = ($440&255) >>> 7;
$$lobit$not$i$i1418$i = $$lobit$i$i1417$i ^ 1;
$442 = $441&1;
$443 = $$lobit$not$i$i1418$i | $442;
$extract$t4$i$i1419$i = ($443<<24>>24)==(0);
if ($extract$t4$i$i1419$i) {
label = 205;
break L67;
}
}
$444 = (($rest$sroa$59$1$i) + -5)|0;
$rest$sroa$0$1$i = $$pre$i1413$i;$rest$sroa$59$1$i = $444;
continue L117;
}
} while(0);
if ((label|0) == 210) {
label = 0;
$450 = ($449&255)>(191);
$$lobit$i$i$i$i1453$i = ($449&255) >>> 7;
$$lobit$not$i$i$i$i1454$i = $$lobit$i$i$i$i1453$i ^ 1;
$451 = $450&1;
$452 = $$lobit$not$i$i$i$i1454$i | $451;
$extract$t4$i$i$i$i1455$i = ($452<<24>>24)==(0);
if ($extract$t4$i$i$i$i1455$i) {
$466 = $449;
label = 220;
} else {
$603 = 0;
label = 211;
}
}
do {
if ((label|0) == 211) {
label = 0;
$453 = (_memcmp(2955,$rest$sroa$0$1$i,5)|0);
$454 = ($453|0)==(0);
if (!($454)) {
if ($603) {
$604 = 1;
label = 221;
break;
}
$$phi$trans$insert2324$i = ((($rest$sroa$0$1$i)) + 5|0);
$$pre2325$i = HEAP8[$$phi$trans$insert2324$i>>0]|0;
$466 = $$pre2325$i;
label = 220;
break;
}
$455 = HEAP32[$171>>2]|0;
FUNCTION_TABLE_viiii[$455 & 127]($17,$1,2960,1);
$456 = HEAP32[$17>>2]|0;
$switch406$i = ($456|0)==(1);
if ($switch406$i) {
label = 217;
break L67;
}
$$pre$i1295$i = ((($rest$sroa$0$1$i)) + 5|0);
if (!($603)) {
$457 = HEAP8[$$pre$i1295$i>>0]|0;
$458 = ($457&255)>(191);
$$lobit$i$i1299$i = ($457&255) >>> 7;
$$lobit$not$i$i1300$i = $$lobit$i$i1299$i ^ 1;
$459 = $458&1;
$460 = $$lobit$not$i$i1300$i | $459;
$extract$t4$i$i1301$i = ($460<<24>>24)==(0);
if ($extract$t4$i$i1301$i) {
label = 215;
break L67;
}
}
$461 = (($rest$sroa$59$1$i) + -5)|0;
$rest$sroa$0$1$i = $$pre$i1295$i;$rest$sroa$59$1$i = $461;
continue L117;
}
} while(0);
if ((label|0) == 220) {
label = 0;
$467 = ($466&255)>(191);
$$lobit$i$i$i$i1310$i = ($466&255) >>> 7;
$$lobit$not$i$i$i$i1311$i = $$lobit$i$i$i$i1310$i ^ 1;
$468 = $467&1;
$469 = $$lobit$not$i$i$i$i1311$i | $468;
$extract$t4$i$i$i$i1312$i = ($469<<24>>24)==(0);
if ($extract$t4$i$i$i$i1312$i) {
$483 = $466;
label = 230;
} else {
$604 = 0;
label = 221;
}
}
do {
if ((label|0) == 221) {
label = 0;
$470 = (_memcmp(2961,$rest$sroa$0$1$i,5)|0);
$471 = ($470|0)==(0);
if (!($471)) {
if ($604) {
$605 = 1;
break;
}
$$phi$trans$insert2326$i = ((($rest$sroa$0$1$i)) + 5|0);
$$pre2327$i = HEAP8[$$phi$trans$insert2326$i>>0]|0;
$483 = $$pre2327$i;
label = 230;
break;
}
$472 = HEAP32[$171>>2]|0;
FUNCTION_TABLE_viiii[$472 & 127]($18,$1,2966,1);
$473 = HEAP32[$18>>2]|0;
$switch407$i = ($473|0)==(1);
if ($switch407$i) {
label = 227;
break L67;
}
$$pre$i1316$i = ((($rest$sroa$0$1$i)) + 5|0);
if (!($604)) {
$474 = HEAP8[$$pre$i1316$i>>0]|0;
$475 = ($474&255)>(191);
$$lobit$i$i1320$i = ($474&255) >>> 7;
$$lobit$not$i$i1321$i = $$lobit$i$i1320$i ^ 1;
$476 = $475&1;
$477 = $$lobit$not$i$i1321$i | $476;
$extract$t4$i$i1322$i = ($477<<24>>24)==(0);
if ($extract$t4$i$i1322$i) {
label = 225;
break L67;
}
}
$478 = (($rest$sroa$59$1$i) + -5)|0;
$rest$sroa$0$1$i = $$pre$i1316$i;$rest$sroa$59$1$i = $478;
continue L117;
}
} while(0);
if ((label|0) == 230) {
label = 0;
$484 = ($483&255)>(191);
$$lobit$i$i$i$i1536$i = ($483&255) >>> 7;
$$lobit$not$i$i$i$i1537$i = $$lobit$i$i$i$i1536$i ^ 1;
$485 = $484&1;
$486 = $$lobit$not$i$i$i$i1537$i | $485;
$extract$t4$i$i$i$i1538$i = ($486<<24>>24)==(0);
if ($extract$t4$i$i$i$i1538$i) {
label = 238;
break;
} else {
$605 = 0;
}
}
$487 = (_memcmp(2967,$rest$sroa$0$1$i,5)|0);
$488 = ($487|0)==(0);
if (!($488)) {
label = 238;
break;
}
$489 = HEAP32[$171>>2]|0;
FUNCTION_TABLE_viiii[$489 & 127]($19,$1,2972,1);
$490 = HEAP32[$19>>2]|0;
$switch408$i = ($490|0)==(1);
if ($switch408$i) {
label = 237;
break L67;
}
$$pre$i1551$i = ((($rest$sroa$0$1$i)) + 5|0);
if (!($605)) {
$491 = HEAP8[$$pre$i1551$i>>0]|0;
$492 = ($491&255)>(191);
$$lobit$i$i1555$i = ($491&255) >>> 7;
$$lobit$not$i$i1556$i = $$lobit$i$i1555$i ^ 1;
$493 = $492&1;
$494 = $$lobit$not$i$i1556$i | $493;
$extract$t4$i$i1557$i = ($494<<24>>24)==(0);
if ($extract$t4$i$i1557$i) {
label = 235;
break L67;
}
}
$495 = (($rest$sroa$59$1$i) + -5)|0;
$rest$sroa$0$1$i = $$pre$i1551$i;$rest$sroa$59$1$i = $495;
continue;
}
}
$506 = $rest$sroa$0$1$i;
$507 = (($rest$sroa$0$1$i) + ($rest$sroa$59$1$i)|0);
$$sroa$6$0$i$i$i = 0;$508 = $506;
while(1) {
$$cast$i$i$i$i$i$i$i = $508;
$509 = ($$cast$i$i$i$i$i$i$i|0)==($507|0);
if ($509) {
$idx$0$i = $rest$sroa$59$1$i;
break;
}
$510 = ((($$cast$i$i$i$i$i$i$i)) + 1|0);
$511 = HEAP8[$$cast$i$i$i$i$i$i$i>>0]|0;
$512 = ($511<<24>>24)<(0);
$513 = $510;
do {
if ($512) {
$515 = $511 & 31;
$516 = $515&255;
$517 = ($510|0)==($507|0);
if ($517) {
$525 = $507;$606 = $513;$sret_slot$0$i20$i$i$i$i$i$i$i$i$i = 0;
} else {
$518 = ((($$cast$i$i$i$i$i$i$i)) + 2|0);
$519 = HEAP8[$510>>0]|0;
$phitmp$i$i$i$i$i$i$i$i$i = $519 & 63;
$520 = $518;
$525 = $518;$606 = $520;$sret_slot$0$i20$i$i$i$i$i$i$i$i$i = $phitmp$i$i$i$i$i$i$i$i$i;
}
$521 = $516 << 6;
$522 = $sret_slot$0$i20$i$i$i$i$i$i$i$i$i&255;
$523 = $522 | $521;
$524 = ($511&255)>(223);
if (!($524)) {
$$sroa$54$0$ph$i$i$i$i$i$i$i = $523;$549 = $606;
break;
}
$526 = ($525|0)==($507|0);
if ($526) {
$536 = $507;$607 = $606;$sret_slot$0$i13$i$i$i$i$i$i$i$i$i = 0;
} else {
$527 = ((($525)) + 1|0);
$528 = HEAP8[$525>>0]|0;
$phitmp29$i$i$i$i$i$i$i$i$i = $528 & 63;
$529 = $527;
$536 = $527;$607 = $529;$sret_slot$0$i13$i$i$i$i$i$i$i$i$i = $phitmp29$i$i$i$i$i$i$i$i$i;
}
$530 = $522 << 6;
$531 = $sret_slot$0$i13$i$i$i$i$i$i$i$i$i&255;
$532 = $531 | $530;
$533 = $516 << 12;
$534 = $532 | $533;
$535 = ($511&255)>(239);
if (!($535)) {
$$sroa$54$0$ph$i$i$i$i$i$i$i = $534;$549 = $607;
break;
}
$537 = ($536|0)==($507|0);
if ($537) {
$608 = $607;$sret_slot$0$i$i$i$i$i$i$i$i$i$i = 0;
} else {
$538 = ((($536)) + 1|0);
$539 = HEAP8[$536>>0]|0;
$phitmp30$i$i$i$i$i$i$i$i$i = $539 & 63;
$540 = $538;
$608 = $540;$sret_slot$0$i$i$i$i$i$i$i$i$i$i = $phitmp30$i$i$i$i$i$i$i$i$i;
}
$541 = $516 << 18;
$542 = $541 & 1835008;
$543 = $532 << 6;
$544 = $sret_slot$0$i$i$i$i$i$i$i$i$i$i&255;
$545 = $543 | $542;
$546 = $545 | $544;
$$sroa$54$0$ph$i$i$i$i$i$i$i = $546;$549 = $608;
} else {
$514 = $511&255;
$$sroa$54$0$ph$i$i$i$i$i$i$i = $514;$549 = $513;
}
} while(0);
$547 = (($$sroa$6$0$i$i$i) - ($508))|0;
$548 = (($547) + ($549))|0;
$not$$i$i$i$i$i$i = ($$sroa$54$0$ph$i$i$i$i$i$i$i|0)==(36);
if ($not$$i$i$i$i$i$i) {
$idx$0$i = $$sroa$6$0$i$i$i;
break;
} else {
$$sroa$6$0$i$i$i = $548;$508 = $549;
}
}
$550 = HEAP32[$171>>2]|0;
$551 = ($rest$sroa$59$1$i|0)==($idx$0$i|0);
if (!($551)) {
$not$$i$i1361$i = ($rest$sroa$59$1$i>>>0)>($idx$0$i>>>0);
if (!($not$$i$i1361$i)) {
label = 259;
break L67;
}
$552 = (($rest$sroa$0$1$i) + ($idx$0$i)|0);
$553 = HEAP8[$552>>0]|0;
$554 = ($553&255)>(191);
$$lobit$i$i1363$i = ($553&255) >>> 7;
$$lobit$not$i$i1364$i = $$lobit$i$i1363$i ^ 1;
$555 = $554&1;
$556 = $$lobit$not$i$i1364$i | $555;
$extract$t4$i$i1365$i = ($556<<24>>24)==(0);
if ($extract$t4$i$i1365$i) {
label = 259;
break L67;
}
}
FUNCTION_TABLE_viiii[$550 & 127]($21,$1,$rest$sroa$0$1$i,$idx$0$i);
$557 = HEAP32[$21>>2]|0;
$switch411$i = ($557|0)==(1);
if ($switch411$i) {
label = 266;
break L67;
}
if ($551) {
$$pre$phi$i$iZ2D = $507;
} else {
$not$$i$i594$i = ($rest$sroa$59$1$i>>>0)>($idx$0$i>>>0);
if (!($not$$i$i594$i)) {
label = 264;
break L67;
}
$558 = (($rest$sroa$0$1$i) + ($idx$0$i)|0);
$559 = HEAP8[$558>>0]|0;
$560 = ($559&255)>(191);
$$lobit$i$i596$i = ($559&255) >>> 7;
$$lobit$not$i$i597$i = $$lobit$i$i596$i ^ 1;
$561 = $560&1;
$562 = $$lobit$not$i$i597$i | $561;
$extract$t4$i$i598$i = ($562<<24>>24)==(0);
if ($extract$t4$i$i598$i) {
label = 264;
break L67;
} else {
$$pre$phi$i$iZ2D = $558;
}
}
$563 = (($rest$sroa$59$1$i) - ($idx$0$i))|0;
$rest$sroa$0$1$i = $$pre$phi$i$iZ2D;$rest$sroa$59$1$i = $563;
}
if ((label|0) == 238) {
label = 0;
$500 = HEAP32[$171>>2]|0;
FUNCTION_TABLE_viiii[$500 & 127]($20,$1,$rest$sroa$0$1$i,$rest$sroa$59$1$i);
$501 = HEAP32[$20>>2]|0;
$switch409$i = ($501|0)==(1);
if ($switch409$i) {
label = 241;
break;
}
}
if ($202) {
break L5;
} else {
$$sroa$0$sroa$10$sroa$0$0 = $$sroa$0$sroa$10$sroa$0$1;$first$0$off02020$i = 0;$inner$sroa$0$12021$i = $$pre$phi$i7111641$iZ2D;$inner$sroa$13$12022$i = $208;
}
}
switch (label|0) {
case 58: {
$182 = ((($6)) + 4|0);
$183 = HEAP32[$182>>2]|0;
$184 = ((($6)) + 8|0);
$185 = HEAP32[$184>>2]|0;
$$sroa$26$sroa$0$0$ph = $183;$$sroa$26$sroa$31$0$ph = $185;
break L18;
break;
}
case 61: {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($inner$sroa$0$12021$i,$inner$sroa$13$12022$i,0,$186);
// unreachable;
break;
}
case 70: {
__ZN6result13unwrap_failed21h16495370897978173130E($$sroa$0$sroa$10$sroa$0$1$ph);
// unreachable;
break;
}
case 75: {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$02018$i,$rest$sroa$59$02019$i,$$sroa$1016$0,$rest$sroa$59$02019$i);
// unreachable;
break;
}
case 78: {
__ZN9panicking18panic_bounds_check20h8e1f5fdc350eb389dmME(748,0,0);
// unreachable;
break;
}
case 80: {
__ZN9panicking5panic20h505ed693e1be0208ElME(2084);
// unreachable;
break;
}
case 82: {
__ZN9panicking5panic20h505ed693e1be0208ElME(1468);
// unreachable;
break;
}
case 85: {
__ZN9panicking5panic20h505ed693e1be0208ElME(1468);
// unreachable;
break;
}
case 89: {
__ZN9panicking5panic20h505ed693e1be0208ElME(1468);
// unreachable;
break;
}
case 95: {
__ZN5slice20slice_index_len_fail20h9ec8212373ae0291u9PE($247,$s$sroa$7$0$i$i$i5);
// unreachable;
break;
}
case 98: {
// unreachable;
break;
}
case 102: {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$02018$i,$rest$sroa$59$02019$i,1,$rest$sroa$59$02019$i);
// unreachable;
break;
}
case 114: {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,4,$rest$sroa$59$1$i);
// unreachable;
break;
}
case 116: {
$287 = ((($7)) + 4|0);
$288 = HEAP32[$287>>2]|0;
$289 = ((($7)) + 8|0);
$290 = HEAP32[$289>>2]|0;
$$sroa$26$sroa$0$0$ph = $288;$$sroa$26$sroa$31$0$ph = $290;
break L18;
break;
}
case 124: {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,4,$rest$sroa$59$1$i);
// unreachable;
break;
}
case 126: {
$304 = ((($8)) + 4|0);
$305 = HEAP32[$304>>2]|0;
$306 = ((($8)) + 8|0);
$307 = HEAP32[$306>>2]|0;
$$sroa$26$sroa$0$0$ph = $305;$$sroa$26$sroa$31$0$ph = $307;
break L18;
break;
}
case 134: {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,4,$rest$sroa$59$1$i);
// unreachable;
break;
}
case 136: {
$321 = ((($9)) + 4|0);
$322 = HEAP32[$321>>2]|0;
$323 = ((($9)) + 8|0);
$324 = HEAP32[$323>>2]|0;
$$sroa$26$sroa$0$0$ph = $322;$$sroa$26$sroa$31$0$ph = $324;
break L18;
break;
}
case 144: {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,4,$rest$sroa$59$1$i);
// unreachable;
break;
}
case 146: {
$338 = ((($10)) + 4|0);
$339 = HEAP32[$338>>2]|0;
$340 = ((($10)) + 8|0);
$341 = HEAP32[$340>>2]|0;
$$sroa$26$sroa$0$0$ph = $339;$$sroa$26$sroa$31$0$ph = $341;
break L18;
break;
}
case 154: {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,4,$rest$sroa$59$1$i);
// unreachable;
break;
}
case 156: {
$355 = ((($11)) + 4|0);
$356 = HEAP32[$355>>2]|0;
$357 = ((($11)) + 8|0);
$358 = HEAP32[$357>>2]|0;
$$sroa$26$sroa$0$0$ph = $356;$$sroa$26$sroa$31$0$ph = $358;
break L18;
break;
}
case 164: {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,4,$rest$sroa$59$1$i);
// unreachable;
break;
}
case 166: {
$372 = ((($12)) + 4|0);
$373 = HEAP32[$372>>2]|0;
$374 = ((($12)) + 8|0);
$375 = HEAP32[$374>>2]|0;
$$sroa$26$sroa$0$0$ph = $373;$$sroa$26$sroa$31$0$ph = $375;
break L18;
break;
}
case 174: {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,4,$rest$sroa$59$1$i);
// unreachable;
break;
}
case 176: {
$389 = ((($13)) + 4|0);
$390 = HEAP32[$389>>2]|0;
$391 = ((($13)) + 8|0);
$392 = HEAP32[$391>>2]|0;
$$sroa$26$sroa$0$0$ph = $390;$$sroa$26$sroa$31$0$ph = $392;
break L18;
break;
}
case 185: {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,3,$rest$sroa$59$1$i);
// unreachable;
break;
}
case 187: {
$409 = ((($14)) + 4|0);
$410 = HEAP32[$409>>2]|0;
$411 = ((($14)) + 8|0);
$412 = HEAP32[$411>>2]|0;
$$sroa$26$sroa$0$0$ph = $410;$$sroa$26$sroa$31$0$ph = $412;
break L18;
break;
}
case 195: {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,5,$rest$sroa$59$1$i);
// unreachable;
break;
}
case 197: {
$428 = ((($15)) + 4|0);
$429 = HEAP32[$428>>2]|0;
$430 = ((($15)) + 8|0);
$431 = HEAP32[$430>>2]|0;
$$sroa$26$sroa$0$0$ph = $429;$$sroa$26$sroa$31$0$ph = $431;
break L18;
break;
}
case 205: {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,5,$rest$sroa$59$1$i);
// unreachable;
break;
}
case 207: {
$445 = ((($16)) + 4|0);
$446 = HEAP32[$445>>2]|0;
$447 = ((($16)) + 8|0);
$448 = HEAP32[$447>>2]|0;
$$sroa$26$sroa$0$0$ph = $446;$$sroa$26$sroa$31$0$ph = $448;
break L18;
break;
}
case 215: {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,5,$rest$sroa$59$1$i);
// unreachable;
break;
}
case 217: {
$462 = ((($17)) + 4|0);
$463 = HEAP32[$462>>2]|0;
$464 = ((($17)) + 8|0);
$465 = HEAP32[$464>>2]|0;
$$sroa$26$sroa$0$0$ph = $463;$$sroa$26$sroa$31$0$ph = $465;
break L18;
break;
}
case 225: {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,5,$rest$sroa$59$1$i);
// unreachable;
break;
}
case 227: {
$479 = ((($18)) + 4|0);
$480 = HEAP32[$479>>2]|0;
$481 = ((($18)) + 8|0);
$482 = HEAP32[$481>>2]|0;
$$sroa$26$sroa$0$0$ph = $480;$$sroa$26$sroa$31$0$ph = $482;
break L18;
break;
}
case 235: {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,5,$rest$sroa$59$1$i);
// unreachable;
break;
}
case 237: {
$496 = ((($19)) + 4|0);
$497 = HEAP32[$496>>2]|0;
$498 = ((($19)) + 8|0);
$499 = HEAP32[$498>>2]|0;
$$sroa$26$sroa$0$0$ph = $497;$$sroa$26$sroa$31$0$ph = $499;
break L18;
break;
}
case 241: {
$502 = ((($20)) + 4|0);
$503 = HEAP32[$502>>2]|0;
$504 = ((($20)) + 8|0);
$505 = HEAP32[$504>>2]|0;
$$sroa$26$sroa$0$0$ph = $503;$$sroa$26$sroa$31$0$ph = $505;
break L18;
break;
}
case 259: {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,0,$idx$0$i);
// unreachable;
break;
}
case 264: {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,$idx$0$i,$rest$sroa$59$1$i);
// unreachable;
break;
}
case 266: {
$564 = ((($21)) + 4|0);
$565 = HEAP32[$564>>2]|0;
$566 = ((($21)) + 8|0);
$567 = HEAP32[$566>>2]|0;
$$sroa$26$sroa$0$0$ph = $565;$$sroa$26$sroa$31$0$ph = $567;
break L18;
break;
}
}
}
} while(0);
do {
if ((label|0) == 50) {
$172 = ((($2)) + 20|0);
$173 = HEAP32[$172>>2]|0;
FUNCTION_TABLE_viiii[$173 & 127]($5,$1,$49,$48);
$174 = HEAP32[$5>>2]|0;
$switch394$i = ($174|0)==(1);
if ($switch394$i) {
$175 = ((($5)) + 4|0);
$176 = HEAP32[$175>>2]|0;
$177 = ((($5)) + 8|0);
$178 = HEAP32[$177>>2]|0;
$$sroa$26$sroa$0$0$ph = $176;$$sroa$26$sroa$31$0$ph = $178;
break;
} else {
break L5;
}
}
} while(0);
$578 = ((($0)) + 4|0);
$579 = $578;
$580 = $579;
HEAP32[$580>>2] = $$sroa$26$sroa$0$0$ph;
$581 = (($579) + 4)|0;
$582 = $581;
HEAP32[$582>>2] = $$sroa$26$sroa$31$0$ph;
HEAP32[$0>>2] = 1;
STACKTOP = sp;return;
}
}
}
} while(0);
do {
if ((label|0) == 267) {
$568 = HEAP32[$28>>2]|0;
HEAP32[$27>>2] = 760;
$569 = ((($27)) + 4|0);
HEAP32[$569>>2] = 1;
$570 = ((($27)) + 8|0);
$571 = $570;
$572 = $571;
HEAP32[$572>>2] = 0;
$573 = (($571) + 4)|0;
$574 = $573;
HEAP32[$574>>2] = 0;
$575 = ((($27)) + 16|0);
HEAP32[$575>>2] = $addr_of;
$576 = ((($27)) + 20|0);
HEAP32[$576>>2] = 0;
FUNCTION_TABLE_viii[$568 & 127]($26,$1,$27);
$577 = HEAP32[$26>>2]|0;
$switch64 = ($577|0)==(1);
if (!($switch64)) {
break;
}
$583 = ((($26)) + 4|0);
$584 = ((($0)) + 4|0);
$585 = $583;
$586 = $585;
$587 = HEAP32[$586>>2]|0;
$588 = (($585) + 4)|0;
$589 = $588;
$590 = HEAP32[$589>>2]|0;
$591 = $584;
$592 = $591;
HEAP32[$592>>2] = $587;
$593 = (($591) + 4)|0;
$594 = $593;
HEAP32[$594>>2] = $590;
HEAP32[$0>>2] = 1;
STACKTOP = sp;return;
}
} while(0);
$595 = ((($2)) + 20|0);
$596 = HEAP32[$595>>2]|0;
FUNCTION_TABLE_viiii[$596 & 127]($0,$1,2829,1);
STACKTOP = sp;return;
}
function __ZN3fmt20__BP_mut_u20_T_Debug3fmt20h9626668092128521168E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$off$i4$i$i = 0, $$sroa$421$0$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $addr_of$i2$i$i = 0, $buf$i$i = 0, $cond$i$i = 0, $curr$0$i$i = 0, $sret_slot$0$i8$i$i = 0, $x$0$i$i = 0, $x7$i1$i$i = 0, dest = 0, label = 0, sp = 0;
var stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$x7$i1$i$i = sp + 105|0;
$2 = sp + 16|0;
$addr_of$i2$i$i = sp + 104|0;
$3 = sp;
$buf$i$i = sp + 40|0;
$4 = ((($1)) + 12|0);
$5 = $4;
$6 = $5;
$7 = HEAP32[$6>>2]|0;
$8 = (($5) + 4)|0;
$9 = $8;
$10 = HEAP32[$9>>2]|0;
$11 = HEAP32[$1>>2]|0;
$12 = $11 & 4;
$13 = ($12|0)==(0);
if ($13) {
$18 = $11;
} else {
$14 = $11 | 8;
HEAP32[$1>>2] = $14;
$cond$i$i = ($7|0)==(0);
if ($cond$i$i) {
$15 = ((($1)) + 12|0);
HEAP32[$15>>2] = 1;
$16 = ((($1)) + 16|0);
HEAP32[$16>>2] = 10;
$18 = $14;
} else {
$18 = $14;
}
}
$17 = $18 | 4;
HEAP32[$1>>2] = $17;
$19 = HEAP32[$0>>2]|0;
dest=$buf$i$i; stop=dest+64|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0));
$20 = ((($buf$i$i)) + 64|0);
$$sroa$421$0$i$i = $20;$curr$0$i$i = 64;$x$0$i$i = $19;
while(1) {
$21 = ((($$sroa$421$0$i$i)) + -1|0);
$22 = $x$0$i$i & 15;
$23 = $x$0$i$i >>> 4;
$24 = $22&255;
HEAP8[$addr_of$i2$i$i>>0] = 29;
$25 = ($24&255)<(10);
if ($25) {
$26 = $24 | 48;
$sret_slot$0$i8$i$i = $26;
} else {
$$off$i4$i$i = (($24) + -10)<<24>>24;
$27 = ($$off$i4$i$i&255)<(6);
if (!($27)) {
label = 9;
break;
}
$28 = (($24) + 87)<<24>>24;
$sret_slot$0$i8$i$i = $28;
}
HEAP8[$21>>0] = $sret_slot$0$i8$i$i;
$40 = (($curr$0$i$i) + -1)|0;
$41 = ($23|0)==(0);
if ($41) {
break;
} else {
$$sroa$421$0$i$i = $21;$curr$0$i$i = $40;$x$0$i$i = $23;
}
}
if ((label|0) == 9) {
HEAP8[$x7$i1$i$i>>0] = $24;
HEAP8[$addr_of$i2$i$i>>0] = 15;
$29 = ((($3)) + 4|0);
HEAP32[$29>>2] = 95;
HEAP32[$3>>2] = $addr_of$i2$i$i;
$30 = ((($3)) + 8|0);
$31 = ((($3)) + 12|0);
HEAP32[$31>>2] = 95;
HEAP32[$30>>2] = $x7$i1$i$i;
HEAP32[$2>>2] = 2036;
$32 = ((($2)) + 4|0);
HEAP32[$32>>2] = 2;
$33 = ((($2)) + 8|0);
$34 = $33;
$35 = $34;
HEAP32[$35>>2] = 0;
$36 = (($34) + 4)|0;
$37 = $36;
HEAP32[$37>>2] = 0;
$38 = ((($2)) + 16|0);
HEAP32[$38>>2] = $3;
$39 = ((($2)) + 20|0);
HEAP32[$39>>2] = 2;
__ZN9panicking9panic_fmt20h354880378c07fbbe7mME($2,2052);
// unreachable;
}
$42 = ($40>>>0)>(64);
if ($42) {
__ZN5slice22slice_index_order_fail20h0ea23a39457ab7feuaQE($40,64);
// unreachable;
} else {
$43 = (($buf$i$i) + ($40)|0);
$44 = (65 - ($curr$0$i$i))|0;
$45 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral20h051d8c1a7b501c091tXE($1,1,4595,2,$43,$44)|0);
$46 = $4;
$47 = $46;
HEAP32[$47>>2] = $7;
$48 = (($46) + 4)|0;
$49 = $48;
HEAP32[$49>>2] = $10;
HEAP32[$1>>2] = $11;
STACKTOP = sp;return ($45|0);
}
return (0)|0;
}
function __ZN6result13unwrap_failed21h16495370897978173130E($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $error = 0, $msg = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$msg = sp + 48|0;
$error = sp + 40|0;
$1 = sp + 16|0;
$2 = sp;
HEAP32[$msg>>2] = 2674;
$3 = ((($msg)) + 4|0);
HEAP32[$3>>2] = 43;
HEAP8[$error>>0] = $0;
$4 = ((($2)) + 4|0);
HEAP32[$4>>2] = 88;
HEAP32[$2>>2] = $msg;
$5 = ((($2)) + 8|0);
$6 = ((($2)) + 12|0);
HEAP32[$6>>2] = 96;
HEAP32[$5>>2] = $error;
HEAP32[$1>>2] = (1560);
$7 = ((($1)) + 4|0);
HEAP32[$7>>2] = 2;
$8 = ((($1)) + 8|0);
$9 = $8;
$10 = $9;
HEAP32[$10>>2] = 0;
$11 = (($9) + 4)|0;
$12 = $11;
HEAP32[$12>>2] = 0;
$13 = ((($1)) + 16|0);
HEAP32[$13>>2] = $2;
$14 = ((($1)) + 20|0);
HEAP32[$14>>2] = 2;
__ZN9panicking9panic_fmt20h354880378c07fbbe7mME($1,1548);
// unreachable;
}
function __ZN2io5impls31__RF__u27_a_u20_mut_u20_W_Write5write21h17723784408539422804E($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$sink$i$i$i = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ret$sroa$6$sroa$0$0$i$i = 0, $ret$sroa$6$sroa$7$0$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = (_write(2,$2,$3)|0);
$5 = ($4|0)==(-1);
if ($5) {
$6 = (___errno_location()|0);
$7 = HEAP32[$6>>2]|0;
$$sink$i$i$i = 1;$ret$sroa$6$sroa$0$0$i$i = 0;$ret$sroa$6$sroa$7$0$i$i = $7;
} else {
$$sink$i$i$i = 0;$ret$sroa$6$sroa$0$0$i$i = $4;$ret$sroa$6$sroa$7$0$i$i = 0;
}
HEAP32[$0>>2] = $$sink$i$i$i;
$8 = ((($0)) + 4|0);
HEAP32[$8>>2] = $ret$sroa$6$sroa$0$0$i$i;
$9 = ((($0)) + 8|0);
HEAP32[$9>>2] = $ret$sroa$6$sroa$7$0$i$i;
return;
}
function __ZN2io5impls31__RF__u27_a_u20_mut_u20_W_Write5flush21h11577655791880223848E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var label = 0, sp = 0;
sp = STACKTOP;
;HEAP32[$0>>2]=HEAP32[6832>>2]|0;HEAP32[$0+4>>2]=HEAP32[6832+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[6832+8>>2]|0;
return;
}
function __ZN2io5impls31__RF__u27_a_u20_mut_u20_W_Write9write_all21h12167679389909672997E($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var label = 0, sp = 0;
sp = STACKTOP;
__ZN2io5Write9write_all21h15376866622950179486E($0,$2,$3);
return;
}
function __ZN2io5impls31__RF__u27_a_u20_mut_u20_W_Write9write_fmt20h7988444182387086942E($0,$1,$fmt) {
$0 = $0|0;
$1 = $1|0;
$fmt = $fmt|0;
var $2 = 0, $arg = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$arg = sp;
$2 = HEAP32[$1>>2]|0;
;HEAP32[$arg>>2]=HEAP32[$fmt>>2]|0;HEAP32[$arg+4>>2]=HEAP32[$fmt+4>>2]|0;HEAP32[$arg+8>>2]=HEAP32[$fmt+8>>2]|0;HEAP32[$arg+12>>2]=HEAP32[$fmt+12>>2]|0;HEAP32[$arg+16>>2]=HEAP32[$fmt+16>>2]|0;HEAP32[$arg+20>>2]=HEAP32[$fmt+20>>2]|0;
__ZN2io5Write9write_fmt20h7380755752343363050E($0,$2,$arg);
STACKTOP = sp;return;
}
function _rust_panic($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, $addr_of$i = 0, $scevgep$i = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$2 = sp + 40|0;
$3 = sp + 32|0;
$4 = sp + 8|0;
$5 = sp;
$addr_of$i = sp + 64|0;
HEAP32[$addr_of$i>>2] = 488447261;
$6 = (_malloc(104)|0);
$7 = ($6|0)==(0|0);
if (!($7)) {
$16 = $1;
$17 = $0;
$18 = $6;
$19 = $18;
HEAP32[$19>>2] = 1381323604;
$20 = (($18) + 4)|0;
$21 = $20;
HEAP32[$21>>2] = 1297046016;
$22 = ((($6)) + 8|0);
HEAP32[$22>>2] = 97;
$scevgep$i = ((($6)) + 12|0);
dest=$scevgep$i; stop=dest+80|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
$23 = ((($6)) + 96|0);
HEAP32[$23>>2] = $17;
$24 = ((($6)) + 100|0);
HEAP32[$24>>2] = $16;
$25 = (__Unwind_RaiseException(($6|0))|0);
HEAP32[$addr_of$i>>2] = $25;
$26 = ((($5)) + 4|0);
HEAP32[$26>>2] = 92;
HEAP32[$5>>2] = $addr_of$i;
HEAP32[$4>>2] = 788;
$27 = ((($4)) + 4|0);
HEAP32[$27>>2] = 1;
$28 = ((($4)) + 8|0);
$29 = $28;
$30 = $29;
HEAP32[$30>>2] = 0;
$31 = (($29) + 4)|0;
$32 = $31;
HEAP32[$32>>2] = 0;
$33 = ((($4)) + 16|0);
HEAP32[$33>>2] = $5;
$34 = ((($4)) + 20|0);
HEAP32[$34>>2] = 1;
$35 = ((($3)) + 4|0);
HEAP32[$35>>2] = 98;
HEAP32[$3>>2] = $4;
HEAP32[$2>>2] = 796;
$36 = ((($2)) + 4|0);
HEAP32[$36>>2] = 2;
$37 = ((($2)) + 8|0);
$38 = $37;
$39 = $38;
HEAP32[$39>>2] = 0;
$40 = (($38) + 4)|0;
$41 = $40;
HEAP32[$41>>2] = 0;
$42 = ((($2)) + 16|0);
HEAP32[$42>>2] = $3;
$43 = ((($2)) + 20|0);
HEAP32[$43>>2] = 1;
__ZN10sys_common4util10dumb_print20h67f0e8f90c6852e9SquE($2);
_llvm_trap();
// unreachable;
}
__THREW__ = 0;
invoke_v(62);
$8 = __THREW__; __THREW__ = 0;
$9 = ___cxa_find_matching_catch_2()|0;
$10 = tempRet0;
$11 = ($0|0)==((488447261)|0);
if ($11) {
___resumeException($9|0);
// unreachable;
}
$12 = HEAP32[$1>>2]|0;
FUNCTION_TABLE_vi[$12 & 127]($0);
$13 = ((($1)) + 4|0);
$14 = HEAP32[$13>>2]|0;
$15 = ($14|0)==(0);
if ($15) {
___resumeException($9|0);
// unreachable;
}
_free($0);
___resumeException($9|0);
// unreachable;
}
function __ZN10sys_common6unwind3imp5panic17exception_cleanup20h86ad3cc428b261b2riuE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $magicptr$i$i$i$i = 0, $switch$split2D = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($1|0)==((488447261)|0);
if ($2) {
return;
}
$3 = ((($1)) + 96|0);
$4 = HEAP32[$3>>2]|0;
$magicptr$i$i$i$i = $4;
$switch$split2D = ($magicptr$i$i$i$i|0)<(488447261);
if ($switch$split2D) {
switch ($magicptr$i$i$i$i|0) {
case 0: {
break;
}
default: {
label = 3;
}
}
} else {
switch ($magicptr$i$i$i$i|0) {
case 488447261: {
break;
}
default: {
label = 3;
}
}
}
if ((label|0) == 3) {
$5 = ((($1)) + 100|0);
$6 = HEAP32[$5>>2]|0;
$7 = HEAP32[$6>>2]|0;
FUNCTION_TABLE_vi[$7 & 127]($4);
$8 = HEAP32[$5>>2]|0;
$9 = ((($8)) + 4|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($10|0)==(0);
if (!($11)) {
_free($4);
}
}
_free($1);
return;
}
function __ZN6thread5local17LocalKey_LT_T_GT_4init21h13347445861423520909E($0) {
$0 = $0|0;
var $$sroa$7 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0;
var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond$i = 0, $not$switch$i = 0, $switchtmp$i$i$i = 0, $switchtmp$i$i$i$i = 0, $switchtmp$i$i$i1 = 0, $value = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$value = sp + 24|0;
$1 = sp;
$$sroa$7 = sp + 40|0;
;HEAP32[$value>>2]=488447261|0;HEAP32[$value+4>>2]=488447261|0;HEAP32[$value+8>>2]=488447261|0;HEAP32[$value+12>>2]=488447261|0;
$2 = HEAP32[$0>>2]|0;
$3 = ((($0)) + 4|0);
;HEAP32[$$sroa$7>>2]=HEAP32[$3>>2]|0;HEAP32[$$sroa$7+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$sroa$7+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$sroa$7+12>>2]=HEAP32[$3+12>>2]|0;
HEAP32[$0>>2] = 1;
;HEAP32[$3>>2]=0|0;HEAP32[$3+4>>2]=0|0;HEAP32[$3+8>>2]=0|0;HEAP32[$3+12>>2]=0|0;
HEAP32[$1>>2] = $2;
$4 = ((($1)) + 4|0);
;HEAP32[$4>>2]=HEAP32[$$sroa$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$$sroa$7+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$$sroa$7+8>>2]|0;HEAP32[$4+12>>2]=HEAP32[$$sroa$7+12>>2]|0;
$cond$i = ($2|0)==(1);
if ($cond$i) {
$11 = ((($1)) + 16|0);
$12 = HEAP32[$11>>2]|0;
$switchtmp$i$i$i$i = ($12|0)==(0|0);
if (!($switchtmp$i$i$i$i)) {
$13 = ($12|0)==((488447261)|0);
if (!($13)) {
$14 = HEAP32[$12>>2]|0;HEAP32[$12>>2] = (($14-1)|0);
$15 = ($14|0)==(1);
if ($15) {
/* fence */;
__ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($11);
}
}
}
}
$16 = HEAP32[$0>>2]|0;
$not$switch$i = ($16|0)==(1);
if ($not$switch$i) {
$20 = ((($value)) + 12|0);
$21 = HEAP32[$20>>2]|0;
$switchtmp$i$i$i = ($21|0)==(0|0);
if ($switchtmp$i$i$i) {
STACKTOP = sp;return ($3|0);
}
$22 = ((($value)) + 12|0);
$23 = ($21|0)==((488447261)|0);
if ($23) {
STACKTOP = sp;return ($3|0);
}
$24 = HEAP32[$21>>2]|0;HEAP32[$21>>2] = (($24-1)|0);
$25 = ($24|0)==(1);
if (!($25)) {
STACKTOP = sp;return ($3|0);
}
/* fence */;
__ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($22);
STACKTOP = sp;return ($3|0);
} else {
__THREW__ = 0;
invoke_vi(59,(1488|0));
$17 = __THREW__; __THREW__ = 0;
$10 = ___cxa_find_matching_catch_2()|0;
$18 = tempRet0;
$19 = ((($value)) + 12|0);
$6 = HEAP32[$19>>2]|0;
$switchtmp$i$i$i1 = ($6|0)==(0|0);
if ($switchtmp$i$i$i1) {
___resumeException($10|0);
// unreachable;
}
$5 = ((($value)) + 12|0);
$7 = ($6|0)==((488447261)|0);
if ($7) {
___resumeException($10|0);
// unreachable;
}
$8 = HEAP32[$6>>2]|0;HEAP32[$6>>2] = (($8-1)|0);
$9 = ($8|0)==(1);
if (!($9)) {
___resumeException($10|0);
// unreachable;
}
/* fence */;
__ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($5);
___resumeException($10|0);
// unreachable;
}
return (0)|0;
}
function __ZN6thread6Thread3new20hf9facdc7fd5911b9AFbE($name) {
$name = $name|0;
var $$sroa$0$0 = 0, $$sroa$0$1 = 0, $$sroa$6$0 = 0, $$sroa$6$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $switch$split2D = 0, $switchtmp$i10 = 0;
var dest = 0, label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$0 = sp;
;HEAP32[$0>>2]=HEAP32[$name>>2]|0;HEAP32[$0+4>>2]=HEAP32[$name+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$name+8>>2]|0;
;HEAP32[$name>>2]=488447261|0;HEAP32[$name+4>>2]=488447261|0;HEAP32[$name+8>>2]=488447261|0;
$1 = ((($0)) + 12|0);
$2 = (_malloc(32)|0);
$3 = ($2|0)==(0|0);
do {
if ($3) {
__THREW__ = 0;
invoke_v(62);
$4 = __THREW__; __THREW__ = 0;
$5 = ___cxa_find_matching_catch_2()|0;
$6 = tempRet0;
$$sroa$0$1 = $5;$$sroa$6$1 = $6;
} else {
;HEAP32[$2>>2]=HEAP32[(6928)>>2]|0;HEAP32[$2+4>>2]=HEAP32[(6928)+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[(6928)+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[(6928)+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[(6928)+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[(6928)+20>>2]|0;
$7 = ((($2)) + 24|0);
HEAP8[$7>>0] = 0;
HEAP32[$1>>2] = $2;
$8 = ((($0)) + 16|0);
HEAP8[$8>>0] = 0;
$9 = ((($0)) + 17|0);
HEAP8[$9>>0] = -44;
$10 = (_malloc(56)|0);
$11 = ($10|0)==(0|0);
if ($11) {
__THREW__ = 0;
invoke_v(62);
$12 = __THREW__; __THREW__ = 0;
$13 = ___cxa_find_matching_catch_2()|0;
$14 = tempRet0;
(_pthread_mutex_destroy(($2|0))|0);
$15 = ($2|0)==((488447261)|0);
if (!($15)) {
_free($2);
}
$$sroa$0$1 = $13;$$sroa$6$1 = $14;
break;
}
dest=$10; src=(6952); stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
$19 = ((($10)) + 48|0);
HEAP32[$19>>2] = 0;
$20 = $10;
$21 = ((($0)) + 20|0);
$22 = $21;
$23 = $22;
HEAP32[$23>>2] = $20;
$24 = (($22) + 4)|0;
$25 = $24;
HEAP32[$25>>2] = 212;
$26 = (_malloc(36)|0);
$27 = ($26|0)==(0|0);
if (!($27)) {
HEAP32[$26>>2] = 1;
$31 = ((($26)) + 4|0);
HEAP32[$31>>2] = 1;
$32 = ((($26)) + 8|0);
;HEAP32[$32>>2]=HEAP32[$0>>2]|0;HEAP32[$32+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$32+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$32+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$32+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$32+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$32+24>>2]=HEAP32[$0+24>>2]|0;
;HEAP32[$0>>2]=488447261|0;HEAP32[$0+4>>2]=488447261|0;HEAP32[$0+8>>2]=488447261|0;HEAP32[$0+12>>2]=488447261|0;HEAP32[$0+16>>2]=488447261|0;HEAP32[$0+20>>2]=488447261|0;HEAP32[$0+24>>2]=488447261|0;
$33 = $26;
__ZN13thread__Inner10drop_4009617h3c2e86dd183ee453E($0);
STACKTOP = sp;return ($33|0);
}
__THREW__ = 0;
invoke_v(62);
$28 = __THREW__; __THREW__ = 0;
$29 = ___cxa_find_matching_catch_2()|0;
$30 = tempRet0;
__ZN13thread__Inner10drop_4009617h3c2e86dd183ee453E($0);
$$sroa$0$0 = $29;$$sroa$6$0 = $30;
___resumeException($$sroa$0$0|0);
// unreachable;
}
} while(0);
$16 = HEAP32[$0>>2]|0;
$switchtmp$i10 = ($16|0)==(0|0);
L15: do {
if (!($switchtmp$i10)) {
$17 = ((($0)) + 4|0);
$18 = HEAP32[$17>>2]|0;
$switch$split2D = ($18|0)<(488447261);
if ($switch$split2D) {
switch ($18|0) {
case 0: {
break L15;
break;
}
default: {
}
}
} else {
switch ($18|0) {
case 488447261: {
break L15;
break;
}
default: {
}
}
}
_free($16);
}
} while(0);
$$sroa$0$0 = $$sroa$0$1;$$sroa$6$0 = $$sroa$6$1;
___resumeException($$sroa$0$0|0);
// unreachable;
return (0)|0;
}
function __ZN7raw_vec15RawVec_LT_T_GT_6double20h8160544240742043587E($0) {
$0 = $0|0;
var $$sroa$08$0 = 0, $$sroa$5$0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 4|0);
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)==(0);
do {
if ($3) {
$4 = (_malloc(32)|0);
$$sroa$08$0 = 4;$$sroa$5$0 = $4;
} else {
$5 = $2 << 4;
$6 = ($5|0)<(0);
if ($6) {
__ZN9panicking5panic20h505ed693e1be0208ElME(1444);
// unreachable;
} else {
$7 = $2 << 1;
$8 = HEAP32[$0>>2]|0;
$9 = (_realloc($8,$5)|0);
$$sroa$08$0 = $7;$$sroa$5$0 = $9;
break;
}
}
} while(0);
$10 = ($$sroa$5$0|0)==(0|0);
if ($10) {
__ZN3oom3oom20hc88b31053092c214PzbE();
// unreachable;
} else {
$11 = $$sroa$5$0;
HEAP32[$0>>2] = $11;
HEAP32[$1>>2] = $$sroa$08$0;
return;
}
}
function __ZN2io5stdio6stdout20h5cd940239a47d19aCihE() {
var $$cast$i$i$i = 0, $$pre$i$i = 0, $$pre$i$i3 = 0, $$pre$i1$i = 0, $$pre$i11$i = 0, $$pre$i16$i = 0, $$pre$i25$i = 0, $$pre$i39$i = 0, $$sink$in$phi$trans$insert$i$i = 0, $$sink$in$phi$trans$insert$i14$i = 0, $$sink$in$phi$trans$insert$i23$i = 0, $$sink$in$phi$trans$insert$i37$i = 0, $$sink$in$phi$trans$insert$i9$i = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0;
var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $eh$lpad$body$i$i$index17Z2D = 0, $eh$lpad$body$i$i$indexZ2D = 0, $eh$lpad$body$i$index6Z2D = 0, $eh$lpad$body$i$indexZ2D = 0, $magicptr$i = 0, $phitmp$i$i = 0, $phitmp$i12$i = 0, $phitmp$i17$i = 0;
var $phitmp$i26$i = 0, $phitmp$i40$i = 0, $phitmp7$i$i = 0, $ret$0$off010$i = 0, $ret$i$i = 0, $sret_slot$sroa$0$0$i = 0, $switch$i = 0, $switch$i$i$i = 0, $switch$i$i$i$i$i = 0, $switch$i$i13$i = 0, $switch$i$i20$i = 0, $switch$i$i31$i = 0, $switch$i$i45$i = 0, $switchtmp$i = 0, $switchtmp$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i = 0, $switchtmp$i$i$i18$i = 0, $switchtmp$i$i$i28$i = 0, $switchtmp$i$i$i42$i = 0, $x$i$i$i = 0;
var label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$x$i$i$i = sp + 8|0;
$ret$i$i = sp;
(_pthread_mutex_lock(((208)|0))|0);
$0 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0);
$switchtmp$i$i$i$i$i$i = ($0|0)==(0|0);
if ($switchtmp$i$i$i$i$i$i) {
__ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57);
// unreachable;
}
$1 = HEAP32[$0>>2]|0;
$switch$i$i$i$i$i = ($1|0)==(1);
if ($switch$i$i$i$i$i) {
$$sink$in$phi$trans$insert$i$i = ((($0)) + 4|0);
$$pre$i$i = HEAP32[$$sink$in$phi$trans$insert$i$i>>2]|0;
$phitmp$i$i = ($$pre$i$i|0)!=(0);
$phitmp7$i$i = $phitmp$i$i&1;
$8 = $phitmp7$i$i;
} else {
$2 = $0;
$3 = $2;
HEAP32[$3>>2] = 1;
$4 = (($2) + 4)|0;
$5 = $4;
HEAP32[$5>>2] = 0;
$8 = 0;
}
$6 = HEAP8[(232)>>0]|0;
$switch$i$i$i = ($6<<24>>24)==(0);
$7 = HEAP32[(240)>>2]|0;
$magicptr$i = $7;
L8: do {
switch ($magicptr$i|0) {
case 0: {
$24 = (_malloc(4)|0);
$25 = ($24|0)==(0|0);
L14: do {
if ($25) {
__THREW__ = 0;
invoke_v(62);
$26 = __THREW__; __THREW__ = 0;
label = 25;
} else {
HEAP32[$24>>2] = (208);
(_pthread_mutex_lock(((7032)|0))|0);
$27 = HEAP32[1785]|0;
$28 = $27;
L17: do {
switch ($27|0) {
case 0: {
$29 = (_malloc(12)|0);
$30 = ($29|0)==(0|0);
if (!($30)) {
HEAP32[$29>>2] = 1;
$35 = ((($29)) + 4|0);
HEAP32[$35>>2] = 0;
$36 = ((($29)) + 8|0);
HEAP32[$36>>2] = 0;
HEAP32[1785] = $29;
$38 = $29;
label = 33;
break L17;
}
__THREW__ = 0;
invoke_v(62);
$31 = __THREW__; __THREW__ = 0;
$32 = ___cxa_find_matching_catch_2()|0;
$33 = tempRet0;
$34 = ($24|0)==((488447261)|0);
if ($34) {
$eh$lpad$body$i$index6Z2D = $33;$eh$lpad$body$i$indexZ2D = $32;
break L14;
}
_free($24);
$eh$lpad$body$i$index6Z2D = $33;$eh$lpad$body$i$indexZ2D = $32;
break L14;
break;
}
case 1: {
(_pthread_mutex_unlock(((7032)|0))|0);
$54 = ($24|0)==((488447261)|0);
if ($54) {
$ret$0$off010$i = 0;
} else {
_free($24);
$ret$0$off010$i = 0;
}
break;
}
default: {
$38 = $28;
label = 33;
}
}
} while(0);
if ((label|0) == 33) {
$37 = ((($38)) + 8|0);
$39 = HEAP32[$37>>2]|0;
$40 = ((($38)) + 4|0);
$41 = HEAP32[$40>>2]|0;
$42 = ($39|0)==($41|0);
do {
if ($42) {
__THREW__ = 0;
invoke_vi(99,($38|0));
$46 = __THREW__; __THREW__ = 0;
$47 = $46&1;
if (!($47)) {
$$pre$i$i3 = HEAP32[$37>>2]|0;
$50 = $$pre$i$i3;
break;
}
$43 = ___cxa_find_matching_catch_2()|0;
$44 = tempRet0;
$45 = ($24|0)==((488447261)|0);
if ($45) {
$eh$lpad$body$i$index6Z2D = $44;$eh$lpad$body$i$indexZ2D = $43;
break L14;
}
_free($24);
$eh$lpad$body$i$index6Z2D = $44;$eh$lpad$body$i$indexZ2D = $43;
break L14;
} else {
$50 = $39;
}
} while(0);
$48 = HEAP32[$38>>2]|0;
$49 = (($48) + ($50<<3)|0);
$$cast$i$i$i = $24;
HEAP32[$49>>2] = $$cast$i$i$i;
$51 = (((($48) + ($50<<3)|0)) + 4|0);
HEAP32[$51>>2] = 248;
$52 = HEAP32[$37>>2]|0;
$53 = (($52) + 1)|0;
HEAP32[$37>>2] = $53;
(_pthread_mutex_unlock(((7032)|0))|0);
$ret$0$off010$i = 1;
}
$55 = HEAP32[(244)>>2]|0;
__THREW__ = 0;
$56 = (invoke_i($55|0)|0);
$57 = __THREW__; __THREW__ = 0;
$58 = $57&1;
if ($58) {
label = 25;
} else {
HEAP32[$ret$i$i>>2] = $56;
$59 = $56;
do {
if ($ret$0$off010$i) {
$69 = HEAP32[$59>>2]|0;HEAP32[$59>>2] = (($69+1)|0);
$70 = ($69|0)<(0);
if ($70) {
_llvm_trap();
// unreachable;
}
HEAP32[$x$i$i$i>>2] = $56;
$71 = (_malloc(4)|0);
$72 = ($71|0)==(0|0);
if (!($72)) {
HEAP32[$71>>2] = $56;
HEAP32[(240)>>2] = $71;
$$pre$i1$i = HEAP32[$ret$i$i>>2]|0;
$98 = $$pre$i1$i;
break;
}
__THREW__ = 0;
invoke_v(62);
$73 = __THREW__; __THREW__ = 0;
$74 = ___cxa_find_matching_catch_2()|0;
$75 = tempRet0;
$76 = ($59|0)==((488447261)|0);
if ($76) {
$eh$lpad$body$i$i$index17Z2D = $75;$eh$lpad$body$i$i$indexZ2D = $74;
} else {
$77 = HEAP32[$59>>2]|0;HEAP32[$59>>2] = (($77-1)|0);
$78 = ($77|0)==(1);
if ($78) {
/* fence */;
__THREW__ = 0;
invoke_vi(100,($x$i$i$i|0));
$79 = __THREW__; __THREW__ = 0;
$80 = $79&1;
if ($80) {
$60 = ___cxa_find_matching_catch_2()|0;
$61 = tempRet0;
$eh$lpad$body$i$i$index17Z2D = $61;$eh$lpad$body$i$i$indexZ2D = $60;
} else {
$eh$lpad$body$i$i$index17Z2D = $75;$eh$lpad$body$i$i$indexZ2D = $74;
}
} else {
$eh$lpad$body$i$i$index17Z2D = $75;$eh$lpad$body$i$i$indexZ2D = $74;
}
}
$62 = HEAP32[$ret$i$i>>2]|0;
$63 = ($62|0)==(488447261);
if (!($63)) {
$64 = $62;
$65 = HEAP32[$64>>2]|0;HEAP32[$64>>2] = (($65-1)|0);
$66 = ($65|0)==(1);
if ($66) {
/* fence */;
__THREW__ = 0;
invoke_vi(100,($ret$i$i|0));
$67 = __THREW__; __THREW__ = 0;
$68 = $67&1;
if ($68) {
label = 25;
break L14;
}
}
}
$eh$lpad$body$i$index6Z2D = $eh$lpad$body$i$i$index17Z2D;$eh$lpad$body$i$indexZ2D = $eh$lpad$body$i$i$indexZ2D;
break L14;
} else {
$98 = $56;
}
} while(0);
$sret_slot$sroa$0$0$i = $98;
break L8;
}
}
} while(0);
if ((label|0) == 25) {
$22 = ___cxa_find_matching_catch_2()|0;
$23 = tempRet0;
$eh$lpad$body$i$index6Z2D = $23;$eh$lpad$body$i$indexZ2D = $22;
}
$switch$i = ($6<<24>>24)==(1);
$9 = ($8<<24>>24)==(0);
if ($switch$i) {
do {
if ($9) {
$16 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0);
$switchtmp$i$i$i18$i = ($16|0)==(0|0);
if ($switchtmp$i$i$i18$i) {
__ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57);
// unreachable;
}
$17 = HEAP32[$16>>2]|0;
$switch$i$i20$i = ($17|0)==(1);
if (!($switch$i$i20$i)) {
$18 = $16;
$19 = $18;
HEAP32[$19>>2] = 1;
$20 = (($18) + 4)|0;
$21 = $20;
HEAP32[$21>>2] = 0;
break;
}
$$sink$in$phi$trans$insert$i14$i = ((($16)) + 4|0);
$$pre$i16$i = HEAP32[$$sink$in$phi$trans$insert$i14$i>>2]|0;
$phitmp$i17$i = ($$pre$i16$i|0)==(0);
if (!($phitmp$i17$i)) {
HEAP8[(232)>>0] = 1;
}
}
} while(0);
(_pthread_mutex_unlock(((208)|0))|0);
___resumeException($eh$lpad$body$i$indexZ2D|0);
// unreachable;
} else {
do {
if ($9) {
$10 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0);
$switchtmp$i$i$i$i = ($10|0)==(0|0);
if ($switchtmp$i$i$i$i) {
__ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57);
// unreachable;
}
$11 = HEAP32[$10>>2]|0;
$switch$i$i13$i = ($11|0)==(1);
if (!($switch$i$i13$i)) {
$12 = $10;
$13 = $12;
HEAP32[$13>>2] = 1;
$14 = (($12) + 4)|0;
$15 = $14;
HEAP32[$15>>2] = 0;
break;
}
$$sink$in$phi$trans$insert$i9$i = ((($10)) + 4|0);
$$pre$i11$i = HEAP32[$$sink$in$phi$trans$insert$i9$i>>2]|0;
$phitmp$i12$i = ($$pre$i11$i|0)==(0);
if (!($phitmp$i12$i)) {
HEAP8[(232)>>0] = 1;
}
}
} while(0);
(_pthread_mutex_unlock(((208)|0))|0);
___resumeException($eh$lpad$body$i$indexZ2D|0);
// unreachable;
}
break;
}
case 1: {
$sret_slot$sroa$0$0$i = 0;
break;
}
default: {
$81 = HEAP32[$7>>2]|0;
$82 = HEAP32[$81>>2]|0;HEAP32[$81>>2] = (($82+1)|0);
$83 = ($82|0)<(0);
if ($83) {
_llvm_trap();
// unreachable;
} else {
$84 = $81;
$sret_slot$sroa$0$0$i = $84;
break L8;
}
}
}
} while(0);
$85 = ($8<<24>>24)==(0);
if ($switch$i$i$i) {
do {
if ($85) {
$86 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0);
$switchtmp$i$i$i28$i = ($86|0)==(0|0);
if ($switchtmp$i$i$i28$i) {
__ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57);
// unreachable;
}
$87 = HEAP32[$86>>2]|0;
$switch$i$i31$i = ($87|0)==(1);
if (!($switch$i$i31$i)) {
$88 = $86;
$89 = $88;
HEAP32[$89>>2] = 1;
$90 = (($88) + 4)|0;
$91 = $90;
HEAP32[$91>>2] = 0;
break;
}
$$sink$in$phi$trans$insert$i23$i = ((($86)) + 4|0);
$$pre$i25$i = HEAP32[$$sink$in$phi$trans$insert$i23$i>>2]|0;
$phitmp$i26$i = ($$pre$i25$i|0)==(0);
if (!($phitmp$i26$i)) {
HEAP8[(232)>>0] = 1;
}
}
} while(0);
(_pthread_mutex_unlock(((208)|0))|0);
} else {
do {
if ($85) {
$92 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0);
$switchtmp$i$i$i42$i = ($92|0)==(0|0);
if ($switchtmp$i$i$i42$i) {
__ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57);
// unreachable;
}
$93 = HEAP32[$92>>2]|0;
$switch$i$i45$i = ($93|0)==(1);
if (!($switch$i$i45$i)) {
$94 = $92;
$95 = $94;
HEAP32[$95>>2] = 1;
$96 = (($94) + 4)|0;
$97 = $96;
HEAP32[$97>>2] = 0;
break;
}
$$sink$in$phi$trans$insert$i37$i = ((($92)) + 4|0);
$$pre$i39$i = HEAP32[$$sink$in$phi$trans$insert$i37$i>>2]|0;
$phitmp$i40$i = ($$pre$i39$i|0)==(0);
if (!($phitmp$i40$i)) {
HEAP8[(232)>>0] = 1;
}
}
} while(0);
(_pthread_mutex_unlock(((208)|0))|0);
}
$switchtmp$i = ($sret_slot$sroa$0$0$i|0)==(0);
if ($switchtmp$i) {
__ZN6option13expect_failed20h1df5d3b437d73060lTOE(3225,36);
// unreachable;
} else {
STACKTOP = sp;return ($sret_slot$sroa$0$0$i|0);
}
return (0)|0;
}
function __ZN2io5stdio6stdout11stdout_init20h3e86aae537bf8f30ZihE() {
var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arg$i = 0;
var $attr$i$i = 0, $mutex$i$sroa$5 = 0, $mutex$i$sroa$7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$attr$i$i = sp + 112|0;
$mutex$i$sroa$5 = sp + 119|0;
$mutex$i$sroa$7 = sp + 116|0;
$arg$i = sp + 88|0;
$0 = sp + 48|0;
$1 = sp + 24|0;
$2 = sp;
$3 = ((($2)) + 1|0);
HEAP8[$3>>0] = 0;
HEAP8[$2>>0] = 1;
$4 = (_malloc(1024)|0);
$5 = ($4|0)==(0|0);
if ($5) {
__ZN3oom3oom20hc88b31053092c214PzbE();
// unreachable;
}
$6 = ((($2)) + 4|0);
$7 = $4;
HEAP32[$6>>2] = $7;
$8 = ((($2)) + 8|0);
HEAP32[$8>>2] = 1024;
$9 = ((($2)) + 12|0);
HEAP32[$9>>2] = 0;
$10 = ((($2)) + 16|0);
HEAP8[$10>>0] = 0;
$11 = ((($2)) + 17|0);
HEAP8[$11>>0] = -44;
;HEAP32[$arg$i>>2]=HEAP32[$2>>2]|0;HEAP32[$arg$i+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$arg$i+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$arg$i+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$arg$i+16>>2]=HEAP32[$2+16>>2]|0;
;HEAP32[$2>>2]=488447261|0;HEAP32[$2+4>>2]=488447261|0;HEAP32[$2+8>>2]=488447261|0;HEAP32[$2+12>>2]=488447261|0;HEAP32[$2+16>>2]=488447261|0;
$12 = ((($1)) + 4|0);
;HEAP32[$12>>2]=HEAP32[$arg$i>>2]|0;HEAP32[$12+4>>2]=HEAP32[$arg$i+4>>2]|0;HEAP32[$12+8>>2]=HEAP32[$arg$i+8>>2]|0;HEAP32[$12+12>>2]=HEAP32[$arg$i+12>>2]|0;HEAP32[$12+16>>2]=HEAP32[$arg$i+16>>2]|0;
;HEAP32[$arg$i>>2]=488447261|0;HEAP32[$arg$i+4>>2]=488447261|0;HEAP32[$arg$i+8>>2]=488447261|0;HEAP32[$arg$i+12>>2]=488447261|0;HEAP32[$arg$i+16>>2]=488447261|0;
__THREW__ = 0;
invoke_vi(101,($arg$i|0));
$13 = __THREW__; __THREW__ = 0;
$14 = $13&1;
if ($14) {
$15 = ___cxa_find_matching_catch_2()|0;
$16 = tempRet0;
__ZN76io__buffered__LineWriter_LT_io__stdio__Maybe_LT_io__stdio__StdoutRaw_GT__GT_10drop_4147817he88201fd725f9280E($2);
___resumeException($15|0);
// unreachable;
}
HEAP32[$1>>2] = 0;
__ZN76io__buffered__LineWriter_LT_io__stdio__Maybe_LT_io__stdio__StdoutRaw_GT__GT_10drop_4147817he88201fd725f9280E($2);
$17 = (_malloc(24)|0);
$18 = ($17|0)==(0|0);
if ($18) {
__THREW__ = 0;
invoke_v(62);
$19 = __THREW__; __THREW__ = 0;
$20 = ___cxa_find_matching_catch_2()|0;
$21 = tempRet0;
$22 = ((($1)) + 4|0);
__ZN76io__buffered__LineWriter_LT_io__stdio__Maybe_LT_io__stdio__StdoutRaw_GT__GT_10drop_4147817he88201fd725f9280E($22);
___resumeException($20|0);
// unreachable;
}
$23 = ((($mutex$i$sroa$5)) + 3|0);
dest=$23; src=$1; stop=dest+24|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
;HEAP32[$1>>2]=488447261|0;HEAP32[$1+4>>2]=488447261|0;HEAP32[$1+8>>2]=488447261|0;HEAP32[$1+12>>2]=488447261|0;HEAP32[$1+16>>2]=488447261|0;HEAP32[$1+20>>2]=488447261|0;
(_pthread_mutexattr_init(($attr$i$i|0))|0);
(_pthread_mutexattr_settype(($attr$i$i|0),1)|0);
(_pthread_mutex_init(($17|0),($attr$i$i|0))|0);
(_pthread_mutexattr_destroy(($attr$i$i|0))|0);
HEAP32[$0>>2] = $17;
$24 = ((($0)) + 4|0);
HEAP8[$24>>0] = 0;
$25 = ((($0)) + 5|0);
dest=$25; src=$mutex$i$sroa$5; stop=dest+27|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
$26 = ((($0)) + 32|0);
HEAP8[$26>>0] = -44;
$27 = ((($0)) + 33|0);
;HEAP8[$27>>0]=HEAP8[$mutex$i$sroa$7>>0]|0;HEAP8[$27+1>>0]=HEAP8[$mutex$i$sroa$7+1>>0]|0;HEAP8[$27+2>>0]=HEAP8[$mutex$i$sroa$7+2>>0]|0;
$28 = ((($1)) + 4|0);
__ZN76io__buffered__LineWriter_LT_io__stdio__Maybe_LT_io__stdio__StdoutRaw_GT__GT_10drop_4147817he88201fd725f9280E($28);
$29 = (_malloc(44)|0);
$30 = ($29|0)==(0|0);
if (!($30)) {
HEAP32[$29>>2] = 1;
$36 = ((($29)) + 4|0);
HEAP32[$36>>2] = 1;
$37 = ((($29)) + 8|0);
dest=$37; src=$0; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
$38 = $29;
STACKTOP = sp;return ($38|0);
}
__THREW__ = 0;
invoke_v(62);
$31 = __THREW__; __THREW__ = 0;
$32 = ___cxa_find_matching_catch_2()|0;
$33 = tempRet0;
(_pthread_mutex_destroy(($17|0))|0);
$34 = ($17|0)==((488447261)|0);
if ($34) {
$35 = ((($0)) + 12|0);
__ZN76io__buffered__LineWriter_LT_io__stdio__Maybe_LT_io__stdio__StdoutRaw_GT__GT_10drop_4147817he88201fd725f9280E($35);
___resumeException($32|0);
// unreachable;
}
_free($17);
$35 = ((($0)) + 12|0);
__ZN76io__buffered__LineWriter_LT_io__stdio__Maybe_LT_io__stdio__StdoutRaw_GT__GT_10drop_4147817he88201fd725f9280E($35);
___resumeException($32|0);
// unreachable;
return (0)|0;
}
function __ZN76io__buffered__LineWriter_LT_io__stdio__Maybe_LT_io__stdio__StdoutRaw_GT__GT_10drop_4147817he88201fd725f9280E($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_r$i$i = 0, $cond$i$i$i = 0;
var $cond$i$i$i$i$i = 0, $switch$i$i$i = 0, $switch$split12D = 0, $switch$split2D = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$_r$i$i = sp;
$1 = ((($0)) + 17|0);
$2 = HEAP8[$1>>0]|0;
$3 = ($2<<24>>24)==(-44);
if (!($3)) {
STACKTOP = sp;return;
}
$4 = HEAP8[$0>>0]|0;
$switch$i$i$i = ($4<<24>>24)==(1);
$5 = ((($0)) + 16|0);
$6 = HEAP8[$5>>0]|0;
$7 = ($6<<24>>24)==(0);
$8 = $switch$i$i$i & $7;
L4: do {
if ($8) {
__THREW__ = 0;
invoke_vii(102,($_r$i$i|0),($0|0));
$9 = __THREW__; __THREW__ = 0;
$10 = $9&1;
do {
if (!($10)) {
$11 = HEAP32[$_r$i$i>>2]|0;
$cond$i$i$i = ($11|0)==(1);
if ($cond$i$i$i) {
$12 = ((($_r$i$i)) + 4|0);
$13 = HEAP32[$12>>2]|0;
$cond$i$i$i$i$i = ($13|0)==(1);
if ($cond$i$i$i$i$i) {
$14 = ((($_r$i$i)) + 8|0);
$15 = HEAP32[$14>>2]|0;
$16 = ($15|0)==((488447261)|0);
if (!($16)) {
$17 = ((($15)) + 4|0);
$18 = HEAP32[$17>>2]|0;
$19 = ($18|0)==((488447261)|0);
if (!($19)) {
$20 = ((($15)) + 8|0);
$21 = HEAP32[$20>>2]|0;
$22 = HEAP32[$21>>2]|0;
__THREW__ = 0;
invoke_vi($22|0,($18|0));
$23 = __THREW__; __THREW__ = 0;
$24 = $23&1;
if ($24) {
break;
}
$25 = HEAP32[$20>>2]|0;
$26 = ((($25)) + 4|0);
$27 = HEAP32[$26>>2]|0;
$28 = ($27|0)==(0);
if (!($28)) {
_free($18);
}
}
_free($15);
}
}
}
break L4;
}
} while(0);
$33 = ___cxa_find_matching_catch_2()|0;
$34 = tempRet0;
$35 = ((($0)) + 8|0);
$36 = HEAP32[$35>>2]|0;
$switch$split12D = ($36|0)<(488447261);
L19: do {
if ($switch$split12D) {
switch ($36|0) {
case 0: {
break;
}
default: {
break L19;
}
}
___resumeException($33|0);
// unreachable;
} else {
switch ($36|0) {
case 488447261: {
break;
}
default: {
break L19;
}
}
___resumeException($33|0);
// unreachable;
}
} while(0);
$37 = ((($0)) + 4|0);
$38 = HEAP32[$37>>2]|0;
_free($38);
___resumeException($33|0);
// unreachable;
}
} while(0);
$29 = ((($0)) + 8|0);
$30 = HEAP32[$29>>2]|0;
$switch$split2D = ($30|0)<(488447261);
L27: do {
if ($switch$split2D) {
switch ($30|0) {
case 0: {
break;
}
default: {
break L27;
}
}
STACKTOP = sp;return;
} else {
switch ($30|0) {
case 488447261: {
break;
}
default: {
break L27;
}
}
STACKTOP = sp;return;
}
} while(0);
$31 = ((($0)) + 4|0);
$32 = HEAP32[$31>>2]|0;
_free($32);
STACKTOP = sp;return;
}
function __ZN2io8buffered18BufWriter_LT_W_GT_9flush_buf20h8668712493739691759E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$sroa$021$0113 = 0, $$sroa$5$0114 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond$i$i$i23 = 0;
var $cond$i22 = 0, $cond18 = 0, $not$switch$i = 0, $or$cond = 0, $r$sroa$11$sroa$0$1119 = 0, $ret$sroa$0$0 = 0, $ret$sroa$0$0207 = 0, $ret$sroa$12$sroa$0$0 = 0, $ret$sroa$12$sroa$0$0208 = 0, $ret$sroa$12$sroa$12$0 = 0, $ret$sroa$12$sroa$12$0209 = 0, $switch$i32 = 0, $written$0$ph160 = 0, $written$0$ph178 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$2 = sp;
$3 = ((($1)) + 12|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)==(0);
do {
if ($5) {
$ret$sroa$0$0207 = 0;$ret$sroa$12$sroa$0$0208 = 0;$ret$sroa$12$sroa$12$0209 = 0;
} else {
$6 = ((($1)) + 16|0);
$7 = ((($1)) + 1|0);
$8 = ((($1)) + 4|0);
$written$0$ph178 = 0;
L3: while(1) {
L5: while(1) {
HEAP8[$6>>0] = 1;
$12 = HEAP8[$1>>0]|0;
$not$switch$i = ($12<<24>>24)==(1);
if (!($not$switch$i)) {
label = 7;
break L3;
}
$28 = HEAP32[$3>>2]|0;
$29 = ($28>>>0)<($written$0$ph178>>>0);
if ($29) {
label = 16;
break L3;
}
$31 = (($28) - ($written$0$ph178))|0;
$32 = HEAP8[$7>>0]|0;
$switch$i32 = ($32<<24>>24)==(1);
if ($switch$i32) {
label = 18;
break;
}
$33 = HEAP32[$8>>2]|0;
$34 = (($33) + ($written$0$ph178)|0);
$35 = (_write(1,$34,$31)|0);
$36 = ($35|0)==(-1);
if (!($36)) {
label = 21;
break;
}
$37 = (___errno_location()|0);
$38 = HEAP32[$37>>2]|0;
HEAP8[$6>>0] = 0;
switch ($38|0) {
case 4: {
break;
}
case 9: {
$r$sroa$11$sroa$0$1119 = $31;
break L5;
break;
}
default: {
$ret$sroa$0$0 = 1;$ret$sroa$12$sroa$0$0 = 0;$ret$sroa$12$sroa$12$0 = $38;$written$0$ph160 = $written$0$ph178;
break L3;
}
}
}
if ((label|0) == 18) {
label = 0;
HEAP8[$6>>0] = 0;
$r$sroa$11$sroa$0$1119 = $31;
}
else if ((label|0) == 21) {
label = 0;
HEAP8[$6>>0] = 0;
$r$sroa$11$sroa$0$1119 = $35;
}
$cond18 = ($r$sroa$11$sroa$0$1119|0)==(0);
$9 = (($r$sroa$11$sroa$0$1119) + ($written$0$ph178))|0;
if ($cond18) {
label = 23;
break;
}
$10 = ($9>>>0)<($4>>>0);
if ($10) {
$written$0$ph178 = $9;
} else {
$ret$sroa$0$0 = 0;$ret$sroa$12$sroa$0$0 = 0;$ret$sroa$12$sroa$12$0 = 0;$written$0$ph160 = $9;
break;
}
}
do {
if ((label|0) == 7) {
__THREW__ = 0;
invoke_vi(59,(1488|0));
$13 = __THREW__; __THREW__ = 0;
label = 8;
}
else if ((label|0) == 16) {
__THREW__ = 0;
invoke_vii(84,($written$0$ph178|0),($28|0));
$30 = __THREW__; __THREW__ = 0;
label = 8;
}
else if ((label|0) == 23) {
$39 = ((($2)) + 4|0);
__THREW__ = 0;
invoke_viiii(75,($39|0),14,(3192|0),33);
$40 = __THREW__; __THREW__ = 0;
$41 = $40&1;
if (!($41)) {
HEAP32[$2>>2] = 1;
$44 = ((($2)) + 4|0);
$45 = HEAP32[$44>>2]|0;
$46 = ((($2)) + 8|0);
$47 = HEAP32[$46>>2]|0;
$ret$sroa$0$0 = 1;$ret$sroa$12$sroa$0$0 = $45;$ret$sroa$12$sroa$12$0 = $47;$written$0$ph160 = $written$0$ph178;
break;
}
$42 = ___cxa_find_matching_catch_2()|0;
$43 = tempRet0;
$$sroa$021$0113 = $42;$$sroa$5$0114 = $43;
___resumeException($$sroa$021$0113|0);
// unreachable;
}
} while(0);
if ((label|0) == 8) {
$14 = ___cxa_find_matching_catch_2()|0;
$15 = tempRet0;
$$sroa$021$0113 = $14;$$sroa$5$0114 = $15;
___resumeException($$sroa$021$0113|0);
// unreachable;
}
$11 = ($written$0$ph160|0)==(0);
if ($11) {
$ret$sroa$0$0207 = $ret$sroa$0$0;$ret$sroa$12$sroa$0$0208 = $ret$sroa$12$sroa$0$0;$ret$sroa$12$sroa$12$0209 = $ret$sroa$12$sroa$12$0;
} else {
$48 = HEAP32[$3>>2]|0;
$49 = ($48>>>0)<($written$0$ph160>>>0);
if (!($49)) {
HEAP32[$3>>2] = 0;
$53 = (($48) - ($written$0$ph160))|0;
$54 = ($48|0)==($written$0$ph160|0);
if ($54) {
$ret$sroa$0$0207 = $ret$sroa$0$0;$ret$sroa$12$sroa$0$0208 = $ret$sroa$12$sroa$0$0;$ret$sroa$12$sroa$12$0209 = $ret$sroa$12$sroa$12$0;
break;
}
$55 = HEAP32[$8>>2]|0;
$56 = (($55) + ($written$0$ph160)|0);
_memmove(($55|0),($56|0),($53|0))|0;
HEAP32[$3>>2] = $53;
$ret$sroa$0$0207 = $ret$sroa$0$0;$ret$sroa$12$sroa$0$0208 = $ret$sroa$12$sroa$0$0;$ret$sroa$12$sroa$12$0209 = $ret$sroa$12$sroa$12$0;
break;
}
__THREW__ = 0;
invoke_vi(59,(900|0));
$50 = __THREW__; __THREW__ = 0;
$51 = ___cxa_find_matching_catch_2()|0;
$52 = tempRet0;
$cond$i22 = ($ret$sroa$0$0|0)==(1);
$cond$i$i$i23 = ($ret$sroa$12$sroa$0$0|0)==(1);
$or$cond = $cond$i22 & $cond$i$i$i23;
if (!($or$cond)) {
$$sroa$021$0113 = $51;$$sroa$5$0114 = $52;
___resumeException($$sroa$021$0113|0);
// unreachable;
}
$16 = $ret$sroa$12$sroa$12$0;
$17 = ($16|0)==((488447261)|0);
if ($17) {
$$sroa$021$0113 = $51;$$sroa$5$0114 = $52;
___resumeException($$sroa$021$0113|0);
// unreachable;
}
$18 = ((($16)) + 4|0);
$19 = HEAP32[$18>>2]|0;
$20 = ($19|0)==((488447261)|0);
if (!($20)) {
$21 = ((($16)) + 8|0);
$22 = HEAP32[$21>>2]|0;
$23 = HEAP32[$22>>2]|0;
FUNCTION_TABLE_vi[$23 & 127]($19);
$24 = HEAP32[$21>>2]|0;
$25 = ((($24)) + 4|0);
$26 = HEAP32[$25>>2]|0;
$27 = ($26|0)==(0);
if (!($27)) {
_free($19);
}
}
_free($16);
$$sroa$021$0113 = $51;$$sroa$5$0114 = $52;
___resumeException($$sroa$021$0113|0);
// unreachable;
}
}
} while(0);
HEAP32[$0>>2] = $ret$sroa$0$0207;
$57 = ((($0)) + 4|0);
HEAP32[$57>>2] = $ret$sroa$12$sroa$0$0208;
$58 = ((($0)) + 8|0);
HEAP32[$58>>2] = $ret$sroa$12$sroa$12$0209;
STACKTOP = sp;return;
}
function __ZN5boxed16F_FnBox_LT_A_GT_8call_box20h1367375657117353903E($0,$$ptr) {
$0 = $0|0;
$$ptr = $$ptr|0;
var $$pre$i$i = 0, $$pre$i$i$i = 0, $$pre$i11$i = 0, $$sink$in$phi$trans$insert$i$i = 0, $$sink$in$phi$trans$insert$i$i$i = 0, $$sink$in$phi$trans$insert$i9$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0;
var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp$i = 0, $phitmp$i$i$i = 0, $phitmp$i12$i = 0, $switch$i$i$i = 0, $switch$i$i$i$i = 0;
var $switch$i$i$i$i$i = 0, $switch$i$i15$i = 0, $switchtmp$i$i$i$i = 0, $switchtmp$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$2 = $1;
(_pthread_mutex_lock(($2|0))|0);
__THREW__ = 0;
$3 = (invoke_i(63)|0);
$4 = __THREW__; __THREW__ = 0;
$5 = $4&1;
L1: do {
if (!($5)) {
$switchtmp$i$i$i$i$i$i = ($3|0)==(0|0);
if ($switchtmp$i$i$i$i$i$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$6 = __THREW__; __THREW__ = 0;
break;
}
$7 = HEAP32[$3>>2]|0;
$switch$i$i$i$i$i = ($7|0)==(1);
if ($switch$i$i$i$i$i) {
$$sink$in$phi$trans$insert$i$i = ((($3)) + 4|0);
$$pre$i$i = HEAP32[$$sink$in$phi$trans$insert$i$i>>2]|0;
$phitmp$i = ($$pre$i$i|0)==(0);
$49 = $phitmp$i;
} else {
$8 = $3;
$9 = $8;
HEAP32[$9>>2] = 1;
$10 = (($8) + 4)|0;
$11 = $10;
HEAP32[$11>>2] = 0;
$49 = 1;
}
$12 = ((($2)) + 24|0);
$13 = HEAP8[$12>>0]|0;
$switch$i$i$i = ($13<<24>>24)==(0);
$14 = ((($2)) + 32|0);
$15 = HEAP32[$14>>2]|0;
HEAP32[$14>>2] = (1);
$16 = $1;
if ($switch$i$i$i) {
do {
if ($49) {
__THREW__ = 0;
$17 = (invoke_i(63)|0);
$18 = __THREW__; __THREW__ = 0;
$19 = $18&1;
if ($19) {
break L1;
}
$switchtmp$i$i$i$i$i = ($17|0)==(0|0);
if ($switchtmp$i$i$i$i$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$20 = __THREW__; __THREW__ = 0;
break L1;
}
$21 = HEAP32[$17>>2]|0;
$switch$i$i$i$i = ($21|0)==(1);
if (!($switch$i$i$i$i)) {
$22 = $17;
$23 = $22;
HEAP32[$23>>2] = 1;
$24 = (($22) + 4)|0;
$25 = $24;
HEAP32[$25>>2] = 0;
break;
}
$$sink$in$phi$trans$insert$i$i$i = ((($17)) + 4|0);
$$pre$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i$i$i>>2]|0;
$phitmp$i$i$i = ($$pre$i$i$i|0)==(0);
if (!($phitmp$i$i$i)) {
$26 = ((($16)) + 24|0);
HEAP8[$26>>0] = 1;
}
}
} while(0);
(_pthread_mutex_unlock(($16|0))|0);
} else {
do {
if ($49) {
__THREW__ = 0;
$27 = (invoke_i(63)|0);
$28 = __THREW__; __THREW__ = 0;
$29 = $28&1;
if ($29) {
break L1;
}
$switchtmp$i$i$i$i = ($27|0)==(0|0);
if ($switchtmp$i$i$i$i) {
__THREW__ = 0;
invoke_vii(57,(2393|0),57);
$30 = __THREW__; __THREW__ = 0;
break L1;
}
$31 = HEAP32[$27>>2]|0;
$switch$i$i15$i = ($31|0)==(1);
if (!($switch$i$i15$i)) {
$32 = $27;
$33 = $32;
HEAP32[$33>>2] = 1;
$34 = (($32) + 4)|0;
$35 = $34;
HEAP32[$35>>2] = 0;
break;
}
$$sink$in$phi$trans$insert$i9$i = ((($27)) + 4|0);
$$pre$i11$i = HEAP32[$$sink$in$phi$trans$insert$i9$i>>2]|0;
$phitmp$i12$i = ($$pre$i11$i|0)==(0);
if (!($phitmp$i12$i)) {
$36 = ((($16)) + 24|0);
HEAP8[$36>>0] = 1;
}
}
} while(0);
(_pthread_mutex_unlock(($16|0))|0);
}
$37 = ($15|0)==((488447261)|0);
if (!($37)) {
$38 = HEAP32[$15>>2]|0;
$39 = ($38|0)==(488447261);
if (!($39)) {
$40 = $38;
$41 = HEAP32[$40>>2]|0;HEAP32[$40>>2] = (($41-1)|0);
$42 = ($41|0)==(1);
if ($42) {
/* fence */;
__THREW__ = 0;
invoke_vi(100,($15|0));
$43 = __THREW__; __THREW__ = 0;
$44 = $43&1;
if ($44) {
break;
}
}
}
_free($15);
}
$45 = ($0|0)==((488447261)|0);
if ($45) {
return;
}
_free($0);
return;
}
} while(0);
$46 = ___cxa_find_matching_catch_2()|0;
$47 = tempRet0;
$48 = ($0|0)==((488447261)|0);
if ($48) {
___resumeException($46|0);
// unreachable;
}
_free($0);
___resumeException($46|0);
// unreachable;
}
function __ZN3arc12Arc_LT_T_GT_9drop_slow21h18172976183440031798E($0) {
$0 = $0|0;
var $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$2 = ((($1)) + 40|0);
$3 = HEAP8[$2>>0]|0;
$4 = ($3<<24>>24)==(-44);
if ($4) {
$5 = ((($1)) + 8|0);
$6 = HEAP32[$5>>2]|0;
(_pthread_mutex_destroy(($6|0))|0);
$7 = HEAP32[$5>>2]|0;
$8 = ($7|0)==((488447261)|0);
if (!($8)) {
_free($7);
}
$9 = ((($1)) + 20|0);
__ZN76io__buffered__LineWriter_LT_io__stdio__Maybe_LT_io__stdio__StdoutRaw_GT__GT_10drop_4147817he88201fd725f9280E($9);
$$pre = HEAP32[$0>>2]|0;
$11 = $$pre;
} else {
$11 = $1;
}
$10 = ((($11)) + 4|0);
$12 = HEAP32[$10>>2]|0;HEAP32[$10>>2] = (($12-1)|0);
$13 = ($12|0)==(1);
if (!($13)) {
return;
}
/* fence */;
_free($1);
return;
}
function __ZN2io5stdio30StdoutLock_LT__u27_a_GT__Write5write20h932a6dd67e3b18cbTkhE($0,$$0$0$0$val,$1,$2) {
$0 = $0|0;
$$0$0$0$val = $$0$0$0$val|0;
$1 = $1|0;
$2 = $2|0;
var $$sink$i = 0, $$sroa$7$0$ph = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond$i$i = 0, $eh$lpad$body$index2Z2D = 0, $eh$lpad$body$indexZ2D = 0, $i$04$i$i$i$i = 0, $i$04$i9$i$i$i = 0, $iret_slot$i = 0, $llretslotptr$2$i = 0, $not$switch$i$i$i$i$i$i = 0, $offset$1$i$i$i = 0, $ret_slot$i = 0, $ret_slot14$i = 0, $ret_slot24$i = 0, $switch$i$i = 0, $switch$i$i$i = 0, $switch37$i = 0, label = 0;
var sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$3 = sp + 96|0;
$iret_slot$i = sp + 80|0;
$4 = sp + 64|0;
$ret_slot$i = sp + 48|0;
$ret_slot14$i = sp + 32|0;
$ret_slot24$i = sp + 16|0;
$5 = sp;
$6 = ((($$0$0$0$val)) + 8|0);
$7 = HEAP32[$6>>2]|0;
$cond$i$i = ($7|0)==(0);
if (!($cond$i$i)) {
__ZN9panicking5panic20h505ed693e1be0208ElME(1528);
// unreachable;
}
HEAP32[$6>>2] = -1;
$10 = ((($$0$0$0$val)) + 12|0);
$11 = $1;
$12 = (($11) + ($2))|0;
$13 = $12 & 3;
$14 = ($13|0)==(0);
L4: do {
if ($14) {
$offset$1$i$i$i = $2;
label = 19;
} else {
$15 = (4 - ($13))|0;
$16 = ($15>>>0)<=($2>>>0);
$17 = $16 ? $15 : $2;
$18 = (($2) - ($17))|0;
$19 = ($18>>>0)>($2>>>0);
if ($19) {
__THREW__ = 0;
invoke_vii(84,($18|0),($2|0));
$20 = __THREW__; __THREW__ = 0;
break;
}
$21 = (($1) + ($18)|0);
$22 = ($17|0)==(0);
if ($22) {
$offset$1$i$i$i = $18;
label = 19;
} else {
$23 = (($21) + ($17)|0);
$25 = $23;$i$04$i9$i$i$i = $17;
while(1) {
$24 = ((($25)) + -1|0);
$26 = HEAP8[$24>>0]|0;
$27 = ($26<<24>>24)==(10);
$28 = (($i$04$i9$i$i$i) + -1)|0;
if ($27) {
break;
}
$29 = ($24|0)==($21|0);
if ($29) {
$offset$1$i$i$i = $18;
label = 19;
break L4;
} else {
$25 = $24;$i$04$i9$i$i$i = $28;
}
}
$30 = (($28) + ($18))|0;
$$sroa$7$0$ph = $30;
label = 21;
}
}
} while(0);
L14: do {
if ((label|0) == 19) {
while(1) {
label = 0;
$41 = ($offset$1$i$i$i>>>0)>(7);
if (!($41)) {
break;
}
$42 = (($offset$1$i$i$i) + -8)|0;
$43 = (($1) + ($42)|0);
$44 = HEAP32[$43>>2]|0;
$45 = (($offset$1$i$i$i) + -4)|0;
$46 = (($1) + ($45)|0);
$47 = HEAP32[$46>>2]|0;
$48 = $44 ^ 168430090;
$49 = (($48) + -16843009)|0;
$50 = $44 & -2139062144;
$51 = $50 ^ -2139062144;
$52 = $51 & $49;
$53 = $47 ^ 168430090;
$54 = (($53) + -16843009)|0;
$55 = $47 & -2139062144;
$56 = $55 ^ -2139062144;
$57 = $56 & $54;
$58 = $57 | $52;
$59 = ($58|0)==(0);
if ($59) {
$offset$1$i$i$i = $42;
label = 19;
} else {
break;
}
}
$31 = ($offset$1$i$i$i>>>0)>($2>>>0);
if ($31) {
__THREW__ = 0;
invoke_vii(76,($offset$1$i$i$i|0),($2|0));
$32 = __THREW__; __THREW__ = 0;
break;
}
$33 = ($offset$1$i$i$i|0)==(0);
if (!($33)) {
$34 = (($1) + ($offset$1$i$i$i)|0);
$36 = $34;$i$04$i$i$i$i = $offset$1$i$i$i;
while(1) {
$35 = ((($36)) + -1|0);
$37 = HEAP8[$35>>0]|0;
$38 = ($37<<24>>24)==(10);
$39 = (($i$04$i$i$i$i) + -1)|0;
if ($38) {
$$sroa$7$0$ph = $39;
label = 21;
break L14;
}
$40 = ($35|0)==($1|0);
if ($40) {
break;
} else {
$36 = $35;$i$04$i$i$i$i = $39;
}
}
}
__THREW__ = 0;
invoke_viiii(103,($iret_slot$i|0),($10|0),($1|0),($2|0));
$66 = __THREW__; __THREW__ = 0;
$67 = $66&1;
if (!($67)) {
$llretslotptr$2$i = $iret_slot$i;
;HEAP32[$0>>2]=HEAP32[$llretslotptr$2$i>>2]|0;HEAP32[$0+4>>2]=HEAP32[$llretslotptr$2$i+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$llretslotptr$2$i+8>>2]|0;
HEAP32[$6>>2] = 0;
STACKTOP = sp;return;
}
}
} while(0);
do {
if ((label|0) == 21) {
$60 = (($$sroa$7$0$ph) + 1)|0;
$61 = ($60>>>0)>($2>>>0);
if ($61) {
__THREW__ = 0;
invoke_vii(76,($60|0),($2|0));
$62 = __THREW__; __THREW__ = 0;
break;
}
__THREW__ = 0;
invoke_viiii(103,($4|0),($10|0),($1|0),($60|0));
$63 = __THREW__; __THREW__ = 0;
$64 = $63&1;
if (!($64)) {
$65 = HEAP32[$4>>2]|0;
$switch37$i = ($65|0)==(1);
if ($switch37$i) {
$71 = ((($4)) + 4|0);
$72 = ((($ret_slot$i)) + 4|0);
$73 = $71;
$74 = $73;
$75 = HEAP32[$74>>2]|0;
$76 = (($73) + 4)|0;
$77 = $76;
$78 = HEAP32[$77>>2]|0;
$79 = $72;
$80 = $79;
HEAP32[$80>>2] = $75;
$81 = (($79) + 4)|0;
$82 = $81;
HEAP32[$82>>2] = $78;
HEAP32[$ret_slot$i>>2] = 1;
$llretslotptr$2$i = $ret_slot$i;
;HEAP32[$0>>2]=HEAP32[$llretslotptr$2$i>>2]|0;HEAP32[$0+4>>2]=HEAP32[$llretslotptr$2$i+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$llretslotptr$2$i+8>>2]|0;
HEAP32[$6>>2] = 0;
STACKTOP = sp;return;
}
$68 = ((($4)) + 4|0);
$69 = HEAP32[$68>>2]|0;
$70 = ($69|0)==($60|0);
if (!($70)) {
$83 = ((($ret_slot14$i)) + 4|0);
HEAP32[$83>>2] = $69;
HEAP32[$ret_slot14$i>>2] = 0;
$llretslotptr$2$i = $ret_slot14$i;
;HEAP32[$0>>2]=HEAP32[$llretslotptr$2$i>>2]|0;HEAP32[$0+4>>2]=HEAP32[$llretslotptr$2$i+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$llretslotptr$2$i+8>>2]|0;
HEAP32[$6>>2] = 0;
STACKTOP = sp;return;
}
__THREW__ = 0;
invoke_vii(102,($3|0),($10|0));
$84 = __THREW__; __THREW__ = 0;
$85 = $84&1;
if (!($85)) {
$86 = HEAP32[$3>>2]|0;
$switch$i$i$i = ($86|0)==(1);
if ($switch$i$i$i) {
$116 = ((($3)) + 4|0);
$117 = HEAP32[$116>>2]|0;
$118 = ((($3)) + 8|0);
$119 = HEAP32[$118>>2]|0;
$120 = ((($ret_slot24$i)) + 4|0);
$121 = $120;
$122 = $121;
HEAP32[$122>>2] = $117;
$123 = (($121) + 4)|0;
$124 = $123;
HEAP32[$124>>2] = $119;
HEAP32[$ret_slot24$i>>2] = 1;
$llretslotptr$2$i = $ret_slot24$i;
;HEAP32[$0>>2]=HEAP32[$llretslotptr$2$i>>2]|0;HEAP32[$0+4>>2]=HEAP32[$llretslotptr$2$i+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$llretslotptr$2$i+8>>2]|0;
HEAP32[$6>>2] = 0;
STACKTOP = sp;return;
}
$87 = HEAP8[$10>>0]|0;
$not$switch$i$i$i$i$i$i = ($87<<24>>24)==(1);
if (!($not$switch$i$i$i$i$i$i)) {
__THREW__ = 0;
invoke_vi(59,(1488|0));
$88 = __THREW__; __THREW__ = 0;
$89 = ___cxa_find_matching_catch_2()|0;
$90 = tempRet0;
$eh$lpad$body$index2Z2D = $90;$eh$lpad$body$indexZ2D = $89;
HEAP32[$6>>2] = 0;
___resumeException($eh$lpad$body$indexZ2D|0);
// unreachable;
}
$91 = (($1) + ($60)|0);
$92 = (($2) - ($60))|0;
__THREW__ = 0;
invoke_viiii(103,($5|0),($10|0),($91|0),($92|0));
$93 = __THREW__; __THREW__ = 0;
$94 = $93&1;
if (!($94)) {
$95 = HEAP32[$5>>2]|0;
$switch$i$i = ($95|0)==(1);
if ($switch$i$i) {
$100 = ((($5)) + 4|0);
$101 = ((($iret_slot$i)) + 4|0);
$102 = $100;
$103 = $102;
$104 = HEAP32[$103>>2]|0;
$105 = (($102) + 4)|0;
$106 = $105;
$107 = HEAP32[$106>>2]|0;
$108 = $101;
$109 = $108;
HEAP32[$109>>2] = $104;
$110 = (($108) + 4)|0;
$111 = $110;
HEAP32[$111>>2] = $107;
$112 = $100;
$113 = $112;
HEAP32[$113>>2] = 488447261;
$114 = (($112) + 4)|0;
$115 = $114;
HEAP32[$115>>2] = 488447261;
$$sink$i = 1;
} else {
$96 = ((($5)) + 4|0);
$97 = HEAP32[$96>>2]|0;
$98 = (($97) + ($60))|0;
$99 = ((($iret_slot$i)) + 4|0);
HEAP32[$99>>2] = $98;
$$sink$i = 0;
}
HEAP32[$iret_slot$i>>2] = $$sink$i;
$llretslotptr$2$i = $iret_slot$i;
;HEAP32[$0>>2]=HEAP32[$llretslotptr$2$i>>2]|0;HEAP32[$0+4>>2]=HEAP32[$llretslotptr$2$i+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$llretslotptr$2$i+8>>2]|0;
HEAP32[$6>>2] = 0;
STACKTOP = sp;return;
}
}
}
}
} while(0);
$8 = ___cxa_find_matching_catch_2()|0;
$9 = tempRet0;
$eh$lpad$body$index2Z2D = $9;$eh$lpad$body$indexZ2D = $8;
HEAP32[$6>>2] = 0;
___resumeException($eh$lpad$body$indexZ2D|0);
// unreachable;
}
function __ZN2io8buffered24BufWriter_LT_W_GT__Write5write20h7139899166676454151E($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$pre = 0, $$pre$i$i = 0, $$sroa$06$011$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond$i$i = 0, $not$switch$i = 0, $r$sroa$0$1 = 0, $r$sroa$11$1 = 0, $r$sroa$8$1 = 0, $switch = 0, $switch$i41 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$4 = sp;
$5 = ((($1)) + 4|0);
$6 = ((($1)) + 12|0);
$7 = HEAP32[$6>>2]|0;
$8 = (($7) + ($3))|0;
$9 = ((($1)) + 8|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($8>>>0)>($10>>>0);
do {
if ($11) {
__ZN2io8buffered18BufWriter_LT_W_GT_9flush_buf20h8668712493739691759E($4,$1);
$12 = HEAP32[$4>>2]|0;
$switch = ($12|0)==(1);
if (!($switch)) {
$$pre = HEAP32[$9>>2]|0;
$25 = $$pre;
break;
}
$13 = ((($4)) + 4|0);
$14 = ((($0)) + 4|0);
$15 = $13;
$16 = $15;
$17 = HEAP32[$16>>2]|0;
$18 = (($15) + 4)|0;
$19 = $18;
$20 = HEAP32[$19>>2]|0;
$21 = $14;
$22 = $21;
HEAP32[$22>>2] = $17;
$23 = (($21) + 4)|0;
$24 = $23;
HEAP32[$24>>2] = $20;
HEAP32[$0>>2] = 1;
STACKTOP = sp;return;
} else {
$25 = $10;
}
} while(0);
$26 = ($25>>>0)>($3>>>0);
if ($26) {
$39 = ($25>>>0)>=($3>>>0);
$40 = $39 ? $3 : $25;
__ZN3vec12Vec_LT_T_GT_7reserve21h17275297742727099749E($5,$40);
$41 = ($40|0)==(0);
if (!($41)) {
$$pre$i$i = HEAP32[$6>>2]|0;
$$sroa$06$011$i$i = 0;$45 = $$pre$i$i;
while(1) {
$42 = (($$sroa$06$011$i$i) + 1)|0;
$43 = HEAP32[$5>>2]|0;
$44 = (($43) + ($45)|0);
$46 = (($2) + ($$sroa$06$011$i$i)|0);
$47 = HEAP8[$46>>0]|0;
HEAP8[$44>>0] = $47;
$48 = (($45) + 1)|0;
HEAP32[$6>>2] = $48;
$exitcond$i$i = ($42|0)==($40|0);
if ($exitcond$i$i) {
break;
} else {
$$sroa$06$011$i$i = $42;$45 = $48;
}
}
}
$49 = ((($0)) + 4|0);
HEAP32[$49>>2] = $40;
HEAP32[$0>>2] = 0;
STACKTOP = sp;return;
}
$27 = ((($1)) + 16|0);
HEAP8[$27>>0] = 1;
$28 = HEAP8[$1>>0]|0;
$not$switch$i = ($28<<24>>24)==(1);
if (!($not$switch$i)) {
__ZN9panicking5panic20h505ed693e1be0208ElME(1488);
// unreachable;
}
$29 = ((($1)) + 1|0);
$30 = HEAP8[$29>>0]|0;
$switch$i41 = ($30<<24>>24)==(1);
do {
if ($switch$i41) {
$r$sroa$0$1 = 0;$r$sroa$11$1 = 0;$r$sroa$8$1 = $3;
} else {
$31 = (_write(1,$2,$3)|0);
$32 = ($31|0)==(-1);
if ($32) {
$33 = (___errno_location()|0);
$34 = HEAP32[$33>>2]|0;
$35 = ($34|0)==(9);
$36 = $34;
if ($35) {
$r$sroa$0$1 = 0;$r$sroa$11$1 = $36;$r$sroa$8$1 = $3;
break;
} else {
$50 = $36;$51 = 1;$52 = 0;
}
} else {
$50 = 0;$51 = 0;$52 = $31;
}
$r$sroa$0$1 = $51;$r$sroa$11$1 = $50;$r$sroa$8$1 = $52;
}
} while(0);
HEAP8[$27>>0] = 0;
HEAP32[$0>>2] = $r$sroa$0$1;
$37 = ((($0)) + 4|0);
HEAP32[$37>>2] = $r$sroa$8$1;
$38 = ((($0)) + 8|0);
HEAP32[$38>>2] = $r$sroa$11$1;
STACKTOP = sp;return;
}
function __ZN2io5stdio12Stdout_Write9write_fmt20h454ebc90fe128853AkhE($0,$$0$0$0$0$0$val,$args) {
$0 = $0|0;
$$0$0$0$0$0$val = $$0$0$0$0$0$val|0;
$args = $args|0;
var $$pre$i$i$i$i = 0, $$pre$i$i$i$i4 = 0, $$pre$i$i$i$i9 = 0, $$sink$i$index = 0, $$sink$i$index2 = 0, $$sink$in$phi$trans$insert$i$i$i$i = 0, $$sink$in$phi$trans$insert$i$i$i$i2 = 0, $$sink$in$phi$trans$insert$i$i$i$i7 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arg$i = 0, $cond$i$i$i = 0, $cond$i$i$i$i$i = 0, $cond$i$i$i$i10$i = 0, $cond$i$i9$i = 0, $eh$lpad$body$index7Z2D = 0, $eh$lpad$body$indexZ2D = 0, $output$i = 0;
var $phitmp$i$i$i$i = 0, $phitmp$i$i$i$i10 = 0, $phitmp$i$i$i$i5 = 0, $switch$i = 0, $switch$i$i$i$i$i = 0, $switch$i$i$i$i$i$i = 0, $switch$i$i$i$i$i15 = 0, $switchtmp$i$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i12 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$output$i = sp + 32|0;
$arg$i = sp + 8|0;
$1 = sp;
$2 = ((($$0$0$0$0$0$val)) + 8|0);
$3 = HEAP32[$2>>2]|0;
(_pthread_mutex_lock(($3|0))|0);
$4 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0);
$switchtmp$i$i$i$i$i$i$i = ($4|0)==(0|0);
$5 = $2;
if ($switchtmp$i$i$i$i$i$i$i) {
__ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57);
// unreachable;
}
$6 = HEAP32[$4>>2]|0;
$switch$i$i$i$i$i$i = ($6|0)==(1);
if ($switch$i$i$i$i$i$i) {
$$sink$in$phi$trans$insert$i$i$i$i = ((($4)) + 4|0);
$$pre$i$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i$i$i$i>>2]|0;
$phitmp$i$i$i$i = ($$pre$i$i$i$i|0)!=(0);
$7 = $phitmp$i$i$i$i&1;
$13 = 0;$15 = $7;
} else {
$8 = $4;
$9 = $8;
HEAP32[$9>>2] = 1;
$10 = (($8) + 4)|0;
$11 = $10;
HEAP32[$11>>2] = 0;
$13 = 0;$15 = 0;
}
$12 = $5 | $13;
$14 = $15 | 54272;
$16 = $1;
$17 = $16;
HEAP32[$17>>2] = $12;
$18 = (($16) + 4)|0;
$19 = $18;
HEAP32[$19>>2] = $14;
HEAP32[$output$i>>2] = $1;
$20 = ((($output$i)) + 4|0);
;HEAP32[$20>>2]=HEAP32[6832>>2]|0;HEAP32[$20+4>>2]=HEAP32[6832+4>>2]|0;HEAP32[$20+8>>2]=HEAP32[6832+8>>2]|0;
;HEAP32[$arg$i>>2]=HEAP32[$args>>2]|0;HEAP32[$arg$i+4>>2]=HEAP32[$args+4>>2]|0;HEAP32[$arg$i+8>>2]=HEAP32[$args+8>>2]|0;HEAP32[$arg$i+12>>2]=HEAP32[$args+12>>2]|0;HEAP32[$arg$i+16>>2]=HEAP32[$args+16>>2]|0;HEAP32[$arg$i+20>>2]=HEAP32[$args+20>>2]|0;
__THREW__ = 0;
$21 = (invoke_iiii(71,($output$i|0),(264|0),($arg$i|0))|0);
$22 = __THREW__; __THREW__ = 0;
$23 = $22&1;
L8: do {
if ($23) {
$24 = ___cxa_find_matching_catch_2()|0;
$25 = tempRet0;
$$sink$i$index = $24;$$sink$i$index2 = $25;
label = 9;
} else {
$switch$i = ($21<<24>>24)==(0);
do {
if ($switch$i) {
;HEAP32[$0>>2]=HEAP32[6832>>2]|0;HEAP32[$0+4>>2]=HEAP32[6832+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[6832+8>>2]|0;
} else {
$45 = HEAP32[$20>>2]|0;
$46 = ($45|0)==(1);
if ($46) {
;HEAP32[$0>>2]=HEAP32[$20>>2]|0;HEAP32[$0+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$20+8>>2]|0;
;HEAP32[$20>>2]=488447261|0;HEAP32[$20+4>>2]=488447261|0;HEAP32[$20+8>>2]=488447261|0;
break;
}
$49 = ((($0)) + 4|0);
__THREW__ = 0;
invoke_viiii(75,($49|0),16,(2528|0),15);
$50 = __THREW__; __THREW__ = 0;
$51 = $50&1;
if ($51) {
$47 = ___cxa_find_matching_catch_2()|0;
$48 = tempRet0;
$$sink$i$index = $47;$$sink$i$index2 = $48;
label = 9;
break L8;
} else {
HEAP32[$0>>2] = 1;
break;
}
}
} while(0);
$52 = ((($output$i)) + 4|0);
$53 = HEAP32[$52>>2]|0;
$cond$i$i9$i = ($53|0)==(1);
if ($cond$i$i9$i) {
$54 = ((($output$i)) + 8|0);
$55 = HEAP32[$54>>2]|0;
$cond$i$i$i$i10$i = ($55|0)==(1);
if ($cond$i$i$i$i10$i) {
$56 = ((($output$i)) + 12|0);
$57 = HEAP32[$56>>2]|0;
$58 = ($57|0)==((488447261)|0);
if (!($58)) {
$59 = ((($57)) + 4|0);
$60 = HEAP32[$59>>2]|0;
$61 = ($60|0)==((488447261)|0);
if (!($61)) {
$62 = ((($57)) + 8|0);
$63 = HEAP32[$62>>2]|0;
$64 = HEAP32[$63>>2]|0;
__THREW__ = 0;
invoke_vi($64|0,($60|0));
$65 = __THREW__; __THREW__ = 0;
$66 = $65&1;
if ($66) {
label = 42;
break;
}
$67 = HEAP32[$62>>2]|0;
$68 = ((($67)) + 4|0);
$69 = HEAP32[$68>>2]|0;
$70 = ($69|0)==(0);
if (!($70)) {
_free($60);
}
}
_free($57);
}
}
}
$71 = ((($1)) + 5|0);
$72 = HEAP8[$71>>0]|0;
$73 = ($72<<24>>24)==(-44);
if (!($73)) {
STACKTOP = sp;return;
}
$74 = HEAP32[$1>>2]|0;
$75 = ((($1)) + 4|0);
$76 = HEAP8[$75>>0]|0;
$77 = ($76<<24>>24)==(0);
do {
if ($77) {
$78 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0);
$switchtmp$i$i$i$i$i$i = ($78|0)==(0|0);
if ($switchtmp$i$i$i$i$i$i) {
__ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57);
// unreachable;
}
$79 = HEAP32[$78>>2]|0;
$switch$i$i$i$i$i = ($79|0)==(1);
if (!($switch$i$i$i$i$i)) {
$80 = $78;
$81 = $80;
HEAP32[$81>>2] = 1;
$82 = (($80) + 4)|0;
$83 = $82;
HEAP32[$83>>2] = 0;
break;
}
$$sink$in$phi$trans$insert$i$i$i$i2 = ((($78)) + 4|0);
$$pre$i$i$i$i4 = HEAP32[$$sink$in$phi$trans$insert$i$i$i$i2>>2]|0;
$phitmp$i$i$i$i5 = ($$pre$i$i$i$i4|0)==(0);
if (!($phitmp$i$i$i$i5)) {
$84 = ((($74)) + 4|0);
HEAP8[$84>>0] = 1;
}
}
} while(0);
$85 = HEAP32[$1>>2]|0;
$86 = HEAP32[$85>>2]|0;
(_pthread_mutex_unlock(($86|0))|0);
STACKTOP = sp;return;
}
} while(0);
do {
if ((label|0) == 9) {
$26 = ((($output$i)) + 4|0);
$27 = HEAP32[$26>>2]|0;
$cond$i$i$i = ($27|0)==(1);
if ($cond$i$i$i) {
$28 = ((($output$i)) + 8|0);
$29 = HEAP32[$28>>2]|0;
$cond$i$i$i$i$i = ($29|0)==(1);
if ($cond$i$i$i$i$i) {
$30 = ((($output$i)) + 12|0);
$31 = HEAP32[$30>>2]|0;
$32 = ($31|0)==((488447261)|0);
if (!($32)) {
$33 = ((($31)) + 4|0);
$34 = HEAP32[$33>>2]|0;
$35 = ($34|0)==((488447261)|0);
if (!($35)) {
$36 = ((($31)) + 8|0);
$37 = HEAP32[$36>>2]|0;
$38 = HEAP32[$37>>2]|0;
__THREW__ = 0;
invoke_vi($38|0,($34|0));
$39 = __THREW__; __THREW__ = 0;
$40 = $39&1;
if ($40) {
label = 42;
break;
}
$41 = HEAP32[$36>>2]|0;
$42 = ((($41)) + 4|0);
$43 = HEAP32[$42>>2]|0;
$44 = ($43|0)==(0);
if (!($44)) {
_free($34);
}
}
_free($31);
}
}
}
$eh$lpad$body$index7Z2D = $$sink$i$index2;$eh$lpad$body$indexZ2D = $$sink$i$index;
}
} while(0);
if ((label|0) == 42) {
$87 = ___cxa_find_matching_catch_2()|0;
$88 = tempRet0;
$eh$lpad$body$index7Z2D = $88;$eh$lpad$body$indexZ2D = $87;
}
$89 = ((($1)) + 5|0);
$90 = HEAP8[$89>>0]|0;
$91 = ($90<<24>>24)==(-44);
if (!($91)) {
___resumeException($eh$lpad$body$indexZ2D|0);
// unreachable;
}
$92 = HEAP32[$1>>2]|0;
$93 = ((($1)) + 4|0);
$94 = HEAP8[$93>>0]|0;
$95 = ($94<<24>>24)==(0);
do {
if ($95) {
$96 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0);
$switchtmp$i$i$i$i$i$i12 = ($96|0)==(0|0);
if ($switchtmp$i$i$i$i$i$i12) {
__ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57);
// unreachable;
}
$97 = HEAP32[$96>>2]|0;
$switch$i$i$i$i$i15 = ($97|0)==(1);
if (!($switch$i$i$i$i$i15)) {
$98 = $96;
$99 = $98;
HEAP32[$99>>2] = 1;
$100 = (($98) + 4)|0;
$101 = $100;
HEAP32[$101>>2] = 0;
break;
}
$$sink$in$phi$trans$insert$i$i$i$i7 = ((($96)) + 4|0);
$$pre$i$i$i$i9 = HEAP32[$$sink$in$phi$trans$insert$i$i$i$i7>>2]|0;
$phitmp$i$i$i$i10 = ($$pre$i$i$i$i9|0)==(0);
if (!($phitmp$i$i$i$i10)) {
$102 = ((($92)) + 4|0);
HEAP8[$102>>0] = 1;
}
}
} while(0);
$103 = HEAP32[$1>>2]|0;
$104 = HEAP32[$103>>2]|0;
(_pthread_mutex_unlock(($104|0))|0);
___resumeException($eh$lpad$body$indexZ2D|0);
// unreachable;
}
function __ZN58io__Write__write_fmt__Adaptor_LT_io__stdio__StdoutLock_GT_10drop_4157817h5fed5982ba911202E($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond$i = 0, $cond$i$i$i = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 4|0);
$2 = HEAP32[$1>>2]|0;
$cond$i = ($2|0)==(1);
if (!($cond$i)) {
return;
}
$3 = ((($0)) + 8|0);
$4 = HEAP32[$3>>2]|0;
$cond$i$i$i = ($4|0)==(1);
if (!($cond$i$i$i)) {
return;
}
$5 = ((($0)) + 12|0);
$6 = HEAP32[$5>>2]|0;
$7 = ($6|0)==((488447261)|0);
if ($7) {
return;
}
$8 = ((($6)) + 4|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==((488447261)|0);
if (!($10)) {
$11 = ((($6)) + 8|0);
$12 = HEAP32[$11>>2]|0;
$13 = HEAP32[$12>>2]|0;
FUNCTION_TABLE_vi[$13 & 127]($9);
$14 = HEAP32[$11>>2]|0;
$15 = ((($14)) + 4|0);
$16 = HEAP32[$15>>2]|0;
$17 = ($16|0)==(0);
if (!($17)) {
_free($9);
}
}
_free($6);
return;
}
function __ZN2io5Write9write_fmt41Adaptor_LT__u27_a_C__u20_T_GT__fmt__Write9write_str21h15670028490896270507E($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$idx$val = 0, $$idx1$val = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $buf$sroa$0$051$ph$i = 0, $buf$sroa$5$052$ph$i = 0, $cond$i$i$i5 = 0, $cond$i4 = 0, $cond13$i = 0, $cond36$i = 0, $sret_slot$sroa$0$015 = 0, $switch$i = 0, $switch$i$i = 0, $switch76$i = 0;
var label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$3 = sp + 16|0;
$4 = sp;
$5 = ($2|0)==(0);
L1: do {
if (!($5)) {
$6 = HEAP32[$0>>2]|0;
$7 = ((($3)) + 4|0);
$8 = ((($3)) + 8|0);
$9 = ((($3)) + 4|0);
$buf$sroa$0$051$ph$i = $1;$buf$sroa$5$052$ph$i = $2;
L3: while(1) {
$$idx1$val = HEAP32[$6>>2]|0;
__ZN2io5stdio30StdoutLock_LT__u27_a_GT__Write5write20h932a6dd67e3b18cbTkhE($3,$$idx1$val,$buf$sroa$0$051$ph$i,$buf$sroa$5$052$ph$i);
$10 = HEAP32[$3>>2]|0;
$switch76$i = ($10|0)==(1);
if ($switch76$i) {
while(1) {
$17 = HEAP32[$7>>2]|0;
$switch$i$i = ($17|0)==(1);
if ($switch$i$i) {
$21 = HEAP32[$8>>2]|0;
$22 = HEAP8[$21>>0]|0;
$23 = ($22<<24>>24)==(15);
if (!($23)) {
label = 15;
break L3;
}
$52 = ($21|0)==((488447261)|0);
if (!($52)) {
$53 = ((($21)) + 4|0);
$54 = HEAP32[$53>>2]|0;
$55 = ($54|0)==((488447261)|0);
if (!($55)) {
$56 = ((($21)) + 8|0);
$57 = HEAP32[$56>>2]|0;
$58 = HEAP32[$57>>2]|0;
FUNCTION_TABLE_vi[$58 & 127]($54);
$59 = HEAP32[$56>>2]|0;
$60 = ((($59)) + 4|0);
$61 = HEAP32[$60>>2]|0;
$62 = ($61|0)==(0);
if (!($62)) {
_free($54);
}
}
_free($21);
}
} else {
$18 = HEAP32[$8>>2]|0;
$cond36$i = ($18|0)==(4);
if (!($cond36$i)) {
label = 15;
break L3;
}
}
$$idx$val = HEAP32[$6>>2]|0;
__ZN2io5stdio30StdoutLock_LT__u27_a_GT__Write5write20h932a6dd67e3b18cbTkhE($3,$$idx$val,$buf$sroa$0$051$ph$i,$buf$sroa$5$052$ph$i);
$63 = HEAP32[$3>>2]|0;
$switch$i = ($63|0)==(1);
if (!($switch$i)) {
break;
}
}
}
$11 = HEAP32[$9>>2]|0;
$cond13$i = ($11|0)==(0);
if ($cond13$i) {
label = 8;
break;
}
$12 = ($buf$sroa$5$052$ph$i>>>0)<($11>>>0);
if ($12) {
label = 7;
break;
}
$64 = (($buf$sroa$0$051$ph$i) + ($11)|0);
$65 = (($buf$sroa$5$052$ph$i) - ($11))|0;
$66 = ($buf$sroa$5$052$ph$i|0)==($11|0);
if ($66) {
break L1;
} else {
$buf$sroa$0$051$ph$i = $64;$buf$sroa$5$052$ph$i = $65;
}
}
do {
if ((label|0) == 7) {
__THREW__ = 0;
invoke_vii(84,($11|0),($buf$sroa$5$052$ph$i|0));
$13 = __THREW__; __THREW__ = 0;
$19 = ___cxa_find_matching_catch_2()|0;
$20 = tempRet0;
___resumeException($19|0);
// unreachable;
}
else if ((label|0) == 8) {
$14 = ((($4)) + 4|0);
__THREW__ = 0;
invoke_viiii(75,($14|0),14,(2500|0),28);
$15 = __THREW__; __THREW__ = 0;
$16 = $15&1;
if ($16) {
$19 = ___cxa_find_matching_catch_2()|0;
$20 = tempRet0;
___resumeException($19|0);
// unreachable;
} else {
HEAP32[$4>>2] = 1;
break;
}
}
else if ((label|0) == 15) {
$24 = ((($4)) + 4|0);
$25 = $7;
$26 = $25;
$27 = HEAP32[$26>>2]|0;
$28 = (($25) + 4)|0;
$29 = $28;
$30 = HEAP32[$29>>2]|0;
$31 = $24;
$32 = $31;
HEAP32[$32>>2] = $27;
$33 = (($31) + 4)|0;
$34 = $33;
HEAP32[$34>>2] = $30;
HEAP32[$4>>2] = 1;
$35 = $7;
$36 = $35;
HEAP32[$36>>2] = 488447261;
$37 = (($35) + 4)|0;
$38 = $37;
HEAP32[$38>>2] = 488447261;
}
} while(0);
$39 = ((($4)) + 4|0);
$40 = $39;
$41 = $40;
$42 = HEAP32[$41>>2]|0;
$43 = (($40) + 4)|0;
$44 = $43;
$45 = HEAP32[$44>>2]|0;
$46 = $39;
$47 = $46;
HEAP32[$47>>2] = 488447261;
$48 = (($46) + 4)|0;
$49 = $48;
HEAP32[$49>>2] = 488447261;
$50 = ((($0)) + 4|0);
$51 = HEAP32[$50>>2]|0;
$cond$i4 = ($51|0)==(1);
if ($cond$i4) {
$67 = ((($0)) + 8|0);
$68 = HEAP32[$67>>2]|0;
$cond$i$i$i5 = ($68|0)==(1);
if ($cond$i$i$i5) {
$69 = ((($0)) + 12|0);
$70 = HEAP32[$69>>2]|0;
$71 = ($70|0)==((488447261)|0);
if (!($71)) {
$72 = ((($70)) + 4|0);
$73 = HEAP32[$72>>2]|0;
$74 = ($73|0)==((488447261)|0);
if (!($74)) {
$75 = ((($70)) + 8|0);
$76 = HEAP32[$75>>2]|0;
$77 = HEAP32[$76>>2]|0;
FUNCTION_TABLE_vi[$77 & 127]($73);
$78 = HEAP32[$75>>2]|0;
$79 = ((($78)) + 4|0);
$80 = HEAP32[$79>>2]|0;
$81 = ($80|0)==(0);
if (!($81)) {
_free($73);
}
}
_free($70);
}
}
}
HEAP32[$50>>2] = 1;
$82 = ((($0)) + 8|0);
$83 = $82;
$84 = $83;
HEAP32[$84>>2] = $42;
$85 = (($83) + 4)|0;
$86 = $85;
HEAP32[$86>>2] = $45;
$87 = $39;
$88 = $87;
HEAP32[$88>>2] = 488447261;
$89 = (($87) + 4)|0;
$90 = $89;
HEAP32[$90>>2] = 488447261;
$sret_slot$sroa$0$015 = 1;
STACKTOP = sp;return ($sret_slot$sroa$0$015|0);
}
} while(0);
;HEAP32[$4>>2]=HEAP32[6832>>2]|0;HEAP32[$4+4>>2]=HEAP32[6832+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[6832+8>>2]|0;
$sret_slot$sroa$0$015 = 0;
STACKTOP = sp;return ($sret_slot$sroa$0$015|0);
}
function __ZN3fmt5Write10write_char21h14423873843138435358E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$sroa$8$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $utf_8 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$utf_8 = sp;
HEAP32[$utf_8>>2] = 0;
$2 = ($1>>>0)<(128);
do {
if ($2) {
$3 = $1&255;
HEAP8[$utf_8>>0] = $3;
$$sroa$8$0 = 1;
} else {
$4 = ($1>>>0)<(2048);
if ($4) {
$5 = $1 >>> 6;
$6 = $5 & 31;
$7 = $6&255;
$8 = $7 | -64;
HEAP8[$utf_8>>0] = $8;
$9 = $1 & 63;
$10 = $9&255;
$11 = $10 | -128;
$12 = ((($utf_8)) + 1|0);
HEAP8[$12>>0] = $11;
$$sroa$8$0 = 2;
break;
}
$13 = ($1>>>0)<(65536);
if ($13) {
$14 = $1 >>> 12;
$15 = $14 & 15;
$16 = $15&255;
$17 = $16 | -32;
HEAP8[$utf_8>>0] = $17;
$18 = $1 >>> 6;
$19 = $18 & 63;
$20 = $19&255;
$21 = $20 | -128;
$22 = ((($utf_8)) + 1|0);
HEAP8[$22>>0] = $21;
$23 = $1 & 63;
$24 = $23&255;
$25 = $24 | -128;
$26 = ((($utf_8)) + 2|0);
HEAP8[$26>>0] = $25;
$$sroa$8$0 = 3;
break;
} else {
$27 = $1 >>> 18;
$28 = $27 & 7;
$29 = $28&255;
$30 = $29 | -16;
HEAP8[$utf_8>>0] = $30;
$31 = $1 >>> 12;
$32 = $31 & 63;
$33 = $32&255;
$34 = $33 | -128;
$35 = ((($utf_8)) + 1|0);
HEAP8[$35>>0] = $34;
$36 = $1 >>> 6;
$37 = $36 & 63;
$38 = $37&255;
$39 = $38 | -128;
$40 = ((($utf_8)) + 2|0);
HEAP8[$40>>0] = $39;
$41 = $1 & 63;
$42 = $41&255;
$43 = $42 | -128;
$44 = ((($utf_8)) + 3|0);
HEAP8[$44>>0] = $43;
$$sroa$8$0 = 4;
break;
}
}
} while(0);
$45 = (__ZN2io5Write9write_fmt41Adaptor_LT__u27_a_C__u20_T_GT__fmt__Write9write_str21h15670028490896270507E($0,$utf_8,$$sroa$8$0)|0);
STACKTOP = sp;return ($45|0);
}
function __ZN3fmt5Write9write_fmt20h6783855622911877017E($0,$args) {
$0 = $0|0;
$args = $args|0;
var $1 = 0, $2 = 0, $addr_of = 0, $arg = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$addr_of = sp + 24|0;
$arg = sp;
$1 = $0;
HEAP32[$addr_of>>2] = $1;
;HEAP32[$arg>>2]=HEAP32[$args>>2]|0;HEAP32[$arg+4>>2]=HEAP32[$args+4>>2]|0;HEAP32[$arg+8>>2]=HEAP32[$args+8>>2]|0;HEAP32[$arg+12>>2]=HEAP32[$args+12>>2]|0;HEAP32[$arg+16>>2]=HEAP32[$args+16>>2]|0;HEAP32[$arg+20>>2]=HEAP32[$args+20>>2]|0;
$2 = (__ZN3fmt5write20h7901236a83d456cd7oXE($addr_of,288,$arg)|0);
STACKTOP = sp;return ($2|0);
}
function __ZN3fmt5Write9write_fmt36Adapter_LT__u27_a_C__u20_T_GT__Write9write_str20h7599248871222275748E($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = HEAP32[$0>>2]|0;
$4 = (__ZN2io5Write9write_fmt41Adaptor_LT__u27_a_C__u20_T_GT__fmt__Write9write_str21h15670028490896270507E($3,$1,$2)|0);
return ($4|0);
}
function __ZN3fmt5Write9write_fmt36Adapter_LT__u27_a_C__u20_T_GT__Write10write_char21h13302168570642632320E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = HEAP32[$0>>2]|0;
$3 = (__ZN3fmt5Write10write_char21h14423873843138435358E($2,$1)|0);
return ($3|0);
}
function __ZN3fmt5Write9write_fmt36Adapter_LT__u27_a_C__u20_T_GT__Write9write_fmt20h5846458197719742408E($0,$args) {
$0 = $0|0;
$args = $args|0;
var $1 = 0, $2 = 0, $addr_of$i = 0, $arg$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$addr_of$i = sp + 24|0;
$arg$i = sp;
$1 = HEAP32[$0>>2]|0;
HEAP32[$addr_of$i>>2] = $1;
;HEAP32[$arg$i>>2]=HEAP32[$args>>2]|0;HEAP32[$arg$i+4>>2]=HEAP32[$args+4>>2]|0;HEAP32[$arg$i+8>>2]=HEAP32[$args+8>>2]|0;HEAP32[$arg$i+12>>2]=HEAP32[$args+12>>2]|0;HEAP32[$arg$i+16>>2]=HEAP32[$args+16>>2]|0;HEAP32[$arg$i+20>>2]=HEAP32[$args+20>>2]|0;
$2 = (__ZN3fmt5write20h7901236a83d456cd7oXE($addr_of$i,288,$arg$i)|0);
STACKTOP = sp;return ($2|0);
}
function ___rust_try($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
__THREW__ = 0;
invoke_vi($0|0,($1|0));
$3 = __THREW__; __THREW__ = 0;
$4 = $3&1;
if ($4) {
$5 = ___cxa_find_matching_catch_3(0|0)|0;
$6 = tempRet0;
HEAP32[$2>>2] = $5;
return 1;
} else {
return 0;
}
return (0)|0;
}
function _rust_eh_personality_catch($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $6 = 0, $7 = 0, $8 = 0, $sret_slot$0$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$6 = $1 & 1;
$7 = ($6|0)==(0);
if ($7) {
$8 = (___gcc_personality_v0(($0|0),($1|0),($2|0),($3|0),($4|0),($5|0))|0);
$sret_slot$0$i = $8;
} else {
$sret_slot$0$i = 6;
}
return ($sret_slot$0$i|0);
}
function __ZN133core_collections__vec__Vec_LT_Box_LT_alloc__boxed__FnBox_LT__LP__RP__C__u20_Output_u3d__LP__RP__GT__u20__u2b__u20__u27_static_GT__GT_10drop_4328417h070b94256ba94c31E($0) {
$0 = $0|0;
var $$pr = 0, $$pr$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $switch$split12D = 0, $switch$split2D = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 4|0);
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)==(488447261);
if ($3) {
return;
}
$4 = HEAP32[$0>>2]|0;
$5 = ((($0)) + 8|0);
$6 = HEAP32[$5>>2]|0;
$7 = (($4) + ($6<<3)|0);
$8 = ($6|0)>(0);
do {
if ($8) {
$10 = $4;
while(1) {
$9 = HEAP32[$10>>2]|0;
$11 = ($9|0)==((488447261)|0);
if (!($11)) {
$12 = ((($10)) + 4|0);
$13 = HEAP32[$12>>2]|0;
$14 = HEAP32[$13>>2]|0;
__THREW__ = 0;
invoke_vi($14|0,($9|0));
$15 = __THREW__; __THREW__ = 0;
$16 = $15&1;
if ($16) {
break;
}
$17 = HEAP32[$12>>2]|0;
$18 = ((($17)) + 4|0);
$19 = HEAP32[$18>>2]|0;
$20 = ($19|0)==(0);
if (!($20)) {
_free($9);
}
}
$21 = ((($10)) + 8|0);
$22 = ($21>>>0)<($7>>>0);
if ($22) {
$10 = $21;
} else {
label = 8;
break;
}
}
if ((label|0) == 8) {
$$pr$pre = HEAP32[$1>>2]|0;
$$pr = $$pr$pre;
break;
}
$24 = ___cxa_find_matching_catch_2()|0;
$25 = tempRet0;
$26 = HEAP32[$1>>2]|0;
$switch$split12D = ($26|0)<(488447261);
L15: do {
if ($switch$split12D) {
switch ($26|0) {
case 0: {
break;
}
default: {
break L15;
}
}
___resumeException($24|0);
// unreachable;
} else {
switch ($26|0) {
case 488447261: {
break;
}
default: {
break L15;
}
}
___resumeException($24|0);
// unreachable;
}
} while(0);
$27 = HEAP32[$0>>2]|0;
_free($27);
___resumeException($24|0);
// unreachable;
} else {
$$pr = $2;
}
} while(0);
$switch$split2D = ($$pr|0)<(488447261);
L23: do {
if ($switch$split2D) {
switch ($$pr|0) {
case 0: {
break;
}
default: {
break L23;
}
}
return;
} else {
switch ($$pr|0) {
case 488447261: {
break;
}
default: {
break L23;
}
}
return;
}
} while(0);
$23 = HEAP32[$0>>2]|0;
_free($23);
return;
}
function __ZN3sys4init11oom_handler20h57f3000324fa6a9buCzE() {
var label = 0, sp = 0;
sp = STACKTOP;
(_write(2,3551,35)|0);
_llvm_trap();
// unreachable;
}
function __ZN4iter30Map_LT_I_C__u20_F_GT__Iterator4next21h12106674120955211352E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$pre$i$i$i$i$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ptr$0$i$i$i$i$i$i$i = 0, $scevgep$i$i$i$i$i = 0, $switch$split2D = 0, $vector$i$i$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$vector$i$i$i$i$i = sp;
$2 = ((($1)) + 4|0);
$3 = HEAP32[$1>>2]|0;
$4 = HEAP32[$2>>2]|0;
$5 = ($3|0)<($4|0);
if (!($5)) {
;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;
STACKTOP = sp;return;
}
$6 = (($3) + 1)|0;
HEAP32[$1>>2] = $6;
$7 = ((($1)) + 8|0);
$8 = HEAP32[$7>>2]|0;
$9 = HEAP32[$8>>2]|0;
$10 = (($9) + ($3<<2)|0);
$11 = HEAP32[$10>>2]|0;
$12 = (_strlen($11)|0);
$13 = ($12|0)==(-1);
if ($13) {
__ZN5slice20slice_index_len_fail20h9ec8212373ae0291u9PE(-1,0);
// unreachable;
}
$14 = ($12|0)<(0);
if ($14) {
__ZN9panicking5panic20h505ed693e1be0208ElME(1444);
// unreachable;
}
$15 = ($12|0)==(0);
if ($15) {
$ptr$0$i$i$i$i$i$i$i = (1);
} else {
$16 = (_malloc($12)|0);
$17 = ($16|0)==(0|0);
if ($17) {
__ZN3oom3oom20hc88b31053092c214PzbE();
// unreachable;
} else {
$ptr$0$i$i$i$i$i$i$i = $16;
}
}
$18 = $ptr$0$i$i$i$i$i$i$i;
HEAP32[$vector$i$i$i$i$i>>2] = $18;
$19 = ((($vector$i$i$i$i$i)) + 4|0);
HEAP32[$19>>2] = $12;
$20 = ((($vector$i$i$i$i$i)) + 8|0);
HEAP32[$20>>2] = 0;
__THREW__ = 0;
invoke_vii(77,($vector$i$i$i$i$i|0),($12|0));
$21 = __THREW__; __THREW__ = 0;
$22 = $21&1;
if (!($22)) {
if (!($15)) {
$$pre$i$i$i$i$i$i = HEAP32[$20>>2]|0;
$23 = HEAP32[$vector$i$i$i$i$i>>2]|0;
$scevgep$i$i$i$i$i = (($23) + ($$pre$i$i$i$i$i$i)|0);
_memcpy(($scevgep$i$i$i$i$i|0),($11|0),($12|0))|0;
$24 = (($$pre$i$i$i$i$i$i) + ($12))|0;
HEAP32[$20>>2] = $24;
}
;HEAP32[$0>>2]=HEAP32[$vector$i$i$i$i$i>>2]|0;HEAP32[$0+4>>2]=HEAP32[$vector$i$i$i$i$i+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$vector$i$i$i$i$i+8>>2]|0;
STACKTOP = sp;return;
}
$25 = ___cxa_find_matching_catch_2()|0;
$26 = tempRet0;
$27 = HEAP32[$19>>2]|0;
$switch$split2D = ($27|0)<(488447261);
L22: do {
if ($switch$split2D) {
switch ($27|0) {
case 0: {
break;
}
default: {
break L22;
}
}
___resumeException($25|0);
// unreachable;
} else {
switch ($27|0) {
case 488447261: {
break;
}
default: {
break L22;
}
}
___resumeException($25|0);
// unreachable;
}
} while(0);
$28 = HEAP32[$vector$i$i$i$i$i>>2]|0;
_free($28);
___resumeException($25|0);
// unreachable;
}
function __ZN10sys_common6unwind3try6try_fn20h3996338125958159049E($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $switchtmp$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$2 = ((($0)) + 4|0);
$3 = HEAP32[$2>>2]|0;
$4 = $0;
$5 = $4;
HEAP32[$5>>2] = 0;
$6 = (($4) + 4)|0;
$7 = $6;
HEAP32[$7>>2] = 0;
$switchtmp$i = ($1|0)==(0|0);
if ($switchtmp$i) {
__ZN9panicking5panic20h505ed693e1be0208ElME(1488);
// unreachable;
} else {
FUNCTION_TABLE_v[$1 & 127]();
HEAP8[$3>>0] = 1;
return;
}
}
function __ZN3vec12Vec_LT_T_GT_7reserve21h14454169163144195688E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$arith = 0, $$overflow = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ptr$0$i = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 8|0);
$3 = HEAP32[$2>>2]|0;
$4 = ((($0)) + 4|0);
$5 = HEAP32[$4>>2]|0;
$6 = (($5) - ($3))|0;
$7 = ($6>>>0)<($1>>>0);
if (!($7)) {
return;
}
$$arith = (($3) + ($1))|0;
$$overflow = ($$arith>>>0)<($3>>>0);
if ($$overflow) {
__ZN6option13expect_failed20h1df5d3b437d73060lTOE(3708,17);
// unreachable;
}
$8 = $5 << 1;
$9 = ($$arith>>>0)>=($8>>>0);
$10 = $9 ? $$arith : $8;
$11 = ($10|0)<(0);
if ($11) {
__ZN9panicking5panic20h505ed693e1be0208ElME(1444);
// unreachable;
}
$12 = ($5|0)==(0);
if ($12) {
$13 = (_malloc($10)|0);
$ptr$0$i = $13;
} else {
$14 = HEAP32[$0>>2]|0;
$15 = (_realloc($14,$10)|0);
$ptr$0$i = $15;
}
$16 = ($ptr$0$i|0)==(0|0);
if ($16) {
__ZN3oom3oom20hc88b31053092c214PzbE();
// unreachable;
}
$17 = $ptr$0$i;
HEAP32[$0>>2] = $17;
HEAP32[$4>>2] = $10;
return;
}
function __ZN3str11str_ToOwned8to_owned20h27f191d2b0131fa4EVeE($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$pre$i$i$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ptr$0$i$i$i$i$i = 0, $scevgep$i$i$i = 0, $switch$split2D = 0;
var $vector$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$vector$i$i$i = sp + 16|0;
$3 = sp;
$4 = ($2|0)<(0);
if ($4) {
__ZN9panicking5panic20h505ed693e1be0208ElME(1444);
// unreachable;
}
$5 = ($2|0)==(0);
if ($5) {
$ptr$0$i$i$i$i$i = (1);
} else {
$6 = (_malloc($2)|0);
$7 = ($6|0)==(0|0);
if ($7) {
__ZN3oom3oom20hc88b31053092c214PzbE();
// unreachable;
} else {
$ptr$0$i$i$i$i$i = $6;
}
}
$8 = $ptr$0$i$i$i$i$i;
HEAP32[$vector$i$i$i>>2] = $8;
$9 = ((($vector$i$i$i)) + 4|0);
HEAP32[$9>>2] = $2;
$10 = ((($vector$i$i$i)) + 8|0);
HEAP32[$10>>2] = 0;
__THREW__ = 0;
invoke_vii(83,($vector$i$i$i|0),($2|0));
$11 = __THREW__; __THREW__ = 0;
$12 = $11&1;
if (!($12)) {
if (!($5)) {
$$pre$i$i$i$i = HEAP32[$10>>2]|0;
$13 = HEAP32[$vector$i$i$i>>2]|0;
$scevgep$i$i$i = (($13) + ($$pre$i$i$i$i)|0);
_memcpy(($scevgep$i$i$i|0),($1|0),($2|0))|0;
$14 = (($$pre$i$i$i$i) + ($2))|0;
HEAP32[$10>>2] = $14;
}
;HEAP32[$3>>2]=HEAP32[$vector$i$i$i>>2]|0;HEAP32[$3+4>>2]=HEAP32[$vector$i$i$i+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$vector$i$i$i+8>>2]|0;
;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$3+8>>2]|0;
STACKTOP = sp;return;
}
$15 = ___cxa_find_matching_catch_2()|0;
$16 = tempRet0;
$17 = HEAP32[$9>>2]|0;
$switch$split2D = ($17|0)<(488447261);
L14: do {
if ($switch$split2D) {
switch ($17|0) {
case 0: {
break;
}
default: {
break L14;
}
}
___resumeException($15|0);
// unreachable;
} else {
switch ($17|0) {
case 488447261: {
break;
}
default: {
break L14;
}
}
___resumeException($15|0);
// unreachable;
}
} while(0);
$18 = HEAP32[$vector$i$i$i>>2]|0;
_free($18);
___resumeException($15|0);
// unreachable;
}
function __ZN3oom3oom20hc88b31053092c214PzbE() {
var $0 = 0, $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = HEAP32[366]|0;
$1 = $0;
FUNCTION_TABLE_v[$1 & 127]();
// unreachable;
}
function __ZN3oom19default_oom_handler20hd3a16dff633efe0aIzbE() {
var label = 0, sp = 0;
sp = STACKTOP;
_llvm_trap();
// unreachable;
}
function __ZN3fmt3num16u32_fmt__Display3fmt20h7895cdea9637338bclWE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $buf8 = 0, $curr$0$lcssa = 0;
var $curr$09 = 0, $curr$1 = 0, $curr$2 = 0, $n$1$lcssa = 0, $n$110 = 0, $n2$0 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$buf8 = sp;
$2 = HEAP32[$0>>2]|0;
$3 = ($2>>>0)>(9999);
if ($3) {
$curr$09 = 20;$n$110 = $2;
while(1) {
$5 = (($n$110>>>0) % 10000)&-1;
$6 = (($n$110>>>0) / 10000)&-1;
$7 = (($5>>>0) / 100)&-1;
$8 = $7 << 1;
$9 = (($5>>>0) % 100)&-1;
$10 = $9 << 1;
$11 = (($curr$09) + -4)|0;
$12 = (4049 + ($8)|0);
$13 = (($buf8) + ($11)|0);
$14 = HEAPU8[$12>>0]|(HEAPU8[$12+1>>0]<<8);
HEAP8[$13>>0]=$14&255;HEAP8[$13+1>>0]=$14>>8;
$15 = (4049 + ($10)|0);
$16 = (($curr$09) + -2)|0;
$17 = (($buf8) + ($16)|0);
$18 = HEAPU8[$15>>0]|(HEAPU8[$15+1>>0]<<8);
HEAP8[$17>>0]=$18&255;HEAP8[$17+1>>0]=$18>>8;
$19 = ($n$110>>>0)>(99999999);
if ($19) {
$curr$09 = $11;$n$110 = $6;
} else {
$curr$0$lcssa = $11;$n$1$lcssa = $6;
break;
}
}
} else {
$curr$0$lcssa = 20;$n$1$lcssa = $2;
}
$4 = ($n$1$lcssa|0)>(99);
if ($4) {
$20 = (($n$1$lcssa|0) % 100)&-1;
$21 = $20 << 1;
$22 = (($n$1$lcssa|0) / 100)&-1;
$23 = (($curr$0$lcssa) + -2)|0;
$24 = (4049 + ($21)|0);
$25 = (($buf8) + ($23)|0);
$26 = HEAPU8[$24>>0]|(HEAPU8[$24+1>>0]<<8);
HEAP8[$25>>0]=$26&255;HEAP8[$25+1>>0]=$26>>8;
$curr$1 = $23;$n2$0 = $22;
} else {
$curr$1 = $curr$0$lcssa;$n2$0 = $n$1$lcssa;
}
$27 = ($n2$0|0)<(10);
if ($27) {
$28 = (($curr$1) + -1)|0;
$29 = $n2$0&255;
$30 = (($29) + 48)<<24>>24;
$31 = (($buf8) + ($28)|0);
HEAP8[$31>>0] = $30;
$curr$2 = $28;
$37 = (($buf8) + ($curr$2)|0);
$38 = (20 - ($curr$2))|0;
$39 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral20h051d8c1a7b501c091tXE($1,1,7692,0,$37,$38)|0);
STACKTOP = sp;return ($39|0);
} else {
$32 = $n2$0 << 1;
$33 = (($curr$1) + -2)|0;
$34 = (4049 + ($32)|0);
$35 = (($buf8) + ($33)|0);
$36 = HEAPU8[$34>>0]|(HEAPU8[$34+1>>0]<<8);
HEAP8[$35>>0]=$36&255;HEAP8[$35+1>>0]=$36>>8;
$curr$2 = $33;
$37 = (($buf8) + ($curr$2)|0);
$38 = (20 - ($curr$2))|0;
$39 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral20h051d8c1a7b501c091tXE($1,1,7692,0,$37,$38)|0);
STACKTOP = sp;return ($39|0);
}
return (0)|0;
}
function __ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral20h051d8c1a7b501c091tXE($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $$$i = 0, $$$i61 = 0, $$pre = 0, $$sroa$01$1$i$i = 0, $$sroa$01$2$i$i = 0, $$sroa$01$3$i$i = 0, $$sroa$01$5$ph$i$i = 0, $$sroa$011$0$i = 0, $$sroa$012$0$i = 0, $$sroa$06$0$i = 0, $$sroa$07$0$i = 0, $$sroa$078$0$i = 0, $$sroa$080$0$i = 0, $$sroa$6$0$i = 0, $$sroa$6$0$i65 = 0, $$sroa$8$0$i = 0, $$sroa$8$0$i73 = 0, $10 = 0, $100 = 0, $101 = 0;
var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0;
var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0;
var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0;
var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0;
var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0;
var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0;
var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $accum$0$lcssa$i$i = 0, $accum$04$i$i = 0, $cond$i = 0, $cond$i60 = 0, $fill$i = 0, $fill$i58 = 0, $iret_slot$sroa$0$0 = 0, $prefix = 0, $prefixed = 0, $sign = 0;
var $switch = 0, $switch$i1$i = 0, $switch52 = 0, $switch53 = 0, $switch54 = 0, $switch70$i = 0, $switch72$i = 0, $switch73$i = 0, $switch74$i = 0, $switch75$i = 0, $switch76$i = 0, $width$0 = 0, $width$1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$fill$i58 = sp + 20|0;
$fill$i = sp + 16|0;
$prefix = sp + 8|0;
$sign = sp;
$prefixed = sp + 24|0;
HEAP32[$prefix>>2] = $2;
$6 = ((($prefix)) + 4|0);
HEAP32[$6>>2] = $3;
$7 = $sign;
$8 = $7;
HEAP32[$8>>2] = 0;
$9 = (($7) + 4)|0;
$10 = $9;
HEAP32[$10>>2] = 0;
if ($1) {
$16 = HEAP32[$0>>2]|0;
$17 = $16 & 1;
$18 = ($17|0)==(0);
if ($18) {
$25 = $16;$width$0 = $5;
} else {
$19 = $sign;
$20 = $19;
HEAP32[$20>>2] = 1;
$21 = (($19) + 4)|0;
$22 = $21;
HEAP32[$22>>2] = 43;
$23 = (($5) + 1)|0;
$25 = $16;$width$0 = $23;
}
} else {
$11 = $sign;
$12 = $11;
HEAP32[$12>>2] = 1;
$13 = (($11) + 4)|0;
$14 = $13;
HEAP32[$14>>2] = 45;
$15 = (($5) + 1)|0;
$$pre = HEAP32[$0>>2]|0;
$25 = $$pre;$width$0 = $15;
}
HEAP8[$prefixed>>0] = 0;
$24 = $25 & 4;
$26 = ($24|0)==(0);
if ($26) {
$width$1 = $width$0;
} else {
HEAP8[$prefixed>>0] = 1;
$27 = (($2) + ($3)|0);
$28 = ($3|0)==(0);
if ($28) {
$accum$0$lcssa$i$i = 0;
} else {
$30 = $2;$accum$04$i$i = 0;
while(1) {
$29 = ((($30)) + 1|0);
$31 = $29;
$32 = HEAP8[$30>>0]|0;
$33 = ($32<<24>>24)<(0);
if ($33) {
$34 = ($29|0)==($27|0);
$35 = ((($30)) + 2|0);
$36 = $35;
$$sroa$01$1$i$i = $34 ? $31 : $36;
$37 = $34 ? $27 : $35;
$38 = ($32&255)>(223);
if ($38) {
$39 = ($37|0)==($27|0);
$40 = ((($37)) + 1|0);
$41 = $40;
$$sroa$01$2$i$i = $39 ? $$sroa$01$1$i$i : $41;
$42 = $39 ? $27 : $40;
$43 = ($32&255)>(239);
if ($43) {
$44 = ($42|0)==($27|0);
$45 = ((($42)) + 1|0);
$46 = $45;
$$sroa$01$3$i$i = $44 ? $$sroa$01$2$i$i : $46;
$$sroa$01$5$ph$i$i = $$sroa$01$3$i$i;
} else {
$$sroa$01$5$ph$i$i = $$sroa$01$2$i$i;
}
} else {
$$sroa$01$5$ph$i$i = $$sroa$01$1$i$i;
}
} else {
$$sroa$01$5$ph$i$i = $31;
}
$47 = (($accum$04$i$i) + 1)|0;
$48 = $$sroa$01$5$ph$i$i;
$49 = ($48|0)==($27|0);
if ($49) {
$accum$0$lcssa$i$i = $47;
break;
} else {
$30 = $48;$accum$04$i$i = $47;
}
}
}
$50 = (($accum$0$lcssa$i$i) + ($width$0))|0;
$width$1 = $50;
}
$51 = ((($0)) + 12|0);
$52 = HEAP32[$51>>2]|0;
$switch = ($52|0)==(1);
L18: do {
if ($switch) {
$54 = ((($0)) + 16|0);
$55 = HEAP32[$54>>2]|0;
$56 = ($55>>>0)>($width$1>>>0);
if (!($56)) {
$57 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral28__u7b__u7b_closure_u7d__u7d_13closure_55365E($sign,$prefixed,$prefix,$0)|0);
$switch53 = ($57<<24>>24)==(0);
if (!($switch53)) {
label = 40;
break;
}
$141 = ((($0)) + 28|0);
$142 = HEAP32[$141>>2]|0;
$143 = ((($0)) + 32|0);
$144 = HEAP32[$143>>2]|0;
$145 = ((($144)) + 12|0);
$146 = HEAP32[$145>>2]|0;
$147 = (FUNCTION_TABLE_iiii[$146 & 127]($142,$4,$5)|0);
$iret_slot$sroa$0$0 = $147;
label = 61;
break;
}
$58 = $25 & 8;
$59 = ($58|0)==(0);
if ($59) {
$62 = (($55) - ($width$1))|0;
$63 = ((($0)) + 8|0);
$64 = HEAP8[$63>>0]|0;
$cond$i60 = ($64<<24>>24)==(3);
$$$i61 = $cond$i60 ? 1 : $64;
switch ($$$i61<<24>>24) {
case 0: {
$$sroa$080$0$i = 0;$$sroa$6$0$i65 = $62;
break;
}
case 3: case 1: {
$$sroa$080$0$i = $62;$$sroa$6$0$i65 = 0;
break;
}
case 2: {
$65 = $62 >>> 1;
$66 = (($62) + 1)|0;
$67 = $66 >>> 1;
$$sroa$080$0$i = $65;$$sroa$6$0$i65 = $67;
break;
}
default: {
// unreachable;
}
}
HEAP32[$fill$i58>>2] = 0;
$68 = ((($0)) + 4|0);
$69 = HEAP32[$68>>2]|0;
$70 = ($69>>>0)<(128);
do {
if ($70) {
$71 = $69&255;
HEAP8[$fill$i58>>0] = $71;
$$sroa$8$0$i73 = 1;
} else {
$72 = ($69>>>0)<(2048);
if ($72) {
$73 = $69 >>> 6;
$74 = $73 & 31;
$75 = $74&255;
$76 = $75 | -64;
HEAP8[$fill$i58>>0] = $76;
$77 = $69 & 63;
$78 = $77&255;
$79 = $78 | -128;
$80 = ((($fill$i58)) + 1|0);
HEAP8[$80>>0] = $79;
$$sroa$8$0$i73 = 2;
break;
}
$81 = ($69>>>0)<(65536);
if ($81) {
$82 = $69 >>> 12;
$83 = $82 & 15;
$84 = $83&255;
$85 = $84 | -32;
HEAP8[$fill$i58>>0] = $85;
$86 = $69 >>> 6;
$87 = $86 & 63;
$88 = $87&255;
$89 = $88 | -128;
$90 = ((($fill$i58)) + 1|0);
HEAP8[$90>>0] = $89;
$91 = $69 & 63;
$92 = $91&255;
$93 = $92 | -128;
$94 = ((($fill$i58)) + 2|0);
HEAP8[$94>>0] = $93;
$$sroa$8$0$i73 = 3;
break;
} else {
$95 = $69 >>> 18;
$96 = $95&255;
$97 = $96 | -16;
HEAP8[$fill$i58>>0] = $97;
$98 = $69 >>> 12;
$99 = $98 & 63;
$100 = $99&255;
$101 = $100 | -128;
$102 = ((($fill$i58)) + 1|0);
HEAP8[$102>>0] = $101;
$103 = $69 >>> 6;
$104 = $103 & 63;
$105 = $104&255;
$106 = $105 | -128;
$107 = ((($fill$i58)) + 2|0);
HEAP8[$107>>0] = $106;
$108 = $69 & 63;
$109 = $108&255;
$110 = $109 | -128;
$111 = ((($fill$i58)) + 3|0);
HEAP8[$111>>0] = $110;
$$sroa$8$0$i73 = 4;
break;
}
}
} while(0);
$112 = ((($0)) + 28|0);
$113 = ((($0)) + 32|0);
$$sroa$012$0$i = 0;
while(1) {
$114 = ($$sroa$012$0$i>>>0)<($$sroa$080$0$i>>>0);
if (!($114)) {
label = 34;
break;
}
$115 = (($$sroa$012$0$i) + 1)|0;
$116 = HEAP32[$112>>2]|0;
$117 = HEAP32[$113>>2]|0;
$118 = ((($117)) + 12|0);
$119 = HEAP32[$118>>2]|0;
$120 = (FUNCTION_TABLE_iiii[$119 & 127]($116,$fill$i58,$$sroa$8$0$i73)|0);
$switch72$i = ($120<<24>>24)==(0);
if ($switch72$i) {
$$sroa$012$0$i = $115;
} else {
break;
}
}
L44: do {
if ((label|0) == 34) {
$121 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral28__u7b__u7b_closure_u7d__u7d_13closure_55365E($sign,$prefixed,$prefix,$0)|0);
$switch$i1$i = ($121<<24>>24)==(0);
if ($switch$i1$i) {
$122 = HEAP32[$112>>2]|0;
$123 = HEAP32[$113>>2]|0;
$124 = ((($123)) + 12|0);
$125 = HEAP32[$124>>2]|0;
$126 = (FUNCTION_TABLE_iiii[$125 & 127]($122,$4,$5)|0);
$switch76$i = ($126<<24>>24)==(0);
if ($switch76$i) {
$$sroa$07$0$i = 0;
while(1) {
$127 = ($$sroa$07$0$i>>>0)<($$sroa$6$0$i65>>>0);
if (!($127)) {
break;
}
$128 = (($$sroa$07$0$i) + 1)|0;
$129 = HEAP32[$112>>2]|0;
$130 = HEAP32[$113>>2]|0;
$131 = ((($130)) + 12|0);
$132 = HEAP32[$131>>2]|0;
$133 = (FUNCTION_TABLE_iiii[$132 & 127]($129,$fill$i58,$$sroa$8$0$i73)|0);
$switch75$i = ($133<<24>>24)==(0);
if ($switch75$i) {
$$sroa$07$0$i = $128;
} else {
break L44;
}
}
$iret_slot$sroa$0$0 = 0;
label = 61;
break L18;
}
}
}
} while(0);
$iret_slot$sroa$0$0 = 1;
label = 61;
break;
} else {
$60 = ((($0)) + 4|0);
HEAP32[$60>>2] = 48;
$61 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral28__u7b__u7b_closure_u7d__u7d_13closure_55365E($sign,$prefixed,$prefix,$0)|0);
$switch54 = ($61<<24>>24)==(0);
if (!($switch54)) {
label = 40;
break;
}
$148 = (($55) - ($width$1))|0;
$149 = ((($0)) + 8|0);
$150 = HEAP8[$149>>0]|0;
$cond$i = ($150<<24>>24)==(3);
$$$i = $cond$i ? 1 : $150;
switch ($$$i<<24>>24) {
case 0: {
$$sroa$078$0$i = 0;$$sroa$6$0$i = $148;
break;
}
case 3: case 1: {
$$sroa$078$0$i = $148;$$sroa$6$0$i = 0;
break;
}
case 2: {
$151 = $148 >>> 1;
$152 = (($148) + 1)|0;
$153 = $152 >>> 1;
$$sroa$078$0$i = $151;$$sroa$6$0$i = $153;
break;
}
default: {
// unreachable;
}
}
HEAP32[$fill$i>>2] = 0;
$154 = HEAP32[$60>>2]|0;
$155 = ($154>>>0)<(128);
do {
if ($155) {
$156 = $154&255;
HEAP8[$fill$i>>0] = $156;
$$sroa$8$0$i = 1;
} else {
$157 = ($154>>>0)<(2048);
if ($157) {
$158 = $154 >>> 6;
$159 = $158 & 31;
$160 = $159&255;
$161 = $160 | -64;
HEAP8[$fill$i>>0] = $161;
$162 = $154 & 63;
$163 = $162&255;
$164 = $163 | -128;
$165 = ((($fill$i)) + 1|0);
HEAP8[$165>>0] = $164;
$$sroa$8$0$i = 2;
break;
}
$166 = ($154>>>0)<(65536);
if ($166) {
$167 = $154 >>> 12;
$168 = $167 & 15;
$169 = $168&255;
$170 = $169 | -32;
HEAP8[$fill$i>>0] = $170;
$171 = $154 >>> 6;
$172 = $171 & 63;
$173 = $172&255;
$174 = $173 | -128;
$175 = ((($fill$i)) + 1|0);
HEAP8[$175>>0] = $174;
$176 = $154 & 63;
$177 = $176&255;
$178 = $177 | -128;
$179 = ((($fill$i)) + 2|0);
HEAP8[$179>>0] = $178;
$$sroa$8$0$i = 3;
break;
} else {
$180 = $154 >>> 18;
$181 = $180&255;
$182 = $181 | -16;
HEAP8[$fill$i>>0] = $182;
$183 = $154 >>> 12;
$184 = $183 & 63;
$185 = $184&255;
$186 = $185 | -128;
$187 = ((($fill$i)) + 1|0);
HEAP8[$187>>0] = $186;
$188 = $154 >>> 6;
$189 = $188 & 63;
$190 = $189&255;
$191 = $190 | -128;
$192 = ((($fill$i)) + 2|0);
HEAP8[$192>>0] = $191;
$193 = $154 & 63;
$194 = $193&255;
$195 = $194 | -128;
$196 = ((($fill$i)) + 3|0);
HEAP8[$196>>0] = $195;
$$sroa$8$0$i = 4;
break;
}
}
} while(0);
$197 = ((($0)) + 28|0);
$198 = ((($0)) + 32|0);
$$sroa$011$0$i = 0;
while(1) {
$199 = ($$sroa$011$0$i>>>0)<($$sroa$078$0$i>>>0);
if (!($199)) {
label = 57;
break;
}
$200 = (($$sroa$011$0$i) + 1)|0;
$201 = HEAP32[$197>>2]|0;
$202 = HEAP32[$198>>2]|0;
$203 = ((($202)) + 12|0);
$204 = HEAP32[$203>>2]|0;
$205 = (FUNCTION_TABLE_iiii[$204 & 127]($201,$fill$i,$$sroa$8$0$i)|0);
$switch70$i = ($205<<24>>24)==(0);
if ($switch70$i) {
$$sroa$011$0$i = $200;
} else {
break;
}
}
L72: do {
if ((label|0) == 57) {
$206 = HEAP32[$197>>2]|0;
$207 = HEAP32[$198>>2]|0;
$208 = ((($207)) + 12|0);
$209 = HEAP32[$208>>2]|0;
$210 = (FUNCTION_TABLE_iiii[$209 & 127]($206,$4,$5)|0);
$switch74$i = ($210<<24>>24)==(0);
if ($switch74$i) {
$$sroa$06$0$i = 0;
while(1) {
$211 = ($$sroa$06$0$i>>>0)<($$sroa$6$0$i>>>0);
if (!($211)) {
break;
}
$212 = (($$sroa$06$0$i) + 1)|0;
$213 = HEAP32[$197>>2]|0;
$214 = HEAP32[$198>>2]|0;
$215 = ((($214)) + 12|0);
$216 = HEAP32[$215>>2]|0;
$217 = (FUNCTION_TABLE_iiii[$216 & 127]($213,$fill$i,$$sroa$8$0$i)|0);
$switch73$i = ($217<<24>>24)==(0);
if ($switch73$i) {
$$sroa$06$0$i = $212;
} else {
break L72;
}
}
$iret_slot$sroa$0$0 = 0;
label = 61;
break L18;
}
}
} while(0);
$iret_slot$sroa$0$0 = 1;
label = 61;
break;
}
} else {
$53 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral28__u7b__u7b_closure_u7d__u7d_13closure_55365E($sign,$prefixed,$prefix,$0)|0);
$switch52 = ($53<<24>>24)==(0);
if ($switch52) {
$134 = ((($0)) + 28|0);
$135 = HEAP32[$134>>2]|0;
$136 = ((($0)) + 32|0);
$137 = HEAP32[$136>>2]|0;
$138 = ((($137)) + 12|0);
$139 = HEAP32[$138>>2]|0;
$140 = (FUNCTION_TABLE_iiii[$139 & 127]($135,$4,$5)|0);
$iret_slot$sroa$0$0 = $140;
label = 61;
} else {
label = 40;
}
}
} while(0);
if ((label|0) == 40) {
$218 = 1;
STACKTOP = sp;return ($218|0);
}
else if ((label|0) == 61) {
$218 = $iret_slot$sroa$0$0;
STACKTOP = sp;return ($218|0);
}
return (0)|0;
}
function __ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral28__u7b__u7b_closure_u7d__u7d_13closure_55365E($$0$0$val,$$0$1$val,$$0$2$val,$0) {
$$0$0$val = $$0$0$val|0;
$$0$1$val = $$0$1$val|0;
$$0$2$val = $$0$2$val|0;
$0 = $0|0;
var $$sroa$8$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
var $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $b = 0, $cond = 0, $switch = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$b = sp;
$1 = HEAP32[$$0$0$val>>2]|0;
$cond = ($1|0)==(1);
if ($cond) {
$2 = ((($$0$0$val)) + 4|0);
$3 = HEAP32[$2>>2]|0;
HEAP32[$b>>2] = 0;
$4 = ($3>>>0)<(128);
do {
if ($4) {
$5 = $3&255;
HEAP8[$b>>0] = $5;
$$sroa$8$0 = 1;
} else {
$6 = ($3>>>0)<(2048);
if ($6) {
$7 = $3 >>> 6;
$8 = $7 & 31;
$9 = $8&255;
$10 = $9 | -64;
HEAP8[$b>>0] = $10;
$11 = $3 & 63;
$12 = $11&255;
$13 = $12 | -128;
$14 = ((($b)) + 1|0);
HEAP8[$14>>0] = $13;
$$sroa$8$0 = 2;
break;
}
$15 = ($3>>>0)<(65536);
if ($15) {
$16 = $3 >>> 12;
$17 = $16 & 15;
$18 = $17&255;
$19 = $18 | -32;
HEAP8[$b>>0] = $19;
$20 = $3 >>> 6;
$21 = $20 & 63;
$22 = $21&255;
$23 = $22 | -128;
$24 = ((($b)) + 1|0);
HEAP8[$24>>0] = $23;
$25 = $3 & 63;
$26 = $25&255;
$27 = $26 | -128;
$28 = ((($b)) + 2|0);
HEAP8[$28>>0] = $27;
$$sroa$8$0 = 3;
break;
} else {
$29 = $3 >>> 18;
$30 = $29&255;
$31 = $30 | -16;
HEAP8[$b>>0] = $31;
$32 = $3 >>> 12;
$33 = $32 & 63;
$34 = $33&255;
$35 = $34 | -128;
$36 = ((($b)) + 1|0);
HEAP8[$36>>0] = $35;
$37 = $3 >>> 6;
$38 = $37 & 63;
$39 = $38&255;
$40 = $39 | -128;
$41 = ((($b)) + 2|0);
HEAP8[$41>>0] = $40;
$42 = $3 & 63;
$43 = $42&255;
$44 = $43 | -128;
$45 = ((($b)) + 3|0);
HEAP8[$45>>0] = $44;
$$sroa$8$0 = 4;
break;
}
}
} while(0);
$46 = ((($0)) + 28|0);
$47 = HEAP32[$46>>2]|0;
$48 = ((($0)) + 32|0);
$49 = HEAP32[$48>>2]|0;
$50 = ((($49)) + 12|0);
$51 = HEAP32[$50>>2]|0;
$52 = (FUNCTION_TABLE_iiii[$51 & 127]($47,$b,$$sroa$8$0)|0);
$switch = ($52<<24>>24)==(0);
if (!($switch)) {
$65 = 1;
STACKTOP = sp;return ($65|0);
}
}
$53 = HEAP8[$$0$1$val>>0]|0;
$54 = ($53<<24>>24)==(0);
if ($54) {
$65 = 0;
STACKTOP = sp;return ($65|0);
}
$55 = ((($0)) + 28|0);
$56 = HEAP32[$55>>2]|0;
$57 = ((($0)) + 32|0);
$58 = HEAP32[$57>>2]|0;
$59 = ((($58)) + 12|0);
$60 = HEAP32[$59>>2]|0;
$61 = HEAP32[$$0$2$val>>2]|0;
$62 = ((($$0$2$val)) + 4|0);
$63 = HEAP32[$62>>2]|0;
$64 = (FUNCTION_TABLE_iiii[$60 & 127]($56,$61,$63)|0);
$65 = $64;
STACKTOP = sp;return ($65|0);
}
function __ZN9panicking9panic_fmt20h354880378c07fbbe7mME($fmt,$0) {
$fmt = $fmt|0;
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $arg$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$arg$i$i = sp + 16|0;
$1 = sp;
$2 = HEAP32[$0>>2]|0;
$3 = ((($0)) + 4|0);
$4 = HEAP32[$3>>2]|0;
$5 = ((($0)) + 8|0);
$6 = HEAP32[$5>>2]|0;
;HEAP32[$arg$i$i>>2]=HEAP32[$fmt>>2]|0;HEAP32[$arg$i$i+4>>2]=HEAP32[$fmt+4>>2]|0;HEAP32[$arg$i$i+8>>2]=HEAP32[$fmt+8>>2]|0;HEAP32[$arg$i$i+12>>2]=HEAP32[$fmt+12>>2]|0;HEAP32[$arg$i$i+16>>2]=HEAP32[$fmt+16>>2]|0;HEAP32[$arg$i$i+20>>2]=HEAP32[$fmt+20>>2]|0;
HEAP32[$1>>2] = $2;
$7 = ((($1)) + 4|0);
HEAP32[$7>>2] = $4;
$8 = ((($1)) + 8|0);
HEAP32[$8>>2] = $6;
__ZN10sys_common6unwind16begin_unwind_fmt20h0ca53700e4e0b4b7houE($arg$i$i,$1);
// unreachable;
}
function __ZN9panicking5panic20h505ed693e1be0208ElME($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$1 = sp + 24|0;
$2 = sp + 16|0;
$3 = sp;
$4 = $0;
$5 = $4;
$6 = HEAP32[$5>>2]|0;
$7 = (($4) + 4)|0;
$8 = $7;
$9 = HEAP32[$8>>2]|0;
$10 = ((($0)) + 8|0);
$11 = $10;
$12 = $11;
$13 = HEAP32[$12>>2]|0;
$14 = (($11) + 4)|0;
$15 = $14;
$16 = HEAP32[$15>>2]|0;
$17 = ((($0)) + 16|0);
$18 = HEAP32[$17>>2]|0;
$19 = $2;
$20 = $19;
HEAP32[$20>>2] = $6;
$21 = (($19) + 4)|0;
$22 = $21;
HEAP32[$22>>2] = $9;
HEAP32[$1>>2] = $2;
$23 = ((($1)) + 4|0);
HEAP32[$23>>2] = 1;
$24 = ((($1)) + 8|0);
$25 = $24;
$26 = $25;
HEAP32[$26>>2] = 0;
$27 = (($25) + 4)|0;
$28 = $27;
HEAP32[$28>>2] = 0;
$29 = ((($1)) + 16|0);
HEAP32[$29>>2] = 7144;
$30 = ((($1)) + 20|0);
HEAP32[$30>>2] = 0;
$31 = $3;
$32 = $31;
HEAP32[$32>>2] = $13;
$33 = (($31) + 4)|0;
$34 = $33;
HEAP32[$34>>2] = $16;
$35 = ((($3)) + 8|0);
HEAP32[$35>>2] = $18;
__ZN9panicking9panic_fmt20h354880378c07fbbe7mME($1,$3);
// unreachable;
}
function __ZN9panicking18panic_bounds_check20h8e1f5fdc350eb389dmME($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $index = 0, $len = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$index = sp + 44|0;
$len = sp + 40|0;
$3 = sp + 16|0;
$4 = sp;
HEAP32[$index>>2] = $1;
HEAP32[$len>>2] = $2;
$5 = ((($4)) + 4|0);
HEAP32[$5>>2] = 104;
HEAP32[$4>>2] = $len;
$6 = ((($4)) + 8|0);
$7 = ((($4)) + 12|0);
HEAP32[$7>>2] = 104;
HEAP32[$6>>2] = $index;
HEAP32[$3>>2] = 1576;
$8 = ((($3)) + 4|0);
HEAP32[$8>>2] = 2;
$9 = ((($3)) + 8|0);
$10 = $9;
$11 = $10;
HEAP32[$11>>2] = 0;
$12 = (($10) + 4)|0;
$13 = $12;
HEAP32[$13>>2] = 0;
$14 = ((($3)) + 16|0);
HEAP32[$14>>2] = $4;
$15 = ((($3)) + 20|0);
HEAP32[$15>>2] = 2;
__ZN9panicking9panic_fmt20h354880378c07fbbe7mME($3,$0);
// unreachable;
}
function __ZN3fmt3num18usize_fmt__Display3fmt20h66dfdb06047ad5520AWE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $buf8 = 0, $curr$0$lcssa = 0;
var $curr$09 = 0, $curr$1 = 0, $curr$2 = 0, $n$1$lcssa = 0, $n$110 = 0, $n2$0 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$buf8 = sp;
$2 = HEAP32[$0>>2]|0;
$3 = ($2>>>0)>(9999);
if ($3) {
$curr$09 = 20;$n$110 = $2;
while(1) {
$5 = (($n$110>>>0) % 10000)&-1;
$6 = (($n$110>>>0) / 10000)&-1;
$7 = (($5>>>0) / 100)&-1;
$8 = $7 << 1;
$9 = (($5>>>0) % 100)&-1;
$10 = $9 << 1;
$11 = (($curr$09) + -4)|0;
$12 = (4049 + ($8)|0);
$13 = (($buf8) + ($11)|0);
$14 = HEAPU8[$12>>0]|(HEAPU8[$12+1>>0]<<8);
HEAP8[$13>>0]=$14&255;HEAP8[$13+1>>0]=$14>>8;
$15 = (4049 + ($10)|0);
$16 = (($curr$09) + -2)|0;
$17 = (($buf8) + ($16)|0);
$18 = HEAPU8[$15>>0]|(HEAPU8[$15+1>>0]<<8);
HEAP8[$17>>0]=$18&255;HEAP8[$17+1>>0]=$18>>8;
$19 = ($n$110>>>0)>(99999999);
if ($19) {
$curr$09 = $11;$n$110 = $6;
} else {
$curr$0$lcssa = $11;$n$1$lcssa = $6;
break;
}
}
} else {
$curr$0$lcssa = 20;$n$1$lcssa = $2;
}
$4 = ($n$1$lcssa|0)>(99);
if ($4) {
$20 = (($n$1$lcssa|0) % 100)&-1;
$21 = $20 << 1;
$22 = (($n$1$lcssa|0) / 100)&-1;
$23 = (($curr$0$lcssa) + -2)|0;
$24 = (4049 + ($21)|0);
$25 = (($buf8) + ($23)|0);
$26 = HEAPU8[$24>>0]|(HEAPU8[$24+1>>0]<<8);
HEAP8[$25>>0]=$26&255;HEAP8[$25+1>>0]=$26>>8;
$curr$1 = $23;$n2$0 = $22;
} else {
$curr$1 = $curr$0$lcssa;$n2$0 = $n$1$lcssa;
}
$27 = ($n2$0|0)<(10);
if ($27) {
$28 = (($curr$1) + -1)|0;
$29 = $n2$0&255;
$30 = (($29) + 48)<<24>>24;
$31 = (($buf8) + ($28)|0);
HEAP8[$31>>0] = $30;
$curr$2 = $28;
$37 = (($buf8) + ($curr$2)|0);
$38 = (20 - ($curr$2))|0;
$39 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral20h051d8c1a7b501c091tXE($1,1,7692,0,$37,$38)|0);
STACKTOP = sp;return ($39|0);
} else {
$32 = $n2$0 << 1;
$33 = (($curr$1) + -2)|0;
$34 = (4049 + ($32)|0);
$35 = (($buf8) + ($33)|0);
$36 = HEAPU8[$34>>0]|(HEAPU8[$34+1>>0]<<8);
HEAP8[$35>>0]=$36&255;HEAP8[$35+1>>0]=$36>>8;
$curr$2 = $33;
$37 = (($buf8) + ($curr$2)|0);
$38 = (20 - ($curr$2))|0;
$39 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral20h051d8c1a7b501c091tXE($1,1,7692,0,$37,$38)|0);
STACKTOP = sp;return ($39|0);
}
return (0)|0;
}
function __ZN5slice22slice_index_order_fail20h0ea23a39457ab7feuaQE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $end = 0, $index = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$index = sp + 44|0;
$end = sp + 40|0;
$2 = sp + 16|0;
$3 = sp;
HEAP32[$index>>2] = $0;
HEAP32[$end>>2] = $1;
$4 = ((($3)) + 4|0);
HEAP32[$4>>2] = 104;
HEAP32[$3>>2] = $index;
$5 = ((($3)) + 8|0);
$6 = ((($3)) + 12|0);
HEAP32[$6>>2] = 104;
HEAP32[$5>>2] = $end;
HEAP32[$2>>2] = 1592;
$7 = ((($2)) + 4|0);
HEAP32[$7>>2] = 2;
$8 = ((($2)) + 8|0);
$9 = $8;
$10 = $9;
HEAP32[$10>>2] = 0;
$11 = (($9) + 4)|0;
$12 = $11;
HEAP32[$12>>2] = 0;
$13 = ((($2)) + 16|0);
HEAP32[$13>>2] = $3;
$14 = ((($2)) + 20|0);
HEAP32[$14>>2] = 2;
__ZN9panicking9panic_fmt20h354880378c07fbbe7mME($2,1608);
// unreachable;
}
function __ZN5slice20slice_index_len_fail20h9ec8212373ae0291u9PE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $index = 0, $len = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$index = sp + 44|0;
$len = sp + 40|0;
$2 = sp + 16|0;
$3 = sp;
HEAP32[$index>>2] = $0;
HEAP32[$len>>2] = $1;
$4 = ((($3)) + 4|0);
HEAP32[$4>>2] = 104;
HEAP32[$3>>2] = $index;
$5 = ((($3)) + 8|0);
$6 = ((($3)) + 12|0);
HEAP32[$6>>2] = 104;
HEAP32[$5>>2] = $len;
HEAP32[$2>>2] = 1620;
$7 = ((($2)) + 4|0);
HEAP32[$7>>2] = 2;
$8 = ((($2)) + 8|0);
$9 = $8;
$10 = $9;
HEAP32[$10>>2] = 0;
$11 = (($9) + 4)|0;
$12 = $11;
HEAP32[$12>>2] = 0;
$13 = ((($2)) + 16|0);
HEAP32[$13>>2] = $3;
$14 = ((($2)) + 20|0);
HEAP32[$14>>2] = 2;
__ZN9panicking9panic_fmt20h354880378c07fbbe7mME($2,1636);
// unreachable;
}
function __ZN3num26ParseIntError___fmt__Debug3fmt20h02f2104e1bdb08e8KGkE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$pre$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0;
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $addr_of = 0, $builder = 0, $sret_slot$sroa$0$0$i$i = 0, $switch$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$builder = sp;
$addr_of = sp + 8|0;
HEAP32[$addr_of>>2] = 488447261;
$2 = ((($1)) + 28|0);
$3 = HEAP32[$2>>2]|0;
$4 = ((($1)) + 32|0);
$5 = HEAP32[$4>>2]|0;
$6 = ((($5)) + 12|0);
$7 = HEAP32[$6>>2]|0;
$8 = (FUNCTION_TABLE_iiii[$7 & 127]($3,4377,13)|0);
HEAP32[$builder>>2] = $1;
$9 = ((($builder)) + 4|0);
HEAP8[$9>>0] = $8;
$10 = ((($builder)) + 5|0);
HEAP8[$10>>0] = 0;
HEAP32[$addr_of>>2] = $0;
__ZN3fmt8builders39DebugStruct_LT__u27_a_C__u20__u27_b_GT_5field20he6f34b3e8a5f32e49HWE($builder,4390,4,$addr_of,312);
$11 = HEAP8[$10>>0]|0;
$12 = ($11<<24>>24)==(0);
$$pre$i = HEAP8[$9>>0]|0;
if ($12) {
$25 = $$pre$i;
STACKTOP = sp;return ($25|0);
}
$switch$i$i = ($$pre$i<<24>>24)==(0);
do {
if ($switch$i$i) {
$13 = HEAP32[$builder>>2]|0;
$14 = HEAP32[$13>>2]|0;
$15 = $14 & 4;
$16 = ($15|0)==(0);
$17 = ((($13)) + 28|0);
$18 = HEAP32[$17>>2]|0;
$19 = ((($13)) + 32|0);
$20 = HEAP32[$19>>2]|0;
$21 = ((($20)) + 12|0);
$22 = HEAP32[$21>>2]|0;
if ($16) {
$24 = (FUNCTION_TABLE_iiii[$22 & 127]($18,4047,2)|0);
$sret_slot$sroa$0$0$i$i = $24;
break;
} else {
$23 = (FUNCTION_TABLE_iiii[$22 & 127]($18,4544,2)|0);
$sret_slot$sroa$0$0$i$i = $23;
break;
}
} else {
$sret_slot$sroa$0$0$i$i = 1;
}
} while(0);
HEAP8[$9>>0] = $sret_slot$sroa$0$0$i$i;
$25 = $sret_slot$sroa$0$0$i$i;
STACKTOP = sp;return ($25|0);
}
function __ZN2i810drop_5455217hdd39705df3949024E($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
return;
}
function __ZN3fmt23__RF__u27_a_u20_T_Debug3fmt19h220124151501175716E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sret_slot$sroa$0$0$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = HEAP32[$0>>2]|0;
$3 = HEAP8[$2>>0]|0;
switch ($3<<24>>24) {
case 0: {
$4 = ((($1)) + 28|0);
$5 = HEAP32[$4>>2]|0;
$6 = ((($1)) + 32|0);
$7 = HEAP32[$6>>2]|0;
$8 = ((($7)) + 12|0);
$9 = HEAP32[$8>>2]|0;
$10 = (FUNCTION_TABLE_iiii[$9 & 127]($5,4394,5)|0);
$sret_slot$sroa$0$0$i = $10;
return ($sret_slot$sroa$0$0$i|0);
break;
}
case 1: {
$11 = ((($1)) + 28|0);
$12 = HEAP32[$11>>2]|0;
$13 = ((($1)) + 32|0);
$14 = HEAP32[$13>>2]|0;
$15 = ((($14)) + 12|0);
$16 = HEAP32[$15>>2]|0;
$17 = (FUNCTION_TABLE_iiii[$16 & 127]($12,4399,12)|0);
$sret_slot$sroa$0$0$i = $17;
return ($sret_slot$sroa$0$0$i|0);
break;
}
case 2: {
$18 = ((($1)) + 28|0);
$19 = HEAP32[$18>>2]|0;
$20 = ((($1)) + 32|0);
$21 = HEAP32[$20>>2]|0;
$22 = ((($21)) + 12|0);
$23 = HEAP32[$22>>2]|0;
$24 = (FUNCTION_TABLE_iiii[$23 & 127]($19,4411,8)|0);
$sret_slot$sroa$0$0$i = $24;
return ($sret_slot$sroa$0$0$i|0);
break;
}
case 3: {
$25 = ((($1)) + 28|0);
$26 = HEAP32[$25>>2]|0;
$27 = ((($1)) + 32|0);
$28 = HEAP32[$27>>2]|0;
$29 = ((($28)) + 12|0);
$30 = HEAP32[$29>>2]|0;
$31 = (FUNCTION_TABLE_iiii[$30 & 127]($26,4419,9)|0);
$sret_slot$sroa$0$0$i = $31;
return ($sret_slot$sroa$0$0$i|0);
break;
}
default: {
// unreachable;
}
}
return (0)|0;
}
function __ZN3fmt8builders39DebugStruct_LT__u27_a_C__u20__u27_b_GT_5field20he6f34b3e8a5f32e49HWE($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$pre = 0, $$pre$phiZ2D = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $arg$i$i$i = 0, $name = 0, $prefix$i$i = 0, $sret_slot$sroa$0$0$i = 0, $sret_slot$sroa$0$0$i$i = 0, $switch$i = 0, $value = 0, $writer$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$arg$i$i$i = sp + 104|0;
$prefix$i$i = sp + 96|0;
$writer$i$i = sp + 88|0;
$5 = sp + 64|0;
$6 = sp + 40|0;
$7 = sp + 16|0;
$name = sp + 8|0;
$value = sp;
HEAP32[$name>>2] = $1;
$8 = ((($name)) + 4|0);
HEAP32[$8>>2] = $2;
HEAP32[$value>>2] = $3;
$9 = ((($value)) + 4|0);
HEAP32[$9>>2] = $4;
$10 = ((($0)) + 4|0);
$11 = HEAP8[$10>>0]|0;
$12 = $name;
$13 = $value;
$switch$i = ($11<<24>>24)==(0);
if (!($switch$i)) {
$$pre = ((($0)) + 5|0);
$$pre$phiZ2D = $$pre;$sret_slot$sroa$0$0$i = 1;
HEAP8[$10>>0] = $sret_slot$sroa$0$0$i;
HEAP8[$$pre$phiZ2D>>0] = 1;
STACKTOP = sp;return;
}
$14 = ((($0)) + 5|0);
$15 = HEAP8[$14>>0]|0;
$16 = ($15<<24>>24)==(0);
$17 = 328;
$18 = $17;
$19 = HEAP32[$18>>2]|0;
$20 = (($17) + 4)|0;
$21 = $20;
$22 = HEAP32[$21>>2]|0;
$23 = 336;
$24 = $23;
$25 = HEAP32[$24>>2]|0;
$26 = (($23) + 4)|0;
$27 = $26;
$28 = HEAP32[$27>>2]|0;
$29 = $16 ? $19 : $25;
$30 = $16 ? $22 : $28;
$31 = $prefix$i$i;
$32 = $31;
HEAP32[$32>>2] = $29;
$33 = (($31) + 4)|0;
$34 = $33;
HEAP32[$34>>2] = $30;
$35 = HEAP32[$0>>2]|0;
$36 = HEAP32[$35>>2]|0;
$37 = $36 & 4;
$38 = ($37|0)==(0);
if ($38) {
$52 = ((($7)) + 4|0);
HEAP32[$52>>2] = 67;
HEAP32[$7>>2] = $prefix$i$i;
$53 = ((($7)) + 8|0);
$54 = ((($7)) + 12|0);
HEAP32[$54>>2] = 67;
HEAP32[$53>>2] = $12;
$55 = ((($7)) + 16|0);
$56 = ((($7)) + 20|0);
HEAP32[$56>>2] = 68;
HEAP32[$55>>2] = $13;
$57 = ((($35)) + 28|0);
$58 = HEAP32[$57>>2]|0;
$59 = ((($35)) + 32|0);
$60 = HEAP32[$59>>2]|0;
HEAP32[$arg$i$i$i>>2] = 1900;
$61 = ((($arg$i$i$i)) + 4|0);
HEAP32[$61>>2] = 3;
$62 = ((($arg$i$i$i)) + 8|0);
$63 = $62;
$64 = $63;
HEAP32[$64>>2] = 0;
$65 = (($63) + 4)|0;
$66 = $65;
HEAP32[$66>>2] = 0;
$67 = ((($arg$i$i$i)) + 16|0);
HEAP32[$67>>2] = $7;
$68 = ((($arg$i$i$i)) + 20|0);
HEAP32[$68>>2] = 3;
$69 = (__ZN3fmt5write20h7901236a83d456cd7oXE($58,$60,$arg$i$i$i)|0);
$sret_slot$sroa$0$0$i$i = $69;
} else {
$39 = $35;
HEAP32[$writer$i$i>>2] = $39;
$40 = ((($writer$i$i)) + 4|0);
HEAP8[$40>>0] = 0;
$41 = ((($6)) + 4|0);
HEAP32[$41>>2] = 67;
HEAP32[$6>>2] = $prefix$i$i;
$42 = ((($6)) + 8|0);
$43 = ((($6)) + 12|0);
HEAP32[$43>>2] = 67;
HEAP32[$42>>2] = $12;
$44 = ((($6)) + 16|0);
$45 = ((($6)) + 20|0);
HEAP32[$45>>2] = 68;
HEAP32[$44>>2] = $13;
HEAP32[$5>>2] = 1744;
$46 = ((($5)) + 4|0);
HEAP32[$46>>2] = 3;
$47 = ((($5)) + 8|0);
HEAP32[$47>>2] = 1768;
$48 = ((($5)) + 12|0);
HEAP32[$48>>2] = 3;
$49 = ((($5)) + 16|0);
HEAP32[$49>>2] = $6;
$50 = ((($5)) + 20|0);
HEAP32[$50>>2] = 3;
$51 = (__ZN3fmt5write20h7901236a83d456cd7oXE($writer$i$i,360,$5)|0);
$sret_slot$sroa$0$0$i$i = $51;
}
$$pre$phiZ2D = $14;$sret_slot$sroa$0$0$i = $sret_slot$sroa$0$0$i$i;
HEAP8[$10>>0] = $sret_slot$sroa$0$0$i;
HEAP8[$$pre$phiZ2D>>0] = 1;
STACKTOP = sp;return;
}
function __ZN3fmt25__RF__u27_a_u20_T_Display3fmt21h16554294782745317568E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = HEAP32[$0>>2]|0;
$3 = ((($0)) + 4|0);
$4 = HEAP32[$3>>2]|0;
$5 = (__ZN3fmt23Formatter_LT__u27_a_GT_3pad20h4dc31ec7f968f174LyXE($1,$2,$4)|0);
return ($5|0);
}
function __ZN3fmt23Formatter_LT__u27_a_GT_3pad20h4dc31ec7f968f174LyXE($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$$i = 0, $$cast$i$i$i$i = 0, $$cast$i$i11$i$i = 0, $$lobit$i$i = 0, $$lobit$not$i$i = 0, $$phi$trans$insert = 0, $$pre = 0, $$pre$phiZ2D = 0, $$pre4 = 0, $$sroa$01$1$i$i = 0, $$sroa$01$1$i$i31 = 0, $$sroa$01$2$i$i = 0, $$sroa$01$2$i$i33 = 0, $$sroa$01$3$i$i = 0, $$sroa$01$3$i$i35 = 0, $$sroa$01$5$ph$i$i = 0, $$sroa$01$5$ph$i$i37 = 0, $$sroa$011$0$i = 0, $$sroa$046$0 = 0, $$sroa$06$0$i = 0;
var $$sroa$078$0$i = 0, $$sroa$6$0$i = 0, $$sroa$8$0$i = 0, $$sroa$848$0$off0 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0;
var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0;
var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $accum$0$lcssa$i$i = 0, $accum$0$lcssa$i$i39 = 0, $accum$04$i$i = 0, $accum$04$i$i29 = 0, $cond$i = 0, $cond21 = 0, $extract$t4$i$i = 0, $fill$i = 0, $n$010$i$i = 0;
var $not$$i$i = 0, $sret_slot$sroa$0$0 = 0, $switch70$i = 0, $switch73$i = 0, $switch74$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$fill$i = sp;
$3 = ((($0)) + 12|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)==(1);
$$phi$trans$insert = ((($0)) + 20|0);
$$pre = HEAP32[$$phi$trans$insert>>2]|0;
$cond21 = ($$pre|0)==(1);
if ($5) {
if ($cond21) {
label = 6;
} else {
$$pre4 = (($1) + ($2)|0);
$$pre$phiZ2D = $$pre4;
}
} else {
if ($cond21) {
label = 6;
} else {
$6 = ((($0)) + 28|0);
$7 = HEAP32[$6>>2]|0;
$8 = ((($0)) + 32|0);
$9 = HEAP32[$8>>2]|0;
$10 = ((($9)) + 12|0);
$11 = HEAP32[$10>>2]|0;
$12 = (FUNCTION_TABLE_iiii[$11 & 127]($7,$1,$2)|0);
$sret_slot$sroa$0$0 = $12;
STACKTOP = sp;return ($sret_slot$sroa$0$0|0);
}
}
do {
if ((label|0) == 6) {
$13 = ((($0)) + 24|0);
$14 = HEAP32[$13>>2]|0;
$15 = (($1) + ($2)|0);
$16 = ($14|0)==(0);
$17 = ($2|0)==(0);
L9: do {
if ($16) {
if ($17) {
label = 21;
} else {
$$sroa$848$0$off0 = 0;
}
} else {
if ($17) {
label = 21;
} else {
$18 = $1;
$$cast$i$i11$i$i = $1;$$sroa$046$0 = 0;$20 = $18;$n$010$i$i = $14;
while(1) {
$25 = ((($$cast$i$i11$i$i)) + 1|0);
$26 = HEAP8[$$cast$i$i11$i$i>>0]|0;
$27 = ($26<<24>>24)<(0);
$28 = $25;
if ($27) {
$29 = ($25|0)==($15|0);
$30 = ((($$cast$i$i11$i$i)) + 2|0);
$31 = $30;
$32 = $29 ? $28 : $31;
$33 = $29 ? $15 : $30;
$34 = ($26&255)>(223);
if ($34) {
$35 = ($33|0)==($15|0);
$36 = ((($33)) + 1|0);
$37 = $36;
$38 = $35 ? $32 : $37;
$39 = $35 ? $15 : $36;
$40 = ($26&255)>(239);
if ($40) {
$41 = ($39|0)==($15|0);
$42 = ((($39)) + 1|0);
$43 = $42;
$44 = $41 ? $38 : $43;
$22 = $44;
} else {
$22 = $38;
}
} else {
$22 = $32;
}
} else {
$22 = $28;
}
$45 = ($n$010$i$i|0)==(0);
if ($45) {
$$sroa$848$0$off0 = $$sroa$046$0;
break L9;
}
$19 = (($$sroa$046$0) - ($20))|0;
$21 = (($19) + ($22))|0;
$23 = (($n$010$i$i) + -1)|0;
$$cast$i$i$i$i = $22;
$24 = ($$cast$i$i$i$i|0)==($15|0);
if ($24) {
label = 21;
break;
} else {
$$cast$i$i11$i$i = $$cast$i$i$i$i;$$sroa$046$0 = $21;$20 = $22;$n$010$i$i = $23;
}
}
}
}
} while(0);
if ((label|0) == 21) {
if ($5) {
$$pre$phiZ2D = $15;
break;
}
$59 = ((($0)) + 28|0);
$60 = HEAP32[$59>>2]|0;
$61 = ((($0)) + 32|0);
$62 = HEAP32[$61>>2]|0;
$63 = ((($62)) + 12|0);
$64 = HEAP32[$63>>2]|0;
$65 = (FUNCTION_TABLE_iiii[$64 & 127]($60,$1,$2)|0);
$sret_slot$sroa$0$0 = $65;
STACKTOP = sp;return ($sret_slot$sroa$0$0|0);
}
$46 = ((($0)) + 28|0);
$47 = HEAP32[$46>>2]|0;
$48 = ((($0)) + 32|0);
$49 = HEAP32[$48>>2]|0;
$50 = ((($49)) + 12|0);
$51 = HEAP32[$50>>2]|0;
$52 = ($$sroa$848$0$off0|0)==($2|0);
if (!($52)) {
$not$$i$i = ($$sroa$848$0$off0>>>0)<($2>>>0);
if (!($not$$i$i)) {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($1,$2,0,$$sroa$848$0$off0);
// unreachable;
}
$53 = (($1) + ($$sroa$848$0$off0)|0);
$54 = HEAP8[$53>>0]|0;
$55 = ($54&255)>(191);
$$lobit$i$i = ($54&255) >>> 7;
$$lobit$not$i$i = $$lobit$i$i ^ 1;
$56 = $55&1;
$57 = $$lobit$not$i$i | $56;
$extract$t4$i$i = ($57<<24>>24)==(0);
if ($extract$t4$i$i) {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($1,$2,0,$$sroa$848$0$off0);
// unreachable;
}
}
$58 = (FUNCTION_TABLE_iiii[$51 & 127]($47,$1,$$sroa$848$0$off0)|0);
$sret_slot$sroa$0$0 = $58;
STACKTOP = sp;return ($sret_slot$sroa$0$0|0);
}
} while(0);
$66 = ((($0)) + 16|0);
$67 = HEAP32[$66>>2]|0;
$68 = ($2|0)==(0);
if ($68) {
$accum$0$lcssa$i$i39 = 0;
} else {
$70 = $1;$accum$04$i$i29 = 0;
while(1) {
$69 = ((($70)) + 1|0);
$71 = $69;
$72 = HEAP8[$70>>0]|0;
$73 = ($72<<24>>24)<(0);
if ($73) {
$74 = ($69|0)==($$pre$phiZ2D|0);
$75 = ((($70)) + 2|0);
$76 = $75;
$$sroa$01$1$i$i31 = $74 ? $71 : $76;
$77 = $74 ? $$pre$phiZ2D : $75;
$78 = ($72&255)>(223);
if ($78) {
$79 = ($77|0)==($$pre$phiZ2D|0);
$80 = ((($77)) + 1|0);
$81 = $80;
$$sroa$01$2$i$i33 = $79 ? $$sroa$01$1$i$i31 : $81;
$82 = $79 ? $$pre$phiZ2D : $80;
$83 = ($72&255)>(239);
if ($83) {
$84 = ($82|0)==($$pre$phiZ2D|0);
$85 = ((($82)) + 1|0);
$86 = $85;
$$sroa$01$3$i$i35 = $84 ? $$sroa$01$2$i$i33 : $86;
$$sroa$01$5$ph$i$i37 = $$sroa$01$3$i$i35;
} else {
$$sroa$01$5$ph$i$i37 = $$sroa$01$2$i$i33;
}
} else {
$$sroa$01$5$ph$i$i37 = $$sroa$01$1$i$i31;
}
} else {
$$sroa$01$5$ph$i$i37 = $71;
}
$87 = (($accum$04$i$i29) + 1)|0;
$88 = $$sroa$01$5$ph$i$i37;
$89 = ($88|0)==($$pre$phiZ2D|0);
if ($89) {
$accum$0$lcssa$i$i39 = $87;
break;
} else {
$70 = $88;$accum$04$i$i29 = $87;
}
}
}
$90 = ($accum$0$lcssa$i$i39>>>0)<($67>>>0);
if (!($90)) {
$91 = ((($0)) + 28|0);
$92 = HEAP32[$91>>2]|0;
$93 = ((($0)) + 32|0);
$94 = HEAP32[$93>>2]|0;
$95 = ((($94)) + 12|0);
$96 = HEAP32[$95>>2]|0;
$97 = (FUNCTION_TABLE_iiii[$96 & 127]($92,$1,$2)|0);
$sret_slot$sroa$0$0 = $97;
STACKTOP = sp;return ($sret_slot$sroa$0$0|0);
}
if ($68) {
$accum$0$lcssa$i$i = 0;
} else {
$99 = $1;$accum$04$i$i = 0;
while(1) {
$98 = ((($99)) + 1|0);
$100 = $98;
$101 = HEAP8[$99>>0]|0;
$102 = ($101<<24>>24)<(0);
if ($102) {
$103 = ($98|0)==($$pre$phiZ2D|0);
$104 = ((($99)) + 2|0);
$105 = $104;
$$sroa$01$1$i$i = $103 ? $100 : $105;
$106 = $103 ? $$pre$phiZ2D : $104;
$107 = ($101&255)>(223);
if ($107) {
$108 = ($106|0)==($$pre$phiZ2D|0);
$109 = ((($106)) + 1|0);
$110 = $109;
$$sroa$01$2$i$i = $108 ? $$sroa$01$1$i$i : $110;
$111 = $108 ? $$pre$phiZ2D : $109;
$112 = ($101&255)>(239);
if ($112) {
$113 = ($111|0)==($$pre$phiZ2D|0);
$114 = ((($111)) + 1|0);
$115 = $114;
$$sroa$01$3$i$i = $113 ? $$sroa$01$2$i$i : $115;
$$sroa$01$5$ph$i$i = $$sroa$01$3$i$i;
} else {
$$sroa$01$5$ph$i$i = $$sroa$01$2$i$i;
}
} else {
$$sroa$01$5$ph$i$i = $$sroa$01$1$i$i;
}
} else {
$$sroa$01$5$ph$i$i = $100;
}
$116 = (($accum$04$i$i) + 1)|0;
$117 = $$sroa$01$5$ph$i$i;
$118 = ($117|0)==($$pre$phiZ2D|0);
if ($118) {
$accum$0$lcssa$i$i = $116;
break;
} else {
$99 = $117;$accum$04$i$i = $116;
}
}
}
$119 = (($67) - ($accum$0$lcssa$i$i))|0;
$120 = ((($0)) + 8|0);
$121 = HEAP8[$120>>0]|0;
$cond$i = ($121<<24>>24)==(3);
$$$i = $cond$i ? 0 : $121;
switch ($$$i<<24>>24) {
case 0: {
$$sroa$078$0$i = 0;$$sroa$6$0$i = $119;
break;
}
case 3: case 1: {
$$sroa$078$0$i = $119;$$sroa$6$0$i = 0;
break;
}
case 2: {
$122 = $119 >>> 1;
$123 = (($119) + 1)|0;
$124 = $123 >>> 1;
$$sroa$078$0$i = $122;$$sroa$6$0$i = $124;
break;
}
default: {
// unreachable;
}
}
HEAP32[$fill$i>>2] = 0;
$125 = ((($0)) + 4|0);
$126 = HEAP32[$125>>2]|0;
$127 = ($126>>>0)<(128);
do {
if ($127) {
$128 = $126&255;
HEAP8[$fill$i>>0] = $128;
$$sroa$8$0$i = 1;
} else {
$129 = ($126>>>0)<(2048);
if ($129) {
$130 = $126 >>> 6;
$131 = $130 & 31;
$132 = $131&255;
$133 = $132 | -64;
HEAP8[$fill$i>>0] = $133;
$134 = $126 & 63;
$135 = $134&255;
$136 = $135 | -128;
$137 = ((($fill$i)) + 1|0);
HEAP8[$137>>0] = $136;
$$sroa$8$0$i = 2;
break;
}
$138 = ($126>>>0)<(65536);
if ($138) {
$139 = $126 >>> 12;
$140 = $139 & 15;
$141 = $140&255;
$142 = $141 | -32;
HEAP8[$fill$i>>0] = $142;
$143 = $126 >>> 6;
$144 = $143 & 63;
$145 = $144&255;
$146 = $145 | -128;
$147 = ((($fill$i)) + 1|0);
HEAP8[$147>>0] = $146;
$148 = $126 & 63;
$149 = $148&255;
$150 = $149 | -128;
$151 = ((($fill$i)) + 2|0);
HEAP8[$151>>0] = $150;
$$sroa$8$0$i = 3;
break;
} else {
$152 = $126 >>> 18;
$153 = $152&255;
$154 = $153 | -16;
HEAP8[$fill$i>>0] = $154;
$155 = $126 >>> 12;
$156 = $155 & 63;
$157 = $156&255;
$158 = $157 | -128;
$159 = ((($fill$i)) + 1|0);
HEAP8[$159>>0] = $158;
$160 = $126 >>> 6;
$161 = $160 & 63;
$162 = $161&255;
$163 = $162 | -128;
$164 = ((($fill$i)) + 2|0);
HEAP8[$164>>0] = $163;
$165 = $126 & 63;
$166 = $165&255;
$167 = $166 | -128;
$168 = ((($fill$i)) + 3|0);
HEAP8[$168>>0] = $167;
$$sroa$8$0$i = 4;
break;
}
}
} while(0);
$169 = ((($0)) + 28|0);
$170 = ((($0)) + 32|0);
$$sroa$011$0$i = 0;
while(1) {
$171 = ($$sroa$011$0$i>>>0)<($$sroa$078$0$i>>>0);
if (!($171)) {
label = 52;
break;
}
$172 = (($$sroa$011$0$i) + 1)|0;
$173 = HEAP32[$169>>2]|0;
$174 = HEAP32[$170>>2]|0;
$175 = ((($174)) + 12|0);
$176 = HEAP32[$175>>2]|0;
$177 = (FUNCTION_TABLE_iiii[$176 & 127]($173,$fill$i,$$sroa$8$0$i)|0);
$switch70$i = ($177<<24>>24)==(0);
if ($switch70$i) {
$$sroa$011$0$i = $172;
} else {
break;
}
}
L75: do {
if ((label|0) == 52) {
$178 = HEAP32[$169>>2]|0;
$179 = HEAP32[$170>>2]|0;
$180 = ((($179)) + 12|0);
$181 = HEAP32[$180>>2]|0;
$182 = (FUNCTION_TABLE_iiii[$181 & 127]($178,$1,$2)|0);
$switch74$i = ($182<<24>>24)==(0);
if ($switch74$i) {
$$sroa$06$0$i = 0;
while(1) {
$183 = ($$sroa$06$0$i>>>0)<($$sroa$6$0$i>>>0);
if (!($183)) {
break;
}
$184 = (($$sroa$06$0$i) + 1)|0;
$185 = HEAP32[$169>>2]|0;
$186 = HEAP32[$170>>2]|0;
$187 = ((($186)) + 12|0);
$188 = HEAP32[$187>>2]|0;
$189 = (FUNCTION_TABLE_iiii[$188 & 127]($185,$fill$i,$$sroa$8$0$i)|0);
$switch73$i = ($189<<24>>24)==(0);
if ($switch73$i) {
$$sroa$06$0$i = $184;
} else {
break L75;
}
}
$sret_slot$sroa$0$0 = 0;
STACKTOP = sp;return ($sret_slot$sroa$0$0|0);
}
}
} while(0);
$sret_slot$sroa$0$0 = 1;
STACKTOP = sp;return ($sret_slot$sroa$0$0|0);
}
function __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$lobit$i$i = 0, $$lobit$not$i$i = 0, $$sroa$0$0 = 0, $$sroa$8$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $begin = 0;
var $ellipsis = 0, $end = 0, $extract$t4$i$i = 0, $max$0$i37 = 0, $not$$i$i = 0, $s1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$begin = sp + 132|0;
$end = sp + 128|0;
$s1 = sp + 120|0;
$ellipsis = sp + 112|0;
$4 = sp + 88|0;
$5 = sp + 56|0;
$6 = sp + 32|0;
$7 = sp;
HEAP32[$begin>>2] = $2;
HEAP32[$end>>2] = $3;
$8 = ($1>>>0)<(257);
L1: do {
if ($8) {
$$sroa$0$0 = 344;$$sroa$8$0 = $1;
} else {
$max$0$i37 = 256;
while(1) {
$not$$i$i = ($max$0$i37>>>0)<($1>>>0);
if ($not$$i$i) {
$9 = (($0) + ($max$0$i37)|0);
$10 = HEAP8[$9>>0]|0;
$11 = ($10&255)>(191);
$$lobit$i$i = ($10&255) >>> 7;
$$lobit$not$i$i = $$lobit$i$i ^ 1;
$12 = $11&1;
$13 = $$lobit$not$i$i | $12;
$extract$t4$i$i = ($13<<24>>24)==(0);
if (!($extract$t4$i$i)) {
$$sroa$0$0 = 352;$$sroa$8$0 = $max$0$i37;
break L1;
}
}
$14 = (($max$0$i37) + -1)|0;
$15 = ($14|0)==($1|0);
if ($15) {
$$sroa$0$0 = 352;$$sroa$8$0 = $1;
break;
} else {
$max$0$i37 = $14;
}
}
}
} while(0);
$16 = $0;
HEAP32[$s1>>2] = $16;
$17 = ((($s1)) + 4|0);
HEAP32[$17>>2] = $$sroa$8$0;
$18 = $$sroa$0$0;
$19 = $18;
$20 = HEAP32[$19>>2]|0;
$21 = (($18) + 4)|0;
$22 = $21;
$23 = HEAP32[$22>>2]|0;
$24 = $ellipsis;
$25 = $24;
HEAP32[$25>>2] = $20;
$26 = (($24) + 4)|0;
$27 = $26;
HEAP32[$27>>2] = $23;
$28 = ($2>>>0)>($3>>>0);
if ($28) {
$29 = ((($5)) + 4|0);
HEAP32[$29>>2] = 104;
HEAP32[$5>>2] = $begin;
$30 = ((($5)) + 8|0);
$31 = ((($5)) + 12|0);
HEAP32[$31>>2] = 104;
HEAP32[$30>>2] = $end;
$32 = ((($5)) + 16|0);
$33 = ((($5)) + 20|0);
HEAP32[$33>>2] = 67;
HEAP32[$32>>2] = $s1;
$34 = ((($5)) + 24|0);
$35 = ((($5)) + 28|0);
HEAP32[$35>>2] = 67;
HEAP32[$34>>2] = $ellipsis;
HEAP32[$4>>2] = 1648;
$36 = ((($4)) + 4|0);
HEAP32[$36>>2] = 4;
$37 = ((($4)) + 8|0);
$38 = $37;
$39 = $38;
HEAP32[$39>>2] = 0;
$40 = (($38) + 4)|0;
$41 = $40;
HEAP32[$41>>2] = 0;
$42 = ((($4)) + 16|0);
HEAP32[$42>>2] = $5;
$43 = ((($4)) + 20|0);
HEAP32[$43>>2] = 4;
__ZN9panicking9panic_fmt20h354880378c07fbbe7mME($4,1680);
// unreachable;
} else {
$44 = ((($7)) + 4|0);
HEAP32[$44>>2] = 104;
HEAP32[$7>>2] = $begin;
$45 = ((($7)) + 8|0);
$46 = ((($7)) + 12|0);
HEAP32[$46>>2] = 104;
HEAP32[$45>>2] = $end;
$47 = ((($7)) + 16|0);
$48 = ((($7)) + 20|0);
HEAP32[$48>>2] = 67;
HEAP32[$47>>2] = $s1;
$49 = ((($7)) + 24|0);
$50 = ((($7)) + 28|0);
HEAP32[$50>>2] = 67;
HEAP32[$49>>2] = $ellipsis;
HEAP32[$6>>2] = 1692;
$51 = ((($6)) + 4|0);
HEAP32[$51>>2] = 5;
$52 = ((($6)) + 8|0);
$53 = $52;
$54 = $53;
HEAP32[$54>>2] = 0;
$55 = (($53) + 4)|0;
$56 = $55;
HEAP32[$56>>2] = 0;
$57 = ((($6)) + 16|0);
HEAP32[$57>>2] = $7;
$58 = ((($6)) + 20|0);
HEAP32[$58>>2] = 4;
__ZN9panicking9panic_fmt20h354880378c07fbbe7mME($6,1732);
// unreachable;
}
}
function __ZN3fmt23__RF__u27_a_u20_T_Debug3fmt21h16131240844635683947E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = HEAP32[$0>>2]|0;
$3 = ((($0)) + 4|0);
$4 = HEAP32[$3>>2]|0;
$5 = ((($4)) + 12|0);
$6 = HEAP32[$5>>2]|0;
$7 = (FUNCTION_TABLE_iii[$6 & 127]($2,$1)|0);
return ($7|0);
}
function __ZN3fmt8builders49PadAdapter_LT__u27_a_C__u20__u27_b_GT__fmt__Write9write_str20hcb8c496e42906fbcDFWE($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$cast$i$i$i = 0, $$lobit$i$i = 0, $$lobit$i$i31 = 0, $$lobit$not$i$i = 0, $$lobit$not$i$i32 = 0, $$mux = 0, $$sroa$54$0$ph$i$i$i = 0, $$sroa$6$0$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0, $brmerge = 0, $extract$t4$i$i = 0, $extract$t4$i$i33 = 0, $not$$i$i = 0, $not$$i$i$i$i = 0, $not$$i$i29 = 0, $phitmp$i$i$i$i$i = 0, $phitmp29$i$i$i$i$i = 0, $phitmp30$i$i$i$i$i = 0, $s$sroa$0$044 = 0, $s$sroa$7$045 = 0, $split$0 = 0;
var $sret_slot$0$i$i$i$i$i$i = 0, $sret_slot$0$i13$i$i$i$i$i = 0, $sret_slot$0$i20$i$i$i$i$i = 0, $sret_slot$sroa$0$0 = 0, $switch = 0, $switch25$not = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($2|0)==(0);
if ($3) {
$sret_slot$sroa$0$0 = 0;
return ($sret_slot$sroa$0$0|0);
}
$4 = ((($0)) + 4|0);
$s$sroa$0$044 = $1;$s$sroa$7$045 = $2;
while(1) {
$5 = HEAP8[$4>>0]|0;
$6 = ($5<<24>>24)==(0);
if (!($6)) {
$7 = HEAP32[$0>>2]|0;
$8 = ((($7)) + 28|0);
$9 = HEAP32[$8>>2]|0;
$10 = ((($7)) + 32|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($11)) + 12|0);
$13 = HEAP32[$12>>2]|0;
$14 = (FUNCTION_TABLE_iiii[$13 & 127]($9,4517,4)|0);
$switch = ($14<<24>>24)==(0);
if (!($switch)) {
$sret_slot$sroa$0$0 = 1;
label = 3;
break;
}
}
$15 = $s$sroa$0$044;
$16 = (($s$sroa$0$044) + ($s$sroa$7$045)|0);
$$sroa$6$0$i = 0;$17 = $15;
while(1) {
$$cast$i$i$i = $17;
$18 = ($$cast$i$i$i|0)==($16|0);
if ($18) {
label = 21;
break;
}
$19 = ((($$cast$i$i$i)) + 1|0);
$20 = HEAP8[$$cast$i$i$i>>0]|0;
$21 = ($20<<24>>24)<(0);
$22 = $19;
if ($21) {
$24 = $20 & 31;
$25 = $24&255;
$26 = ($19|0)==($16|0);
if ($26) {
$34 = $16;$80 = $22;$sret_slot$0$i20$i$i$i$i$i = 0;
} else {
$27 = ((($$cast$i$i$i)) + 2|0);
$28 = HEAP8[$19>>0]|0;
$phitmp$i$i$i$i$i = $28 & 63;
$29 = $27;
$34 = $27;$80 = $29;$sret_slot$0$i20$i$i$i$i$i = $phitmp$i$i$i$i$i;
}
$30 = $25 << 6;
$31 = $sret_slot$0$i20$i$i$i$i$i&255;
$32 = $31 | $30;
$33 = ($20&255)>(223);
if ($33) {
$35 = ($34|0)==($16|0);
if ($35) {
$45 = $16;$81 = $80;$sret_slot$0$i13$i$i$i$i$i = 0;
} else {
$36 = ((($34)) + 1|0);
$37 = HEAP8[$34>>0]|0;
$phitmp29$i$i$i$i$i = $37 & 63;
$38 = $36;
$45 = $36;$81 = $38;$sret_slot$0$i13$i$i$i$i$i = $phitmp29$i$i$i$i$i;
}
$39 = $31 << 6;
$40 = $sret_slot$0$i13$i$i$i$i$i&255;
$41 = $40 | $39;
$42 = $25 << 12;
$43 = $41 | $42;
$44 = ($20&255)>(239);
if ($44) {
$46 = ($45|0)==($16|0);
if ($46) {
$82 = $81;$sret_slot$0$i$i$i$i$i$i = 0;
} else {
$47 = ((($45)) + 1|0);
$48 = HEAP8[$45>>0]|0;
$phitmp30$i$i$i$i$i = $48 & 63;
$49 = $47;
$82 = $49;$sret_slot$0$i$i$i$i$i$i = $phitmp30$i$i$i$i$i;
}
$50 = $25 << 18;
$51 = $50 & 1835008;
$52 = $41 << 6;
$53 = $sret_slot$0$i$i$i$i$i$i&255;
$54 = $52 | $51;
$55 = $54 | $53;
$$sroa$54$0$ph$i$i$i = $55;$58 = $82;
} else {
$$sroa$54$0$ph$i$i$i = $43;$58 = $81;
}
} else {
$$sroa$54$0$ph$i$i$i = $32;$58 = $80;
}
} else {
$23 = $20&255;
$$sroa$54$0$ph$i$i$i = $23;$58 = $22;
}
$56 = (($$sroa$6$0$i) - ($17))|0;
$57 = (($56) + ($58))|0;
$not$$i$i$i$i = ($$sroa$54$0$ph$i$i$i|0)==(10);
if ($not$$i$i$i$i) {
label = 20;
break;
} else {
$$sroa$6$0$i = $57;$17 = $58;
}
}
if ((label|0) == 20) {
label = 0;
HEAP8[$4>>0] = 1;
$59 = (($$sroa$6$0$i) + 1)|0;
$split$0 = $59;
}
else if ((label|0) == 21) {
label = 0;
HEAP8[$4>>0] = 0;
$split$0 = $s$sroa$7$045;
}
$60 = HEAP32[$0>>2]|0;
$61 = ($s$sroa$7$045|0)==($split$0|0);
if (!($61)) {
$not$$i$i29 = ($s$sroa$7$045>>>0)>($split$0>>>0);
if (!($not$$i$i29)) {
label = 25;
break;
}
$62 = (($s$sroa$0$044) + ($split$0)|0);
$63 = HEAP8[$62>>0]|0;
$64 = ($63&255)>(191);
$$lobit$i$i31 = ($63&255) >>> 7;
$$lobit$not$i$i32 = $$lobit$i$i31 ^ 1;
$65 = $64&1;
$66 = $$lobit$not$i$i32 | $65;
$extract$t4$i$i33 = ($66<<24>>24)==(0);
if ($extract$t4$i$i33) {
label = 25;
break;
}
}
$67 = ((($60)) + 28|0);
$68 = HEAP32[$67>>2]|0;
$69 = ((($60)) + 32|0);
$70 = HEAP32[$69>>2]|0;
$71 = ((($70)) + 12|0);
$72 = HEAP32[$71>>2]|0;
$73 = (FUNCTION_TABLE_iiii[$72 & 127]($68,$s$sroa$0$044,$split$0)|0);
$switch25$not = ($73<<24>>24)!=(0);
$brmerge = $switch25$not | $61;
$$mux = $switch25$not&1;
if ($brmerge) {
$sret_slot$sroa$0$0 = $$mux;
label = 3;
break;
}
$not$$i$i = ($s$sroa$7$045>>>0)>($split$0>>>0);
if (!($not$$i$i)) {
label = 30;
break;
}
$74 = (($s$sroa$0$044) + ($split$0)|0);
$75 = HEAP8[$74>>0]|0;
$76 = ($75&255)>(191);
$$lobit$i$i = ($75&255) >>> 7;
$$lobit$not$i$i = $$lobit$i$i ^ 1;
$77 = $76&1;
$78 = $$lobit$not$i$i | $77;
$extract$t4$i$i = ($78<<24>>24)==(0);
if ($extract$t4$i$i) {
label = 30;
break;
}
$79 = (($s$sroa$7$045) - ($split$0))|0;
$s$sroa$0$044 = $74;$s$sroa$7$045 = $79;
}
if ((label|0) == 3) {
return ($sret_slot$sroa$0$0|0);
}
else if ((label|0) == 25) {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($s$sroa$0$044,$s$sroa$7$045,0,$split$0);
// unreachable;
}
else if ((label|0) == 30) {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($s$sroa$0$044,$s$sroa$7$045,$split$0,$s$sroa$7$045);
// unreachable;
}
return (0)|0;
}
function __ZN3fmt5Write10write_char20h2958573309410202893E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$sroa$8$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $utf_8 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$utf_8 = sp;
HEAP32[$utf_8>>2] = 0;
$2 = ($1>>>0)<(128);
do {
if ($2) {
$3 = $1&255;
HEAP8[$utf_8>>0] = $3;
$$sroa$8$0 = 1;
} else {
$4 = ($1>>>0)<(2048);
if ($4) {
$5 = $1 >>> 6;
$6 = $5 & 31;
$7 = $6&255;
$8 = $7 | -64;
HEAP8[$utf_8>>0] = $8;
$9 = $1 & 63;
$10 = $9&255;
$11 = $10 | -128;
$12 = ((($utf_8)) + 1|0);
HEAP8[$12>>0] = $11;
$$sroa$8$0 = 2;
break;
}
$13 = ($1>>>0)<(65536);
if ($13) {
$14 = $1 >>> 12;
$15 = $14 & 15;
$16 = $15&255;
$17 = $16 | -32;
HEAP8[$utf_8>>0] = $17;
$18 = $1 >>> 6;
$19 = $18 & 63;
$20 = $19&255;
$21 = $20 | -128;
$22 = ((($utf_8)) + 1|0);
HEAP8[$22>>0] = $21;
$23 = $1 & 63;
$24 = $23&255;
$25 = $24 | -128;
$26 = ((($utf_8)) + 2|0);
HEAP8[$26>>0] = $25;
$$sroa$8$0 = 3;
break;
} else {
$27 = $1 >>> 18;
$28 = $27 & 7;
$29 = $28&255;
$30 = $29 | -16;
HEAP8[$utf_8>>0] = $30;
$31 = $1 >>> 12;
$32 = $31 & 63;
$33 = $32&255;
$34 = $33 | -128;
$35 = ((($utf_8)) + 1|0);
HEAP8[$35>>0] = $34;
$36 = $1 >>> 6;
$37 = $36 & 63;
$38 = $37&255;
$39 = $38 | -128;
$40 = ((($utf_8)) + 2|0);
HEAP8[$40>>0] = $39;
$41 = $1 & 63;
$42 = $41&255;
$43 = $42 | -128;
$44 = ((($utf_8)) + 3|0);
HEAP8[$44>>0] = $43;
$$sroa$8$0 = 4;
break;
}
}
} while(0);
$45 = (__ZN3fmt8builders49PadAdapter_LT__u27_a_C__u20__u27_b_GT__fmt__Write9write_str20hcb8c496e42906fbcDFWE($0,$utf_8,$$sroa$8$0)|0);
STACKTOP = sp;return ($45|0);
}
function __ZN3fmt5Write9write_fmt21h14257324459998045848E($0,$args) {
$0 = $0|0;
$args = $args|0;
var $1 = 0, $2 = 0, $addr_of = 0, $arg = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$addr_of = sp + 24|0;
$arg = sp;
$1 = $0;
HEAP32[$addr_of>>2] = $1;
;HEAP32[$arg>>2]=HEAP32[$args>>2]|0;HEAP32[$arg+4>>2]=HEAP32[$args+4>>2]|0;HEAP32[$arg+8>>2]=HEAP32[$args+8>>2]|0;HEAP32[$arg+12>>2]=HEAP32[$args+12>>2]|0;HEAP32[$arg+16>>2]=HEAP32[$args+16>>2]|0;HEAP32[$arg+20>>2]=HEAP32[$args+20>>2]|0;
$2 = (__ZN3fmt5write20h7901236a83d456cd7oXE($addr_of,384,$arg)|0);
STACKTOP = sp;return ($2|0);
}
function __ZN3fmt5Write9write_fmt36Adapter_LT__u27_a_C__u20_T_GT__Write9write_str20h3096043918816894604E($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = HEAP32[$0>>2]|0;
$4 = (__ZN3fmt8builders49PadAdapter_LT__u27_a_C__u20__u27_b_GT__fmt__Write9write_str20hcb8c496e42906fbcDFWE($3,$1,$2)|0);
return ($4|0);
}
function __ZN3fmt5Write9write_fmt36Adapter_LT__u27_a_C__u20_T_GT__Write10write_char21h11977108049716014882E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = HEAP32[$0>>2]|0;
$3 = (__ZN3fmt5Write10write_char20h2958573309410202893E($2,$1)|0);
return ($3|0);
}
function __ZN3fmt5Write9write_fmt36Adapter_LT__u27_a_C__u20_T_GT__Write9write_fmt21h10034855926276546313E($0,$args) {
$0 = $0|0;
$args = $args|0;
var $1 = 0, $2 = 0, $addr_of$i = 0, $arg$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$addr_of$i = sp + 24|0;
$arg$i = sp;
$1 = HEAP32[$0>>2]|0;
HEAP32[$addr_of$i>>2] = $1;
;HEAP32[$arg$i>>2]=HEAP32[$args>>2]|0;HEAP32[$arg$i+4>>2]=HEAP32[$args+4>>2]|0;HEAP32[$arg$i+8>>2]=HEAP32[$args+8>>2]|0;HEAP32[$arg$i+12>>2]=HEAP32[$args+12>>2]|0;HEAP32[$arg$i+16>>2]=HEAP32[$args+16>>2]|0;HEAP32[$arg$i+20>>2]=HEAP32[$args+20>>2]|0;
$2 = (__ZN3fmt5write20h7901236a83d456cd7oXE($addr_of$i,384,$arg$i)|0);
STACKTOP = sp;return ($2|0);
}
function __ZN3fmt5write20h7901236a83d456cd7oXE($0,$1,$args) {
$0 = $0|0;
$1 = $1|0;
$args = $args|0;
var $$sroa$0130$0$in = 0, $$sroa$0139$0$in = 0, $$sroa$10$0$i = 0, $$sroa$1020$0$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $formatter = 0, $inttoptr = 0, $or$cond = 0;
var $pieces$sroa$0$0 = 0, $pieces$sroa$0$2 = 0, $pieces$sroa$0$4 = 0, $sret_slot$sroa$0$0 = 0, $switch$i = 0, $switch108tmp = 0, $switch109 = 0, $switch112 = 0, $switch114tmp = 0, $switch115 = 0, $switch116 = 0, $switch117 = 0, $switchtmp = 0, $value$sroa$0$0$i = 0, $value$sroa$0$0$in$i = 0, $value$sroa$5$0$i = 0, $value$sroa$5$0$in$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$formatter = sp;
HEAP32[$formatter>>2] = 0;
$2 = ((($formatter)) + 12|0);
$3 = ((($formatter)) + 20|0);
$4 = ((($formatter)) + 28|0);
;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;
HEAP32[$4>>2] = $0;
$5 = ((($formatter)) + 32|0);
HEAP32[$5>>2] = $1;
$6 = ((($formatter)) + 8|0);
HEAP8[$6>>0] = 3;
$7 = ((($formatter)) + 4|0);
HEAP32[$7>>2] = 32;
$8 = ((($formatter)) + 44|0);
$9 = ((($args)) + 16|0);
$10 = $9;
$11 = $10;
$12 = HEAP32[$11>>2]|0;
$13 = (($10) + 4)|0;
$14 = $13;
$15 = HEAP32[$14>>2]|0;
$16 = $8;
$17 = $16;
HEAP32[$17>>2] = $12;
$18 = (($16) + 4)|0;
$19 = $18;
HEAP32[$19>>2] = $15;
$inttoptr = $12;
$20 = ((($args)) + 20|0);
$21 = HEAP32[$20>>2]|0;
$22 = ((($formatter)) + 36|0);
HEAP32[$22>>2] = $inttoptr;
$23 = ((($formatter)) + 40|0);
$24 = (($inttoptr) + ($21<<3)|0);
HEAP32[$23>>2] = $24;
$25 = HEAP32[$args>>2]|0;
$26 = ((($args)) + 4|0);
$27 = HEAP32[$26>>2]|0;
$28 = (($25) + ($27<<3)|0);
$29 = ((($args)) + 8|0);
$30 = HEAP32[$29>>2]|0;
$switchtmp = ($30|0)==(0|0);
L1: do {
if ($switchtmp) {
$$sroa$0139$0$in = $inttoptr;$pieces$sroa$0$0 = $25;
while(1) {
$36 = ($$sroa$0139$0$in|0)==($24|0);
if ($36) {
$pieces$sroa$0$4 = $pieces$sroa$0$0;
label = 41;
break L1;
}
$37 = ((($$sroa$0139$0$in)) + 8|0);
$38 = ($pieces$sroa$0$0|0)==($28|0);
if ($38) {
label = 43;
break L1;
}
$39 = ((($pieces$sroa$0$0)) + 8|0);
$switch108tmp = ($$sroa$0139$0$in|0)==(0|0);
if ($switch108tmp) {
$pieces$sroa$0$4 = $39;
label = 41;
break L1;
}
$40 = HEAP32[$4>>2]|0;
$41 = HEAP32[$5>>2]|0;
$42 = ((($41)) + 12|0);
$43 = HEAP32[$42>>2]|0;
$44 = HEAP32[$pieces$sroa$0$0>>2]|0;
$45 = ((($pieces$sroa$0$0)) + 4|0);
$46 = HEAP32[$45>>2]|0;
$47 = (FUNCTION_TABLE_iiii[$43 & 127]($40,$44,$46)|0);
$switch109 = ($47<<24>>24)==(0);
if (!($switch109)) {
label = 9;
break L1;
}
$48 = ((($$sroa$0139$0$in)) + 4|0);
$49 = HEAP32[$48>>2]|0;
$50 = HEAP32[$$sroa$0139$0$in>>2]|0;
$51 = (FUNCTION_TABLE_iii[$49 & 127]($50,$formatter)|0);
$switch116 = ($51<<24>>24)==(0);
if ($switch116) {
$$sroa$0139$0$in = $37;$pieces$sroa$0$0 = $39;
} else {
label = 9;
break;
}
}
} else {
$31 = ((($args)) + 12|0);
$32 = HEAP32[$31>>2]|0;
$33 = (($30) + (($32*36)|0)|0);
$34 = ((($formatter)) + 48|0);
$35 = ((($formatter)) + 44|0);
$$sroa$0130$0$in = $30;$pieces$sroa$0$2 = $25;
L9: while(1) {
$52 = ($$sroa$0130$0$in|0)==($33|0);
if ($52) {
$pieces$sroa$0$4 = $pieces$sroa$0$2;
label = 41;
break L1;
}
$53 = ((($$sroa$0130$0$in)) + 36|0);
$54 = ($pieces$sroa$0$2|0)==($28|0);
if ($54) {
label = 43;
break L1;
}
$55 = ((($pieces$sroa$0$2)) + 8|0);
$56 = HEAP32[$4>>2]|0;
$57 = HEAP32[$5>>2]|0;
$58 = ((($57)) + 12|0);
$59 = HEAP32[$58>>2]|0;
$60 = HEAP32[$pieces$sroa$0$2>>2]|0;
$61 = ((($pieces$sroa$0$2)) + 4|0);
$62 = HEAP32[$61>>2]|0;
$63 = (FUNCTION_TABLE_iiii[$59 & 127]($56,$60,$62)|0);
$switch112 = ($63<<24>>24)==(0);
if (!($switch112)) {
label = 9;
break L1;
}
$64 = ((($$sroa$0130$0$in)) + 8|0);
$65 = HEAP32[$64>>2]|0;
HEAP32[$7>>2] = $65;
$66 = ((($$sroa$0130$0$in)) + 12|0);
$67 = HEAP8[$66>>0]|0;
HEAP8[$6>>0] = $67;
$68 = ((($$sroa$0130$0$in)) + 16|0);
$69 = HEAP32[$68>>2]|0;
HEAP32[$formatter>>2] = $69;
$70 = ((($$sroa$0130$0$in)) + 28|0);
$71 = HEAP32[$70>>2]|0;
switch ($71|0) {
case 0: {
$72 = ((($$sroa$0130$0$in)) + 32|0);
$73 = HEAP32[$72>>2]|0;
$$sroa$1020$0$i = $73;$95 = 0;$98 = 1;
break;
}
case 3: {
$$sroa$1020$0$i = 0;$95 = 0;$98 = 0;
break;
}
case 1: {
$74 = ((($$sroa$0130$0$in)) + 32|0);
$75 = HEAP32[$74>>2]|0;
$76 = HEAP32[$34>>2]|0;
$77 = ($75>>>0)<($76>>>0);
if (!($77)) {
label = 22;
break L9;
}
$87 = HEAP32[$35>>2]|0;
$88 = (((($87) + ($75<<3)|0)) + 4|0);
$89 = HEAP32[$88>>2]|0;
$90 = ($89|0)==((94)|0);
if ($90) {
$91 = (($87) + ($75<<3)|0);
$92 = HEAP32[$91>>2]|0;
$93 = HEAP32[$92>>2]|0;
$$sroa$1020$0$i = $93;$95 = 0;$98 = 1;
} else {
$$sroa$1020$0$i = 0;$95 = 0;$98 = 0;
}
break;
}
case 2: {
$78 = HEAP32[$22>>2]|0;
$79 = HEAP32[$23>>2]|0;
$80 = ($78|0)==($79|0);
if ($80) {
$$sroa$1020$0$i = 0;$95 = 0;$98 = 0;
} else {
$81 = ((($78)) + 8|0);
HEAP32[$22>>2] = $81;
$82 = ((($78)) + 4|0);
$83 = HEAP32[$82>>2]|0;
$84 = ($83|0)==((94)|0);
if ($84) {
$85 = HEAP32[$78>>2]|0;
$86 = HEAP32[$85>>2]|0;
$$sroa$1020$0$i = $86;$95 = 0;$98 = 1;
} else {
$$sroa$1020$0$i = 0;$95 = 0;$98 = 0;
}
}
break;
}
default: {
label = 14;
break L9;
}
}
$94 = $$sroa$1020$0$i | $95;
$96 = $2;
$97 = $96;
HEAP32[$97>>2] = $98;
$99 = (($96) + 4)|0;
$100 = $99;
HEAP32[$100>>2] = $94;
$101 = ((($$sroa$0130$0$in)) + 20|0);
$102 = HEAP32[$101>>2]|0;
switch ($102|0) {
case 0: {
$103 = ((($$sroa$0130$0$in)) + 24|0);
$104 = HEAP32[$103>>2]|0;
$$sroa$10$0$i = $104;$126 = 0;$129 = 1;
break;
}
case 3: {
$$sroa$10$0$i = 0;$126 = 0;$129 = 0;
break;
}
case 1: {
$105 = ((($$sroa$0130$0$in)) + 24|0);
$106 = HEAP32[$105>>2]|0;
$107 = HEAP32[$34>>2]|0;
$108 = ($106>>>0)<($107>>>0);
if (!($108)) {
label = 32;
break L9;
}
$118 = HEAP32[$35>>2]|0;
$119 = (((($118) + ($106<<3)|0)) + 4|0);
$120 = HEAP32[$119>>2]|0;
$121 = ($120|0)==((94)|0);
if ($121) {
$122 = (($118) + ($106<<3)|0);
$123 = HEAP32[$122>>2]|0;
$124 = HEAP32[$123>>2]|0;
$$sroa$10$0$i = $124;$126 = 0;$129 = 1;
} else {
$$sroa$10$0$i = 0;$126 = 0;$129 = 0;
}
break;
}
case 2: {
$109 = HEAP32[$22>>2]|0;
$110 = HEAP32[$23>>2]|0;
$111 = ($109|0)==($110|0);
if ($111) {
$$sroa$10$0$i = 0;$126 = 0;$129 = 0;
} else {
$112 = ((($109)) + 8|0);
HEAP32[$22>>2] = $112;
$113 = ((($109)) + 4|0);
$114 = HEAP32[$113>>2]|0;
$115 = ($114|0)==((94)|0);
if ($115) {
$116 = HEAP32[$109>>2]|0;
$117 = HEAP32[$116>>2]|0;
$$sroa$10$0$i = $117;$126 = 0;$129 = 1;
} else {
$$sroa$10$0$i = 0;$126 = 0;$129 = 0;
}
}
break;
}
default: {
label = 24;
break L9;
}
}
$125 = $$sroa$10$0$i | $126;
$127 = $3;
$128 = $127;
HEAP32[$128>>2] = $129;
$130 = (($127) + 4)|0;
$131 = $130;
HEAP32[$131>>2] = $125;
$132 = HEAP32[$$sroa$0130$0$in>>2]|0;
$switch$i = ($132|0)==(1);
if ($switch$i) {
$138 = ((($$sroa$0130$0$in)) + 4|0);
$139 = HEAP32[$138>>2]|0;
$140 = HEAP32[$34>>2]|0;
$141 = ($139>>>0)<($140>>>0);
if (!($141)) {
label = 39;
break;
}
$142 = HEAP32[$35>>2]|0;
$143 = (($142) + ($139<<3)|0);
$144 = (((($142) + ($139<<3)|0)) + 4|0);
$value$sroa$0$0$in$i = $143;$value$sroa$5$0$in$i = $144;
} else {
$133 = HEAP32[$22>>2]|0;
$134 = HEAP32[$23>>2]|0;
$135 = ($133|0)==($134|0);
if ($135) {
label = 36;
break;
}
$136 = ((($133)) + 8|0);
HEAP32[$22>>2] = $136;
$137 = ((($133)) + 4|0);
$value$sroa$0$0$in$i = $133;$value$sroa$5$0$in$i = $137;
}
$value$sroa$5$0$i = HEAP32[$value$sroa$5$0$in$i>>2]|0;
$value$sroa$0$0$i = HEAP32[$value$sroa$0$0$in$i>>2]|0;
$145 = (FUNCTION_TABLE_iii[$value$sroa$5$0$i & 127]($value$sroa$0$0$i,$formatter)|0);
$switch117 = ($145<<24>>24)==(0);
if ($switch117) {
$$sroa$0130$0$in = $53;$pieces$sroa$0$2 = $55;
} else {
label = 9;
break L1;
}
}
if ((label|0) == 14) {
// unreachable;
}
else if ((label|0) == 22) {
__ZN9panicking18panic_bounds_check20h8e1f5fdc350eb389dmME(1876,$75,$76);
// unreachable;
}
else if ((label|0) == 24) {
// unreachable;
}
else if ((label|0) == 32) {
__ZN9panicking18panic_bounds_check20h8e1f5fdc350eb389dmME(1876,$106,$107);
// unreachable;
}
else if ((label|0) == 36) {
__ZN9panicking5panic20h505ed693e1be0208ElME(1488);
// unreachable;
}
else if ((label|0) == 39) {
__ZN9panicking18panic_bounds_check20h8e1f5fdc350eb389dmME(1888,$139,$140);
// unreachable;
}
}
} while(0);
if ((label|0) == 41) {
$146 = ($pieces$sroa$0$4|0)==($28|0);
$switch114tmp = ($pieces$sroa$0$4|0)==(0|0);
$or$cond = $146 | $switch114tmp;
if ($or$cond) {
label = 43;
} else {
$147 = HEAP32[$4>>2]|0;
$148 = HEAP32[$5>>2]|0;
$149 = ((($148)) + 12|0);
$150 = HEAP32[$149>>2]|0;
$151 = HEAP32[$pieces$sroa$0$4>>2]|0;
$152 = ((($pieces$sroa$0$4)) + 4|0);
$153 = HEAP32[$152>>2]|0;
$154 = (FUNCTION_TABLE_iiii[$150 & 127]($147,$151,$153)|0);
$switch115 = ($154<<24>>24)==(0);
if ($switch115) {
label = 43;
} else {
label = 9;
}
}
}
if ((label|0) == 9) {
$sret_slot$sroa$0$0 = 1;
STACKTOP = sp;return ($sret_slot$sroa$0$0|0);
}
else if ((label|0) == 43) {
$sret_slot$sroa$0$0 = 0;
STACKTOP = sp;return ($sret_slot$sroa$0$0|0);
}
return (0)|0;
}
function __ZN3fmt24ArgumentV1_LT__u27_a_GT_10show_usize20h1b7ce89cc9819610hiXE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (__ZN3fmt3num18usize_fmt__Display3fmt20h66dfdb06047ad5520AWE($0,$1)|0);
return ($2|0);
}
function __ZN3fmt23__RF__u27_a_u20_T_Debug3fmt21h12518113613696437806E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = HEAP32[$0>>2]|0;
$3 = (__ZN3fmt3num18usize_fmt__Display3fmt20h66dfdb06047ad5520AWE($2,$1)|0);
return ($3|0);
}
function __ZN3fmt3num15u8_fmt__Display3fmt20hbf9bb40ab253c9eao5VE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, $buf7 = 0, $curr$09 = 0, $curr$1 = 0, $div = 0, $n2$08 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$buf7 = sp;
$2 = HEAP8[$0>>0]|0;
$3 = $2&255;
$4 = ($2&255)>(99);
if ($4) {
$5 = (($2&255) % 100)&-1;
$6 = $5&255;
$7 = $6 << 1;
$div = (($2&255) / 100)&-1;
$8 = $div&255;
$9 = (4049 + ($7)|0);
$10 = ((($buf7)) + 18|0);
$11 = HEAPU8[$9>>0]|(HEAPU8[$9+1>>0]<<8);
HEAP8[$10>>0]=$11&255;HEAP8[$10+1>>0]=$11>>8;
$curr$09 = 17;$n2$08 = $8;
label = 4;
} else {
$12 = ($2&255)<(10);
if ($12) {
$curr$09 = 19;$n2$08 = $3;
label = 4;
} else {
$16 = $3 << 1;
$17 = (4049 + ($16)|0);
$18 = ((($buf7)) + 18|0);
$19 = HEAPU8[$17>>0]|(HEAPU8[$17+1>>0]<<8);
HEAP8[$18>>0]=$19&255;HEAP8[$18+1>>0]=$19>>8;
$curr$1 = 18;
}
}
if ((label|0) == 4) {
$13 = $n2$08&255;
$14 = (($13) + 48)<<24>>24;
$15 = (($buf7) + ($curr$09)|0);
HEAP8[$15>>0] = $14;
$curr$1 = $curr$09;
}
$20 = (($buf7) + ($curr$1)|0);
$21 = (20 - ($curr$1))|0;
$22 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral20h051d8c1a7b501c091tXE($1,1,7692,0,$20,$21)|0);
STACKTOP = sp;return ($22|0);
}
function __ZN3fmt3num18isize_fmt__Display3fmt20h41668f672922a5bd3wWE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var $buf8 = 0, $curr$0$lcssa = 0, $curr$09 = 0, $curr$1 = 0, $curr$2 = 0, $n$0 = 0, $n$1$lcssa = 0, $n$110 = 0, $n2$0 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$buf8 = sp;
$2 = HEAP32[$0>>2]|0;
$3 = ($2|0)>(-1);
$4 = (0 - ($2))|0;
$n$0 = $3 ? $2 : $4;
$5 = ($n$0>>>0)>(9999);
if ($5) {
$curr$09 = 20;$n$110 = $n$0;
while(1) {
$7 = (($n$110>>>0) % 10000)&-1;
$8 = (($n$110>>>0) / 10000)&-1;
$9 = (($7>>>0) / 100)&-1;
$10 = $9 << 1;
$11 = (($7>>>0) % 100)&-1;
$12 = $11 << 1;
$13 = (($curr$09) + -4)|0;
$14 = (4049 + ($10)|0);
$15 = (($buf8) + ($13)|0);
$16 = HEAPU8[$14>>0]|(HEAPU8[$14+1>>0]<<8);
HEAP8[$15>>0]=$16&255;HEAP8[$15+1>>0]=$16>>8;
$17 = (4049 + ($12)|0);
$18 = (($curr$09) + -2)|0;
$19 = (($buf8) + ($18)|0);
$20 = HEAPU8[$17>>0]|(HEAPU8[$17+1>>0]<<8);
HEAP8[$19>>0]=$20&255;HEAP8[$19+1>>0]=$20>>8;
$21 = ($n$110>>>0)>(99999999);
if ($21) {
$curr$09 = $13;$n$110 = $8;
} else {
$curr$0$lcssa = $13;$n$1$lcssa = $8;
break;
}
}
} else {
$curr$0$lcssa = 20;$n$1$lcssa = $n$0;
}
$6 = ($n$1$lcssa|0)>(99);
if ($6) {
$22 = (($n$1$lcssa|0) % 100)&-1;
$23 = $22 << 1;
$24 = (($n$1$lcssa|0) / 100)&-1;
$25 = (($curr$0$lcssa) + -2)|0;
$26 = (4049 + ($23)|0);
$27 = (($buf8) + ($25)|0);
$28 = HEAPU8[$26>>0]|(HEAPU8[$26+1>>0]<<8);
HEAP8[$27>>0]=$28&255;HEAP8[$27+1>>0]=$28>>8;
$curr$1 = $25;$n2$0 = $24;
} else {
$curr$1 = $curr$0$lcssa;$n2$0 = $n$1$lcssa;
}
$29 = ($n2$0|0)<(10);
if ($29) {
$30 = (($curr$1) + -1)|0;
$31 = $n2$0&255;
$32 = (($31) + 48)<<24>>24;
$33 = (($buf8) + ($30)|0);
HEAP8[$33>>0] = $32;
$curr$2 = $30;
$39 = (($buf8) + ($curr$2)|0);
$40 = (20 - ($curr$2))|0;
$41 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral20h051d8c1a7b501c091tXE($1,$3,7692,0,$39,$40)|0);
STACKTOP = sp;return ($41|0);
} else {
$34 = $n2$0 << 1;
$35 = (($curr$1) + -2)|0;
$36 = (4049 + ($34)|0);
$37 = (($buf8) + ($35)|0);
$38 = HEAPU8[$36>>0]|(HEAPU8[$36+1>>0]<<8);
HEAP8[$37>>0]=$38&255;HEAP8[$37+1>>0]=$38>>8;
$curr$2 = $35;
$39 = (($buf8) + ($curr$2)|0);
$40 = (20 - ($curr$2))|0;
$41 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral20h051d8c1a7b501c091tXE($1,$3,7692,0,$39,$40)|0);
STACKTOP = sp;return ($41|0);
}
return (0)|0;
}
function __ZN6option13expect_failed20h1df5d3b437d73060lTOE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $msg = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$msg = sp + 32|0;
$2 = sp + 8|0;
$3 = sp;
HEAP32[$msg>>2] = $0;
$4 = ((($msg)) + 4|0);
HEAP32[$4>>2] = $1;
$5 = ((($3)) + 4|0);
HEAP32[$5>>2] = 67;
HEAP32[$3>>2] = $msg;
HEAP32[$2>>2] = 2064;
$6 = ((($2)) + 4|0);
HEAP32[$6>>2] = 1;
$7 = ((($2)) + 8|0);
$8 = $7;
$9 = $8;
HEAP32[$9>>2] = 0;
$10 = (($8) + 4)|0;
$11 = $10;
HEAP32[$11>>2] = 0;
$12 = ((($2)) + 16|0);
HEAP32[$12>>2] = $3;
$13 = ((($2)) + 20|0);
HEAP32[$13>>2] = 1;
__ZN9panicking9panic_fmt20h354880378c07fbbe7mME($2,2072);
// unreachable;
}
function __ZN3str22Utf8Error___fmt__Debug3fmt20h752b4455684592c4nqSE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$pre$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0;
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $addr_of = 0, $builder = 0, $sret_slot$sroa$0$0$i$i = 0, $switch$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$builder = sp;
$addr_of = sp + 8|0;
HEAP32[$addr_of>>2] = 488447261;
$2 = ((($1)) + 28|0);
$3 = HEAP32[$2>>2]|0;
$4 = ((($1)) + 32|0);
$5 = HEAP32[$4>>2]|0;
$6 = ((($5)) + 12|0);
$7 = HEAP32[$6>>2]|0;
$8 = (FUNCTION_TABLE_iiii[$7 & 127]($3,4597,9)|0);
HEAP32[$builder>>2] = $1;
$9 = ((($builder)) + 4|0);
HEAP8[$9>>0] = $8;
$10 = ((($builder)) + 5|0);
HEAP8[$10>>0] = 0;
HEAP32[$addr_of>>2] = $0;
__ZN3fmt8builders39DebugStruct_LT__u27_a_C__u20__u27_b_GT_5field20he6f34b3e8a5f32e49HWE($builder,4606,11,$addr_of,424);
$11 = HEAP8[$10>>0]|0;
$12 = ($11<<24>>24)==(0);
$$pre$i = HEAP8[$9>>0]|0;
if ($12) {
$25 = $$pre$i;
STACKTOP = sp;return ($25|0);
}
$switch$i$i = ($$pre$i<<24>>24)==(0);
do {
if ($switch$i$i) {
$13 = HEAP32[$builder>>2]|0;
$14 = HEAP32[$13>>2]|0;
$15 = $14 & 4;
$16 = ($15|0)==(0);
$17 = ((($13)) + 28|0);
$18 = HEAP32[$17>>2]|0;
$19 = ((($13)) + 32|0);
$20 = HEAP32[$19>>2]|0;
$21 = ((($20)) + 12|0);
$22 = HEAP32[$21>>2]|0;
if ($16) {
$24 = (FUNCTION_TABLE_iiii[$22 & 127]($18,4047,2)|0);
$sret_slot$sroa$0$0$i$i = $24;
break;
} else {
$23 = (FUNCTION_TABLE_iiii[$22 & 127]($18,4544,2)|0);
$sret_slot$sroa$0$0$i$i = $23;
break;
}
} else {
$sret_slot$sroa$0$0$i$i = 1;
}
} while(0);
HEAP8[$9>>0] = $sret_slot$sroa$0$0$i$i;
$25 = $sret_slot$sroa$0$0$i$i;
STACKTOP = sp;return ($25|0);
}
function __ZN3str9from_utf820h89a4a927a5863b3a3sSE($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$off$i = 0, $$off112$i = 0, $$off115$i = 0, $$off117$i = 0, $$off119$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0, $cond103$i = 0, $cond104$i = 0, $cond105$i = 0, $offset$0$be$i = 0, $offset$0148$i = 0, $offset$1$i = 0, $offset$2143$i = 0, $offset$3$ph$i = 0, $offset$3145$i = 0, $or$cond$i = 0, $or$cond106$i = 0, $or$cond125$i = 0, $or$cond127$i = 0, $or$cond131$i = 0, $or$cond133$i = 0;
var $or$cond149$i = 0, $switch$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($2|0)==(0);
L1: do {
if (!($3)) {
$4 = $1;
$5 = ($2>>>0)<(8);
$6 = (($2) + -8)|0;
$offset$0148$i = 0;
L3: while(1) {
$7 = (($1) + ($offset$0148$i)|0);
$8 = HEAP8[$7>>0]|0;
$9 = ($8<<24>>24)<(0);
L5: do {
if ($9) {
$10 = (($offset$0148$i) + 1)|0;
$11 = ($10>>>0)<($2>>>0);
if (!($11)) {
break L3;
}
$12 = $8&255;
$13 = (4617 + ($12)|0);
$14 = HEAP8[$13>>0]|0;
$15 = (($1) + ($10)|0);
$16 = HEAP8[$15>>0]|0;
L8: do {
switch ($14<<24>>24) {
case 2: {
$17 = $16 & -64;
$18 = ($17<<24>>24)==(-128);
if ($18) {
$offset$1$i = $10;
} else {
break L3;
}
break;
}
case 3: {
$19 = (($offset$0148$i) + 2)|0;
$20 = ($19>>>0)<($2>>>0);
if (!($20)) {
break L3;
}
$23 = (($1) + ($19)|0);
$24 = HEAP8[$23>>0]|0;
$25 = $24 & -64;
$cond105$i = ($25<<24>>24)==(-128);
if (!($cond105$i)) {
break L3;
}
$26 = ($16&255)<(192);
$27 = $16 & -32;
$28 = ($27<<24>>24)==(-96);
if ($28) {
$$off119$i = (($8) + 31)<<24>>24;
$29 = ($$off119$i&255)<(12);
if ($29) {
$offset$1$i = $19;
break L8;
}
switch ($8<<24>>24) {
case -32: case -18: case -17: {
$offset$1$i = $19;
break L8;
break;
}
default: {
}
}
}
$30 = ($16<<24>>24)<(0);
$31 = $30 & $26;
if ($31) {
$$off117$i = (($8) + 31)<<24>>24;
$32 = ($$off117$i&255)<(12);
$33 = $8 & -2;
$34 = ($33<<24>>24)==(-18);
$or$cond125$i = $32 | $34;
if ($or$cond125$i) {
$offset$1$i = $19;
break L8;
}
}
$35 = ($16&255)<(160);
$36 = $30 & $35;
if (!($36)) {
break L3;
}
$$off115$i = (($8) + 31)<<24>>24;
$37 = ($$off115$i&255)<(13);
$38 = $8 & -2;
$39 = ($38<<24>>24)==(-18);
$or$cond127$i = $37 | $39;
if ($or$cond127$i) {
$offset$1$i = $19;
} else {
break L3;
}
break;
}
case 4: {
$21 = (($offset$0148$i) + 2)|0;
$22 = ($21>>>0)<($2>>>0);
if (!($22)) {
break L3;
}
$40 = (($offset$0148$i) + 3)|0;
$41 = ($40>>>0)<($2>>>0);
if (!($41)) {
break L3;
}
$42 = (($1) + ($21)|0);
$43 = HEAP8[$42>>0]|0;
$44 = $43 & -64;
$45 = (($1) + ($40)|0);
$46 = HEAP8[$45>>0]|0;
$47 = $46 & -64;
$cond103$i = ($47<<24>>24)==(-128);
$cond104$i = ($44<<24>>24)==(-128);
$or$cond106$i = $cond104$i & $cond103$i;
if (!($or$cond106$i)) {
break L3;
}
$$off$i = (($16) + 112)<<24>>24;
$48 = ($$off$i&255)<(48);
$49 = $8 & -4;
$switch$i = ($49<<24>>24)==(-16);
$or$cond$i = $switch$i & $48;
if ($or$cond$i) {
$offset$1$i = $40;
} else {
$50 = ($16&255)<(192);
$51 = ($16<<24>>24)<(0);
$52 = $51 & $50;
$$off112$i = (($8) + 15)<<24>>24;
$53 = ($$off112$i&255)<(3);
$or$cond131$i = $53 & $52;
if ($or$cond131$i) {
$offset$1$i = $40;
} else {
$54 = ($16&255)<(144);
$55 = $51 & $54;
$56 = ($$off112$i&255)<(4);
$or$cond133$i = $56 & $55;
if ($or$cond133$i) {
$offset$1$i = $40;
} else {
break L3;
}
}
}
break;
}
default: {
break L3;
}
}
} while(0);
$57 = (($offset$1$i) + 1)|0;
$offset$0$be$i = $57;
} else {
$58 = (($offset$0148$i) + ($4))|0;
$59 = $58 & 3;
$60 = ($59|0)==(0);
if (!($60)) {
$78 = (($offset$0148$i) + 1)|0;
$offset$0$be$i = $78;
break;
}
$61 = ($offset$0148$i>>>0)>($6>>>0);
$or$cond149$i = $5 | $61;
L32: do {
if ($or$cond149$i) {
$offset$3$ph$i = $offset$0148$i;
} else {
$offset$2143$i = $offset$0148$i;
while(1) {
$62 = (($1) + ($offset$2143$i)|0);
$63 = HEAP32[$62>>2]|0;
$64 = (($offset$2143$i) + 4)|0;
$65 = (($1) + ($64)|0);
$66 = HEAP32[$65>>2]|0;
$67 = $66 | $63;
$68 = $67 & -2139062144;
$69 = ($68|0)==(0);
if (!($69)) {
$offset$3$ph$i = $offset$2143$i;
break L32;
}
$71 = (($offset$2143$i) + 8)|0;
$72 = ($71>>>0)>($6>>>0);
if ($72) {
$offset$3$ph$i = $71;
break;
} else {
$offset$2143$i = $71;
}
}
}
} while(0);
$70 = ($offset$3$ph$i>>>0)<($2>>>0);
if ($70) {
$offset$3145$i = $offset$3$ph$i;
while(1) {
$75 = (($1) + ($offset$3145$i)|0);
$76 = HEAP8[$75>>0]|0;
$77 = ($76<<24>>24)>(-1);
if (!($77)) {
$offset$0$be$i = $offset$3145$i;
break L5;
}
$73 = (($offset$3145$i) + 1)|0;
$74 = ($73>>>0)<($2>>>0);
if ($74) {
$offset$3145$i = $73;
} else {
$offset$0$be$i = $73;
break;
}
}
} else {
$offset$0$be$i = $offset$3$ph$i;
}
}
} while(0);
$79 = ($offset$0$be$i>>>0)<($2>>>0);
if ($79) {
$offset$0148$i = $offset$0$be$i;
} else {
break L1;
}
}
$82 = ((($0)) + 4|0);
HEAP32[$82>>2] = $offset$0148$i;
HEAP32[$0>>2] = 1;
return;
}
} while(0);
$80 = ((($0)) + 4|0);
HEAP32[$80>>2] = $1;
$81 = ((($0)) + 8|0);
HEAP32[$81>>2] = $2;
HEAP32[$0>>2] = 0;
return;
}
function __ZN3fmt9str_Debug3fmt20h89aaf11c090de66eOVXE($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$$i = 0, $$$i85 = 0, $$cast$i = 0, $$cast$i166 = 0, $$cast$i166177 = 0, $$cast$i169 = 0, $$lobit$i$i = 0, $$lobit$i$i99 = 0, $$lobit$i6$i = 0, $$lobit$not$i$i = 0, $$lobit$not$i$i100 = 0, $$lobit$not$i7$i = 0, $$off$i = 0, $$pre$phi$iZ2D = 0, $$sink$i$i = 0, $$sroa$0108$0 = 0, $$sroa$0108$1$ph = 0, $$sroa$0117$0$ph172 = 0, $$sroa$0117$0167 = 0, $$sroa$14$0$ph = 0;
var $$sroa$54$0$ph$i = 0, $$sroa$6118$0$ph173 = 0, $$sroa$6118$0168 = 0, $$sroa$6118$1 = 0, $$sroa$6118$2 = 0, $$sroa$6118$3 = 0, $$sroa$6118$4 = 0, $$sroa$7$0 = 0, $$sroa$7$1$ph = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0;
var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0;
var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0;
var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $extract$t4$i$i = 0, $extract$t4$i$i101 = 0, $extract$t4$i8$i = 0, $from$0$ph$lcssa165 = 0, $from$0$ph174 = 0, $init_state$sroa$0$0$i127129137 = 0;
var $init_state$sroa$0$0$i127129137$ph = 0, $init_state$sroa$9$0$i125130136 = 0, $n$0$i$i = 0, $n$0$i$i92 = 0, $not$$i$i = 0, $not$$i$i102 = 0, $not$$i4$i = 0, $phitmp$i$i$i = 0, $phitmp29$i$i$i = 0, $phitmp30$i$i$i = 0, $sret_slot$0$i = 0, $sret_slot$0$i$i$i$i = 0, $sret_slot$0$i13$i$i$i = 0, $sret_slot$0$i20$i$i$i = 0, $sret_slot$sroa$0$2 = 0, $switch = 0, $switch74 = 0, $switch77 = 0, $switch78 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$3 = ((($2)) + 28|0);
$4 = HEAP32[$3>>2]|0;
$5 = ((($2)) + 32|0);
$6 = HEAP32[$5>>2]|0;
$7 = ((($6)) + 16|0);
$8 = HEAP32[$7>>2]|0;
$9 = (FUNCTION_TABLE_iii[$8 & 127]($4,34)|0);
$switch = ($9<<24>>24)==(0);
if (!($switch)) {
$sret_slot$sroa$0$2 = 1;
return ($sret_slot$sroa$0$2|0);
}
$10 = (($0) + ($1)|0);
$11 = ($1|0)==(0);
L4: do {
if ($11) {
$from$0$ph$lcssa165 = 0;
} else {
$12 = $0;
$$cast$i166177 = $0;$$sroa$0117$0$ph172 = 0;$$sroa$6118$0$ph173 = $12;$from$0$ph174 = 0;
L6: while(1) {
$$cast$i169 = $$cast$i166177;$$sroa$0117$0167 = $$sroa$0117$0$ph172;$$sroa$6118$0168 = $$sroa$6118$0$ph173;
L8: while(1) {
$13 = ((($$cast$i169)) + 1|0);
$14 = $13;
$15 = HEAP8[$$cast$i169>>0]|0;
$16 = ($15<<24>>24)<(0);
if ($16) {
$18 = $15 & 31;
$19 = $18&255;
$20 = ($13|0)==($10|0);
if ($20) {
$$sroa$6118$1 = $14;$28 = $10;$sret_slot$0$i20$i$i$i = 0;
} else {
$21 = ((($$cast$i169)) + 2|0);
$22 = $21;
$23 = HEAP8[$13>>0]|0;
$phitmp$i$i$i = $23 & 63;
$$sroa$6118$1 = $22;$28 = $21;$sret_slot$0$i20$i$i$i = $phitmp$i$i$i;
}
$24 = $19 << 6;
$25 = $sret_slot$0$i20$i$i$i&255;
$26 = $25 | $24;
$27 = ($15&255)>(223);
if ($27) {
$29 = ($28|0)==($10|0);
if ($29) {
$$sroa$6118$2 = $$sroa$6118$1;$39 = $10;$sret_slot$0$i13$i$i$i = 0;
} else {
$30 = ((($28)) + 1|0);
$31 = $30;
$32 = HEAP8[$28>>0]|0;
$phitmp29$i$i$i = $32 & 63;
$$sroa$6118$2 = $31;$39 = $30;$sret_slot$0$i13$i$i$i = $phitmp29$i$i$i;
}
$33 = $25 << 6;
$34 = $sret_slot$0$i13$i$i$i&255;
$35 = $34 | $33;
$36 = $19 << 12;
$37 = $35 | $36;
$38 = ($15&255)>(239);
if ($38) {
$40 = ($39|0)==($10|0);
if ($40) {
$$sroa$6118$3 = $$sroa$6118$2;$sret_slot$0$i$i$i$i = 0;
} else {
$41 = ((($39)) + 1|0);
$42 = $41;
$43 = HEAP8[$39>>0]|0;
$phitmp30$i$i$i = $43 & 63;
$$sroa$6118$3 = $42;$sret_slot$0$i$i$i$i = $phitmp30$i$i$i;
}
$44 = $19 << 18;
$45 = $44 & 1835008;
$46 = $35 << 6;
$47 = $sret_slot$0$i$i$i$i&255;
$48 = $46 | $45;
$49 = $48 | $47;
$$sroa$54$0$ph$i = $49;$$sroa$6118$4 = $$sroa$6118$3;
} else {
$$sroa$54$0$ph$i = $37;$$sroa$6118$4 = $$sroa$6118$2;
}
} else {
$$sroa$54$0$ph$i = $26;$$sroa$6118$4 = $$sroa$6118$1;
}
} else {
$17 = $15&255;
$$sroa$54$0$ph$i = $17;$$sroa$6118$4 = $14;
}
$50 = (($$sroa$0117$0167) - ($$sroa$6118$0168))|0;
$51 = (($50) + ($$sroa$6118$4))|0;
switch ($$sroa$54$0$ph$i|0) {
case 34: case 39: case 92: {
$init_state$sroa$0$0$i127129137$ph = 0;
label = 22;
break L8;
break;
}
case 9: {
label = 23;
break L8;
break;
}
case 13: {
$init_state$sroa$0$0$i127129137 = 0;$init_state$sroa$9$0$i125130136 = 114;
break L8;
break;
}
case 10: {
label = 21;
break L8;
break;
}
default: {
}
}
$$off$i = (($$sroa$54$0$ph$i) + -32)|0;
$52 = ($$off$i>>>0)<(95);
$$$i85 = $52 ? 1 : 3;
if (!($52)) {
$n$0$i$i92 = 0;
while(1) {
$54 = (($n$0$i$i92) + 1)|0;
$55 = $54 << 2;
$56 = $55 & 28;
$57 = $$sroa$54$0$ph$i >>> $56;
$58 = ($57|0)==(0);
if ($58) {
break;
} else {
$n$0$i$i92 = $54;
}
}
$59 = ($n$0$i$i92|0)==(-4);
if (!($59)) {
$init_state$sroa$0$0$i127129137$ph = $$$i85;
label = 22;
break;
}
}
$$cast$i = $$sroa$6118$4;
$53 = ($$cast$i|0)==($10|0);
if ($53) {
$from$0$ph$lcssa165 = $from$0$ph174;
break L4;
} else {
$$cast$i169 = $$cast$i;$$sroa$0117$0167 = $51;$$sroa$6118$0168 = $$sroa$6118$4;
}
}
if ((label|0) == 21) {
label = 0;
$init_state$sroa$0$0$i127129137 = 0;$init_state$sroa$9$0$i125130136 = 110;
}
else if ((label|0) == 22) {
label = 0;
$init_state$sroa$0$0$i127129137 = $init_state$sroa$0$0$i127129137$ph;$init_state$sroa$9$0$i125130136 = $$sroa$54$0$ph$i;
}
else if ((label|0) == 23) {
label = 0;
$init_state$sroa$0$0$i127129137 = 0;$init_state$sroa$9$0$i125130136 = 116;
}
$60 = ($$sroa$0117$0167>>>0)<($from$0$ph174>>>0);
if ($60) {
label = 31;
break;
}
$66 = ($from$0$ph174|0)==($1|0);
if (!($66)) {
$not$$i$i102 = ($from$0$ph174>>>0)<($1>>>0);
if (!($not$$i$i102)) {
label = 31;
break;
}
$61 = (($0) + ($from$0$ph174)|0);
$62 = HEAP8[$61>>0]|0;
$63 = ($62&255)>(191);
$$lobit$i$i99 = ($62&255) >>> 7;
$$lobit$not$i$i100 = $$lobit$i$i99 ^ 1;
$64 = $63&1;
$65 = $$lobit$not$i$i100 | $64;
$extract$t4$i$i101 = ($65<<24>>24)==(0);
if ($extract$t4$i$i101) {
label = 31;
break;
}
}
$72 = ($$sroa$0117$0167|0)==($1|0);
if (!($72)) {
$not$$i4$i = ($$sroa$0117$0167>>>0)<($1>>>0);
if (!($not$$i4$i)) {
label = 31;
break;
}
$67 = (($0) + ($$sroa$0117$0167)|0);
$68 = HEAP8[$67>>0]|0;
$69 = ($68&255)>(191);
$$lobit$i6$i = ($68&255) >>> 7;
$$lobit$not$i7$i = $$lobit$i6$i ^ 1;
$70 = $69&1;
$71 = $$lobit$not$i7$i | $70;
$extract$t4$i8$i = ($71<<24>>24)==(0);
if ($extract$t4$i8$i) {
label = 31;
break;
}
}
$73 = (($0) + ($from$0$ph174)|0);
$74 = (($$sroa$0117$0167) - ($from$0$ph174))|0;
$75 = HEAP32[$3>>2]|0;
$76 = HEAP32[$5>>2]|0;
$77 = ((($76)) + 12|0);
$78 = HEAP32[$77>>2]|0;
$79 = (FUNCTION_TABLE_iiii[$78 & 127]($75,$73,$74)|0);
$switch74 = ($79<<24>>24)==(0);
if ($switch74) {
$$sroa$0108$0 = $init_state$sroa$0$0$i127129137;$$sroa$7$0 = $init_state$sroa$9$0$i125130136;$80 = 0;$81 = 0;
} else {
$sret_slot$sroa$0$2 = 1;
label = 55;
break;
}
L45: while(1) {
L47: do {
switch ($$sroa$0108$0|0) {
case 2: {
break L45;
break;
}
case 0: {
$$sroa$0108$1$ph = 1;$$sroa$14$0$ph = 92;$$sroa$7$1$ph = $$sroa$7$0;$126 = $80;$127 = $81;
break;
}
case 1: {
$$sroa$0108$1$ph = 2;$$sroa$14$0$ph = $$sroa$7$0;$$sroa$7$1$ph = 0;$126 = 0;$127 = 0;
break;
}
case 3: {
switch ($80|0) {
case 5: {
break L45;
break;
}
case 0: {
$$sroa$0108$1$ph = 3;$$sroa$14$0$ph = 92;$$sroa$7$1$ph = $$sroa$7$0;$126 = 1;$127 = 0;
break L47;
break;
}
case 1: {
$$sroa$0108$1$ph = 3;$$sroa$14$0$ph = 117;$$sroa$7$1$ph = $$sroa$7$0;$126 = 2;$127 = 0;
break L47;
break;
}
case 2: {
$n$0$i$i = 0;
while(1) {
$93 = (($n$0$i$i) + 1)|0;
$94 = $93 << 2;
$95 = $94 & 28;
$96 = $$sroa$7$0 >>> $95;
$97 = ($96|0)==(0);
if ($97) {
break;
} else {
$n$0$i$i = $93;
}
}
$$sroa$0108$1$ph = 3;$$sroa$14$0$ph = 123;$$sroa$7$1$ph = $$sroa$7$0;$126 = 3;$127 = $n$0$i$i;
break L47;
break;
}
case 3: {
$82 = (_bitshift64Shl(($81|0),0,2)|0);
$83 = tempRet0;
$84 = $82 & 28;
$85 = $$sroa$7$0 >>> $84;
$86 = $85 & 15;
$87 = $86&255;
$88 = ($87&255)<(10);
$89 = $86 | 48;
$90 = (($86) + 87)|0;
$$sink$i$i = $88 ? $89 : $90;
$91 = $$sink$i$i & 127;
$92 = ($81|0)==(0);
if ($92) {
$$sroa$0108$1$ph = 3;$$sroa$14$0$ph = $91;$$sroa$7$1$ph = $$sroa$7$0;$126 = 4;$127 = 0;
break L47;
}
$98 = (($81) + -1)|0;
$$sroa$0108$1$ph = 3;$$sroa$14$0$ph = $91;$$sroa$7$1$ph = $$sroa$7$0;$126 = 3;$127 = $98;
break L47;
break;
}
case 4: {
$$sroa$0108$1$ph = 3;$$sroa$14$0$ph = 125;$$sroa$7$1$ph = $$sroa$7$0;$126 = 5;$127 = 0;
break L47;
break;
}
default: {
label = 37;
break L6;
}
}
break;
}
default: {
label = 34;
break L6;
}
}
} while(0);
$99 = HEAP32[$3>>2]|0;
$100 = HEAP32[$5>>2]|0;
$101 = ((($100)) + 16|0);
$102 = HEAP32[$101>>2]|0;
$103 = (FUNCTION_TABLE_iii[$102 & 127]($99,$$sroa$14$0$ph)|0);
$switch77 = ($103<<24>>24)==(0);
if ($switch77) {
$$sroa$0108$0 = $$sroa$0108$1$ph;$$sroa$7$0 = $$sroa$7$1$ph;$80 = $126;$81 = $127;
} else {
$sret_slot$sroa$0$2 = 1;
label = 55;
break L6;
}
}
$104 = ($$sroa$54$0$ph$i>>>0)<(128);
if ($104) {
$sret_slot$0$i = 1;
} else {
$105 = ($$sroa$54$0$ph$i>>>0)<(2048);
if ($105) {
$sret_slot$0$i = 2;
} else {
$106 = ($$sroa$54$0$ph$i>>>0)<(65536);
$$$i = $106 ? 3 : 4;
$sret_slot$0$i = $$$i;
}
}
$107 = (($sret_slot$0$i) + ($$sroa$0117$0167))|0;
$$cast$i166 = $$sroa$6118$4;
$108 = ($$cast$i166|0)==($10|0);
if ($108) {
$from$0$ph$lcssa165 = $107;
break L4;
} else {
$$cast$i166177 = $$cast$i166;$$sroa$0117$0$ph172 = $51;$$sroa$6118$0$ph173 = $$sroa$6118$4;$from$0$ph174 = $107;
}
}
if ((label|0) == 31) {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($0,$1,$from$0$ph174,$$sroa$0117$0167);
// unreachable;
}
else if ((label|0) == 34) {
// unreachable;
}
else if ((label|0) == 37) {
// unreachable;
}
else if ((label|0) == 55) {
return ($sret_slot$sroa$0$2|0);
}
}
} while(0);
$109 = ($from$0$ph$lcssa165|0)==($1|0);
if ($109) {
$$pre$phi$iZ2D = $10;
} else {
$not$$i$i = ($from$0$ph$lcssa165>>>0)<($1>>>0);
if (!($not$$i$i)) {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($0,$1,$from$0$ph$lcssa165,$1);
// unreachable;
}
$110 = (($0) + ($from$0$ph$lcssa165)|0);
$111 = HEAP8[$110>>0]|0;
$112 = ($111&255)>(191);
$$lobit$i$i = ($111&255) >>> 7;
$$lobit$not$i$i = $$lobit$i$i ^ 1;
$113 = $112&1;
$114 = $$lobit$not$i$i | $113;
$extract$t4$i$i = ($114<<24>>24)==(0);
if ($extract$t4$i$i) {
__ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($0,$1,$from$0$ph$lcssa165,$1);
// unreachable;
} else {
$$pre$phi$iZ2D = $110;
}
}
$115 = (($1) - ($from$0$ph$lcssa165))|0;
$116 = HEAP32[$3>>2]|0;
$117 = HEAP32[$5>>2]|0;
$118 = ((($117)) + 12|0);
$119 = HEAP32[$118>>2]|0;
$120 = (FUNCTION_TABLE_iiii[$119 & 127]($116,$$pre$phi$iZ2D,$115)|0);
$switch78 = ($120<<24>>24)==(0);
if (!($switch78)) {
$sret_slot$sroa$0$2 = 1;
return ($sret_slot$sroa$0$2|0);
}
$121 = HEAP32[$3>>2]|0;
$122 = HEAP32[$5>>2]|0;
$123 = ((($122)) + 16|0);
$124 = HEAP32[$123>>2]|0;
$125 = (FUNCTION_TABLE_iii[$124 & 127]($121,34)|0);
$sret_slot$sroa$0$2 = $125;
return ($sret_slot$sroa$0$2|0);
}
function __ZN3fmt31Arguments_LT__u27_a_GT__Display3fmt20h6737774e6cfd27db1mXE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $arg = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$arg = sp;
$2 = ((($1)) + 28|0);
$3 = HEAP32[$2>>2]|0;
$4 = ((($1)) + 32|0);
$5 = HEAP32[$4>>2]|0;
;HEAP32[$arg>>2]=HEAP32[$0>>2]|0;HEAP32[$arg+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$arg+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$arg+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$arg+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$arg+20>>2]=HEAP32[$0+20>>2]|0;
$6 = (__ZN3fmt5write20h7901236a83d456cd7oXE($3,$5,$arg)|0);
STACKTOP = sp;return ($6|0);
}
function __ZN3fmt3num16i32_fmt__Display3fmt20hd41f468b70333a45fhWE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var $buf8 = 0, $curr$0$lcssa = 0, $curr$09 = 0, $curr$1 = 0, $curr$2 = 0, $n$0 = 0, $n$1$lcssa = 0, $n$110 = 0, $n2$0 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$buf8 = sp;
$2 = HEAP32[$0>>2]|0;
$3 = ($2|0)>(-1);
$4 = (0 - ($2))|0;
$n$0 = $3 ? $2 : $4;
$5 = ($n$0>>>0)>(9999);
if ($5) {
$curr$09 = 20;$n$110 = $n$0;
while(1) {
$7 = (($n$110>>>0) % 10000)&-1;
$8 = (($n$110>>>0) / 10000)&-1;
$9 = (($7>>>0) / 100)&-1;
$10 = $9 << 1;
$11 = (($7>>>0) % 100)&-1;
$12 = $11 << 1;
$13 = (($curr$09) + -4)|0;
$14 = (4049 + ($10)|0);
$15 = (($buf8) + ($13)|0);
$16 = HEAPU8[$14>>0]|(HEAPU8[$14+1>>0]<<8);
HEAP8[$15>>0]=$16&255;HEAP8[$15+1>>0]=$16>>8;
$17 = (4049 + ($12)|0);
$18 = (($curr$09) + -2)|0;
$19 = (($buf8) + ($18)|0);
$20 = HEAPU8[$17>>0]|(HEAPU8[$17+1>>0]<<8);
HEAP8[$19>>0]=$20&255;HEAP8[$19+1>>0]=$20>>8;
$21 = ($n$110>>>0)>(99999999);
if ($21) {
$curr$09 = $13;$n$110 = $8;
} else {
$curr$0$lcssa = $13;$n$1$lcssa = $8;
break;
}
}
} else {
$curr$0$lcssa = 20;$n$1$lcssa = $n$0;
}
$6 = ($n$1$lcssa|0)>(99);
if ($6) {
$22 = (($n$1$lcssa|0) % 100)&-1;
$23 = $22 << 1;
$24 = (($n$1$lcssa|0) / 100)&-1;
$25 = (($curr$0$lcssa) + -2)|0;
$26 = (4049 + ($23)|0);
$27 = (($buf8) + ($25)|0);
$28 = HEAPU8[$26>>0]|(HEAPU8[$26+1>>0]<<8);
HEAP8[$27>>0]=$28&255;HEAP8[$27+1>>0]=$28>>8;
$curr$1 = $25;$n2$0 = $24;
} else {
$curr$1 = $curr$0$lcssa;$n2$0 = $n$1$lcssa;
}
$29 = ($n2$0|0)<(10);
if ($29) {
$30 = (($curr$1) + -1)|0;
$31 = $n2$0&255;
$32 = (($31) + 48)<<24>>24;
$33 = (($buf8) + ($30)|0);
HEAP8[$33>>0] = $32;
$curr$2 = $30;
$39 = (($buf8) + ($curr$2)|0);
$40 = (20 - ($curr$2))|0;
$41 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral20h051d8c1a7b501c091tXE($1,$3,7692,0,$39,$40)|0);
STACKTOP = sp;return ($41|0);
} else {
$34 = $n2$0 << 1;
$35 = (($curr$1) + -2)|0;
$36 = (4049 + ($34)|0);
$37 = (($buf8) + ($35)|0);
$38 = HEAPU8[$36>>0]|(HEAPU8[$36+1>>0]<<8);
HEAP8[$37>>0]=$38&255;HEAP8[$37+1>>0]=$38>>8;
$curr$2 = $35;
$39 = (($buf8) + ($curr$2)|0);
$40 = (20 - ($curr$2))|0;
$41 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral20h051d8c1a7b501c091tXE($1,$3,7692,0,$39,$40)|0);
STACKTOP = sp;return ($41|0);
}
return (0)|0;
}
function ___stdio_close($f) {
$f = $f|0;
var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$vararg_buffer = sp;
$0 = ((($f)) + 60|0);
$1 = HEAP32[$0>>2]|0;
HEAP32[$vararg_buffer>>2] = $1;
$2 = (___syscall6(6,($vararg_buffer|0))|0);
$3 = (___syscall_ret($2)|0);
STACKTOP = sp;return ($3|0);
}
function ___syscall_ret($r) {
$r = $r|0;
var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = ($r>>>0)>(4294963200);
if ($0) {
$1 = (0 - ($r))|0;
$2 = (___errno_location()|0);
HEAP32[$2>>2] = $1;
$$0 = -1;
} else {
$$0 = $r;
}
return ($$0|0);
}
function ___errno_location() {
var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = HEAP32[1787]|0;
$1 = ($0|0)==(0|0);
if ($1) {
$$0 = 7192;
} else {
$2 = (_pthread_self()|0);
$3 = ((($2)) + 64|0);
$4 = HEAP32[$3>>2]|0;
$$0 = $4;
}
return ($$0|0);
}
function ___stdout_write($f,$buf,$len) {
$f = $f|0;
$buf = $buf|0;
$len = $len|0;
var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tio = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$vararg_buffer = sp;
$tio = sp + 12|0;
$0 = ((($f)) + 36|0);
HEAP32[$0>>2] = 105;
$1 = HEAP32[$f>>2]|0;
$2 = $1 & 64;
$3 = ($2|0)==(0);
if ($3) {
$4 = ((($f)) + 60|0);
$5 = HEAP32[$4>>2]|0;
HEAP32[$vararg_buffer>>2] = $5;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 21505;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $tio;
$6 = (___syscall54(54,($vararg_buffer|0))|0);
$7 = ($6|0)==(0);
if (!($7)) {
$8 = ((($f)) + 75|0);
HEAP8[$8>>0] = -1;
}
}
$9 = (___stdio_write($f,$buf,$len)|0);
STACKTOP = sp;return ($9|0);
}
function ___stdio_write($f,$buf,$len) {
$f = $f|0;
$buf = $buf|0;
$len = $len|0;
var $$0 = 0, $$phi$trans$insert = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cnt$0 = 0, $cnt$1 = 0, $iov$0 = 0, $iov$0$lcssa11 = 0, $iov$1 = 0, $iovcnt$0 = 0, $iovcnt$0$lcssa12 = 0;
var $iovcnt$1 = 0, $iovs = 0, $rem$0 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$vararg_buffer3 = sp + 16|0;
$vararg_buffer = sp;
$iovs = sp + 32|0;
$0 = ((($f)) + 28|0);
$1 = HEAP32[$0>>2]|0;
HEAP32[$iovs>>2] = $1;
$2 = ((($iovs)) + 4|0);
$3 = ((($f)) + 20|0);
$4 = HEAP32[$3>>2]|0;
$5 = (($4) - ($1))|0;
HEAP32[$2>>2] = $5;
$6 = ((($iovs)) + 8|0);
HEAP32[$6>>2] = $buf;
$7 = ((($iovs)) + 12|0);
HEAP32[$7>>2] = $len;
$8 = (($5) + ($len))|0;
$9 = ((($f)) + 60|0);
$10 = ((($f)) + 44|0);
$iov$0 = $iovs;$iovcnt$0 = 2;$rem$0 = $8;
while(1) {
$11 = HEAP32[1787]|0;
$12 = ($11|0)==(0|0);
if ($12) {
$16 = HEAP32[$9>>2]|0;
HEAP32[$vararg_buffer3>>2] = $16;
$vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
HEAP32[$vararg_ptr6>>2] = $iov$0;
$vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
HEAP32[$vararg_ptr7>>2] = $iovcnt$0;
$17 = (___syscall146(146,($vararg_buffer3|0))|0);
$18 = (___syscall_ret($17)|0);
$cnt$0 = $18;
} else {
_pthread_cleanup_push((106|0),($f|0));
$13 = HEAP32[$9>>2]|0;
HEAP32[$vararg_buffer>>2] = $13;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $iov$0;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $iovcnt$0;
$14 = (___syscall146(146,($vararg_buffer|0))|0);
$15 = (___syscall_ret($14)|0);
_pthread_cleanup_pop(0);
$cnt$0 = $15;
}
$19 = ($rem$0|0)==($cnt$0|0);
if ($19) {
label = 6;
break;
}
$26 = ($cnt$0|0)<(0);
if ($26) {
$iov$0$lcssa11 = $iov$0;$iovcnt$0$lcssa12 = $iovcnt$0;
label = 8;
break;
}
$34 = (($rem$0) - ($cnt$0))|0;
$35 = ((($iov$0)) + 4|0);
$36 = HEAP32[$35>>2]|0;
$37 = ($cnt$0>>>0)>($36>>>0);
if ($37) {
$38 = HEAP32[$10>>2]|0;
HEAP32[$0>>2] = $38;
HEAP32[$3>>2] = $38;
$39 = (($cnt$0) - ($36))|0;
$40 = ((($iov$0)) + 8|0);
$41 = (($iovcnt$0) + -1)|0;
$$phi$trans$insert = ((($iov$0)) + 12|0);
$$pre = HEAP32[$$phi$trans$insert>>2]|0;
$49 = $$pre;$cnt$1 = $39;$iov$1 = $40;$iovcnt$1 = $41;
} else {
$42 = ($iovcnt$0|0)==(2);
if ($42) {
$43 = HEAP32[$0>>2]|0;
$44 = (($43) + ($cnt$0)|0);
HEAP32[$0>>2] = $44;
$49 = $36;$cnt$1 = $cnt$0;$iov$1 = $iov$0;$iovcnt$1 = 2;
} else {
$49 = $36;$cnt$1 = $cnt$0;$iov$1 = $iov$0;$iovcnt$1 = $iovcnt$0;
}
}
$45 = HEAP32[$iov$1>>2]|0;
$46 = (($45) + ($cnt$1)|0);
HEAP32[$iov$1>>2] = $46;
$47 = ((($iov$1)) + 4|0);
$48 = (($49) - ($cnt$1))|0;
HEAP32[$47>>2] = $48;
$iov$0 = $iov$1;$iovcnt$0 = $iovcnt$1;$rem$0 = $34;
}
if ((label|0) == 6) {
$20 = HEAP32[$10>>2]|0;
$21 = ((($f)) + 48|0);
$22 = HEAP32[$21>>2]|0;
$23 = (($20) + ($22)|0);
$24 = ((($f)) + 16|0);
HEAP32[$24>>2] = $23;
$25 = $20;
HEAP32[$0>>2] = $25;
HEAP32[$3>>2] = $25;
$$0 = $len;
}
else if ((label|0) == 8) {
$27 = ((($f)) + 16|0);
HEAP32[$27>>2] = 0;
HEAP32[$0>>2] = 0;
HEAP32[$3>>2] = 0;
$28 = HEAP32[$f>>2]|0;
$29 = $28 | 32;
HEAP32[$f>>2] = $29;
$30 = ($iovcnt$0$lcssa12|0)==(2);
if ($30) {
$$0 = 0;
} else {
$31 = ((($iov$0$lcssa11)) + 4|0);
$32 = HEAP32[$31>>2]|0;
$33 = (($len) - ($32))|0;
$$0 = $33;
}
}
STACKTOP = sp;return ($$0|0);
}
function _cleanup_475($p) {
$p = $p|0;
var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = ((($p)) + 68|0);
$1 = HEAP32[$0>>2]|0;
$2 = ($1|0)==(0);
if ($2) {
___unlockfile($p);
}
return;
}
function ___unlockfile($f) {
$f = $f|0;
var label = 0, sp = 0;
sp = STACKTOP;
return;
}
function ___stdio_seek($f,$off,$whence) {
$f = $f|0;
$off = $off|0;
$whence = $whence|0;
var $$pre = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $ret = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$vararg_buffer = sp;
$ret = sp + 20|0;
$0 = ((($f)) + 60|0);
$1 = HEAP32[$0>>2]|0;
HEAP32[$vararg_buffer>>2] = $1;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 0;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $off;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = $ret;
$vararg_ptr4 = ((($vararg_buffer)) + 16|0);
HEAP32[$vararg_ptr4>>2] = $whence;
$2 = (___syscall140(140,($vararg_buffer|0))|0);
$3 = (___syscall_ret($2)|0);
$4 = ($3|0)<(0);
if ($4) {
HEAP32[$ret>>2] = -1;
$5 = -1;
} else {
$$pre = HEAP32[$ret>>2]|0;
$5 = $$pre;
}
STACKTOP = sp;return ($5|0);
}
function _strlen($s) {
$s = $s|0;
var $$0 = 0, $$01$lcssa = 0, $$014 = 0, $$1$lcssa = 0, $$lcssa20 = 0, $$pn = 0, $$pn15 = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
var $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $w$0 = 0, $w$0$lcssa = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = $s;
$1 = $0 & 3;
$2 = ($1|0)==(0);
L1: do {
if ($2) {
$$01$lcssa = $s;
label = 4;
} else {
$$014 = $s;$21 = $0;
while(1) {
$3 = HEAP8[$$014>>0]|0;
$4 = ($3<<24>>24)==(0);
if ($4) {
$$pn = $21;
break L1;
}
$5 = ((($$014)) + 1|0);
$6 = $5;
$7 = $6 & 3;
$8 = ($7|0)==(0);
if ($8) {
$$01$lcssa = $5;
label = 4;
break;
} else {
$$014 = $5;$21 = $6;
}
}
}
} while(0);
if ((label|0) == 4) {
$w$0 = $$01$lcssa;
while(1) {
$9 = HEAP32[$w$0>>2]|0;
$10 = (($9) + -16843009)|0;
$11 = $9 & -2139062144;
$12 = $11 ^ -2139062144;
$13 = $12 & $10;
$14 = ($13|0)==(0);
$15 = ((($w$0)) + 4|0);
if ($14) {
$w$0 = $15;
} else {
$$lcssa20 = $9;$w$0$lcssa = $w$0;
break;
}
}
$16 = $$lcssa20&255;
$17 = ($16<<24>>24)==(0);
if ($17) {
$$1$lcssa = $w$0$lcssa;
} else {
$$pn15 = $w$0$lcssa;
while(1) {
$18 = ((($$pn15)) + 1|0);
$$pre = HEAP8[$18>>0]|0;
$19 = ($$pre<<24>>24)==(0);
if ($19) {
$$1$lcssa = $18;
break;
} else {
$$pn15 = $18;
}
}
}
$20 = $$1$lcssa;
$$pn = $20;
}
$$0 = (($$pn) - ($0))|0;
return ($$0|0);
}
function _strerror($e) {
$e = $e|0;
var $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$03 = 0, $i$03$lcssa = 0, $i$12 = 0, $s$0$lcssa = 0, $s$01 = 0, $s$1 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$i$03 = 0;
while(1) {
$1 = (4897 + ($i$03)|0);
$2 = HEAP8[$1>>0]|0;
$3 = $2&255;
$4 = ($3|0)==($e|0);
if ($4) {
$i$03$lcssa = $i$03;
label = 2;
break;
}
$5 = (($i$03) + 1)|0;
$6 = ($5|0)==(87);
if ($6) {
$i$12 = 87;$s$01 = 4985;
label = 5;
break;
} else {
$i$03 = $5;
}
}
if ((label|0) == 2) {
$0 = ($i$03$lcssa|0)==(0);
if ($0) {
$s$0$lcssa = 4985;
} else {
$i$12 = $i$03$lcssa;$s$01 = 4985;
label = 5;
}
}
if ((label|0) == 5) {
while(1) {
label = 0;
$s$1 = $s$01;
while(1) {
$7 = HEAP8[$s$1>>0]|0;
$8 = ($7<<24>>24)==(0);
$9 = ((($s$1)) + 1|0);
if ($8) {
$$lcssa = $9;
break;
} else {
$s$1 = $9;
}
}
$10 = (($i$12) + -1)|0;
$11 = ($10|0)==(0);
if ($11) {
$s$0$lcssa = $$lcssa;
break;
} else {
$i$12 = $10;$s$01 = $$lcssa;
label = 5;
}
}
}
return ($s$0$lcssa|0);
}
function _memchr($src,$c,$n) {
$src = $src|0;
$c = $c|0;
$n = $n|0;
var $$0$lcssa = 0, $$0$lcssa30 = 0, $$019 = 0, $$1$lcssa = 0, $$110 = 0, $$110$lcssa = 0, $$24 = 0, $$3 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, $s$0$lcssa = 0, $s$0$lcssa29 = 0, $s$020 = 0, $s$15 = 0, $s$2 = 0, $w$0$lcssa = 0, $w$011 = 0, $w$011$lcssa = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = $c & 255;
$1 = $src;
$2 = $1 & 3;
$3 = ($2|0)!=(0);
$4 = ($n|0)!=(0);
$or$cond18 = $4 & $3;
L1: do {
if ($or$cond18) {
$5 = $c&255;
$$019 = $n;$s$020 = $src;
while(1) {
$6 = HEAP8[$s$020>>0]|0;
$7 = ($6<<24>>24)==($5<<24>>24);
if ($7) {
$$0$lcssa30 = $$019;$s$0$lcssa29 = $s$020;
label = 6;
break L1;
}
$8 = ((($s$020)) + 1|0);
$9 = (($$019) + -1)|0;
$10 = $8;
$11 = $10 & 3;
$12 = ($11|0)!=(0);
$13 = ($9|0)!=(0);
$or$cond = $13 & $12;
if ($or$cond) {
$$019 = $9;$s$020 = $8;
} else {
$$0$lcssa = $9;$$lcssa = $13;$s$0$lcssa = $8;
label = 5;
break;
}
}
} else {
$$0$lcssa = $n;$$lcssa = $4;$s$0$lcssa = $src;
label = 5;
}
} while(0);
if ((label|0) == 5) {
if ($$lcssa) {
$$0$lcssa30 = $$0$lcssa;$s$0$lcssa29 = $s$0$lcssa;
label = 6;
} else {
$$3 = 0;$s$2 = $s$0$lcssa;
}
}
L8: do {
if ((label|0) == 6) {
$14 = HEAP8[$s$0$lcssa29>>0]|0;
$15 = $c&255;
$16 = ($14<<24>>24)==($15<<24>>24);
if ($16) {
$$3 = $$0$lcssa30;$s$2 = $s$0$lcssa29;
} else {
$17 = Math_imul($0, 16843009)|0;
$18 = ($$0$lcssa30>>>0)>(3);
L11: do {
if ($18) {
$$110 = $$0$lcssa30;$w$011 = $s$0$lcssa29;
while(1) {
$19 = HEAP32[$w$011>>2]|0;
$20 = $19 ^ $17;
$21 = (($20) + -16843009)|0;
$22 = $20 & -2139062144;
$23 = $22 ^ -2139062144;
$24 = $23 & $21;
$25 = ($24|0)==(0);
if (!($25)) {
$$110$lcssa = $$110;$w$011$lcssa = $w$011;
break;
}
$26 = ((($w$011)) + 4|0);
$27 = (($$110) + -4)|0;
$28 = ($27>>>0)>(3);
if ($28) {
$$110 = $27;$w$011 = $26;
} else {
$$1$lcssa = $27;$w$0$lcssa = $26;
label = 11;
break L11;
}
}
$$24 = $$110$lcssa;$s$15 = $w$011$lcssa;
} else {
$$1$lcssa = $$0$lcssa30;$w$0$lcssa = $s$0$lcssa29;
label = 11;
}
} while(0);
if ((label|0) == 11) {
$29 = ($$1$lcssa|0)==(0);
if ($29) {
$$3 = 0;$s$2 = $w$0$lcssa;
break;
} else {
$$24 = $$1$lcssa;$s$15 = $w$0$lcssa;
}
}
while(1) {
$30 = HEAP8[$s$15>>0]|0;
$31 = ($30<<24>>24)==($15<<24>>24);
if ($31) {
$$3 = $$24;$s$2 = $s$15;
break L8;
}
$32 = ((($s$15)) + 1|0);
$33 = (($$24) + -1)|0;
$34 = ($33|0)==(0);
if ($34) {
$$3 = 0;$s$2 = $32;
break;
} else {
$$24 = $33;$s$15 = $32;
}
}
}
}
} while(0);
$35 = ($$3|0)!=(0);
$36 = $35 ? $s$2 : 0;
return ($36|0);
}
function ___lockfile($f) {
$f = $f|0;
var label = 0, sp = 0;
sp = STACKTOP;
return 0;
}
function _memcmp($vl,$vr,$n) {
$vl = $vl|0;
$vr = $vr|0;
$n = $n|0;
var $$03 = 0, $$lcssa = 0, $$lcssa19 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $l$04 = 0, $r$05 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = ($n|0)==(0);
L1: do {
if ($0) {
$11 = 0;
} else {
$$03 = $n;$l$04 = $vl;$r$05 = $vr;
while(1) {
$1 = HEAP8[$l$04>>0]|0;
$2 = HEAP8[$r$05>>0]|0;
$3 = ($1<<24>>24)==($2<<24>>24);
if (!($3)) {
$$lcssa = $1;$$lcssa19 = $2;
break;
}
$4 = (($$03) + -1)|0;
$5 = ((($l$04)) + 1|0);
$6 = ((($r$05)) + 1|0);
$7 = ($4|0)==(0);
if ($7) {
$11 = 0;
break L1;
} else {
$$03 = $4;$l$04 = $5;$r$05 = $6;
}
}
$8 = $$lcssa&255;
$9 = $$lcssa19&255;
$10 = (($8) - ($9))|0;
$11 = $10;
}
} while(0);
return ($11|0);
}
function _write($fd,$buf,$count) {
$fd = $fd|0;
$buf = $buf|0;
$count = $count|0;
var $0 = 0, $1 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
$vararg_buffer = sp;
HEAP32[$vararg_buffer>>2] = $fd;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $buf;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $count;
$0 = (___syscall4(4,($vararg_buffer|0))|0);
$1 = (___syscall_ret($0)|0);
STACKTOP = sp;return ($1|0);
}
function _fflush($f) {
$f = $f|0;
var $$0 = 0, $$01 = 0, $$012 = 0, $$014 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, $r$0$lcssa = 0, $r$03 = 0, $r$1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = ($f|0)==(0|0);
do {
if ($0) {
$7 = HEAP32[554]|0;
$8 = ($7|0)==(0|0);
if ($8) {
$27 = 0;
} else {
$9 = HEAP32[554]|0;
$10 = (_fflush($9)|0);
$27 = $10;
}
___lock(((7176)|0));
$$012 = HEAP32[(7172)>>2]|0;
$11 = ($$012|0)==(0|0);
if ($11) {
$r$0$lcssa = $27;
} else {
$$014 = $$012;$r$03 = $27;
while(1) {
$12 = ((($$014)) + 76|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($13|0)>(-1);
if ($14) {
$15 = (___lockfile($$014)|0);
$23 = $15;
} else {
$23 = 0;
}
$16 = ((($$014)) + 20|0);
$17 = HEAP32[$16>>2]|0;
$18 = ((($$014)) + 28|0);
$19 = HEAP32[$18>>2]|0;
$20 = ($17>>>0)>($19>>>0);
if ($20) {
$21 = (___fflush_unlocked($$014)|0);
$22 = $21 | $r$03;
$r$1 = $22;
} else {
$r$1 = $r$03;
}
$24 = ($23|0)==(0);
if (!($24)) {
___unlockfile($$014);
}
$25 = ((($$014)) + 56|0);
$$01 = HEAP32[$25>>2]|0;
$26 = ($$01|0)==(0|0);
if ($26) {
$r$0$lcssa = $r$1;
break;
} else {
$$014 = $$01;$r$03 = $r$1;
}
}
}
___unlock(((7176)|0));
$$0 = $r$0$lcssa;
} else {
$1 = ((($f)) + 76|0);
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)>(-1);
if (!($3)) {
$4 = (___fflush_unlocked($f)|0);
$$0 = $4;
break;
}
$5 = (___lockfile($f)|0);
$phitmp = ($5|0)==(0);
$6 = (___fflush_unlocked($f)|0);
if ($phitmp) {
$$0 = $6;
} else {
___unlockfile($f);
$$0 = $6;
}
}
} while(0);
return ($$0|0);
}
function ___fflush_unlocked($f) {
$f = $f|0;
var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = ((($f)) + 20|0);
$1 = HEAP32[$0>>2]|0;
$2 = ((($f)) + 28|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($1>>>0)>($3>>>0);
if ($4) {
$5 = ((($f)) + 36|0);
$6 = HEAP32[$5>>2]|0;
(FUNCTION_TABLE_iiii[$6 & 127]($f,0,0)|0);
$7 = HEAP32[$0>>2]|0;
$8 = ($7|0)==(0|0);
if ($8) {
$$0 = -1;
} else {
label = 3;
}
} else {
label = 3;
}
if ((label|0) == 3) {
$9 = ((($f)) + 4|0);
$10 = HEAP32[$9>>2]|0;
$11 = ((($f)) + 8|0);
$12 = HEAP32[$11>>2]|0;
$13 = ($10>>>0)<($12>>>0);
if ($13) {
$14 = ((($f)) + 40|0);
$15 = HEAP32[$14>>2]|0;
$16 = $10;
$17 = $12;
$18 = (($16) - ($17))|0;
(FUNCTION_TABLE_iiii[$15 & 127]($f,$18,1)|0);
}
$19 = ((($f)) + 16|0);
HEAP32[$19>>2] = 0;
HEAP32[$2>>2] = 0;
HEAP32[$0>>2] = 0;
HEAP32[$11>>2] = 0;
HEAP32[$9>>2] = 0;
$$0 = 0;
}
return ($$0|0);
}
function _strerror_r($err,$buf,$buflen) {
$err = $err|0;
$buf = $buf|0;
$buflen = $buflen|0;
var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = (_strerror($err)|0);
$1 = (_strlen($0)|0);
$2 = ($1>>>0)<($buflen>>>0);
if ($2) {
$6 = (($1) + 1)|0;
_memcpy(($buf|0),($0|0),($6|0))|0;
$$0 = 0;
} else {
$3 = ($buflen|0)==(0);
if ($3) {
$$0 = 34;
} else {
$4 = (($buflen) + -1)|0;
_memcpy(($buf|0),($0|0),($4|0))|0;
$5 = (($buf) + ($4)|0);
HEAP8[$5>>0] = 0;
$$0 = 34;
}
}
return ($$0|0);
}
function _malloc($bytes) {
$bytes = $bytes|0;
var $$0 = 0, $$lcssa = 0, $$lcssa141 = 0, $$lcssa142 = 0, $$lcssa144 = 0, $$lcssa147 = 0, $$lcssa149 = 0, $$lcssa151 = 0, $$lcssa153 = 0, $$lcssa155 = 0, $$lcssa157 = 0, $$not$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i13 = 0, $$pre$i16$i = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i14Z2D = 0, $$pre$phi$i17$iZ2D = 0;
var $$pre$phi$iZ2D = 0, $$pre$phi10$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre71 = 0, $$pre9$i$i = 0, $$rsize$0$i = 0, $$rsize$4$i = 0, $$v$0$i = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0;
var $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0;
var $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0;
var $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0;
var $1062 = 0, $1063 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0;
var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0;
var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0;
var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0;
var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0;
var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0;
var $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0;
var $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0;
var $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0;
var $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0;
var $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0;
var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0;
var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0;
var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0;
var $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0;
var $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0;
var $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0;
var $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0;
var $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0;
var $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0;
var $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0;
var $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0;
var $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0;
var $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0;
var $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0;
var $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0;
var $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0;
var $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0;
var $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0;
var $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0;
var $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0;
var $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0;
var $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0;
var $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0;
var $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0;
var $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0;
var $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0;
var $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0;
var $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0;
var $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0;
var $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0;
var $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0;
var $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0;
var $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0;
var $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0;
var $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0;
var $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0;
var $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0;
var $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0;
var $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $F$0$i$i = 0, $F1$0$i = 0, $F4$0 = 0, $F4$0$i$i = 0, $F5$0$i = 0, $I1$0$i$i = 0, $I7$0$i = 0, $I7$0$i$i = 0;
var $K12$0$i = 0, $K2$0$i$i = 0, $K8$0$i$i = 0, $R$1$i = 0, $R$1$i$i = 0, $R$1$i$i$lcssa = 0, $R$1$i$lcssa = 0, $R$1$i9 = 0, $R$1$i9$lcssa = 0, $R$3$i = 0, $R$3$i$i = 0, $R$3$i11 = 0, $RP$1$i = 0, $RP$1$i$i = 0, $RP$1$i$i$lcssa = 0, $RP$1$i$lcssa = 0, $RP$1$i8 = 0, $RP$1$i8$lcssa = 0, $T$0$i = 0, $T$0$i$i = 0;
var $T$0$i$i$lcssa = 0, $T$0$i$i$lcssa140 = 0, $T$0$i$lcssa = 0, $T$0$i$lcssa156 = 0, $T$0$i18$i = 0, $T$0$i18$i$lcssa = 0, $T$0$i18$i$lcssa139 = 0, $br$2$ph$i = 0, $cond$i = 0, $cond$i$i = 0, $cond$i12 = 0, $exitcond$i$i = 0, $i$01$i$i = 0, $idx$0$i = 0, $nb$0 = 0, $not$$i$i = 0, $not$$i20$i = 0, $not$7$i = 0, $oldfirst$0$i$i = 0, $or$cond$i = 0;
var $or$cond$i17 = 0, $or$cond1$i = 0, $or$cond1$i16 = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond2$i = 0, $or$cond48$i = 0, $or$cond5$i = 0, $or$cond7$i = 0, $or$cond8$i = 0, $p$0$i$i = 0, $qsize$0$i$i = 0, $rsize$0$i = 0, $rsize$0$i$lcssa = 0, $rsize$0$i5 = 0, $rsize$1$i = 0, $rsize$3$i = 0, $rsize$4$lcssa$i = 0, $rsize$412$i = 0, $rst$0$i = 0;
var $rst$1$i = 0, $sizebits$0$$i = 0, $sizebits$0$i = 0, $sp$0$i$i = 0, $sp$0$i$i$i = 0, $sp$068$i = 0, $sp$068$i$lcssa = 0, $sp$167$i = 0, $sp$167$i$lcssa = 0, $ssize$0$i = 0, $ssize$2$ph$i = 0, $ssize$5$i = 0, $t$0$i = 0, $t$0$i4 = 0, $t$2$i = 0, $t$4$ph$i = 0, $t$4$v$4$i = 0, $t$411$i = 0, $tbase$746$i = 0, $tsize$745$i = 0;
var $v$0$i = 0, $v$0$i$lcssa = 0, $v$0$i6 = 0, $v$1$i = 0, $v$3$i = 0, $v$4$lcssa$i = 0, $v$413$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = ($bytes>>>0)<(245);
do {
if ($0) {
$1 = ($bytes>>>0)<(11);
$2 = (($bytes) + 11)|0;
$3 = $2 & -8;
$4 = $1 ? 16 : $3;
$5 = $4 >>> 3;
$6 = HEAP32[1799]|0;
$7 = $6 >>> $5;
$8 = $7 & 3;
$9 = ($8|0)==(0);
if (!($9)) {
$10 = $7 & 1;
$11 = $10 ^ 1;
$12 = (($11) + ($5))|0;
$13 = $12 << 1;
$14 = (7236 + ($13<<2)|0);
$15 = ((($14)) + 8|0);
$16 = HEAP32[$15>>2]|0;
$17 = ((($16)) + 8|0);
$18 = HEAP32[$17>>2]|0;
$19 = ($14|0)==($18|0);
do {
if ($19) {
$20 = 1 << $12;
$21 = $20 ^ -1;
$22 = $6 & $21;
HEAP32[1799] = $22;
} else {
$23 = HEAP32[(7212)>>2]|0;
$24 = ($18>>>0)<($23>>>0);
if ($24) {
_abort();
// unreachable;
}
$25 = ((($18)) + 12|0);
$26 = HEAP32[$25>>2]|0;
$27 = ($26|0)==($16|0);
if ($27) {
HEAP32[$25>>2] = $14;
HEAP32[$15>>2] = $18;
break;
} else {
_abort();
// unreachable;
}
}
} while(0);
$28 = $12 << 3;
$29 = $28 | 3;
$30 = ((($16)) + 4|0);
HEAP32[$30>>2] = $29;
$31 = (($16) + ($28)|0);
$32 = ((($31)) + 4|0);
$33 = HEAP32[$32>>2]|0;
$34 = $33 | 1;
HEAP32[$32>>2] = $34;
$$0 = $17;
return ($$0|0);
}
$35 = HEAP32[(7204)>>2]|0;
$36 = ($4>>>0)>($35>>>0);
if ($36) {
$37 = ($7|0)==(0);
if (!($37)) {
$38 = $7 << $5;
$39 = 2 << $5;
$40 = (0 - ($39))|0;
$41 = $39 | $40;
$42 = $38 & $41;
$43 = (0 - ($42))|0;
$44 = $42 & $43;
$45 = (($44) + -1)|0;
$46 = $45 >>> 12;
$47 = $46 & 16;
$48 = $45 >>> $47;
$49 = $48 >>> 5;
$50 = $49 & 8;
$51 = $50 | $47;
$52 = $48 >>> $50;
$53 = $52 >>> 2;
$54 = $53 & 4;
$55 = $51 | $54;
$56 = $52 >>> $54;
$57 = $56 >>> 1;
$58 = $57 & 2;
$59 = $55 | $58;
$60 = $56 >>> $58;
$61 = $60 >>> 1;
$62 = $61 & 1;
$63 = $59 | $62;
$64 = $60 >>> $62;
$65 = (($63) + ($64))|0;
$66 = $65 << 1;
$67 = (7236 + ($66<<2)|0);
$68 = ((($67)) + 8|0);
$69 = HEAP32[$68>>2]|0;
$70 = ((($69)) + 8|0);
$71 = HEAP32[$70>>2]|0;
$72 = ($67|0)==($71|0);
do {
if ($72) {
$73 = 1 << $65;
$74 = $73 ^ -1;
$75 = $6 & $74;
HEAP32[1799] = $75;
$89 = $35;
} else {
$76 = HEAP32[(7212)>>2]|0;
$77 = ($71>>>0)<($76>>>0);
if ($77) {
_abort();
// unreachable;
}
$78 = ((($71)) + 12|0);
$79 = HEAP32[$78>>2]|0;
$80 = ($79|0)==($69|0);
if ($80) {
HEAP32[$78>>2] = $67;
HEAP32[$68>>2] = $71;
$$pre = HEAP32[(7204)>>2]|0;
$89 = $$pre;
break;
} else {
_abort();
// unreachable;
}
}
} while(0);
$81 = $65 << 3;
$82 = (($81) - ($4))|0;
$83 = $4 | 3;
$84 = ((($69)) + 4|0);
HEAP32[$84>>2] = $83;
$85 = (($69) + ($4)|0);
$86 = $82 | 1;
$87 = ((($85)) + 4|0);
HEAP32[$87>>2] = $86;
$88 = (($85) + ($82)|0);
HEAP32[$88>>2] = $82;
$90 = ($89|0)==(0);
if (!($90)) {
$91 = HEAP32[(7216)>>2]|0;
$92 = $89 >>> 3;
$93 = $92 << 1;
$94 = (7236 + ($93<<2)|0);
$95 = HEAP32[1799]|0;
$96 = 1 << $92;
$97 = $95 & $96;
$98 = ($97|0)==(0);
if ($98) {
$99 = $95 | $96;
HEAP32[1799] = $99;
$$pre71 = ((($94)) + 8|0);
$$pre$phiZ2D = $$pre71;$F4$0 = $94;
} else {
$100 = ((($94)) + 8|0);
$101 = HEAP32[$100>>2]|0;
$102 = HEAP32[(7212)>>2]|0;
$103 = ($101>>>0)<($102>>>0);
if ($103) {
_abort();
// unreachable;
} else {
$$pre$phiZ2D = $100;$F4$0 = $101;
}
}
HEAP32[$$pre$phiZ2D>>2] = $91;
$104 = ((($F4$0)) + 12|0);
HEAP32[$104>>2] = $91;
$105 = ((($91)) + 8|0);
HEAP32[$105>>2] = $F4$0;
$106 = ((($91)) + 12|0);
HEAP32[$106>>2] = $94;
}
HEAP32[(7204)>>2] = $82;
HEAP32[(7216)>>2] = $85;
$$0 = $70;
return ($$0|0);
}
$107 = HEAP32[(7200)>>2]|0;
$108 = ($107|0)==(0);
if ($108) {
$nb$0 = $4;
} else {
$109 = (0 - ($107))|0;
$110 = $107 & $109;
$111 = (($110) + -1)|0;
$112 = $111 >>> 12;
$113 = $112 & 16;
$114 = $111 >>> $113;
$115 = $114 >>> 5;
$116 = $115 & 8;
$117 = $116 | $113;
$118 = $114 >>> $116;
$119 = $118 >>> 2;
$120 = $119 & 4;
$121 = $117 | $120;
$122 = $118 >>> $120;
$123 = $122 >>> 1;
$124 = $123 & 2;
$125 = $121 | $124;
$126 = $122 >>> $124;
$127 = $126 >>> 1;
$128 = $127 & 1;
$129 = $125 | $128;
$130 = $126 >>> $128;
$131 = (($129) + ($130))|0;
$132 = (7500 + ($131<<2)|0);
$133 = HEAP32[$132>>2]|0;
$134 = ((($133)) + 4|0);
$135 = HEAP32[$134>>2]|0;
$136 = $135 & -8;
$137 = (($136) - ($4))|0;
$rsize$0$i = $137;$t$0$i = $133;$v$0$i = $133;
while(1) {
$138 = ((($t$0$i)) + 16|0);
$139 = HEAP32[$138>>2]|0;
$140 = ($139|0)==(0|0);
if ($140) {
$141 = ((($t$0$i)) + 20|0);
$142 = HEAP32[$141>>2]|0;
$143 = ($142|0)==(0|0);
if ($143) {
$rsize$0$i$lcssa = $rsize$0$i;$v$0$i$lcssa = $v$0$i;
break;
} else {
$145 = $142;
}
} else {
$145 = $139;
}
$144 = ((($145)) + 4|0);
$146 = HEAP32[$144>>2]|0;
$147 = $146 & -8;
$148 = (($147) - ($4))|0;
$149 = ($148>>>0)<($rsize$0$i>>>0);
$$rsize$0$i = $149 ? $148 : $rsize$0$i;
$$v$0$i = $149 ? $145 : $v$0$i;
$rsize$0$i = $$rsize$0$i;$t$0$i = $145;$v$0$i = $$v$0$i;
}
$150 = HEAP32[(7212)>>2]|0;
$151 = ($v$0$i$lcssa>>>0)<($150>>>0);
if ($151) {
_abort();
// unreachable;
}
$152 = (($v$0$i$lcssa) + ($4)|0);
$153 = ($v$0$i$lcssa>>>0)<($152>>>0);
if (!($153)) {
_abort();
// unreachable;
}
$154 = ((($v$0$i$lcssa)) + 24|0);
$155 = HEAP32[$154>>2]|0;
$156 = ((($v$0$i$lcssa)) + 12|0);
$157 = HEAP32[$156>>2]|0;
$158 = ($157|0)==($v$0$i$lcssa|0);
do {
if ($158) {
$168 = ((($v$0$i$lcssa)) + 20|0);
$169 = HEAP32[$168>>2]|0;
$170 = ($169|0)==(0|0);
if ($170) {
$171 = ((($v$0$i$lcssa)) + 16|0);
$172 = HEAP32[$171>>2]|0;
$173 = ($172|0)==(0|0);
if ($173) {
$R$3$i = 0;
break;
} else {
$R$1$i = $172;$RP$1$i = $171;
}
} else {
$R$1$i = $169;$RP$1$i = $168;
}
while(1) {
$174 = ((($R$1$i)) + 20|0);
$175 = HEAP32[$174>>2]|0;
$176 = ($175|0)==(0|0);
if (!($176)) {
$R$1$i = $175;$RP$1$i = $174;
continue;
}
$177 = ((($R$1$i)) + 16|0);
$178 = HEAP32[$177>>2]|0;
$179 = ($178|0)==(0|0);
if ($179) {
$R$1$i$lcssa = $R$1$i;$RP$1$i$lcssa = $RP$1$i;
break;
} else {
$R$1$i = $178;$RP$1$i = $177;
}
}
$180 = ($RP$1$i$lcssa>>>0)<($150>>>0);
if ($180) {
_abort();
// unreachable;
} else {
HEAP32[$RP$1$i$lcssa>>2] = 0;
$R$3$i = $R$1$i$lcssa;
break;
}
} else {
$159 = ((($v$0$i$lcssa)) + 8|0);
$160 = HEAP32[$159>>2]|0;
$161 = ($160>>>0)<($150>>>0);
if ($161) {
_abort();
// unreachable;
}
$162 = ((($160)) + 12|0);
$163 = HEAP32[$162>>2]|0;
$164 = ($163|0)==($v$0$i$lcssa|0);
if (!($164)) {
_abort();
// unreachable;
}
$165 = ((($157)) + 8|0);
$166 = HEAP32[$165>>2]|0;
$167 = ($166|0)==($v$0$i$lcssa|0);
if ($167) {
HEAP32[$162>>2] = $157;
HEAP32[$165>>2] = $160;
$R$3$i = $157;
break;
} else {
_abort();
// unreachable;
}
}
} while(0);
$181 = ($155|0)==(0|0);
do {
if (!($181)) {
$182 = ((($v$0$i$lcssa)) + 28|0);
$183 = HEAP32[$182>>2]|0;
$184 = (7500 + ($183<<2)|0);
$185 = HEAP32[$184>>2]|0;
$186 = ($v$0$i$lcssa|0)==($185|0);
if ($186) {
HEAP32[$184>>2] = $R$3$i;
$cond$i = ($R$3$i|0)==(0|0);
if ($cond$i) {
$187 = 1 << $183;
$188 = $187 ^ -1;
$189 = HEAP32[(7200)>>2]|0;
$190 = $189 & $188;
HEAP32[(7200)>>2] = $190;
break;
}
} else {
$191 = HEAP32[(7212)>>2]|0;
$192 = ($155>>>0)<($191>>>0);
if ($192) {
_abort();
// unreachable;
}
$193 = ((($155)) + 16|0);
$194 = HEAP32[$193>>2]|0;
$195 = ($194|0)==($v$0$i$lcssa|0);
if ($195) {
HEAP32[$193>>2] = $R$3$i;
} else {
$196 = ((($155)) + 20|0);
HEAP32[$196>>2] = $R$3$i;
}
$197 = ($R$3$i|0)==(0|0);
if ($197) {
break;
}
}
$198 = HEAP32[(7212)>>2]|0;
$199 = ($R$3$i>>>0)<($198>>>0);
if ($199) {
_abort();
// unreachable;
}
$200 = ((($R$3$i)) + 24|0);
HEAP32[$200>>2] = $155;
$201 = ((($v$0$i$lcssa)) + 16|0);
$202 = HEAP32[$201>>2]|0;
$203 = ($202|0)==(0|0);
do {
if (!($203)) {
$204 = ($202>>>0)<($198>>>0);
if ($204) {
_abort();
// unreachable;
} else {
$205 = ((($R$3$i)) + 16|0);
HEAP32[$205>>2] = $202;
$206 = ((($202)) + 24|0);
HEAP32[$206>>2] = $R$3$i;
break;
}
}
} while(0);
$207 = ((($v$0$i$lcssa)) + 20|0);
$208 = HEAP32[$207>>2]|0;
$209 = ($208|0)==(0|0);
if (!($209)) {
$210 = HEAP32[(7212)>>2]|0;
$211 = ($208>>>0)<($210>>>0);
if ($211) {
_abort();
// unreachable;
} else {
$212 = ((($R$3$i)) + 20|0);
HEAP32[$212>>2] = $208;
$213 = ((($208)) + 24|0);
HEAP32[$213>>2] = $R$3$i;
break;
}
}
}
} while(0);
$214 = ($rsize$0$i$lcssa>>>0)<(16);
if ($214) {
$215 = (($rsize$0$i$lcssa) + ($4))|0;
$216 = $215 | 3;
$217 = ((($v$0$i$lcssa)) + 4|0);
HEAP32[$217>>2] = $216;
$218 = (($v$0$i$lcssa) + ($215)|0);
$219 = ((($218)) + 4|0);
$220 = HEAP32[$219>>2]|0;
$221 = $220 | 1;
HEAP32[$219>>2] = $221;
} else {
$222 = $4 | 3;
$223 = ((($v$0$i$lcssa)) + 4|0);
HEAP32[$223>>2] = $222;
$224 = $rsize$0$i$lcssa | 1;
$225 = ((($152)) + 4|0);
HEAP32[$225>>2] = $224;
$226 = (($152) + ($rsize$0$i$lcssa)|0);
HEAP32[$226>>2] = $rsize$0$i$lcssa;
$227 = HEAP32[(7204)>>2]|0;
$228 = ($227|0)==(0);
if (!($228)) {
$229 = HEAP32[(7216)>>2]|0;
$230 = $227 >>> 3;
$231 = $230 << 1;
$232 = (7236 + ($231<<2)|0);
$233 = HEAP32[1799]|0;
$234 = 1 << $230;
$235 = $233 & $234;
$236 = ($235|0)==(0);
if ($236) {
$237 = $233 | $234;
HEAP32[1799] = $237;
$$pre$i = ((($232)) + 8|0);
$$pre$phi$iZ2D = $$pre$i;$F1$0$i = $232;
} else {
$238 = ((($232)) + 8|0);
$239 = HEAP32[$238>>2]|0;
$240 = HEAP32[(7212)>>2]|0;
$241 = ($239>>>0)<($240>>>0);
if ($241) {
_abort();
// unreachable;
} else {
$$pre$phi$iZ2D = $238;$F1$0$i = $239;
}
}
HEAP32[$$pre$phi$iZ2D>>2] = $229;
$242 = ((($F1$0$i)) + 12|0);
HEAP32[$242>>2] = $229;
$243 = ((($229)) + 8|0);
HEAP32[$243>>2] = $F1$0$i;
$244 = ((($229)) + 12|0);
HEAP32[$244>>2] = $232;
}
HEAP32[(7204)>>2] = $rsize$0$i$lcssa;
HEAP32[(7216)>>2] = $152;
}
$245 = ((($v$0$i$lcssa)) + 8|0);
$$0 = $245;
return ($$0|0);
}
} else {
$nb$0 = $4;
}
} else {
$246 = ($bytes>>>0)>(4294967231);
if ($246) {
$nb$0 = -1;
} else {
$247 = (($bytes) + 11)|0;
$248 = $247 & -8;
$249 = HEAP32[(7200)>>2]|0;
$250 = ($249|0)==(0);
if ($250) {
$nb$0 = $248;
} else {
$251 = (0 - ($248))|0;
$252 = $247 >>> 8;
$253 = ($252|0)==(0);
if ($253) {
$idx$0$i = 0;
} else {
$254 = ($248>>>0)>(16777215);
if ($254) {
$idx$0$i = 31;
} else {
$255 = (($252) + 1048320)|0;
$256 = $255 >>> 16;
$257 = $256 & 8;
$258 = $252 << $257;
$259 = (($258) + 520192)|0;
$260 = $259 >>> 16;
$261 = $260 & 4;
$262 = $261 | $257;
$263 = $258 << $261;
$264 = (($263) + 245760)|0;
$265 = $264 >>> 16;
$266 = $265 & 2;
$267 = $262 | $266;
$268 = (14 - ($267))|0;
$269 = $263 << $266;
$270 = $269 >>> 15;
$271 = (($268) + ($270))|0;
$272 = $271 << 1;
$273 = (($271) + 7)|0;
$274 = $248 >>> $273;
$275 = $274 & 1;
$276 = $275 | $272;
$idx$0$i = $276;
}
}
$277 = (7500 + ($idx$0$i<<2)|0);
$278 = HEAP32[$277>>2]|0;
$279 = ($278|0)==(0|0);
L123: do {
if ($279) {
$rsize$3$i = $251;$t$2$i = 0;$v$3$i = 0;
label = 86;
} else {
$280 = ($idx$0$i|0)==(31);
$281 = $idx$0$i >>> 1;
$282 = (25 - ($281))|0;
$283 = $280 ? 0 : $282;
$284 = $248 << $283;
$rsize$0$i5 = $251;$rst$0$i = 0;$sizebits$0$i = $284;$t$0$i4 = $278;$v$0$i6 = 0;
while(1) {
$285 = ((($t$0$i4)) + 4|0);
$286 = HEAP32[$285>>2]|0;
$287 = $286 & -8;
$288 = (($287) - ($248))|0;
$289 = ($288>>>0)<($rsize$0$i5>>>0);
if ($289) {
$290 = ($287|0)==($248|0);
if ($290) {
$rsize$412$i = $288;$t$411$i = $t$0$i4;$v$413$i = $t$0$i4;
label = 90;
break L123;
} else {
$rsize$1$i = $288;$v$1$i = $t$0$i4;
}
} else {
$rsize$1$i = $rsize$0$i5;$v$1$i = $v$0$i6;
}
$291 = ((($t$0$i4)) + 20|0);
$292 = HEAP32[$291>>2]|0;
$293 = $sizebits$0$i >>> 31;
$294 = (((($t$0$i4)) + 16|0) + ($293<<2)|0);
$295 = HEAP32[$294>>2]|0;
$296 = ($292|0)==(0|0);
$297 = ($292|0)==($295|0);
$or$cond1$i = $296 | $297;
$rst$1$i = $or$cond1$i ? $rst$0$i : $292;
$298 = ($295|0)==(0|0);
$299 = $298&1;
$300 = $299 ^ 1;
$sizebits$0$$i = $sizebits$0$i << $300;
if ($298) {
$rsize$3$i = $rsize$1$i;$t$2$i = $rst$1$i;$v$3$i = $v$1$i;
label = 86;
break;
} else {
$rsize$0$i5 = $rsize$1$i;$rst$0$i = $rst$1$i;$sizebits$0$i = $sizebits$0$$i;$t$0$i4 = $295;$v$0$i6 = $v$1$i;
}
}
}
} while(0);
if ((label|0) == 86) {
$301 = ($t$2$i|0)==(0|0);
$302 = ($v$3$i|0)==(0|0);
$or$cond$i = $301 & $302;
if ($or$cond$i) {
$303 = 2 << $idx$0$i;
$304 = (0 - ($303))|0;
$305 = $303 | $304;
$306 = $249 & $305;
$307 = ($306|0)==(0);
if ($307) {
$nb$0 = $248;
break;
}
$308 = (0 - ($306))|0;
$309 = $306 & $308;
$310 = (($309) + -1)|0;
$311 = $310 >>> 12;
$312 = $311 & 16;
$313 = $310 >>> $312;
$314 = $313 >>> 5;
$315 = $314 & 8;
$316 = $315 | $312;
$317 = $313 >>> $315;
$318 = $317 >>> 2;
$319 = $318 & 4;
$320 = $316 | $319;
$321 = $317 >>> $319;
$322 = $321 >>> 1;
$323 = $322 & 2;
$324 = $320 | $323;
$325 = $321 >>> $323;
$326 = $325 >>> 1;
$327 = $326 & 1;
$328 = $324 | $327;
$329 = $325 >>> $327;
$330 = (($328) + ($329))|0;
$331 = (7500 + ($330<<2)|0);
$332 = HEAP32[$331>>2]|0;
$t$4$ph$i = $332;
} else {
$t$4$ph$i = $t$2$i;
}
$333 = ($t$4$ph$i|0)==(0|0);
if ($333) {
$rsize$4$lcssa$i = $rsize$3$i;$v$4$lcssa$i = $v$3$i;
} else {
$rsize$412$i = $rsize$3$i;$t$411$i = $t$4$ph$i;$v$413$i = $v$3$i;
label = 90;
}
}
if ((label|0) == 90) {
while(1) {
label = 0;
$334 = ((($t$411$i)) + 4|0);
$335 = HEAP32[$334>>2]|0;
$336 = $335 & -8;
$337 = (($336) - ($248))|0;
$338 = ($337>>>0)<($rsize$412$i>>>0);
$$rsize$4$i = $338 ? $337 : $rsize$412$i;
$t$4$v$4$i = $338 ? $t$411$i : $v$413$i;
$339 = ((($t$411$i)) + 16|0);
$340 = HEAP32[$339>>2]|0;
$341 = ($340|0)==(0|0);
if (!($341)) {
$rsize$412$i = $$rsize$4$i;$t$411$i = $340;$v$413$i = $t$4$v$4$i;
label = 90;
continue;
}
$342 = ((($t$411$i)) + 20|0);
$343 = HEAP32[$342>>2]|0;
$344 = ($343|0)==(0|0);
if ($344) {
$rsize$4$lcssa$i = $$rsize$4$i;$v$4$lcssa$i = $t$4$v$4$i;
break;
} else {
$rsize$412$i = $$rsize$4$i;$t$411$i = $343;$v$413$i = $t$4$v$4$i;
label = 90;
}
}
}
$345 = ($v$4$lcssa$i|0)==(0|0);
if ($345) {
$nb$0 = $248;
} else {
$346 = HEAP32[(7204)>>2]|0;
$347 = (($346) - ($248))|0;
$348 = ($rsize$4$lcssa$i>>>0)<($347>>>0);
if ($348) {
$349 = HEAP32[(7212)>>2]|0;
$350 = ($v$4$lcssa$i>>>0)<($349>>>0);
if ($350) {
_abort();
// unreachable;
}
$351 = (($v$4$lcssa$i) + ($248)|0);
$352 = ($v$4$lcssa$i>>>0)<($351>>>0);
if (!($352)) {
_abort();
// unreachable;
}
$353 = ((($v$4$lcssa$i)) + 24|0);
$354 = HEAP32[$353>>2]|0;
$355 = ((($v$4$lcssa$i)) + 12|0);
$356 = HEAP32[$355>>2]|0;
$357 = ($356|0)==($v$4$lcssa$i|0);
do {
if ($357) {
$367 = ((($v$4$lcssa$i)) + 20|0);
$368 = HEAP32[$367>>2]|0;
$369 = ($368|0)==(0|0);
if ($369) {
$370 = ((($v$4$lcssa$i)) + 16|0);
$371 = HEAP32[$370>>2]|0;
$372 = ($371|0)==(0|0);
if ($372) {
$R$3$i11 = 0;
break;
} else {
$R$1$i9 = $371;$RP$1$i8 = $370;
}
} else {
$R$1$i9 = $368;$RP$1$i8 = $367;
}
while(1) {
$373 = ((($R$1$i9)) + 20|0);
$374 = HEAP32[$373>>2]|0;
$375 = ($374|0)==(0|0);
if (!($375)) {
$R$1$i9 = $374;$RP$1$i8 = $373;
continue;
}
$376 = ((($R$1$i9)) + 16|0);
$377 = HEAP32[$376>>2]|0;
$378 = ($377|0)==(0|0);
if ($378) {
$R$1$i9$lcssa = $R$1$i9;$RP$1$i8$lcssa = $RP$1$i8;
break;
} else {
$R$1$i9 = $377;$RP$1$i8 = $376;
}
}
$379 = ($RP$1$i8$lcssa>>>0)<($349>>>0);
if ($379) {
_abort();
// unreachable;
} else {
HEAP32[$RP$1$i8$lcssa>>2] = 0;
$R$3$i11 = $R$1$i9$lcssa;
break;
}
} else {
$358 = ((($v$4$lcssa$i)) + 8|0);
$359 = HEAP32[$358>>2]|0;
$360 = ($359>>>0)<($349>>>0);
if ($360) {
_abort();
// unreachable;
}
$361 = ((($359)) + 12|0);
$362 = HEAP32[$361>>2]|0;
$363 = ($362|0)==($v$4$lcssa$i|0);
if (!($363)) {
_abort();
// unreachable;
}
$364 = ((($356)) + 8|0);
$365 = HEAP32[$364>>2]|0;
$366 = ($365|0)==($v$4$lcssa$i|0);
if ($366) {
HEAP32[$361>>2] = $356;
HEAP32[$364>>2] = $359;
$R$3$i11 = $356;
break;
} else {
_abort();
// unreachable;
}
}
} while(0);
$380 = ($354|0)==(0|0);
do {
if (!($380)) {
$381 = ((($v$4$lcssa$i)) + 28|0);
$382 = HEAP32[$381>>2]|0;
$383 = (7500 + ($382<<2)|0);
$384 = HEAP32[$383>>2]|0;
$385 = ($v$4$lcssa$i|0)==($384|0);
if ($385) {
HEAP32[$383>>2] = $R$3$i11;
$cond$i12 = ($R$3$i11|0)==(0|0);
if ($cond$i12) {
$386 = 1 << $382;
$387 = $386 ^ -1;
$388 = HEAP32[(7200)>>2]|0;
$389 = $388 & $387;
HEAP32[(7200)>>2] = $389;
break;
}
} else {
$390 = HEAP32[(7212)>>2]|0;
$391 = ($354>>>0)<($390>>>0);
if ($391) {
_abort();
// unreachable;
}
$392 = ((($354)) + 16|0);
$393 = HEAP32[$392>>2]|0;
$394 = ($393|0)==($v$4$lcssa$i|0);
if ($394) {
HEAP32[$392>>2] = $R$3$i11;
} else {
$395 = ((($354)) + 20|0);
HEAP32[$395>>2] = $R$3$i11;
}
$396 = ($R$3$i11|0)==(0|0);
if ($396) {
break;
}
}
$397 = HEAP32[(7212)>>2]|0;
$398 = ($R$3$i11>>>0)<($397>>>0);
if ($398) {
_abort();
// unreachable;
}
$399 = ((($R$3$i11)) + 24|0);
HEAP32[$399>>2] = $354;
$400 = ((($v$4$lcssa$i)) + 16|0);
$401 = HEAP32[$400>>2]|0;
$402 = ($401|0)==(0|0);
do {
if (!($402)) {
$403 = ($401>>>0)<($397>>>0);
if ($403) {
_abort();
// unreachable;
} else {
$404 = ((($R$3$i11)) + 16|0);
HEAP32[$404>>2] = $401;
$405 = ((($401)) + 24|0);
HEAP32[$405>>2] = $R$3$i11;
break;
}
}
} while(0);
$406 = ((($v$4$lcssa$i)) + 20|0);
$407 = HEAP32[$406>>2]|0;
$408 = ($407|0)==(0|0);
if (!($408)) {
$409 = HEAP32[(7212)>>2]|0;
$410 = ($407>>>0)<($409>>>0);
if ($410) {
_abort();
// unreachable;
} else {
$411 = ((($R$3$i11)) + 20|0);
HEAP32[$411>>2] = $407;
$412 = ((($407)) + 24|0);
HEAP32[$412>>2] = $R$3$i11;
break;
}
}
}
} while(0);
$413 = ($rsize$4$lcssa$i>>>0)<(16);
do {
if ($413) {
$414 = (($rsize$4$lcssa$i) + ($248))|0;
$415 = $414 | 3;
$416 = ((($v$4$lcssa$i)) + 4|0);
HEAP32[$416>>2] = $415;
$417 = (($v$4$lcssa$i) + ($414)|0);
$418 = ((($417)) + 4|0);
$419 = HEAP32[$418>>2]|0;
$420 = $419 | 1;
HEAP32[$418>>2] = $420;
} else {
$421 = $248 | 3;
$422 = ((($v$4$lcssa$i)) + 4|0);
HEAP32[$422>>2] = $421;
$423 = $rsize$4$lcssa$i | 1;
$424 = ((($351)) + 4|0);
HEAP32[$424>>2] = $423;
$425 = (($351) + ($rsize$4$lcssa$i)|0);
HEAP32[$425>>2] = $rsize$4$lcssa$i;
$426 = $rsize$4$lcssa$i >>> 3;
$427 = ($rsize$4$lcssa$i>>>0)<(256);
if ($427) {
$428 = $426 << 1;
$429 = (7236 + ($428<<2)|0);
$430 = HEAP32[1799]|0;
$431 = 1 << $426;
$432 = $430 & $431;
$433 = ($432|0)==(0);
if ($433) {
$434 = $430 | $431;
HEAP32[1799] = $434;
$$pre$i13 = ((($429)) + 8|0);
$$pre$phi$i14Z2D = $$pre$i13;$F5$0$i = $429;
} else {
$435 = ((($429)) + 8|0);
$436 = HEAP32[$435>>2]|0;
$437 = HEAP32[(7212)>>2]|0;
$438 = ($436>>>0)<($437>>>0);
if ($438) {
_abort();
// unreachable;
} else {
$$pre$phi$i14Z2D = $435;$F5$0$i = $436;
}
}
HEAP32[$$pre$phi$i14Z2D>>2] = $351;
$439 = ((($F5$0$i)) + 12|0);
HEAP32[$439>>2] = $351;
$440 = ((($351)) + 8|0);
HEAP32[$440>>2] = $F5$0$i;
$441 = ((($351)) + 12|0);
HEAP32[$441>>2] = $429;
break;
}
$442 = $rsize$4$lcssa$i >>> 8;
$443 = ($442|0)==(0);
if ($443) {
$I7$0$i = 0;
} else {
$444 = ($rsize$4$lcssa$i>>>0)>(16777215);
if ($444) {
$I7$0$i = 31;
} else {
$445 = (($442) + 1048320)|0;
$446 = $445 >>> 16;
$447 = $446 & 8;
$448 = $442 << $447;
$449 = (($448) + 520192)|0;
$450 = $449 >>> 16;
$451 = $450 & 4;
$452 = $451 | $447;
$453 = $448 << $451;
$454 = (($453) + 245760)|0;
$455 = $454 >>> 16;
$456 = $455 & 2;
$457 = $452 | $456;
$458 = (14 - ($457))|0;
$459 = $453 << $456;
$460 = $459 >>> 15;
$461 = (($458) + ($460))|0;
$462 = $461 << 1;
$463 = (($461) + 7)|0;
$464 = $rsize$4$lcssa$i >>> $463;
$465 = $464 & 1;
$466 = $465 | $462;
$I7$0$i = $466;
}
}
$467 = (7500 + ($I7$0$i<<2)|0);
$468 = ((($351)) + 28|0);
HEAP32[$468>>2] = $I7$0$i;
$469 = ((($351)) + 16|0);
$470 = ((($469)) + 4|0);
HEAP32[$470>>2] = 0;
HEAP32[$469>>2] = 0;
$471 = HEAP32[(7200)>>2]|0;
$472 = 1 << $I7$0$i;
$473 = $471 & $472;
$474 = ($473|0)==(0);
if ($474) {
$475 = $471 | $472;
HEAP32[(7200)>>2] = $475;
HEAP32[$467>>2] = $351;
$476 = ((($351)) + 24|0);
HEAP32[$476>>2] = $467;
$477 = ((($351)) + 12|0);
HEAP32[$477>>2] = $351;
$478 = ((($351)) + 8|0);
HEAP32[$478>>2] = $351;
break;
}
$479 = HEAP32[$467>>2]|0;
$480 = ($I7$0$i|0)==(31);
$481 = $I7$0$i >>> 1;
$482 = (25 - ($481))|0;
$483 = $480 ? 0 : $482;
$484 = $rsize$4$lcssa$i << $483;
$K12$0$i = $484;$T$0$i = $479;
while(1) {
$485 = ((($T$0$i)) + 4|0);
$486 = HEAP32[$485>>2]|0;
$487 = $486 & -8;
$488 = ($487|0)==($rsize$4$lcssa$i|0);
if ($488) {
$T$0$i$lcssa = $T$0$i;
label = 148;
break;
}
$489 = $K12$0$i >>> 31;
$490 = (((($T$0$i)) + 16|0) + ($489<<2)|0);
$491 = $K12$0$i << 1;
$492 = HEAP32[$490>>2]|0;
$493 = ($492|0)==(0|0);
if ($493) {
$$lcssa157 = $490;$T$0$i$lcssa156 = $T$0$i;
label = 145;
break;
} else {
$K12$0$i = $491;$T$0$i = $492;
}
}
if ((label|0) == 145) {
$494 = HEAP32[(7212)>>2]|0;
$495 = ($$lcssa157>>>0)<($494>>>0);
if ($495) {
_abort();
// unreachable;
} else {
HEAP32[$$lcssa157>>2] = $351;
$496 = ((($351)) + 24|0);
HEAP32[$496>>2] = $T$0$i$lcssa156;
$497 = ((($351)) + 12|0);
HEAP32[$497>>2] = $351;
$498 = ((($351)) + 8|0);
HEAP32[$498>>2] = $351;
break;
}
}
else if ((label|0) == 148) {
$499 = ((($T$0$i$lcssa)) + 8|0);
$500 = HEAP32[$499>>2]|0;
$501 = HEAP32[(7212)>>2]|0;
$502 = ($500>>>0)>=($501>>>0);
$not$7$i = ($T$0$i$lcssa>>>0)>=($501>>>0);
$503 = $502 & $not$7$i;
if ($503) {
$504 = ((($500)) + 12|0);
HEAP32[$504>>2] = $351;
HEAP32[$499>>2] = $351;
$505 = ((($351)) + 8|0);
HEAP32[$505>>2] = $500;
$506 = ((($351)) + 12|0);
HEAP32[$506>>2] = $T$0$i$lcssa;
$507 = ((($351)) + 24|0);
HEAP32[$507>>2] = 0;
break;
} else {
_abort();
// unreachable;
}
}
}
} while(0);
$508 = ((($v$4$lcssa$i)) + 8|0);
$$0 = $508;
return ($$0|0);
} else {
$nb$0 = $248;
}
}
}
}
}
} while(0);
$509 = HEAP32[(7204)>>2]|0;
$510 = ($509>>>0)<($nb$0>>>0);
if (!($510)) {
$511 = (($509) - ($nb$0))|0;
$512 = HEAP32[(7216)>>2]|0;
$513 = ($511>>>0)>(15);
if ($513) {
$514 = (($512) + ($nb$0)|0);
HEAP32[(7216)>>2] = $514;
HEAP32[(7204)>>2] = $511;
$515 = $511 | 1;
$516 = ((($514)) + 4|0);
HEAP32[$516>>2] = $515;
$517 = (($514) + ($511)|0);
HEAP32[$517>>2] = $511;
$518 = $nb$0 | 3;
$519 = ((($512)) + 4|0);
HEAP32[$519>>2] = $518;
} else {
HEAP32[(7204)>>2] = 0;
HEAP32[(7216)>>2] = 0;
$520 = $509 | 3;
$521 = ((($512)) + 4|0);
HEAP32[$521>>2] = $520;
$522 = (($512) + ($509)|0);
$523 = ((($522)) + 4|0);
$524 = HEAP32[$523>>2]|0;
$525 = $524 | 1;
HEAP32[$523>>2] = $525;
}
$526 = ((($512)) + 8|0);
$$0 = $526;
return ($$0|0);
}
$527 = HEAP32[(7208)>>2]|0;
$528 = ($527>>>0)>($nb$0>>>0);
if ($528) {
$529 = (($527) - ($nb$0))|0;
HEAP32[(7208)>>2] = $529;
$530 = HEAP32[(7220)>>2]|0;
$531 = (($530) + ($nb$0)|0);
HEAP32[(7220)>>2] = $531;
$532 = $529 | 1;
$533 = ((($531)) + 4|0);
HEAP32[$533>>2] = $532;
$534 = $nb$0 | 3;
$535 = ((($530)) + 4|0);
HEAP32[$535>>2] = $534;
$536 = ((($530)) + 8|0);
$$0 = $536;
return ($$0|0);
}
$537 = HEAP32[1917]|0;
$538 = ($537|0)==(0);
do {
if ($538) {
$539 = (_sysconf(30)|0);
$540 = (($539) + -1)|0;
$541 = $540 & $539;
$542 = ($541|0)==(0);
if ($542) {
HEAP32[(7676)>>2] = $539;
HEAP32[(7672)>>2] = $539;
HEAP32[(7680)>>2] = -1;
HEAP32[(7684)>>2] = -1;
HEAP32[(7688)>>2] = 0;
HEAP32[(7640)>>2] = 0;
$543 = (_time((0|0))|0);
$544 = $543 & -16;
$545 = $544 ^ 1431655768;
HEAP32[1917] = $545;
break;
} else {
_abort();
// unreachable;
}
}
} while(0);
$546 = (($nb$0) + 48)|0;
$547 = HEAP32[(7676)>>2]|0;
$548 = (($nb$0) + 47)|0;
$549 = (($547) + ($548))|0;
$550 = (0 - ($547))|0;
$551 = $549 & $550;
$552 = ($551>>>0)>($nb$0>>>0);
if (!($552)) {
$$0 = 0;
return ($$0|0);
}
$553 = HEAP32[(7636)>>2]|0;
$554 = ($553|0)==(0);
if (!($554)) {
$555 = HEAP32[(7628)>>2]|0;
$556 = (($555) + ($551))|0;
$557 = ($556>>>0)<=($555>>>0);
$558 = ($556>>>0)>($553>>>0);
$or$cond1$i16 = $557 | $558;
if ($or$cond1$i16) {
$$0 = 0;
return ($$0|0);
}
}
$559 = HEAP32[(7640)>>2]|0;
$560 = $559 & 4;
$561 = ($560|0)==(0);
L257: do {
if ($561) {
$562 = HEAP32[(7220)>>2]|0;
$563 = ($562|0)==(0|0);
L259: do {
if ($563) {
label = 173;
} else {
$sp$0$i$i = (7644);
while(1) {
$564 = HEAP32[$sp$0$i$i>>2]|0;
$565 = ($564>>>0)>($562>>>0);
if (!($565)) {
$566 = ((($sp$0$i$i)) + 4|0);
$567 = HEAP32[$566>>2]|0;
$568 = (($564) + ($567)|0);
$569 = ($568>>>0)>($562>>>0);
if ($569) {
$$lcssa153 = $sp$0$i$i;$$lcssa155 = $566;
break;
}
}
$570 = ((($sp$0$i$i)) + 8|0);
$571 = HEAP32[$570>>2]|0;
$572 = ($571|0)==(0|0);
if ($572) {
label = 173;
break L259;
} else {
$sp$0$i$i = $571;
}
}
$595 = HEAP32[(7208)>>2]|0;
$596 = (($549) - ($595))|0;
$597 = $596 & $550;
$598 = ($597>>>0)<(2147483647);
if ($598) {
$599 = (_sbrk(($597|0))|0);
$600 = HEAP32[$$lcssa153>>2]|0;
$601 = HEAP32[$$lcssa155>>2]|0;
$602 = (($600) + ($601)|0);
$603 = ($599|0)==($602|0);
if ($603) {
$604 = ($599|0)==((-1)|0);
if (!($604)) {
$tbase$746$i = $599;$tsize$745$i = $597;
label = 193;
break L257;
}
} else {
$br$2$ph$i = $599;$ssize$2$ph$i = $597;
label = 183;
}
}
}
} while(0);
do {
if ((label|0) == 173) {
$573 = (_sbrk(0)|0);
$574 = ($573|0)==((-1)|0);
if (!($574)) {
$575 = $573;
$576 = HEAP32[(7672)>>2]|0;
$577 = (($576) + -1)|0;
$578 = $577 & $575;
$579 = ($578|0)==(0);
if ($579) {
$ssize$0$i = $551;
} else {
$580 = (($577) + ($575))|0;
$581 = (0 - ($576))|0;
$582 = $580 & $581;
$583 = (($551) - ($575))|0;
$584 = (($583) + ($582))|0;
$ssize$0$i = $584;
}
$585 = HEAP32[(7628)>>2]|0;
$586 = (($585) + ($ssize$0$i))|0;
$587 = ($ssize$0$i>>>0)>($nb$0>>>0);
$588 = ($ssize$0$i>>>0)<(2147483647);
$or$cond$i17 = $587 & $588;
if ($or$cond$i17) {
$589 = HEAP32[(7636)>>2]|0;
$590 = ($589|0)==(0);
if (!($590)) {
$591 = ($586>>>0)<=($585>>>0);
$592 = ($586>>>0)>($589>>>0);
$or$cond2$i = $591 | $592;
if ($or$cond2$i) {
break;
}
}
$593 = (_sbrk(($ssize$0$i|0))|0);
$594 = ($593|0)==($573|0);
if ($594) {
$tbase$746$i = $573;$tsize$745$i = $ssize$0$i;
label = 193;
break L257;
} else {
$br$2$ph$i = $593;$ssize$2$ph$i = $ssize$0$i;
label = 183;
}
}
}
}
} while(0);
L279: do {
if ((label|0) == 183) {
$605 = (0 - ($ssize$2$ph$i))|0;
$606 = ($br$2$ph$i|0)!=((-1)|0);
$607 = ($ssize$2$ph$i>>>0)<(2147483647);
$or$cond7$i = $607 & $606;
$608 = ($546>>>0)>($ssize$2$ph$i>>>0);
$or$cond8$i = $608 & $or$cond7$i;
do {
if ($or$cond8$i) {
$609 = HEAP32[(7676)>>2]|0;
$610 = (($548) - ($ssize$2$ph$i))|0;
$611 = (($610) + ($609))|0;
$612 = (0 - ($609))|0;
$613 = $611 & $612;
$614 = ($613>>>0)<(2147483647);
if ($614) {
$615 = (_sbrk(($613|0))|0);
$616 = ($615|0)==((-1)|0);
if ($616) {
(_sbrk(($605|0))|0);
break L279;
} else {
$617 = (($613) + ($ssize$2$ph$i))|0;
$ssize$5$i = $617;
break;
}
} else {
$ssize$5$i = $ssize$2$ph$i;
}
} else {
$ssize$5$i = $ssize$2$ph$i;
}
} while(0);
$618 = ($br$2$ph$i|0)==((-1)|0);
if (!($618)) {
$tbase$746$i = $br$2$ph$i;$tsize$745$i = $ssize$5$i;
label = 193;
break L257;
}
}
} while(0);
$619 = HEAP32[(7640)>>2]|0;
$620 = $619 | 4;
HEAP32[(7640)>>2] = $620;
label = 190;
} else {
label = 190;
}
} while(0);
if ((label|0) == 190) {
$621 = ($551>>>0)<(2147483647);
if ($621) {
$622 = (_sbrk(($551|0))|0);
$623 = (_sbrk(0)|0);
$624 = ($622|0)!=((-1)|0);
$625 = ($623|0)!=((-1)|0);
$or$cond5$i = $624 & $625;
$626 = ($622>>>0)<($623>>>0);
$or$cond10$i = $626 & $or$cond5$i;
if ($or$cond10$i) {
$627 = $623;
$628 = $622;
$629 = (($627) - ($628))|0;
$630 = (($nb$0) + 40)|0;
$$not$i = ($629>>>0)>($630>>>0);
if ($$not$i) {
$tbase$746$i = $622;$tsize$745$i = $629;
label = 193;
}
}
}
}
if ((label|0) == 193) {
$631 = HEAP32[(7628)>>2]|0;
$632 = (($631) + ($tsize$745$i))|0;
HEAP32[(7628)>>2] = $632;
$633 = HEAP32[(7632)>>2]|0;
$634 = ($632>>>0)>($633>>>0);
if ($634) {
HEAP32[(7632)>>2] = $632;
}
$635 = HEAP32[(7220)>>2]|0;
$636 = ($635|0)==(0|0);
do {
if ($636) {
$637 = HEAP32[(7212)>>2]|0;
$638 = ($637|0)==(0|0);
$639 = ($tbase$746$i>>>0)<($637>>>0);
$or$cond11$i = $638 | $639;
if ($or$cond11$i) {
HEAP32[(7212)>>2] = $tbase$746$i;
}
HEAP32[(7644)>>2] = $tbase$746$i;
HEAP32[(7648)>>2] = $tsize$745$i;
HEAP32[(7656)>>2] = 0;
$640 = HEAP32[1917]|0;
HEAP32[(7232)>>2] = $640;
HEAP32[(7228)>>2] = -1;
$i$01$i$i = 0;
while(1) {
$641 = $i$01$i$i << 1;
$642 = (7236 + ($641<<2)|0);
$643 = ((($642)) + 12|0);
HEAP32[$643>>2] = $642;
$644 = ((($642)) + 8|0);
HEAP32[$644>>2] = $642;
$645 = (($i$01$i$i) + 1)|0;
$exitcond$i$i = ($645|0)==(32);
if ($exitcond$i$i) {
break;
} else {
$i$01$i$i = $645;
}
}
$646 = (($tsize$745$i) + -40)|0;
$647 = ((($tbase$746$i)) + 8|0);
$648 = $647;
$649 = $648 & 7;
$650 = ($649|0)==(0);
$651 = (0 - ($648))|0;
$652 = $651 & 7;
$653 = $650 ? 0 : $652;
$654 = (($tbase$746$i) + ($653)|0);
$655 = (($646) - ($653))|0;
HEAP32[(7220)>>2] = $654;
HEAP32[(7208)>>2] = $655;
$656 = $655 | 1;
$657 = ((($654)) + 4|0);
HEAP32[$657>>2] = $656;
$658 = (($654) + ($655)|0);
$659 = ((($658)) + 4|0);
HEAP32[$659>>2] = 40;
$660 = HEAP32[(7684)>>2]|0;
HEAP32[(7224)>>2] = $660;
} else {
$sp$068$i = (7644);
while(1) {
$661 = HEAP32[$sp$068$i>>2]|0;
$662 = ((($sp$068$i)) + 4|0);
$663 = HEAP32[$662>>2]|0;
$664 = (($661) + ($663)|0);
$665 = ($tbase$746$i|0)==($664|0);
if ($665) {
$$lcssa147 = $661;$$lcssa149 = $662;$$lcssa151 = $663;$sp$068$i$lcssa = $sp$068$i;
label = 203;
break;
}
$666 = ((($sp$068$i)) + 8|0);
$667 = HEAP32[$666>>2]|0;
$668 = ($667|0)==(0|0);
if ($668) {
break;
} else {
$sp$068$i = $667;
}
}
if ((label|0) == 203) {
$669 = ((($sp$068$i$lcssa)) + 12|0);
$670 = HEAP32[$669>>2]|0;
$671 = $670 & 8;
$672 = ($671|0)==(0);
if ($672) {
$673 = ($635>>>0)>=($$lcssa147>>>0);
$674 = ($635>>>0)<($tbase$746$i>>>0);
$or$cond48$i = $674 & $673;
if ($or$cond48$i) {
$675 = (($$lcssa151) + ($tsize$745$i))|0;
HEAP32[$$lcssa149>>2] = $675;
$676 = HEAP32[(7208)>>2]|0;
$677 = ((($635)) + 8|0);
$678 = $677;
$679 = $678 & 7;
$680 = ($679|0)==(0);
$681 = (0 - ($678))|0;
$682 = $681 & 7;
$683 = $680 ? 0 : $682;
$684 = (($635) + ($683)|0);
$685 = (($tsize$745$i) - ($683))|0;
$686 = (($685) + ($676))|0;
HEAP32[(7220)>>2] = $684;
HEAP32[(7208)>>2] = $686;
$687 = $686 | 1;
$688 = ((($684)) + 4|0);
HEAP32[$688>>2] = $687;
$689 = (($684) + ($686)|0);
$690 = ((($689)) + 4|0);
HEAP32[$690>>2] = 40;
$691 = HEAP32[(7684)>>2]|0;
HEAP32[(7224)>>2] = $691;
break;
}
}
}
$692 = HEAP32[(7212)>>2]|0;
$693 = ($tbase$746$i>>>0)<($692>>>0);
if ($693) {
HEAP32[(7212)>>2] = $tbase$746$i;
$757 = $tbase$746$i;
} else {
$757 = $692;
}
$694 = (($tbase$746$i) + ($tsize$745$i)|0);
$sp$167$i = (7644);
while(1) {
$695 = HEAP32[$sp$167$i>>2]|0;
$696 = ($695|0)==($694|0);
if ($696) {
$$lcssa144 = $sp$167$i;$sp$167$i$lcssa = $sp$167$i;
label = 211;
break;
}
$697 = ((($sp$167$i)) + 8|0);
$698 = HEAP32[$697>>2]|0;
$699 = ($698|0)==(0|0);
if ($699) {
$sp$0$i$i$i = (7644);
break;
} else {
$sp$167$i = $698;
}
}
if ((label|0) == 211) {
$700 = ((($sp$167$i$lcssa)) + 12|0);
$701 = HEAP32[$700>>2]|0;
$702 = $701 & 8;
$703 = ($702|0)==(0);
if ($703) {
HEAP32[$$lcssa144>>2] = $tbase$746$i;
$704 = ((($sp$167$i$lcssa)) + 4|0);
$705 = HEAP32[$704>>2]|0;
$706 = (($705) + ($tsize$745$i))|0;
HEAP32[$704>>2] = $706;
$707 = ((($tbase$746$i)) + 8|0);
$708 = $707;
$709 = $708 & 7;
$710 = ($709|0)==(0);
$711 = (0 - ($708))|0;
$712 = $711 & 7;
$713 = $710 ? 0 : $712;
$714 = (($tbase$746$i) + ($713)|0);
$715 = ((($694)) + 8|0);
$716 = $715;
$717 = $716 & 7;
$718 = ($717|0)==(0);
$719 = (0 - ($716))|0;
$720 = $719 & 7;
$721 = $718 ? 0 : $720;
$722 = (($694) + ($721)|0);
$723 = $722;
$724 = $714;
$725 = (($723) - ($724))|0;
$726 = (($714) + ($nb$0)|0);
$727 = (($725) - ($nb$0))|0;
$728 = $nb$0 | 3;
$729 = ((($714)) + 4|0);
HEAP32[$729>>2] = $728;
$730 = ($722|0)==($635|0);
do {
if ($730) {
$731 = HEAP32[(7208)>>2]|0;
$732 = (($731) + ($727))|0;
HEAP32[(7208)>>2] = $732;
HEAP32[(7220)>>2] = $726;
$733 = $732 | 1;
$734 = ((($726)) + 4|0);
HEAP32[$734>>2] = $733;
} else {
$735 = HEAP32[(7216)>>2]|0;
$736 = ($722|0)==($735|0);
if ($736) {
$737 = HEAP32[(7204)>>2]|0;
$738 = (($737) + ($727))|0;
HEAP32[(7204)>>2] = $738;
HEAP32[(7216)>>2] = $726;
$739 = $738 | 1;
$740 = ((($726)) + 4|0);
HEAP32[$740>>2] = $739;
$741 = (($726) + ($738)|0);
HEAP32[$741>>2] = $738;
break;
}
$742 = ((($722)) + 4|0);
$743 = HEAP32[$742>>2]|0;
$744 = $743 & 3;
$745 = ($744|0)==(1);
if ($745) {
$746 = $743 & -8;
$747 = $743 >>> 3;
$748 = ($743>>>0)<(256);
L331: do {
if ($748) {
$749 = ((($722)) + 8|0);
$750 = HEAP32[$749>>2]|0;
$751 = ((($722)) + 12|0);
$752 = HEAP32[$751>>2]|0;
$753 = $747 << 1;
$754 = (7236 + ($753<<2)|0);
$755 = ($750|0)==($754|0);
do {
if (!($755)) {
$756 = ($750>>>0)<($757>>>0);
if ($756) {
_abort();
// unreachable;
}
$758 = ((($750)) + 12|0);
$759 = HEAP32[$758>>2]|0;
$760 = ($759|0)==($722|0);
if ($760) {
break;
}
_abort();
// unreachable;
}
} while(0);
$761 = ($752|0)==($750|0);
if ($761) {
$762 = 1 << $747;
$763 = $762 ^ -1;
$764 = HEAP32[1799]|0;
$765 = $764 & $763;
HEAP32[1799] = $765;
break;
}
$766 = ($752|0)==($754|0);
do {
if ($766) {
$$pre9$i$i = ((($752)) + 8|0);
$$pre$phi10$i$iZ2D = $$pre9$i$i;
} else {
$767 = ($752>>>0)<($757>>>0);
if ($767) {
_abort();
// unreachable;
}
$768 = ((($752)) + 8|0);
$769 = HEAP32[$768>>2]|0;
$770 = ($769|0)==($722|0);
if ($770) {
$$pre$phi10$i$iZ2D = $768;
break;
}
_abort();
// unreachable;
}
} while(0);
$771 = ((($750)) + 12|0);
HEAP32[$771>>2] = $752;
HEAP32[$$pre$phi10$i$iZ2D>>2] = $750;
} else {
$772 = ((($722)) + 24|0);
$773 = HEAP32[$772>>2]|0;
$774 = ((($722)) + 12|0);
$775 = HEAP32[$774>>2]|0;
$776 = ($775|0)==($722|0);
do {
if ($776) {
$786 = ((($722)) + 16|0);
$787 = ((($786)) + 4|0);
$788 = HEAP32[$787>>2]|0;
$789 = ($788|0)==(0|0);
if ($789) {
$790 = HEAP32[$786>>2]|0;
$791 = ($790|0)==(0|0);
if ($791) {
$R$3$i$i = 0;
break;
} else {
$R$1$i$i = $790;$RP$1$i$i = $786;
}
} else {
$R$1$i$i = $788;$RP$1$i$i = $787;
}
while(1) {
$792 = ((($R$1$i$i)) + 20|0);
$793 = HEAP32[$792>>2]|0;
$794 = ($793|0)==(0|0);
if (!($794)) {
$R$1$i$i = $793;$RP$1$i$i = $792;
continue;
}
$795 = ((($R$1$i$i)) + 16|0);
$796 = HEAP32[$795>>2]|0;
$797 = ($796|0)==(0|0);
if ($797) {
$R$1$i$i$lcssa = $R$1$i$i;$RP$1$i$i$lcssa = $RP$1$i$i;
break;
} else {
$R$1$i$i = $796;$RP$1$i$i = $795;
}
}
$798 = ($RP$1$i$i$lcssa>>>0)<($757>>>0);
if ($798) {
_abort();
// unreachable;
} else {
HEAP32[$RP$1$i$i$lcssa>>2] = 0;
$R$3$i$i = $R$1$i$i$lcssa;
break;
}
} else {
$777 = ((($722)) + 8|0);
$778 = HEAP32[$777>>2]|0;
$779 = ($778>>>0)<($757>>>0);
if ($779) {
_abort();
// unreachable;
}
$780 = ((($778)) + 12|0);
$781 = HEAP32[$780>>2]|0;
$782 = ($781|0)==($722|0);
if (!($782)) {
_abort();
// unreachable;
}
$783 = ((($775)) + 8|0);
$784 = HEAP32[$783>>2]|0;
$785 = ($784|0)==($722|0);
if ($785) {
HEAP32[$780>>2] = $775;
HEAP32[$783>>2] = $778;
$R$3$i$i = $775;
break;
} else {
_abort();
// unreachable;
}
}
} while(0);
$799 = ($773|0)==(0|0);
if ($799) {
break;
}
$800 = ((($722)) + 28|0);
$801 = HEAP32[$800>>2]|0;
$802 = (7500 + ($801<<2)|0);
$803 = HEAP32[$802>>2]|0;
$804 = ($722|0)==($803|0);
do {
if ($804) {
HEAP32[$802>>2] = $R$3$i$i;
$cond$i$i = ($R$3$i$i|0)==(0|0);
if (!($cond$i$i)) {
break;
}
$805 = 1 << $801;
$806 = $805 ^ -1;
$807 = HEAP32[(7200)>>2]|0;
$808 = $807 & $806;
HEAP32[(7200)>>2] = $808;
break L331;
} else {
$809 = HEAP32[(7212)>>2]|0;
$810 = ($773>>>0)<($809>>>0);
if ($810) {
_abort();
// unreachable;
}
$811 = ((($773)) + 16|0);
$812 = HEAP32[$811>>2]|0;
$813 = ($812|0)==($722|0);
if ($813) {
HEAP32[$811>>2] = $R$3$i$i;
} else {
$814 = ((($773)) + 20|0);
HEAP32[$814>>2] = $R$3$i$i;
}
$815 = ($R$3$i$i|0)==(0|0);
if ($815) {
break L331;
}
}
} while(0);
$816 = HEAP32[(7212)>>2]|0;
$817 = ($R$3$i$i>>>0)<($816>>>0);
if ($817) {
_abort();
// unreachable;
}
$818 = ((($R$3$i$i)) + 24|0);
HEAP32[$818>>2] = $773;
$819 = ((($722)) + 16|0);
$820 = HEAP32[$819>>2]|0;
$821 = ($820|0)==(0|0);
do {
if (!($821)) {
$822 = ($820>>>0)<($816>>>0);
if ($822) {
_abort();
// unreachable;
} else {
$823 = ((($R$3$i$i)) + 16|0);
HEAP32[$823>>2] = $820;
$824 = ((($820)) + 24|0);
HEAP32[$824>>2] = $R$3$i$i;
break;
}
}
} while(0);
$825 = ((($819)) + 4|0);
$826 = HEAP32[$825>>2]|0;
$827 = ($826|0)==(0|0);
if ($827) {
break;
}
$828 = HEAP32[(7212)>>2]|0;
$829 = ($826>>>0)<($828>>>0);
if ($829) {
_abort();
// unreachable;
} else {
$830 = ((($R$3$i$i)) + 20|0);
HEAP32[$830>>2] = $826;
$831 = ((($826)) + 24|0);
HEAP32[$831>>2] = $R$3$i$i;
break;
}
}
} while(0);
$832 = (($722) + ($746)|0);
$833 = (($746) + ($727))|0;
$oldfirst$0$i$i = $832;$qsize$0$i$i = $833;
} else {
$oldfirst$0$i$i = $722;$qsize$0$i$i = $727;
}
$834 = ((($oldfirst$0$i$i)) + 4|0);
$835 = HEAP32[$834>>2]|0;
$836 = $835 & -2;
HEAP32[$834>>2] = $836;
$837 = $qsize$0$i$i | 1;
$838 = ((($726)) + 4|0);
HEAP32[$838>>2] = $837;
$839 = (($726) + ($qsize$0$i$i)|0);
HEAP32[$839>>2] = $qsize$0$i$i;
$840 = $qsize$0$i$i >>> 3;
$841 = ($qsize$0$i$i>>>0)<(256);
if ($841) {
$842 = $840 << 1;
$843 = (7236 + ($842<<2)|0);
$844 = HEAP32[1799]|0;
$845 = 1 << $840;
$846 = $844 & $845;
$847 = ($846|0)==(0);
do {
if ($847) {
$848 = $844 | $845;
HEAP32[1799] = $848;
$$pre$i16$i = ((($843)) + 8|0);
$$pre$phi$i17$iZ2D = $$pre$i16$i;$F4$0$i$i = $843;
} else {
$849 = ((($843)) + 8|0);
$850 = HEAP32[$849>>2]|0;
$851 = HEAP32[(7212)>>2]|0;
$852 = ($850>>>0)<($851>>>0);
if (!($852)) {
$$pre$phi$i17$iZ2D = $849;$F4$0$i$i = $850;
break;
}
_abort();
// unreachable;
}
} while(0);
HEAP32[$$pre$phi$i17$iZ2D>>2] = $726;
$853 = ((($F4$0$i$i)) + 12|0);
HEAP32[$853>>2] = $726;
$854 = ((($726)) + 8|0);
HEAP32[$854>>2] = $F4$0$i$i;
$855 = ((($726)) + 12|0);
HEAP32[$855>>2] = $843;
break;
}
$856 = $qsize$0$i$i >>> 8;
$857 = ($856|0)==(0);
do {
if ($857) {
$I7$0$i$i = 0;
} else {
$858 = ($qsize$0$i$i>>>0)>(16777215);
if ($858) {
$I7$0$i$i = 31;
break;
}
$859 = (($856) + 1048320)|0;
$860 = $859 >>> 16;
$861 = $860 & 8;
$862 = $856 << $861;
$863 = (($862) + 520192)|0;
$864 = $863 >>> 16;
$865 = $864 & 4;
$866 = $865 | $861;
$867 = $862 << $865;
$868 = (($867) + 245760)|0;
$869 = $868 >>> 16;
$870 = $869 & 2;
$871 = $866 | $870;
$872 = (14 - ($871))|0;
$873 = $867 << $870;
$874 = $873 >>> 15;
$875 = (($872) + ($874))|0;
$876 = $875 << 1;
$877 = (($875) + 7)|0;
$878 = $qsize$0$i$i >>> $877;
$879 = $878 & 1;
$880 = $879 | $876;
$I7$0$i$i = $880;
}
} while(0);
$881 = (7500 + ($I7$0$i$i<<2)|0);
$882 = ((($726)) + 28|0);
HEAP32[$882>>2] = $I7$0$i$i;
$883 = ((($726)) + 16|0);
$884 = ((($883)) + 4|0);
HEAP32[$884>>2] = 0;
HEAP32[$883>>2] = 0;
$885 = HEAP32[(7200)>>2]|0;
$886 = 1 << $I7$0$i$i;
$887 = $885 & $886;
$888 = ($887|0)==(0);
if ($888) {
$889 = $885 | $886;
HEAP32[(7200)>>2] = $889;
HEAP32[$881>>2] = $726;
$890 = ((($726)) + 24|0);
HEAP32[$890>>2] = $881;
$891 = ((($726)) + 12|0);
HEAP32[$891>>2] = $726;
$892 = ((($726)) + 8|0);
HEAP32[$892>>2] = $726;
break;
}
$893 = HEAP32[$881>>2]|0;
$894 = ($I7$0$i$i|0)==(31);
$895 = $I7$0$i$i >>> 1;
$896 = (25 - ($895))|0;
$897 = $894 ? 0 : $896;
$898 = $qsize$0$i$i << $897;
$K8$0$i$i = $898;$T$0$i18$i = $893;
while(1) {
$899 = ((($T$0$i18$i)) + 4|0);
$900 = HEAP32[$899>>2]|0;
$901 = $900 & -8;
$902 = ($901|0)==($qsize$0$i$i|0);
if ($902) {
$T$0$i18$i$lcssa = $T$0$i18$i;
label = 281;
break;
}
$903 = $K8$0$i$i >>> 31;
$904 = (((($T$0$i18$i)) + 16|0) + ($903<<2)|0);
$905 = $K8$0$i$i << 1;
$906 = HEAP32[$904>>2]|0;
$907 = ($906|0)==(0|0);
if ($907) {
$$lcssa = $904;$T$0$i18$i$lcssa139 = $T$0$i18$i;
label = 278;
break;
} else {
$K8$0$i$i = $905;$T$0$i18$i = $906;
}
}
if ((label|0) == 278) {
$908 = HEAP32[(7212)>>2]|0;
$909 = ($$lcssa>>>0)<($908>>>0);
if ($909) {
_abort();
// unreachable;
} else {
HEAP32[$$lcssa>>2] = $726;
$910 = ((($726)) + 24|0);
HEAP32[$910>>2] = $T$0$i18$i$lcssa139;
$911 = ((($726)) + 12|0);
HEAP32[$911>>2] = $726;
$912 = ((($726)) + 8|0);
HEAP32[$912>>2] = $726;
break;
}
}
else if ((label|0) == 281) {
$913 = ((($T$0$i18$i$lcssa)) + 8|0);
$914 = HEAP32[$913>>2]|0;
$915 = HEAP32[(7212)>>2]|0;
$916 = ($914>>>0)>=($915>>>0);
$not$$i20$i = ($T$0$i18$i$lcssa>>>0)>=($915>>>0);
$917 = $916 & $not$$i20$i;
if ($917) {
$918 = ((($914)) + 12|0);
HEAP32[$918>>2] = $726;
HEAP32[$913>>2] = $726;
$919 = ((($726)) + 8|0);
HEAP32[$919>>2] = $914;
$920 = ((($726)) + 12|0);
HEAP32[$920>>2] = $T$0$i18$i$lcssa;
$921 = ((($726)) + 24|0);
HEAP32[$921>>2] = 0;
break;
} else {
_abort();
// unreachable;
}
}
}
} while(0);
$1052 = ((($714)) + 8|0);
$$0 = $1052;
return ($$0|0);
} else {
$sp$0$i$i$i = (7644);
}
}
while(1) {
$922 = HEAP32[$sp$0$i$i$i>>2]|0;
$923 = ($922>>>0)>($635>>>0);
if (!($923)) {
$924 = ((($sp$0$i$i$i)) + 4|0);
$925 = HEAP32[$924>>2]|0;
$926 = (($922) + ($925)|0);
$927 = ($926>>>0)>($635>>>0);
if ($927) {
$$lcssa142 = $926;
break;
}
}
$928 = ((($sp$0$i$i$i)) + 8|0);
$929 = HEAP32[$928>>2]|0;
$sp$0$i$i$i = $929;
}
$930 = ((($$lcssa142)) + -47|0);
$931 = ((($930)) + 8|0);
$932 = $931;
$933 = $932 & 7;
$934 = ($933|0)==(0);
$935 = (0 - ($932))|0;
$936 = $935 & 7;
$937 = $934 ? 0 : $936;
$938 = (($930) + ($937)|0);
$939 = ((($635)) + 16|0);
$940 = ($938>>>0)<($939>>>0);
$941 = $940 ? $635 : $938;
$942 = ((($941)) + 8|0);
$943 = ((($941)) + 24|0);
$944 = (($tsize$745$i) + -40)|0;
$945 = ((($tbase$746$i)) + 8|0);
$946 = $945;
$947 = $946 & 7;
$948 = ($947|0)==(0);
$949 = (0 - ($946))|0;
$950 = $949 & 7;
$951 = $948 ? 0 : $950;
$952 = (($tbase$746$i) + ($951)|0);
$953 = (($944) - ($951))|0;
HEAP32[(7220)>>2] = $952;
HEAP32[(7208)>>2] = $953;
$954 = $953 | 1;
$955 = ((($952)) + 4|0);
HEAP32[$955>>2] = $954;
$956 = (($952) + ($953)|0);
$957 = ((($956)) + 4|0);
HEAP32[$957>>2] = 40;
$958 = HEAP32[(7684)>>2]|0;
HEAP32[(7224)>>2] = $958;
$959 = ((($941)) + 4|0);
HEAP32[$959>>2] = 27;
;HEAP32[$942>>2]=HEAP32[(7644)>>2]|0;HEAP32[$942+4>>2]=HEAP32[(7644)+4>>2]|0;HEAP32[$942+8>>2]=HEAP32[(7644)+8>>2]|0;HEAP32[$942+12>>2]=HEAP32[(7644)+12>>2]|0;
HEAP32[(7644)>>2] = $tbase$746$i;
HEAP32[(7648)>>2] = $tsize$745$i;
HEAP32[(7656)>>2] = 0;
HEAP32[(7652)>>2] = $942;
$p$0$i$i = $943;
while(1) {
$960 = ((($p$0$i$i)) + 4|0);
HEAP32[$960>>2] = 7;
$961 = ((($960)) + 4|0);
$962 = ($961>>>0)<($$lcssa142>>>0);
if ($962) {
$p$0$i$i = $960;
} else {
break;
}
}
$963 = ($941|0)==($635|0);
if (!($963)) {
$964 = $941;
$965 = $635;
$966 = (($964) - ($965))|0;
$967 = HEAP32[$959>>2]|0;
$968 = $967 & -2;
HEAP32[$959>>2] = $968;
$969 = $966 | 1;
$970 = ((($635)) + 4|0);
HEAP32[$970>>2] = $969;
HEAP32[$941>>2] = $966;
$971 = $966 >>> 3;
$972 = ($966>>>0)<(256);
if ($972) {
$973 = $971 << 1;
$974 = (7236 + ($973<<2)|0);
$975 = HEAP32[1799]|0;
$976 = 1 << $971;
$977 = $975 & $976;
$978 = ($977|0)==(0);
if ($978) {
$979 = $975 | $976;
HEAP32[1799] = $979;
$$pre$i$i = ((($974)) + 8|0);
$$pre$phi$i$iZ2D = $$pre$i$i;$F$0$i$i = $974;
} else {
$980 = ((($974)) + 8|0);
$981 = HEAP32[$980>>2]|0;
$982 = HEAP32[(7212)>>2]|0;
$983 = ($981>>>0)<($982>>>0);
if ($983) {
_abort();
// unreachable;
} else {
$$pre$phi$i$iZ2D = $980;$F$0$i$i = $981;
}
}
HEAP32[$$pre$phi$i$iZ2D>>2] = $635;
$984 = ((($F$0$i$i)) + 12|0);
HEAP32[$984>>2] = $635;
$985 = ((($635)) + 8|0);
HEAP32[$985>>2] = $F$0$i$i;
$986 = ((($635)) + 12|0);
HEAP32[$986>>2] = $974;
break;
}
$987 = $966 >>> 8;
$988 = ($987|0)==(0);
if ($988) {
$I1$0$i$i = 0;
} else {
$989 = ($966>>>0)>(16777215);
if ($989) {
$I1$0$i$i = 31;
} else {
$990 = (($987) + 1048320)|0;
$991 = $990 >>> 16;
$992 = $991 & 8;
$993 = $987 << $992;
$994 = (($993) + 520192)|0;
$995 = $994 >>> 16;
$996 = $995 & 4;
$997 = $996 | $992;
$998 = $993 << $996;
$999 = (($998) + 245760)|0;
$1000 = $999 >>> 16;
$1001 = $1000 & 2;
$1002 = $997 | $1001;
$1003 = (14 - ($1002))|0;
$1004 = $998 << $1001;
$1005 = $1004 >>> 15;
$1006 = (($1003) + ($1005))|0;
$1007 = $1006 << 1;
$1008 = (($1006) + 7)|0;
$1009 = $966 >>> $1008;
$1010 = $1009 & 1;
$1011 = $1010 | $1007;
$I1$0$i$i = $1011;
}
}
$1012 = (7500 + ($I1$0$i$i<<2)|0);
$1013 = ((($635)) + 28|0);
HEAP32[$1013>>2] = $I1$0$i$i;
$1014 = ((($635)) + 20|0);
HEAP32[$1014>>2] = 0;
HEAP32[$939>>2] = 0;
$1015 = HEAP32[(7200)>>2]|0;
$1016 = 1 << $I1$0$i$i;
$1017 = $1015 & $1016;
$1018 = ($1017|0)==(0);
if ($1018) {
$1019 = $1015 | $1016;
HEAP32[(7200)>>2] = $1019;
HEAP32[$1012>>2] = $635;
$1020 = ((($635)) + 24|0);
HEAP32[$1020>>2] = $1012;
$1021 = ((($635)) + 12|0);
HEAP32[$1021>>2] = $635;
$1022 = ((($635)) + 8|0);
HEAP32[$1022>>2] = $635;
break;
}
$1023 = HEAP32[$1012>>2]|0;
$1024 = ($I1$0$i$i|0)==(31);
$1025 = $I1$0$i$i >>> 1;
$1026 = (25 - ($1025))|0;
$1027 = $1024 ? 0 : $1026;
$1028 = $966 << $1027;
$K2$0$i$i = $1028;$T$0$i$i = $1023;
while(1) {
$1029 = ((($T$0$i$i)) + 4|0);
$1030 = HEAP32[$1029>>2]|0;
$1031 = $1030 & -8;
$1032 = ($1031|0)==($966|0);
if ($1032) {
$T$0$i$i$lcssa = $T$0$i$i;
label = 307;
break;
}
$1033 = $K2$0$i$i >>> 31;
$1034 = (((($T$0$i$i)) + 16|0) + ($1033<<2)|0);
$1035 = $K2$0$i$i << 1;
$1036 = HEAP32[$1034>>2]|0;
$1037 = ($1036|0)==(0|0);
if ($1037) {
$$lcssa141 = $1034;$T$0$i$i$lcssa140 = $T$0$i$i;
label = 304;
break;
} else {
$K2$0$i$i = $1035;$T$0$i$i = $1036;
}
}
if ((label|0) == 304) {
$1038 = HEAP32[(7212)>>2]|0;
$1039 = ($$lcssa141>>>0)<($1038>>>0);
if ($1039) {
_abort();
// unreachable;
} else {
HEAP32[$$lcssa141>>2] = $635;
$1040 = ((($635)) + 24|0);
HEAP32[$1040>>2] = $T$0$i$i$lcssa140;
$1041 = ((($635)) + 12|0);
HEAP32[$1041>>2] = $635;
$1042 = ((($635)) + 8|0);
HEAP32[$1042>>2] = $635;
break;
}
}
else if ((label|0) == 307) {
$1043 = ((($T$0$i$i$lcssa)) + 8|0);
$1044 = HEAP32[$1043>>2]|0;
$1045 = HEAP32[(7212)>>2]|0;
$1046 = ($1044>>>0)>=($1045>>>0);
$not$$i$i = ($T$0$i$i$lcssa>>>0)>=($1045>>>0);
$1047 = $1046 & $not$$i$i;
if ($1047) {
$1048 = ((($1044)) + 12|0);
HEAP32[$1048>>2] = $635;
HEAP32[$1043>>2] = $635;
$1049 = ((($635)) + 8|0);
HEAP32[$1049>>2] = $1044;
$1050 = ((($635)) + 12|0);
HEAP32[$1050>>2] = $T$0$i$i$lcssa;
$1051 = ((($635)) + 24|0);
HEAP32[$1051>>2] = 0;
break;
} else {
_abort();
// unreachable;
}
}
}
}
} while(0);
$1053 = HEAP32[(7208)>>2]|0;
$1054 = ($1053>>>0)>($nb$0>>>0);
if ($1054) {
$1055 = (($1053) - ($nb$0))|0;
HEAP32[(7208)>>2] = $1055;
$1056 = HEAP32[(7220)>>2]|0;
$1057 = (($1056) + ($nb$0)|0);
HEAP32[(7220)>>2] = $1057;
$1058 = $1055 | 1;
$1059 = ((($1057)) + 4|0);
HEAP32[$1059>>2] = $1058;
$1060 = $nb$0 | 3;
$1061 = ((($1056)) + 4|0);
HEAP32[$1061>>2] = $1060;
$1062 = ((($1056)) + 8|0);
$$0 = $1062;
return ($$0|0);
}
}
$1063 = (___errno_location()|0);
HEAP32[$1063>>2] = 12;
$$0 = 0;
return ($$0|0);
}
function _free($mem) {
$mem = $mem|0;
var $$lcssa = 0, $$pre = 0, $$pre$phi41Z2D = 0, $$pre$phi43Z2D = 0, $$pre$phiZ2D = 0, $$pre40 = 0, $$pre42 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0;
var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0;
var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0;
var $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0;
var $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0;
var $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0;
var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0;
var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0;
var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0;
var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0;
var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0;
var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0;
var $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $F18$0 = 0, $I20$0 = 0, $K21$0 = 0, $R$1 = 0, $R$1$lcssa = 0, $R$3 = 0, $R8$1 = 0, $R8$1$lcssa = 0, $R8$3 = 0, $RP$1 = 0, $RP$1$lcssa = 0, $RP10$1 = 0, $RP10$1$lcssa = 0;
var $T$0 = 0, $T$0$lcssa = 0, $T$0$lcssa48 = 0, $cond20 = 0, $cond21 = 0, $not$ = 0, $p$1 = 0, $psize$1 = 0, $psize$2 = 0, $sp$0$i = 0, $sp$0$in$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = ($mem|0)==(0|0);
if ($0) {
return;
}
$1 = ((($mem)) + -8|0);
$2 = HEAP32[(7212)>>2]|0;
$3 = ($1>>>0)<($2>>>0);
if ($3) {
_abort();
// unreachable;
}
$4 = ((($mem)) + -4|0);
$5 = HEAP32[$4>>2]|0;
$6 = $5 & 3;
$7 = ($6|0)==(1);
if ($7) {
_abort();
// unreachable;
}
$8 = $5 & -8;
$9 = (($1) + ($8)|0);
$10 = $5 & 1;
$11 = ($10|0)==(0);
do {
if ($11) {
$12 = HEAP32[$1>>2]|0;
$13 = ($6|0)==(0);
if ($13) {
return;
}
$14 = (0 - ($12))|0;
$15 = (($1) + ($14)|0);
$16 = (($12) + ($8))|0;
$17 = ($15>>>0)<($2>>>0);
if ($17) {
_abort();
// unreachable;
}
$18 = HEAP32[(7216)>>2]|0;
$19 = ($15|0)==($18|0);
if ($19) {
$104 = ((($9)) + 4|0);
$105 = HEAP32[$104>>2]|0;
$106 = $105 & 3;
$107 = ($106|0)==(3);
if (!($107)) {
$p$1 = $15;$psize$1 = $16;
break;
}
HEAP32[(7204)>>2] = $16;
$108 = $105 & -2;
HEAP32[$104>>2] = $108;
$109 = $16 | 1;
$110 = ((($15)) + 4|0);
HEAP32[$110>>2] = $109;
$111 = (($15) + ($16)|0);
HEAP32[$111>>2] = $16;
return;
}
$20 = $12 >>> 3;
$21 = ($12>>>0)<(256);
if ($21) {
$22 = ((($15)) + 8|0);
$23 = HEAP32[$22>>2]|0;
$24 = ((($15)) + 12|0);
$25 = HEAP32[$24>>2]|0;
$26 = $20 << 1;
$27 = (7236 + ($26<<2)|0);
$28 = ($23|0)==($27|0);
if (!($28)) {
$29 = ($23>>>0)<($2>>>0);
if ($29) {
_abort();
// unreachable;
}
$30 = ((($23)) + 12|0);
$31 = HEAP32[$30>>2]|0;
$32 = ($31|0)==($15|0);
if (!($32)) {
_abort();
// unreachable;
}
}
$33 = ($25|0)==($23|0);
if ($33) {
$34 = 1 << $20;
$35 = $34 ^ -1;
$36 = HEAP32[1799]|0;
$37 = $36 & $35;
HEAP32[1799] = $37;
$p$1 = $15;$psize$1 = $16;
break;
}
$38 = ($25|0)==($27|0);
if ($38) {
$$pre42 = ((($25)) + 8|0);
$$pre$phi43Z2D = $$pre42;
} else {
$39 = ($25>>>0)<($2>>>0);
if ($39) {
_abort();
// unreachable;
}
$40 = ((($25)) + 8|0);
$41 = HEAP32[$40>>2]|0;
$42 = ($41|0)==($15|0);
if ($42) {
$$pre$phi43Z2D = $40;
} else {
_abort();
// unreachable;
}
}
$43 = ((($23)) + 12|0);
HEAP32[$43>>2] = $25;
HEAP32[$$pre$phi43Z2D>>2] = $23;
$p$1 = $15;$psize$1 = $16;
break;
}
$44 = ((($15)) + 24|0);
$45 = HEAP32[$44>>2]|0;
$46 = ((($15)) + 12|0);
$47 = HEAP32[$46>>2]|0;
$48 = ($47|0)==($15|0);
do {
if ($48) {
$58 = ((($15)) + 16|0);
$59 = ((($58)) + 4|0);
$60 = HEAP32[$59>>2]|0;
$61 = ($60|0)==(0|0);
if ($61) {
$62 = HEAP32[$58>>2]|0;
$63 = ($62|0)==(0|0);
if ($63) {
$R$3 = 0;
break;
} else {
$R$1 = $62;$RP$1 = $58;
}
} else {
$R$1 = $60;$RP$1 = $59;
}
while(1) {
$64 = ((($R$1)) + 20|0);
$65 = HEAP32[$64>>2]|0;
$66 = ($65|0)==(0|0);
if (!($66)) {
$R$1 = $65;$RP$1 = $64;
continue;
}
$67 = ((($R$1)) + 16|0);
$68 = HEAP32[$67>>2]|0;
$69 = ($68|0)==(0|0);
if ($69) {
$R$1$lcssa = $R$1;$RP$1$lcssa = $RP$1;
break;
} else {
$R$1 = $68;$RP$1 = $67;
}
}
$70 = ($RP$1$lcssa>>>0)<($2>>>0);
if ($70) {
_abort();
// unreachable;
} else {
HEAP32[$RP$1$lcssa>>2] = 0;
$R$3 = $R$1$lcssa;
break;
}
} else {
$49 = ((($15)) + 8|0);
$50 = HEAP32[$49>>2]|0;
$51 = ($50>>>0)<($2>>>0);
if ($51) {
_abort();
// unreachable;
}
$52 = ((($50)) + 12|0);
$53 = HEAP32[$52>>2]|0;
$54 = ($53|0)==($15|0);
if (!($54)) {
_abort();
// unreachable;
}
$55 = ((($47)) + 8|0);
$56 = HEAP32[$55>>2]|0;
$57 = ($56|0)==($15|0);
if ($57) {
HEAP32[$52>>2] = $47;
HEAP32[$55>>2] = $50;
$R$3 = $47;
break;
} else {
_abort();
// unreachable;
}
}
} while(0);
$71 = ($45|0)==(0|0);
if ($71) {
$p$1 = $15;$psize$1 = $16;
} else {
$72 = ((($15)) + 28|0);
$73 = HEAP32[$72>>2]|0;
$74 = (7500 + ($73<<2)|0);
$75 = HEAP32[$74>>2]|0;
$76 = ($15|0)==($75|0);
if ($76) {
HEAP32[$74>>2] = $R$3;
$cond20 = ($R$3|0)==(0|0);
if ($cond20) {
$77 = 1 << $73;
$78 = $77 ^ -1;
$79 = HEAP32[(7200)>>2]|0;
$80 = $79 & $78;
HEAP32[(7200)>>2] = $80;
$p$1 = $15;$psize$1 = $16;
break;
}
} else {
$81 = HEAP32[(7212)>>2]|0;
$82 = ($45>>>0)<($81>>>0);
if ($82) {
_abort();
// unreachable;
}
$83 = ((($45)) + 16|0);
$84 = HEAP32[$83>>2]|0;
$85 = ($84|0)==($15|0);
if ($85) {
HEAP32[$83>>2] = $R$3;
} else {
$86 = ((($45)) + 20|0);
HEAP32[$86>>2] = $R$3;
}
$87 = ($R$3|0)==(0|0);
if ($87) {
$p$1 = $15;$psize$1 = $16;
break;
}
}
$88 = HEAP32[(7212)>>2]|0;
$89 = ($R$3>>>0)<($88>>>0);
if ($89) {
_abort();
// unreachable;
}
$90 = ((($R$3)) + 24|0);
HEAP32[$90>>2] = $45;
$91 = ((($15)) + 16|0);
$92 = HEAP32[$91>>2]|0;
$93 = ($92|0)==(0|0);
do {
if (!($93)) {
$94 = ($92>>>0)<($88>>>0);
if ($94) {
_abort();
// unreachable;
} else {
$95 = ((($R$3)) + 16|0);
HEAP32[$95>>2] = $92;
$96 = ((($92)) + 24|0);
HEAP32[$96>>2] = $R$3;
break;
}
}
} while(0);
$97 = ((($91)) + 4|0);
$98 = HEAP32[$97>>2]|0;
$99 = ($98|0)==(0|0);
if ($99) {
$p$1 = $15;$psize$1 = $16;
} else {
$100 = HEAP32[(7212)>>2]|0;
$101 = ($98>>>0)<($100>>>0);
if ($101) {
_abort();
// unreachable;
} else {
$102 = ((($R$3)) + 20|0);
HEAP32[$102>>2] = $98;
$103 = ((($98)) + 24|0);
HEAP32[$103>>2] = $R$3;
$p$1 = $15;$psize$1 = $16;
break;
}
}
}
} else {
$p$1 = $1;$psize$1 = $8;
}
} while(0);
$112 = ($p$1>>>0)<($9>>>0);
if (!($112)) {
_abort();
// unreachable;
}
$113 = ((($9)) + 4|0);
$114 = HEAP32[$113>>2]|0;
$115 = $114 & 1;
$116 = ($115|0)==(0);
if ($116) {
_abort();
// unreachable;
}
$117 = $114 & 2;
$118 = ($117|0)==(0);
if ($118) {
$119 = HEAP32[(7220)>>2]|0;
$120 = ($9|0)==($119|0);
if ($120) {
$121 = HEAP32[(7208)>>2]|0;
$122 = (($121) + ($psize$1))|0;
HEAP32[(7208)>>2] = $122;
HEAP32[(7220)>>2] = $p$1;
$123 = $122 | 1;
$124 = ((($p$1)) + 4|0);
HEAP32[$124>>2] = $123;
$125 = HEAP32[(7216)>>2]|0;
$126 = ($p$1|0)==($125|0);
if (!($126)) {
return;
}
HEAP32[(7216)>>2] = 0;
HEAP32[(7204)>>2] = 0;
return;
}
$127 = HEAP32[(7216)>>2]|0;
$128 = ($9|0)==($127|0);
if ($128) {
$129 = HEAP32[(7204)>>2]|0;
$130 = (($129) + ($psize$1))|0;
HEAP32[(7204)>>2] = $130;
HEAP32[(7216)>>2] = $p$1;
$131 = $130 | 1;
$132 = ((($p$1)) + 4|0);
HEAP32[$132>>2] = $131;
$133 = (($p$1) + ($130)|0);
HEAP32[$133>>2] = $130;
return;
}
$134 = $114 & -8;
$135 = (($134) + ($psize$1))|0;
$136 = $114 >>> 3;
$137 = ($114>>>0)<(256);
do {
if ($137) {
$138 = ((($9)) + 8|0);
$139 = HEAP32[$138>>2]|0;
$140 = ((($9)) + 12|0);
$141 = HEAP32[$140>>2]|0;
$142 = $136 << 1;
$143 = (7236 + ($142<<2)|0);
$144 = ($139|0)==($143|0);
if (!($144)) {
$145 = HEAP32[(7212)>>2]|0;
$146 = ($139>>>0)<($145>>>0);
if ($146) {
_abort();
// unreachable;
}
$147 = ((($139)) + 12|0);
$148 = HEAP32[$147>>2]|0;
$149 = ($148|0)==($9|0);
if (!($149)) {
_abort();
// unreachable;
}
}
$150 = ($141|0)==($139|0);
if ($150) {
$151 = 1 << $136;
$152 = $151 ^ -1;
$153 = HEAP32[1799]|0;
$154 = $153 & $152;
HEAP32[1799] = $154;
break;
}
$155 = ($141|0)==($143|0);
if ($155) {
$$pre40 = ((($141)) + 8|0);
$$pre$phi41Z2D = $$pre40;
} else {
$156 = HEAP32[(7212)>>2]|0;
$157 = ($141>>>0)<($156>>>0);
if ($157) {
_abort();
// unreachable;
}
$158 = ((($141)) + 8|0);
$159 = HEAP32[$158>>2]|0;
$160 = ($159|0)==($9|0);
if ($160) {
$$pre$phi41Z2D = $158;
} else {
_abort();
// unreachable;
}
}
$161 = ((($139)) + 12|0);
HEAP32[$161>>2] = $141;
HEAP32[$$pre$phi41Z2D>>2] = $139;
} else {
$162 = ((($9)) + 24|0);
$163 = HEAP32[$162>>2]|0;
$164 = ((($9)) + 12|0);
$165 = HEAP32[$164>>2]|0;
$166 = ($165|0)==($9|0);
do {
if ($166) {
$177 = ((($9)) + 16|0);
$178 = ((($177)) + 4|0);
$179 = HEAP32[$178>>2]|0;
$180 = ($179|0)==(0|0);
if ($180) {
$181 = HEAP32[$177>>2]|0;
$182 = ($181|0)==(0|0);
if ($182) {
$R8$3 = 0;
break;
} else {
$R8$1 = $181;$RP10$1 = $177;
}
} else {
$R8$1 = $179;$RP10$1 = $178;
}
while(1) {
$183 = ((($R8$1)) + 20|0);
$184 = HEAP32[$183>>2]|0;
$185 = ($184|0)==(0|0);
if (!($185)) {
$R8$1 = $184;$RP10$1 = $183;
continue;
}
$186 = ((($R8$1)) + 16|0);
$187 = HEAP32[$186>>2]|0;
$188 = ($187|0)==(0|0);
if ($188) {
$R8$1$lcssa = $R8$1;$RP10$1$lcssa = $RP10$1;
break;
} else {
$R8$1 = $187;$RP10$1 = $186;
}
}
$189 = HEAP32[(7212)>>2]|0;
$190 = ($RP10$1$lcssa>>>0)<($189>>>0);
if ($190) {
_abort();
// unreachable;
} else {
HEAP32[$RP10$1$lcssa>>2] = 0;
$R8$3 = $R8$1$lcssa;
break;
}
} else {
$167 = ((($9)) + 8|0);
$168 = HEAP32[$167>>2]|0;
$169 = HEAP32[(7212)>>2]|0;
$170 = ($168>>>0)<($169>>>0);
if ($170) {
_abort();
// unreachable;
}
$171 = ((($168)) + 12|0);
$172 = HEAP32[$171>>2]|0;
$173 = ($172|0)==($9|0);
if (!($173)) {
_abort();
// unreachable;
}
$174 = ((($165)) + 8|0);
$175 = HEAP32[$174>>2]|0;
$176 = ($175|0)==($9|0);
if ($176) {
HEAP32[$171>>2] = $165;
HEAP32[$174>>2] = $168;
$R8$3 = $165;
break;
} else {
_abort();
// unreachable;
}
}
} while(0);
$191 = ($163|0)==(0|0);
if (!($191)) {
$192 = ((($9)) + 28|0);
$193 = HEAP32[$192>>2]|0;
$194 = (7500 + ($193<<2)|0);
$195 = HEAP32[$194>>2]|0;
$196 = ($9|0)==($195|0);
if ($196) {
HEAP32[$194>>2] = $R8$3;
$cond21 = ($R8$3|0)==(0|0);
if ($cond21) {
$197 = 1 << $193;
$198 = $197 ^ -1;
$199 = HEAP32[(7200)>>2]|0;
$200 = $199 & $198;
HEAP32[(7200)>>2] = $200;
break;
}
} else {
$201 = HEAP32[(7212)>>2]|0;
$202 = ($163>>>0)<($201>>>0);
if ($202) {
_abort();
// unreachable;
}
$203 = ((($163)) + 16|0);
$204 = HEAP32[$203>>2]|0;
$205 = ($204|0)==($9|0);
if ($205) {
HEAP32[$203>>2] = $R8$3;
} else {
$206 = ((($163)) + 20|0);
HEAP32[$206>>2] = $R8$3;
}
$207 = ($R8$3|0)==(0|0);
if ($207) {
break;
}
}
$208 = HEAP32[(7212)>>2]|0;
$209 = ($R8$3>>>0)<($208>>>0);
if ($209) {
_abort();
// unreachable;
}
$210 = ((($R8$3)) + 24|0);
HEAP32[$210>>2] = $163;
$211 = ((($9)) + 16|0);
$212 = HEAP32[$211>>2]|0;
$213 = ($212|0)==(0|0);
do {
if (!($213)) {
$214 = ($212>>>0)<($208>>>0);
if ($214) {
_abort();
// unreachable;
} else {
$215 = ((($R8$3)) + 16|0);
HEAP32[$215>>2] = $212;
$216 = ((($212)) + 24|0);
HEAP32[$216>>2] = $R8$3;
break;
}
}
} while(0);
$217 = ((($211)) + 4|0);
$218 = HEAP32[$217>>2]|0;
$219 = ($218|0)==(0|0);
if (!($219)) {
$220 = HEAP32[(7212)>>2]|0;
$221 = ($218>>>0)<($220>>>0);
if ($221) {
_abort();
// unreachable;
} else {
$222 = ((($R8$3)) + 20|0);
HEAP32[$222>>2] = $218;
$223 = ((($218)) + 24|0);
HEAP32[$223>>2] = $R8$3;
break;
}
}
}
}
} while(0);
$224 = $135 | 1;
$225 = ((($p$1)) + 4|0);
HEAP32[$225>>2] = $224;
$226 = (($p$1) + ($135)|0);
HEAP32[$226>>2] = $135;
$227 = HEAP32[(7216)>>2]|0;
$228 = ($p$1|0)==($227|0);
if ($228) {
HEAP32[(7204)>>2] = $135;
return;
} else {
$psize$2 = $135;
}
} else {
$229 = $114 & -2;
HEAP32[$113>>2] = $229;
$230 = $psize$1 | 1;
$231 = ((($p$1)) + 4|0);
HEAP32[$231>>2] = $230;
$232 = (($p$1) + ($psize$1)|0);
HEAP32[$232>>2] = $psize$1;
$psize$2 = $psize$1;
}
$233 = $psize$2 >>> 3;
$234 = ($psize$2>>>0)<(256);
if ($234) {
$235 = $233 << 1;
$236 = (7236 + ($235<<2)|0);
$237 = HEAP32[1799]|0;
$238 = 1 << $233;
$239 = $237 & $238;
$240 = ($239|0)==(0);
if ($240) {
$241 = $237 | $238;
HEAP32[1799] = $241;
$$pre = ((($236)) + 8|0);
$$pre$phiZ2D = $$pre;$F18$0 = $236;
} else {
$242 = ((($236)) + 8|0);
$243 = HEAP32[$242>>2]|0;
$244 = HEAP32[(7212)>>2]|0;
$245 = ($243>>>0)<($244>>>0);
if ($245) {
_abort();
// unreachable;
} else {
$$pre$phiZ2D = $242;$F18$0 = $243;
}
}
HEAP32[$$pre$phiZ2D>>2] = $p$1;
$246 = ((($F18$0)) + 12|0);
HEAP32[$246>>2] = $p$1;
$247 = ((($p$1)) + 8|0);
HEAP32[$247>>2] = $F18$0;
$248 = ((($p$1)) + 12|0);
HEAP32[$248>>2] = $236;
return;
}
$249 = $psize$2 >>> 8;
$250 = ($249|0)==(0);
if ($250) {
$I20$0 = 0;
} else {
$251 = ($psize$2>>>0)>(16777215);
if ($251) {
$I20$0 = 31;
} else {
$252 = (($249) + 1048320)|0;
$253 = $252 >>> 16;
$254 = $253 & 8;
$255 = $249 << $254;
$256 = (($255) + 520192)|0;
$257 = $256 >>> 16;
$258 = $257 & 4;
$259 = $258 | $254;
$260 = $255 << $258;
$261 = (($260) + 245760)|0;
$262 = $261 >>> 16;
$263 = $262 & 2;
$264 = $259 | $263;
$265 = (14 - ($264))|0;
$266 = $260 << $263;
$267 = $266 >>> 15;
$268 = (($265) + ($267))|0;
$269 = $268 << 1;
$270 = (($268) + 7)|0;
$271 = $psize$2 >>> $270;
$272 = $271 & 1;
$273 = $272 | $269;
$I20$0 = $273;
}
}
$274 = (7500 + ($I20$0<<2)|0);
$275 = ((($p$1)) + 28|0);
HEAP32[$275>>2] = $I20$0;
$276 = ((($p$1)) + 16|0);
$277 = ((($p$1)) + 20|0);
HEAP32[$277>>2] = 0;
HEAP32[$276>>2] = 0;
$278 = HEAP32[(7200)>>2]|0;
$279 = 1 << $I20$0;
$280 = $278 & $279;
$281 = ($280|0)==(0);
do {
if ($281) {
$282 = $278 | $279;
HEAP32[(7200)>>2] = $282;
HEAP32[$274>>2] = $p$1;
$283 = ((($p$1)) + 24|0);
HEAP32[$283>>2] = $274;
$284 = ((($p$1)) + 12|0);
HEAP32[$284>>2] = $p$1;
$285 = ((($p$1)) + 8|0);
HEAP32[$285>>2] = $p$1;
} else {
$286 = HEAP32[$274>>2]|0;
$287 = ($I20$0|0)==(31);
$288 = $I20$0 >>> 1;
$289 = (25 - ($288))|0;
$290 = $287 ? 0 : $289;
$291 = $psize$2 << $290;
$K21$0 = $291;$T$0 = $286;
while(1) {
$292 = ((($T$0)) + 4|0);
$293 = HEAP32[$292>>2]|0;
$294 = $293 & -8;
$295 = ($294|0)==($psize$2|0);
if ($295) {
$T$0$lcssa = $T$0;
label = 130;
break;
}
$296 = $K21$0 >>> 31;
$297 = (((($T$0)) + 16|0) + ($296<<2)|0);
$298 = $K21$0 << 1;
$299 = HEAP32[$297>>2]|0;
$300 = ($299|0)==(0|0);
if ($300) {
$$lcssa = $297;$T$0$lcssa48 = $T$0;
label = 127;
break;
} else {
$K21$0 = $298;$T$0 = $299;
}
}
if ((label|0) == 127) {
$301 = HEAP32[(7212)>>2]|0;
$302 = ($$lcssa>>>0)<($301>>>0);
if ($302) {
_abort();
// unreachable;
} else {
HEAP32[$$lcssa>>2] = $p$1;
$303 = ((($p$1)) + 24|0);
HEAP32[$303>>2] = $T$0$lcssa48;
$304 = ((($p$1)) + 12|0);
HEAP32[$304>>2] = $p$1;
$305 = ((($p$1)) + 8|0);
HEAP32[$305>>2] = $p$1;
break;
}
}
else if ((label|0) == 130) {
$306 = ((($T$0$lcssa)) + 8|0);
$307 = HEAP32[$306>>2]|0;
$308 = HEAP32[(7212)>>2]|0;
$309 = ($307>>>0)>=($308>>>0);
$not$ = ($T$0$lcssa>>>0)>=($308>>>0);
$310 = $309 & $not$;
if ($310) {
$311 = ((($307)) + 12|0);
HEAP32[$311>>2] = $p$1;
HEAP32[$306>>2] = $p$1;
$312 = ((($p$1)) + 8|0);
HEAP32[$312>>2] = $307;
$313 = ((($p$1)) + 12|0);
HEAP32[$313>>2] = $T$0$lcssa;
$314 = ((($p$1)) + 24|0);
HEAP32[$314>>2] = 0;
break;
} else {
_abort();
// unreachable;
}
}
}
} while(0);
$315 = HEAP32[(7228)>>2]|0;
$316 = (($315) + -1)|0;
HEAP32[(7228)>>2] = $316;
$317 = ($316|0)==(0);
if ($317) {
$sp$0$in$i = (7652);
} else {
return;
}
while(1) {
$sp$0$i = HEAP32[$sp$0$in$i>>2]|0;
$318 = ($sp$0$i|0)==(0|0);
$319 = ((($sp$0$i)) + 8|0);
if ($318) {
break;
} else {
$sp$0$in$i = $319;
}
}
HEAP32[(7228)>>2] = -1;
return;
}
function _realloc($oldmem,$bytes) {
$oldmem = $oldmem|0;
$bytes = $bytes|0;
var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
var $7 = 0, $8 = 0, $9 = 0, $mem$1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = ($oldmem|0)==(0|0);
if ($0) {
$1 = (_malloc($bytes)|0);
$mem$1 = $1;
return ($mem$1|0);
}
$2 = ($bytes>>>0)>(4294967231);
if ($2) {
$3 = (___errno_location()|0);
HEAP32[$3>>2] = 12;
$mem$1 = 0;
return ($mem$1|0);
}
$4 = ($bytes>>>0)<(11);
$5 = (($bytes) + 11)|0;
$6 = $5 & -8;
$7 = $4 ? 16 : $6;
$8 = ((($oldmem)) + -8|0);
$9 = (_try_realloc_chunk($8,$7)|0);
$10 = ($9|0)==(0|0);
if (!($10)) {
$11 = ((($9)) + 8|0);
$mem$1 = $11;
return ($mem$1|0);
}
$12 = (_malloc($bytes)|0);
$13 = ($12|0)==(0|0);
if ($13) {
$mem$1 = 0;
return ($mem$1|0);
}
$14 = ((($oldmem)) + -4|0);
$15 = HEAP32[$14>>2]|0;
$16 = $15 & -8;
$17 = $15 & 3;
$18 = ($17|0)==(0);
$19 = $18 ? 8 : 4;
$20 = (($16) - ($19))|0;
$21 = ($20>>>0)<($bytes>>>0);
$22 = $21 ? $20 : $bytes;
_memcpy(($12|0),($oldmem|0),($22|0))|0;
_free($oldmem);
$mem$1 = $12;
return ($mem$1|0);
}
function _try_realloc_chunk($p,$nb) {
$p = $p|0;
$nb = $nb|0;
var $$pre = 0, $$pre$phiZ2D = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0;
var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $R$1 = 0, $R$1$lcssa = 0;
var $R$3 = 0, $RP$1 = 0, $RP$1$lcssa = 0, $cond = 0, $newp$2 = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = ((($p)) + 4|0);
$1 = HEAP32[$0>>2]|0;
$2 = $1 & -8;
$3 = (($p) + ($2)|0);
$4 = HEAP32[(7212)>>2]|0;
$5 = $1 & 3;
$notlhs = ($p>>>0)>=($4>>>0);
$notrhs = ($5|0)!=(1);
$or$cond$not = $notrhs & $notlhs;
$6 = ($p>>>0)<($3>>>0);
$or$cond3 = $or$cond$not & $6;
if (!($or$cond3)) {
_abort();
// unreachable;
}
$7 = ((($3)) + 4|0);
$8 = HEAP32[$7>>2]|0;
$9 = $8 & 1;
$10 = ($9|0)==(0);
if ($10) {
_abort();
// unreachable;
}
$11 = ($5|0)==(0);
if ($11) {
$12 = ($nb>>>0)<(256);
if ($12) {
$newp$2 = 0;
return ($newp$2|0);
}
$13 = (($nb) + 4)|0;
$14 = ($2>>>0)<($13>>>0);
if (!($14)) {
$15 = (($2) - ($nb))|0;
$16 = HEAP32[(7676)>>2]|0;
$17 = $16 << 1;
$18 = ($15>>>0)>($17>>>0);
if (!($18)) {
$newp$2 = $p;
return ($newp$2|0);
}
}
$newp$2 = 0;
return ($newp$2|0);
}
$19 = ($2>>>0)<($nb>>>0);
if (!($19)) {
$20 = (($2) - ($nb))|0;
$21 = ($20>>>0)>(15);
if (!($21)) {
$newp$2 = $p;
return ($newp$2|0);
}
$22 = (($p) + ($nb)|0);
$23 = $1 & 1;
$24 = $23 | $nb;
$25 = $24 | 2;
HEAP32[$0>>2] = $25;
$26 = ((($22)) + 4|0);
$27 = $20 | 3;
HEAP32[$26>>2] = $27;
$28 = (($22) + ($20)|0);
$29 = ((($28)) + 4|0);
$30 = HEAP32[$29>>2]|0;
$31 = $30 | 1;
HEAP32[$29>>2] = $31;
_dispose_chunk($22,$20);
$newp$2 = $p;
return ($newp$2|0);
}
$32 = HEAP32[(7220)>>2]|0;
$33 = ($3|0)==($32|0);
if ($33) {
$34 = HEAP32[(7208)>>2]|0;
$35 = (($34) + ($2))|0;
$36 = ($35>>>0)>($nb>>>0);
if (!($36)) {
$newp$2 = 0;
return ($newp$2|0);
}
$37 = (($35) - ($nb))|0;
$38 = (($p) + ($nb)|0);
$39 = $1 & 1;
$40 = $39 | $nb;
$41 = $40 | 2;
HEAP32[$0>>2] = $41;
$42 = ((($38)) + 4|0);
$43 = $37 | 1;
HEAP32[$42>>2] = $43;
HEAP32[(7220)>>2] = $38;
HEAP32[(7208)>>2] = $37;
$newp$2 = $p;
return ($newp$2|0);
}
$44 = HEAP32[(7216)>>2]|0;
$45 = ($3|0)==($44|0);
if ($45) {
$46 = HEAP32[(7204)>>2]|0;
$47 = (($46) + ($2))|0;
$48 = ($47>>>0)<($nb>>>0);
if ($48) {
$newp$2 = 0;
return ($newp$2|0);
}
$49 = (($47) - ($nb))|0;
$50 = ($49>>>0)>(15);
if ($50) {
$51 = (($p) + ($nb)|0);
$52 = (($51) + ($49)|0);
$53 = $1 & 1;
$54 = $53 | $nb;
$55 = $54 | 2;
HEAP32[$0>>2] = $55;
$56 = ((($51)) + 4|0);
$57 = $49 | 1;
HEAP32[$56>>2] = $57;
HEAP32[$52>>2] = $49;
$58 = ((($52)) + 4|0);
$59 = HEAP32[$58>>2]|0;
$60 = $59 & -2;
HEAP32[$58>>2] = $60;
$storemerge = $51;$storemerge1 = $49;
} else {
$61 = $1 & 1;
$62 = $61 | $47;
$63 = $62 | 2;
HEAP32[$0>>2] = $63;
$64 = (($p) + ($47)|0);
$65 = ((($64)) + 4|0);
$66 = HEAP32[$65>>2]|0;
$67 = $66 | 1;
HEAP32[$65>>2] = $67;
$storemerge = 0;$storemerge1 = 0;
}
HEAP32[(7204)>>2] = $storemerge1;
HEAP32[(7216)>>2] = $storemerge;
$newp$2 = $p;
return ($newp$2|0);
}
$68 = $8 & 2;
$69 = ($68|0)==(0);
if (!($69)) {
$newp$2 = 0;
return ($newp$2|0);
}
$70 = $8 & -8;
$71 = (($70) + ($2))|0;
$72 = ($71>>>0)<($nb>>>0);
if ($72) {
$newp$2 = 0;
return ($newp$2|0);
}
$73 = (($71) - ($nb))|0;
$74 = $8 >>> 3;
$75 = ($8>>>0)<(256);
do {
if ($75) {
$76 = ((($3)) + 8|0);
$77 = HEAP32[$76>>2]|0;
$78 = ((($3)) + 12|0);
$79 = HEAP32[$78>>2]|0;
$80 = $74 << 1;
$81 = (7236 + ($80<<2)|0);
$82 = ($77|0)==($81|0);
if (!($82)) {
$83 = ($77>>>0)<($4>>>0);
if ($83) {
_abort();
// unreachable;
}
$84 = ((($77)) + 12|0);
$85 = HEAP32[$84>>2]|0;
$86 = ($85|0)==($3|0);
if (!($86)) {
_abort();
// unreachable;
}
}
$87 = ($79|0)==($77|0);
if ($87) {
$88 = 1 << $74;
$89 = $88 ^ -1;
$90 = HEAP32[1799]|0;
$91 = $90 & $89;
HEAP32[1799] = $91;
break;
}
$92 = ($79|0)==($81|0);
if ($92) {
$$pre = ((($79)) + 8|0);
$$pre$phiZ2D = $$pre;
} else {
$93 = ($79>>>0)<($4>>>0);
if ($93) {
_abort();
// unreachable;
}
$94 = ((($79)) + 8|0);
$95 = HEAP32[$94>>2]|0;
$96 = ($95|0)==($3|0);
if ($96) {
$$pre$phiZ2D = $94;
} else {
_abort();
// unreachable;
}
}
$97 = ((($77)) + 12|0);
HEAP32[$97>>2] = $79;
HEAP32[$$pre$phiZ2D>>2] = $77;
} else {
$98 = ((($3)) + 24|0);
$99 = HEAP32[$98>>2]|0;
$100 = ((($3)) + 12|0);
$101 = HEAP32[$100>>2]|0;
$102 = ($101|0)==($3|0);
do {
if ($102) {
$112 = ((($3)) + 16|0);
$113 = ((($112)) + 4|0);
$114 = HEAP32[$113>>2]|0;
$115 = ($114|0)==(0|0);
if ($115) {
$116 = HEAP32[$112>>2]|0;
$117 = ($116|0)==(0|0);
if ($117) {
$R$3 = 0;
break;
} else {
$R$1 = $116;$RP$1 = $112;
}
} else {
$R$1 = $114;$RP$1 = $113;
}
while(1) {
$118 = ((($R$1)) + 20|0);
$119 = HEAP32[$118>>2]|0;
$120 = ($119|0)==(0|0);
if (!($120)) {
$R$1 = $119;$RP$1 = $118;
continue;
}
$121 = ((($R$1)) + 16|0);
$122 = HEAP32[$121>>2]|0;
$123 = ($122|0)==(0|0);
if ($123) {
$R$1$lcssa = $R$1;$RP$1$lcssa = $RP$1;
break;
} else {
$R$1 = $122;$RP$1 = $121;
}
}
$124 = ($RP$1$lcssa>>>0)<($4>>>0);
if ($124) {
_abort();
// unreachable;
} else {
HEAP32[$RP$1$lcssa>>2] = 0;
$R$3 = $R$1$lcssa;
break;
}
} else {
$103 = ((($3)) + 8|0);
$104 = HEAP32[$103>>2]|0;
$105 = ($104>>>0)<($4>>>0);
if ($105) {
_abort();
// unreachable;
}
$106 = ((($104)) + 12|0);
$107 = HEAP32[$106>>2]|0;
$108 = ($107|0)==($3|0);
if (!($108)) {
_abort();
// unreachable;
}
$109 = ((($101)) + 8|0);
$110 = HEAP32[$109>>2]|0;
$111 = ($110|0)==($3|0);
if ($111) {
HEAP32[$106>>2] = $101;
HEAP32[$109>>2] = $104;
$R$3 = $101;
break;
} else {
_abort();
// unreachable;
}
}
} while(0);
$125 = ($99|0)==(0|0);
if (!($125)) {
$126 = ((($3)) + 28|0);
$127 = HEAP32[$126>>2]|0;
$128 = (7500 + ($127<<2)|0);
$129 = HEAP32[$128>>2]|0;
$130 = ($3|0)==($129|0);
if ($130) {
HEAP32[$128>>2] = $R$3;
$cond = ($R$3|0)==(0|0);
if ($cond) {
$131 = 1 << $127;
$132 = $131 ^ -1;
$133 = HEAP32[(7200)>>2]|0;
$134 = $133 & $132;
HEAP32[(7200)>>2] = $134;
break;
}
} else {
$135 = HEAP32[(7212)>>2]|0;
$136 = ($99>>>0)<($135>>>0);
if ($136) {
_abort();
// unreachable;
}
$137 = ((($99)) + 16|0);
$138 = HEAP32[$137>>2]|0;
$139 = ($138|0)==($3|0);
if ($139) {
HEAP32[$137>>2] = $R$3;
} else {
$140 = ((($99)) + 20|0);
HEAP32[$140>>2] = $R$3;
}
$141 = ($R$3|0)==(0|0);
if ($141) {
break;
}
}
$142 = HEAP32[(7212)>>2]|0;
$143 = ($R$3>>>0)<($142>>>0);
if ($143) {
_abort();
// unreachable;
}
$144 = ((($R$3)) + 24|0);
HEAP32[$144>>2] = $99;
$145 = ((($3)) + 16|0);
$146 = HEAP32[$145>>2]|0;
$147 = ($146|0)==(0|0);
do {
if (!($147)) {
$148 = ($146>>>0)<($142>>>0);
if ($148) {
_abort();
// unreachable;
} else {
$149 = ((($R$3)) + 16|0);
HEAP32[$149>>2] = $146;
$150 = ((($146)) + 24|0);
HEAP32[$150>>2] = $R$3;
break;
}
}
} while(0);
$151 = ((($145)) + 4|0);
$152 = HEAP32[$151>>2]|0;
$153 = ($152|0)==(0|0);
if (!($153)) {
$154 = HEAP32[(7212)>>2]|0;
$155 = ($152>>>0)<($154>>>0);
if ($155) {
_abort();
// unreachable;
} else {
$156 = ((($R$3)) + 20|0);
HEAP32[$156>>2] = $152;
$157 = ((($152)) + 24|0);
HEAP32[$157>>2] = $R$3;
break;
}
}
}
}
} while(0);
$158 = ($73>>>0)<(16);
if ($158) {
$159 = $1 & 1;
$160 = $71 | $159;
$161 = $160 | 2;
HEAP32[$0>>2] = $161;
$162 = (($p) + ($71)|0);
$163 = ((($162)) + 4|0);
$164 = HEAP32[$163>>2]|0;
$165 = $164 | 1;
HEAP32[$163>>2] = $165;
$newp$2 = $p;
return ($newp$2|0);
} else {
$166 = (($p) + ($nb)|0);
$167 = $1 & 1;
$168 = $167 | $nb;
$169 = $168 | 2;
HEAP32[$0>>2] = $169;
$170 = ((($166)) + 4|0);
$171 = $73 | 3;
HEAP32[$170>>2] = $171;
$172 = (($166) + ($73)|0);
$173 = ((($172)) + 4|0);
$174 = HEAP32[$173>>2]|0;
$175 = $174 | 1;
HEAP32[$173>>2] = $175;
_dispose_chunk($166,$73);
$newp$2 = $p;
return ($newp$2|0);
}
return (0)|0;
}
function _dispose_chunk($p,$psize) {
$p = $p|0;
$psize = $psize|0;
var $$1 = 0, $$14 = 0, $$2 = 0, $$lcssa = 0, $$pre = 0, $$pre$phi22Z2D = 0, $$pre$phi24Z2D = 0, $$pre$phiZ2D = 0, $$pre21 = 0, $$pre23 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0;
var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0;
var $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0;
var $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0;
var $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0;
var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0;
var $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0;
var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0;
var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0;
var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0;
var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0;
var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0;
var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0;
var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $F17$0 = 0, $I20$0 = 0, $K21$0 = 0, $R$1 = 0, $R$1$lcssa = 0;
var $R$3 = 0, $R7$1 = 0, $R7$1$lcssa = 0, $R7$3 = 0, $RP$1 = 0, $RP$1$lcssa = 0, $RP9$1 = 0, $RP9$1$lcssa = 0, $T$0 = 0, $T$0$lcssa = 0, $T$0$lcssa30 = 0, $cond = 0, $cond16 = 0, $not$ = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = (($p) + ($psize)|0);
$1 = ((($p)) + 4|0);
$2 = HEAP32[$1>>2]|0;
$3 = $2 & 1;
$4 = ($3|0)==(0);
do {
if ($4) {
$5 = HEAP32[$p>>2]|0;
$6 = $2 & 3;
$7 = ($6|0)==(0);
if ($7) {
return;
}
$8 = (0 - ($5))|0;
$9 = (($p) + ($8)|0);
$10 = (($5) + ($psize))|0;
$11 = HEAP32[(7212)>>2]|0;
$12 = ($9>>>0)<($11>>>0);
if ($12) {
_abort();
// unreachable;
}
$13 = HEAP32[(7216)>>2]|0;
$14 = ($9|0)==($13|0);
if ($14) {
$99 = ((($0)) + 4|0);
$100 = HEAP32[$99>>2]|0;
$101 = $100 & 3;
$102 = ($101|0)==(3);
if (!($102)) {
$$1 = $9;$$14 = $10;
break;
}
HEAP32[(7204)>>2] = $10;
$103 = $100 & -2;
HEAP32[$99>>2] = $103;
$104 = $10 | 1;
$105 = ((($9)) + 4|0);
HEAP32[$105>>2] = $104;
$106 = (($9) + ($10)|0);
HEAP32[$106>>2] = $10;
return;
}
$15 = $5 >>> 3;
$16 = ($5>>>0)<(256);
if ($16) {
$17 = ((($9)) + 8|0);
$18 = HEAP32[$17>>2]|0;
$19 = ((($9)) + 12|0);
$20 = HEAP32[$19>>2]|0;
$21 = $15 << 1;
$22 = (7236 + ($21<<2)|0);
$23 = ($18|0)==($22|0);
if (!($23)) {
$24 = ($18>>>0)<($11>>>0);
if ($24) {
_abort();
// unreachable;
}
$25 = ((($18)) + 12|0);
$26 = HEAP32[$25>>2]|0;
$27 = ($26|0)==($9|0);
if (!($27)) {
_abort();
// unreachable;
}
}
$28 = ($20|0)==($18|0);
if ($28) {
$29 = 1 << $15;
$30 = $29 ^ -1;
$31 = HEAP32[1799]|0;
$32 = $31 & $30;
HEAP32[1799] = $32;
$$1 = $9;$$14 = $10;
break;
}
$33 = ($20|0)==($22|0);
if ($33) {
$$pre23 = ((($20)) + 8|0);
$$pre$phi24Z2D = $$pre23;
} else {
$34 = ($20>>>0)<($11>>>0);
if ($34) {
_abort();
// unreachable;
}
$35 = ((($20)) + 8|0);
$36 = HEAP32[$35>>2]|0;
$37 = ($36|0)==($9|0);
if ($37) {
$$pre$phi24Z2D = $35;
} else {
_abort();
// unreachable;
}
}
$38 = ((($18)) + 12|0);
HEAP32[$38>>2] = $20;
HEAP32[$$pre$phi24Z2D>>2] = $18;
$$1 = $9;$$14 = $10;
break;
}
$39 = ((($9)) + 24|0);
$40 = HEAP32[$39>>2]|0;
$41 = ((($9)) + 12|0);
$42 = HEAP32[$41>>2]|0;
$43 = ($42|0)==($9|0);
do {
if ($43) {
$53 = ((($9)) + 16|0);
$54 = ((($53)) + 4|0);
$55 = HEAP32[$54>>2]|0;
$56 = ($55|0)==(0|0);
if ($56) {
$57 = HEAP32[$53>>2]|0;
$58 = ($57|0)==(0|0);
if ($58) {
$R$3 = 0;
break;
} else {
$R$1 = $57;$RP$1 = $53;
}
} else {
$R$1 = $55;$RP$1 = $54;
}
while(1) {
$59 = ((($R$1)) + 20|0);
$60 = HEAP32[$59>>2]|0;
$61 = ($60|0)==(0|0);
if (!($61)) {
$R$1 = $60;$RP$1 = $59;
continue;
}
$62 = ((($R$1)) + 16|0);
$63 = HEAP32[$62>>2]|0;
$64 = ($63|0)==(0|0);
if ($64) {
$R$1$lcssa = $R$1;$RP$1$lcssa = $RP$1;
break;
} else {
$R$1 = $63;$RP$1 = $62;
}
}
$65 = ($RP$1$lcssa>>>0)<($11>>>0);
if ($65) {
_abort();
// unreachable;
} else {
HEAP32[$RP$1$lcssa>>2] = 0;
$R$3 = $R$1$lcssa;
break;
}
} else {
$44 = ((($9)) + 8|0);
$45 = HEAP32[$44>>2]|0;
$46 = ($45>>>0)<($11>>>0);
if ($46) {
_abort();
// unreachable;
}
$47 = ((($45)) + 12|0);
$48 = HEAP32[$47>>2]|0;
$49 = ($48|0)==($9|0);
if (!($49)) {
_abort();
// unreachable;
}
$50 = ((($42)) + 8|0);
$51 = HEAP32[$50>>2]|0;
$52 = ($51|0)==($9|0);
if ($52) {
HEAP32[$47>>2] = $42;
HEAP32[$50>>2] = $45;
$R$3 = $42;
break;
} else {
_abort();
// unreachable;
}
}
} while(0);
$66 = ($40|0)==(0|0);
if ($66) {
$$1 = $9;$$14 = $10;
} else {
$67 = ((($9)) + 28|0);
$68 = HEAP32[$67>>2]|0;
$69 = (7500 + ($68<<2)|0);
$70 = HEAP32[$69>>2]|0;
$71 = ($9|0)==($70|0);
if ($71) {
HEAP32[$69>>2] = $R$3;
$cond = ($R$3|0)==(0|0);
if ($cond) {
$72 = 1 << $68;
$73 = $72 ^ -1;
$74 = HEAP32[(7200)>>2]|0;
$75 = $74 & $73;
HEAP32[(7200)>>2] = $75;
$$1 = $9;$$14 = $10;
break;
}
} else {
$76 = HEAP32[(7212)>>2]|0;
$77 = ($40>>>0)<($76>>>0);
if ($77) {
_abort();
// unreachable;
}
$78 = ((($40)) + 16|0);
$79 = HEAP32[$78>>2]|0;
$80 = ($79|0)==($9|0);
if ($80) {
HEAP32[$78>>2] = $R$3;
} else {
$81 = ((($40)) + 20|0);
HEAP32[$81>>2] = $R$3;
}
$82 = ($R$3|0)==(0|0);
if ($82) {
$$1 = $9;$$14 = $10;
break;
}
}
$83 = HEAP32[(7212)>>2]|0;
$84 = ($R$3>>>0)<($83>>>0);
if ($84) {
_abort();
// unreachable;
}
$85 = ((($R$3)) + 24|0);
HEAP32[$85>>2] = $40;
$86 = ((($9)) + 16|0);
$87 = HEAP32[$86>>2]|0;
$88 = ($87|0)==(0|0);
do {
if (!($88)) {
$89 = ($87>>>0)<($83>>>0);
if ($89) {
_abort();
// unreachable;
} else {
$90 = ((($R$3)) + 16|0);
HEAP32[$90>>2] = $87;
$91 = ((($87)) + 24|0);
HEAP32[$91>>2] = $R$3;
break;
}
}
} while(0);
$92 = ((($86)) + 4|0);
$93 = HEAP32[$92>>2]|0;
$94 = ($93|0)==(0|0);
if ($94) {
$$1 = $9;$$14 = $10;
} else {
$95 = HEAP32[(7212)>>2]|0;
$96 = ($93>>>0)<($95>>>0);
if ($96) {
_abort();
// unreachable;
} else {
$97 = ((($R$3)) + 20|0);
HEAP32[$97>>2] = $93;
$98 = ((($93)) + 24|0);
HEAP32[$98>>2] = $R$3;
$$1 = $9;$$14 = $10;
break;
}
}
}
} else {
$$1 = $p;$$14 = $psize;
}
} while(0);
$107 = HEAP32[(7212)>>2]|0;
$108 = ($0>>>0)<($107>>>0);
if ($108) {
_abort();
// unreachable;
}
$109 = ((($0)) + 4|0);
$110 = HEAP32[$109>>2]|0;
$111 = $110 & 2;
$112 = ($111|0)==(0);
if ($112) {
$113 = HEAP32[(7220)>>2]|0;
$114 = ($0|0)==($113|0);
if ($114) {
$115 = HEAP32[(7208)>>2]|0;
$116 = (($115) + ($$14))|0;
HEAP32[(7208)>>2] = $116;
HEAP32[(7220)>>2] = $$1;
$117 = $116 | 1;
$118 = ((($$1)) + 4|0);
HEAP32[$118>>2] = $117;
$119 = HEAP32[(7216)>>2]|0;
$120 = ($$1|0)==($119|0);
if (!($120)) {
return;
}
HEAP32[(7216)>>2] = 0;
HEAP32[(7204)>>2] = 0;
return;
}
$121 = HEAP32[(7216)>>2]|0;
$122 = ($0|0)==($121|0);
if ($122) {
$123 = HEAP32[(7204)>>2]|0;
$124 = (($123) + ($$14))|0;
HEAP32[(7204)>>2] = $124;
HEAP32[(7216)>>2] = $$1;
$125 = $124 | 1;
$126 = ((($$1)) + 4|0);
HEAP32[$126>>2] = $125;
$127 = (($$1) + ($124)|0);
HEAP32[$127>>2] = $124;
return;
}
$128 = $110 & -8;
$129 = (($128) + ($$14))|0;
$130 = $110 >>> 3;
$131 = ($110>>>0)<(256);
do {
if ($131) {
$132 = ((($0)) + 8|0);
$133 = HEAP32[$132>>2]|0;
$134 = ((($0)) + 12|0);
$135 = HEAP32[$134>>2]|0;
$136 = $130 << 1;
$137 = (7236 + ($136<<2)|0);
$138 = ($133|0)==($137|0);
if (!($138)) {
$139 = ($133>>>0)<($107>>>0);
if ($139) {
_abort();
// unreachable;
}
$140 = ((($133)) + 12|0);
$141 = HEAP32[$140>>2]|0;
$142 = ($141|0)==($0|0);
if (!($142)) {
_abort();
// unreachable;
}
}
$143 = ($135|0)==($133|0);
if ($143) {
$144 = 1 << $130;
$145 = $144 ^ -1;
$146 = HEAP32[1799]|0;
$147 = $146 & $145;
HEAP32[1799] = $147;
break;
}
$148 = ($135|0)==($137|0);
if ($148) {
$$pre21 = ((($135)) + 8|0);
$$pre$phi22Z2D = $$pre21;
} else {
$149 = ($135>>>0)<($107>>>0);
if ($149) {
_abort();
// unreachable;
}
$150 = ((($135)) + 8|0);
$151 = HEAP32[$150>>2]|0;
$152 = ($151|0)==($0|0);
if ($152) {
$$pre$phi22Z2D = $150;
} else {
_abort();
// unreachable;
}
}
$153 = ((($133)) + 12|0);
HEAP32[$153>>2] = $135;
HEAP32[$$pre$phi22Z2D>>2] = $133;
} else {
$154 = ((($0)) + 24|0);
$155 = HEAP32[$154>>2]|0;
$156 = ((($0)) + 12|0);
$157 = HEAP32[$156>>2]|0;
$158 = ($157|0)==($0|0);
do {
if ($158) {
$168 = ((($0)) + 16|0);
$169 = ((($168)) + 4|0);
$170 = HEAP32[$169>>2]|0;
$171 = ($170|0)==(0|0);
if ($171) {
$172 = HEAP32[$168>>2]|0;
$173 = ($172|0)==(0|0);
if ($173) {
$R7$3 = 0;
break;
} else {
$R7$1 = $172;$RP9$1 = $168;
}
} else {
$R7$1 = $170;$RP9$1 = $169;
}
while(1) {
$174 = ((($R7$1)) + 20|0);
$175 = HEAP32[$174>>2]|0;
$176 = ($175|0)==(0|0);
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment