Skip to content

Instantly share code, notes, and snippets.

@usagi
Created April 26, 2013 14:35
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 usagi/5467783 to your computer and use it in GitHub Desktop.
Save usagi/5467783 to your computer and use it in GitHub Desktop.
emscripten test result: `em++ hello_world.cxx -o hello_world.js`
#include <iostream>
int main()
{
std::cout << "Hello, JavaScript World from C++\n";
}
This file has been truncated, but you can view the full file.
// Note: Some Emscripten settings will significantly limit the speed of the generated code.
// Note: Some Emscripten settings may limit the speed of the generated code.
try {
this['Module'] = Module;
} catch(e) {
this['Module'] = Module = {};
}
// The environment setup code below is customized to use Module.
// *** Environment setup code ***
var ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function';
var ENVIRONMENT_IS_WEB = typeof window === 'object';
var ENVIRONMENT_IS_WORKER = typeof importScripts === 'function';
var 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
Module['print'] = function(x) {
process['stdout'].write(x + '\n');
};
Module['printErr'] = function(x) {
process['stderr'].write(x + '\n');
};
var nodeFS = require('fs');
var nodePath = require('path');
Module['read'] = function(filename, binary) {
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(filename) { return Module['read'](filename, true) };
Module['load'] = function(f) {
globalEval(read(f));
};
if (!Module['arguments']) {
Module['arguments'] = process['argv'].slice(2);
}
}
if (ENVIRONMENT_IS_SHELL) {
Module['print'] = print;
if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm
Module['read'] = read;
Module['readBinary'] = function(f) {
return read(f, 'binary');
};
if (!Module['arguments']) {
if (typeof scriptArgs != 'undefined') {
Module['arguments'] = scriptArgs;
} else if (typeof arguments != 'undefined') {
Module['arguments'] = arguments;
}
}
}
if (ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER) {
if (!Module['print']) {
Module['print'] = function(x) {
console.log(x);
};
}
if (!Module['printErr']) {
Module['printErr'] = function(x) {
console.log(x);
};
}
}
if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
Module['read'] = function(url) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, false);
xhr.send(null);
return xhr.responseText;
};
if (!Module['arguments']) {
if (typeof arguments != 'undefined') {
Module['arguments'] = arguments;
}
}
}
if (ENVIRONMENT_IS_WORKER) {
// 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
}));
}
Module['load'] = importScripts;
}
if (!ENVIRONMENT_IS_WORKER && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_SHELL) {
// 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'] == 'undefined' && Module['read']) {
Module['load'] = function(f) {
globalEval(Module['read'](f));
};
}
if (!Module['print']) {
Module['print'] = function(){};
}
if (!Module['printErr']) {
Module['printErr'] = Module['print'];
}
if (!Module['arguments']) {
Module['arguments'] = [];
}
// *** Environment setup code ***
// Closure helpers
Module.print = Module['print'];
Module.printErr = Module['printErr'];
// Callbacks
if (!Module['preRun']) Module['preRun'] = [];
if (!Module['postRun']) Module['postRun'] = [];
// === Auto-generated preamble library stuff ===
//========================================
// Runtime code shared with compiler
//========================================
var Runtime = {
stackSave: function () {
return STACKTOP;
},
stackRestore: function (stackTop) {
STACKTOP = stackTop;
},
forceAlign: function (target, quantum) {
quantum = quantum || 4;
if (quantum == 1) return target;
if (isNumber(target) && isNumber(quantum)) {
return Math.ceil(target/quantum)*quantum;
} else if (isNumber(quantum) && isPowerOfTwo(quantum)) {
var logg = log2(quantum);
return '((((' +target + ')+' + (quantum-1) + ')>>' + logg + ')<<' + logg + ')';
}
return 'Math.ceil((' + target + ')/' + quantum + ')*' + quantum;
},
isNumberType: function (type) {
return type in Runtime.INT_TYPES || type in Runtime.FLOAT_TYPES;
},
isPointerType: function isPointerType(type) {
return type[type.length-1] == '*';
},
isStructType: function isStructType(type) {
if (isPointerType(type)) return false;
if (/^\[\d+\ x\ (.*)\]/.test(type)) return true; // [15 x ?] blocks. Like structs
if (/<?{ ?[^}]* ?}>?/.test(type)) return true; // { i32, i8 } etc. - anonymous struct types
// See comment in isStructPointerType()
return type[0] == '%';
},
INT_TYPES: {"i1":0,"i8":0,"i16":0,"i32":0,"i64":0},
FLOAT_TYPES: {"float":0,"double":0},
or64: function (x, y) {
var l = (x | 0) | (y | 0);
var h = (Math.round(x / 4294967296) | Math.round(y / 4294967296)) * 4294967296;
return l + h;
},
and64: function (x, y) {
var l = (x | 0) & (y | 0);
var h = (Math.round(x / 4294967296) & Math.round(y / 4294967296)) * 4294967296;
return l + h;
},
xor64: function (x, y) {
var l = (x | 0) ^ (y | 0);
var h = (Math.round(x / 4294967296) ^ Math.round(y / 4294967296)) * 4294967296;
return l + h;
},
getNativeTypeSize: function (type, quantumSize) {
if (Runtime.QUANTUM_SIZE == 1) return 1;
var size = {
'%i1': 1,
'%i8': 1,
'%i16': 2,
'%i32': 4,
'%i64': 8,
"%float": 4,
"%double": 8
}['%'+type]; // add '%' since float and double confuse Closure compiler as keys, and also spidermonkey as a compiler will remove 's from '_i8' etc
if (!size) {
if (type.charAt(type.length-1) == '*') {
size = Runtime.QUANTUM_SIZE; // A pointer
} else if (type[0] == 'i') {
var bits = parseInt(type.substr(1));
assert(bits % 8 == 0);
size = bits/8;
}
}
return size;
},
getNativeFieldSize: function (type) {
return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE);
},
dedup: function dedup(items, ident) {
var seen = {};
if (ident) {
return items.filter(function(item) {
if (seen[item[ident]]) return false;
seen[item[ident]] = true;
return true;
});
} else {
return items.filter(function(item) {
if (seen[item]) return false;
seen[item] = true;
return true;
});
}
},
set: function set() {
var args = typeof arguments[0] === 'object' ? arguments[0] : arguments;
var ret = {};
for (var i = 0; i < args.length; i++) {
ret[args[i]] = 0;
}
return ret;
},
calculateStructAlignment: function calculateStructAlignment(type) {
type.flatSize = 0;
type.alignSize = 0;
var diffs = [];
var prev = -1;
type.flatIndexes = type.fields.map(function(field) {
var size, alignSize;
if (Runtime.isNumberType(field) || Runtime.isPointerType(field)) {
size = Runtime.getNativeTypeSize(field); // pack char; char; in structs, also char[X]s.
alignSize = size;
} else if (Runtime.isStructType(field)) {
size = Types.types[field].flatSize;
alignSize = Types.types[field].alignSize;
} else if (field[0] == 'b') {
// bN, large number field, like a [N x i8]
size = field.substr(1)|0;
alignSize = 1;
} else {
throw 'Unclear type in struct: ' + field + ', in ' + type.name_ + ' :: ' + dump(Types.types[type.name_]);
}
alignSize = type.packed ? 1 : Math.min(alignSize, Runtime.QUANTUM_SIZE);
type.alignSize = Math.max(type.alignSize, alignSize);
var curr = Runtime.alignMemory(type.flatSize, alignSize); // if necessary, place this on aligned memory
type.flatSize = curr + size;
if (prev >= 0) {
diffs.push(curr-prev);
}
prev = curr;
return curr;
});
type.flatSize = Runtime.alignMemory(type.flatSize, type.alignSize);
if (diffs.length == 0) {
type.flatFactor = type.flatSize;
} else if (Runtime.dedup(diffs).length == 1) {
type.flatFactor = diffs[0];
}
type.needsFlattening = (type.flatFactor != 1);
return type.flatIndexes;
},
generateStructInfo: function (struct, typeName, offset) {
var type, alignment;
if (typeName) {
offset = offset || 0;
type = (typeof Types === 'undefined' ? Runtime.typeInfo : Types.types)[typeName];
if (!type) return null;
if (type.fields.length != struct.length) {
printErr('Number of named fields must match the type for ' + typeName + ': possibly duplicate struct names. Cannot return structInfo');
return null;
}
alignment = type.flatIndexes;
} else {
var type = { fields: struct.map(function(item) { return item[0] }) };
alignment = Runtime.calculateStructAlignment(type);
}
var ret = {
__size__: type.flatSize
};
if (typeName) {
struct.forEach(function(item, i) {
if (typeof item === 'string') {
ret[item] = alignment[i] + offset;
} else {
// embedded struct
var key;
for (var k in item) key = k;
ret[key] = Runtime.generateStructInfo(item[key], type.fields[i], alignment[i]);
}
});
} else {
struct.forEach(function(item, i) {
ret[item[1]] = alignment[i];
});
}
return ret;
},
dynCall: function (sig, ptr, args) {
if (args && args.length) {
assert(args.length == sig.length-1);
return FUNCTION_TABLE[ptr].apply(null, args);
} else {
assert(sig.length == 1);
return FUNCTION_TABLE[ptr]();
}
},
addFunction: function (func, sig) {
//assert(sig); // TODO: support asm
var table = FUNCTION_TABLE; // TODO: support asm
var ret = table.length;
table.push(func);
table.push(0);
return ret;
},
removeFunction: function (index) {
var table = FUNCTION_TABLE; // TODO: support asm
table[index] = 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[func]) {
Runtime.funcWrappers[func] = function() {
Runtime.dynCall(sig, func, arguments);
};
}
return Runtime.funcWrappers[func];
},
UTF8Processor: function () {
var buffer = [];
var needed = 0;
this.processCChar = function (code) {
code = code & 0xff;
if (needed) {
buffer.push(code);
needed--;
}
if (buffer.length == 0) {
if (code < 128) return String.fromCharCode(code);
buffer.push(code);
if (code > 191 && code < 224) {
needed = 1;
} else {
needed = 2;
}
return '';
}
if (needed > 0) return '';
var c1 = buffer[0];
var c2 = buffer[1];
var c3 = buffer[2];
var ret;
if (c1 > 191 && c1 < 224) {
ret = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));
} else {
ret = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
}
buffer.length = 0;
return ret;
}
this.processJSString = function(string) {
string = unescape(encodeURIComponent(string));
var ret = [];
for (var i = 0; i < string.length; i++) {
ret.push(string.charCodeAt(i));
}
return ret;
}
},
stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = ((((STACKTOP)+3)>>2)<<2);assert((STACKTOP|0) < (STACK_MAX|0)); return ret; },
staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + size)|0;STATICTOP = ((((STATICTOP)+3)>>2)<<2); if (STATICTOP >= TOTAL_MEMORY) enlargeMemory();; return ret; },
alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 4))*(quantum ? quantum : 4); return ret; },
makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? (((low)>>>(0))+(((high)>>>(0))*4294967296)) : (((low)>>>(0))+(((high)|(0))*4294967296))); return ret; },
QUANTUM_SIZE: 4,
__dummy__: 0
}
//========================================
// Runtime essentials
//========================================
var __THREW__ = 0; // Used in checking for thrown exceptions.
var setjmpId = 1; // Used in setjmp/longjmp
var setjmpLabels = {};
var ABORT = false;
var undef = 0;
// tempInt is used for 32-bit signed values or smaller. tempBigInt is used
// for 32-bit unsigned values or more than 32 bits. TODO: audit all uses of tempInt
var tempValue, tempInt, tempBigInt, tempInt2, tempBigInt2, tempPair, tempBigIntI, tempBigIntR, tempBigIntS, tempBigIntP, tempBigIntD;
var tempI64, tempI64b;
var tempRet0, tempRet1, tempRet2, tempRet3, tempRet4, tempRet5, tempRet6, tempRet7, tempRet8, tempRet9;
function abort(text) {
Module.print(text + ':\n' + (new Error).stack);
ABORT = true;
throw "Assertion: " + text;
}
function assert(condition, text) {
if (!condition) {
abort('Assertion failed: ' + text);
}
}
var globalScope = this;
// C calling interface. A convenient way to call C functions (in C files, or
// defined with extern "C").
//
// Note: LLVM optimizations can inline and remove functions, after which you will not be
// able to call them. Closure can also do so. To avoid that, add your function to
// the exports using something like
//
// -s EXPORTED_FUNCTIONS='["_main", "_myfunc"]'
//
// @param ident The name of the C function (note that C++ functions will be name-mangled - use extern "C")
// @param returnType The return type of the function, one of the JS types 'number', 'string' or 'array' (use 'number' for any C pointer, and
// 'array' for JavaScript arrays and typed arrays).
// @param argTypes An array of the types of arguments for the function (if there are no arguments, this can be ommitted). Types are as in returnType,
// except that 'array' is not possible (there is no way for us to know the length of the array)
// @param args An array of the arguments to the function, as native JS values (as in returnType)
// Note that string arguments will be stored on the stack (the JS string will become a C string on the stack).
// @return The return value, as a native JS value (as in returnType)
function ccall(ident, returnType, argTypes, args) {
return ccallFunc(getCFunc(ident), returnType, argTypes, args);
}
Module["ccall"] = ccall;
// Returns the C function with a specified identifier (for C++, you need to do manual name mangling)
function getCFunc(ident) {
try {
var func = globalScope['Module']['_' + ident]; // closure exported function
if (!func) func = eval('_' + ident); // explicit lookup
} catch(e) {
}
assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)');
return func;
}
// Internal function that does a C call using a function, not an identifier
function ccallFunc(func, returnType, argTypes, args) {
var stack = 0;
function toC(value, type) {
if (type == 'string') {
if (value === null || value === undefined || value === 0) return 0; // null string
if (!stack) stack = Runtime.stackSave();
var ret = Runtime.stackAlloc(value.length+1);
writeStringToMemory(value, ret);
return ret;
} else if (type == 'array') {
if (!stack) stack = Runtime.stackSave();
var ret = Runtime.stackAlloc(value.length);
writeArrayToMemory(value, ret);
return ret;
}
return value;
}
function fromC(value, type) {
if (type == 'string') {
return Pointer_stringify(value);
}
assert(type != 'array');
return value;
}
var i = 0;
var cArgs = args ? args.map(function(arg) {
return toC(arg, argTypes[i++]);
}) : [];
var ret = fromC(func.apply(null, cArgs), returnType);
if (stack) Runtime.stackRestore(stack);
return ret;
}
// Returns a native JS wrapper for a C function. This is similar to ccall, but
// returns a function you can call repeatedly in a normal way. For example:
//
// var my_function = cwrap('my_c_function', 'number', ['number', 'number']);
// alert(my_function(5, 22));
// alert(my_function(99, 12));
//
function cwrap(ident, returnType, argTypes) {
var func = getCFunc(ident);
return function() {
return ccallFunc(func, returnType, argTypes, Array.prototype.slice.call(arguments));
}
}
Module["cwrap"] = cwrap;
// Sets a value in memory in a dynamic way at run-time. Uses the
// type data. This is the same as makeSetValue, except that
// makeSetValue is done at compile-time and generates the needed
// code then, whereas this function picks the right code at
// run-time.
// Note that setValue and getValue only do *aligned* writes and reads!
// Note that ccall uses JS types as for defining types, while setValue and
// getValue need LLVM types ('i8', 'i32') - this is a lower-level operation
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)]=value; break;
case 'i8': HEAP8[(ptr)]=value; break;
case 'i16': HEAP16[((ptr)>>1)]=value; break;
case 'i32': HEAP32[((ptr)>>2)]=value; break;
case 'i64': (tempI64 = [value>>>0,Math.min(Math.floor((value)/4294967296), 4294967295)>>>0],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break;
case 'float': HEAPF32[((ptr)>>2)]=value; break;
case 'double': (HEAPF64[(tempDoublePtr)>>3]=value,HEAP32[((ptr)>>2)]=HEAP32[((tempDoublePtr)>>2)],HEAP32[(((ptr)+(4))>>2)]=HEAP32[(((tempDoublePtr)+(4))>>2)]); break;
default: abort('invalid type for setValue: ' + type);
}
}
Module['setValue'] = setValue;
// Parallel to 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)];
case 'i8': return HEAP8[(ptr)];
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 (HEAP32[((tempDoublePtr)>>2)]=HEAP32[((ptr)>>2)],HEAP32[(((tempDoublePtr)+(4))>>2)]=HEAP32[(((ptr)+(4))>>2)],HEAPF64[(tempDoublePtr)>>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_NONE = 3; // Do not allocate
Module['ALLOC_NORMAL'] = ALLOC_NORMAL;
Module['ALLOC_STACK'] = ALLOC_STACK;
Module['ALLOC_STATIC'] = ALLOC_STATIC;
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 = [_malloc, Runtime.stackAlloc, Runtime.staticAlloc][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') {
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;
function Pointer_stringify(ptr, /* optional */ length) {
// Find the length, and check for UTF while doing so
var hasUtf = false;
var t;
var i = 0;
while (1) {
t = HEAPU8[(((ptr)+(i))|0)];
if (t >= 128) hasUtf = true;
else if (t == 0 && !length) break;
i++;
if (length && i == length) break;
}
if (!length) length = i;
var ret = '';
if (!hasUtf) {
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;
}
var utf8 = new Runtime.UTF8Processor();
for (i = 0; i < length; i++) {
assert(ptr + i < TOTAL_MEMORY);
t = HEAPU8[(((ptr)+(i))|0)];
ret += utf8.processCChar(t);
}
return ret;
}
Module['Pointer_stringify'] = Pointer_stringify;
// Memory management
var PAGE_SIZE = 4096;
function alignMemoryPage(x) {
return ((x+4095)>>12)<<12;
}
var HEAP;
var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
var STACK_ROOT, STACKTOP, STACK_MAX;
var STATICTOP;
function enlargeMemory() {
abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value, (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.');
}
var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880;
var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216;
var FAST_MEMORY = Module['FAST_MEMORY'] || 2097152;
// Initialize the runtime's memory
// check for full engine support (use string 'subarray' to avoid closure compiler confusion)
assert(!!Int32Array && !!Float64Array && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']),
'Cannot fallback to non-typed array case: Code is too specialized');
var buffer = new ArrayBuffer(TOTAL_MEMORY);
HEAP8 = new Int8Array(buffer);
HEAP16 = new Int16Array(buffer);
HEAP32 = new Int32Array(buffer);
HEAPU8 = new Uint8Array(buffer);
HEAPU16 = new Uint16Array(buffer);
HEAPU32 = new Uint32Array(buffer);
HEAPF32 = new Float32Array(buffer);
HEAPF64 = new Float64Array(buffer);
// Endianness check (note: assumes compiler arch was little-endian)
HEAP32[0] = 255;
assert(HEAPU8[0] === 255 && HEAPU8[3] === 0, 'Typed arrays 2 must be run on a little-endian system');
Module['HEAP'] = HEAP;
Module['HEAP8'] = HEAP8;
Module['HEAP16'] = HEAP16;
Module['HEAP32'] = HEAP32;
Module['HEAPU8'] = HEAPU8;
Module['HEAPU16'] = HEAPU16;
Module['HEAPU32'] = HEAPU32;
Module['HEAPF32'] = HEAPF32;
Module['HEAPF64'] = HEAPF64;
STACK_ROOT = STACKTOP = Runtime.alignMemory(1);
STACK_MAX = TOTAL_STACK; // we lose a little stack here, but TOTAL_STACK is nice and round so use that as the max
var tempDoublePtr = Runtime.alignMemory(allocate(12, 'i8', ALLOC_STACK), 8);
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];
}
STATICTOP = STACK_MAX;
assert(STATICTOP < TOTAL_MEMORY); // Stack must fit in TOTAL_MEMORY; allocations from here on may enlarge TOTAL_MEMORY
var nullString = allocate(intArrayFromString('(null)'), 'i8', ALLOC_STACK);
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 __ATINIT__ = []; // functions called during startup
var __ATMAIN__ = []; // functions called when main() is to be run
var __ATEXIT__ = []; // functions called during shutdown
var runtimeInitialized = false;
function ensureInitRuntime() {
if (runtimeInitialized) return;
runtimeInitialized = true;
callRuntimeCallbacks(__ATINIT__);
}
function preMain() {
callRuntimeCallbacks(__ATMAIN__);
}
function exitRuntime() {
callRuntimeCallbacks(__ATEXIT__);
}
// Tools
// This processes a JS string into a C-line array of numbers, 0-terminated.
// For LLVM-originating strings, see parser.js:parseLLVMString function
function intArrayFromString(stringy, dontAddNull, length /* optional */) {
var ret = (new Runtime.UTF8Processor()).processJSString(stringy);
if (length) {
ret.length = length;
}
if (!dontAddNull) {
ret.push(0);
}
return ret;
}
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;
// Write a Javascript array to somewhere in the heap
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)+(i))|0)]=array[i];
}
}
Module['writeArrayToMemory'] = writeArrayToMemory;
function unSign(value, bits, ignore, sig) {
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, sig) {
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;
}
if (!Math.imul) Math.imul = function(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;
};
// 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 runDependencyTracking = {};
var calledInit = false, calledRun = false;
var runDependencyWatcher = null;
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() {
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)');
}
}, 6000);
}
} 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 run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false)
if (!calledRun && shouldRunNow) run();
}
}
Module['removeRunDependency'] = removeRunDependency;
Module["preloadedImages"] = {}; // maps url to image data
Module["preloadedAudios"] = {}; // maps url to audio data
function addPreRun(func) {
if (!Module['preRun']) Module['preRun'] = [];
else if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']];
Module['preRun'].push(func);
}
var awaitingMemoryInitializer = false;
function loadMemoryInitializer(filename) {
function applyData(data) {
HEAPU8.set(data, TOTAL_STACK);
runPostSets();
}
// always do this asynchronously, to keep shell and web as similar as possible
addPreRun(function() {
if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) {
applyData(Module['readBinary'](filename));
} else {
Browser.asyncLoad(filename, function(data) {
applyData(data);
}, function(data) {
throw 'could not load memory initializer ' + filename;
});
}
});
awaitingMemoryInitializer = false;
}
// === Body ===
assert(STATICTOP == STACK_MAX); assert(STACK_MAX == TOTAL_STACK);
STATICTOP += 13244;
assert(STATICTOP < TOTAL_MEMORY);
var _stdout;
var _stdin;
var _stderr;
__ATINIT__ = __ATINIT__.concat([
{ func: function() { __GLOBAL__I_a() } }
]);
var ___dso_handle;
var __ZTVSt9exception;
var __ZTVN10__cxxabiv120__si_class_type_infoE;
var __ZTVN10__cxxabiv117__class_type_infoE;
var __ZTISt9exception;
var __ZNSt3__18ios_base4InitC1Ev;
var __ZNSt3__18ios_base4InitD1Ev;
var __ZNSt3__114__shared_countD1Ev;
var __ZNSt11logic_errorD1Ev;
var __ZNSt13runtime_errorC1EPKc;
var __ZNSt13runtime_errorD1Ev;
var __ZNSt12length_errorD1Ev;
var __ZNSt12length_errorD2Ev;
var __ZN12_GLOBAL__N_114__libcpp_nmstrD1Ev;
var __ZN12_GLOBAL__N_114__libcpp_nmstrC1EPKc;
var __ZNSt3__114error_categoryD1Ev;
var __ZNSt3__112system_errorD1Ev;
var __ZNSt3__18ios_base7failureC1EPKcRKNS_10error_codeE;
var __ZNSt3__18ios_base7failureD1Ev;
var __ZNSt3__18ios_baseD1Ev;
var __ZNSt3__16locale5__impC1Ej;
var __ZNSt3__16locale5__impD1Ev;
var __ZNSt3__16localeC1Ev;
var __ZNSt3__16localeC1ERKS0_;
var __ZNSt3__16localeD1Ev;
var __ZNSt3__16locale5facetD1Ev;
var __ZNSt3__15ctypeIwED1Ev;
var __ZNSt3__15ctypeIwED2Ev;
var __ZNSt3__15ctypeIcEC1EPKtbj;
var __ZNSt3__15ctypeIcED1Ev;
var __ZNSt3__17codecvtIcc10_mbstate_tED1Ev;
var __ZNSt3__17codecvtIcc10_mbstate_tED2Ev;
var __ZNSt3__17codecvtIwc10_mbstate_tEC1Ej;
var __ZNSt3__17codecvtIwc10_mbstate_tED1Ev;
var __ZNSt3__17codecvtIDsc10_mbstate_tED1Ev;
var __ZNSt3__17codecvtIDsc10_mbstate_tED2Ev;
var __ZNSt3__17codecvtIDic10_mbstate_tED1Ev;
var __ZNSt3__17codecvtIDic10_mbstate_tED2Ev;
var __ZNSt3__116__narrow_to_utf8ILj32EED1Ev;
var __ZNSt3__116__narrow_to_utf8ILj32EED2Ev;
var __ZNSt3__117__widen_from_utf8ILj32EED1Ev;
var __ZNSt3__117__widen_from_utf8ILj32EED2Ev;
var __ZNSt3__18numpunctIcEC1Ej;
var __ZNSt3__18numpunctIwEC1Ej;
var __ZNSt3__18numpunctIcED1Ev;
var __ZNSt3__18numpunctIwED1Ev;
var __ZNSt3__15tupleIJNS_12_GLOBAL__N_111__fake_bindEEEC1IJS2_ELb0EEEDpOT_;
var __ZNSt3__112__tuple_implINS_15__tuple_indicesIJLj0EEEEJNS_12_GLOBAL__N_111__fake_bindEEEC1IJLj0EEJS4_EJEJEJS4_EEENS1_IJXspT_EEEENS_13__tuple_typesIJDpT0_EEENS1_IJXspT1_EEEENS8_IJDpT2_EEEDpOT3_;
var __ZNSt3__117__call_once_paramINS_5tupleIJNS_12_GLOBAL__N_111__fake_bindEEEEEC1EOS4_;
var __ZNSt3__15tupleIJNS_12_GLOBAL__N_111__fake_bindEEEC1IS3_Lb0EEEOT_;
var __ZNSt3__112__tuple_implINS_15__tuple_indicesIJLj0EEEEJNS_12_GLOBAL__N_111__fake_bindEEEC1INS_5tupleIJS4_EEEvEEOT_;
var __ZNSt3__110unique_ptrINS_6locale5facetENS_12_GLOBAL__N_17releaseEED1Ev;
var __ZNSt3__110unique_ptrINS_6locale5facetENS_12_GLOBAL__N_17releaseEEC1EPS2_;
var __ZNSt3__117__compressed_pairIPNS_6locale5facetENS_12_GLOBAL__N_17releaseEEC1ES3_;
var __ZNSt3__112_GLOBAL__N_111__fake_bindC1EMNS_6locale2idEFvvEPS3_;
var __ZNSt8bad_castC1Ev;
var __ZNSt8bad_castD1Ev;
var __ZN10__cxxabiv117__class_type_infoD1Ev;
var __ZN10__cxxabiv117__class_type_infoD2Ev;
var __ZN10__cxxabiv120__si_class_type_infoD1Ev;
var __ZN10__cxxabiv120__si_class_type_infoD2Ev;
var __ZN10__cxxabiv121__vmi_class_type_infoD1Ev;
var __ZN10__cxxabiv121__vmi_class_type_infoD2Ev;
var __ZNSt9bad_allocC1Ev;
var __ZNSt9bad_allocD1Ev;
var _stdout = _stdout=allocate([0,0,0,0], "i8", ALLOC_STATIC);
var _stdin = _stdin=allocate([0,0,0,0], "i8", ALLOC_STATIC);
var _stderr = _stderr=allocate([0,0,0,0], "i8", ALLOC_STATIC);
__ZTVN10__cxxabiv120__si_class_type_infoE=allocate([0,0,0,0,192,45,80,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], "i8", ALLOC_STATIC);
__ZTVN10__cxxabiv117__class_type_infoE=allocate([0,0,0,0,204,45,80,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], "i8", ALLOC_STATIC);
/* memory initializer */ allocate([0,0,0,0,0,0,36,64,0,0,0,0,0,0,89,64,0,0,0,0,0,136,195,64,0,0,0,0,132,215,151,65,0,128,224,55,121,195,65,67,23,110,5,181,181,184,147,70,245,249,63,233,3,79,56,77,50,29,48,249,72,119,130,90,60,191,115,127,221,79,21,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,1,0,0,74,117,108,0,74,117,110,0,65,112,114,0,77,97,114,0,70,101,98,0,74,97,110,0,68,101,99,101,109,98,101,114,0,0,0,0,78,111,118,101,109,98,101,114,0,0,0,0,79,99,116,111,98,101,114,0,83,101,112,116,101,109,98,101,114,0,0,0,117,110,115,117,112,112,111,114,116,101,100,32,108,111,99,97,108,101,32,102,111,114,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,0,0,0,65,117,103,117,115,116,0,0,74,117,108,121,0,0,0,0,74,117,110,101,0,0,0,0,77,97,121,0,65,112,114,105,108,0,0,0,77,97,114,99,104,0,0,0,70,101,98,114,117,97,114,121,0,0,0,0,98,97,115,105,99,95,115,116,114,105,110,103,0,0,0,0,74,97,110,117,97,114,121,0,68,0,0,0,101,0,0,0,99,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,
0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,111,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,116,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,117,0,0,0,115,0,0,0,116,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,121,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,101,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,105,0,0,0,108,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,99,0,0,0,104,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,114,0,0,
0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,80,77,0,0,65,77,0,0,80,0,0,0,77,0,0,0,0,0,0,0,65,0,0,0,77,0,0,0,0,0,0,0,76,0,0,0,108,111,99,97,108,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,37,73,58,37,77,58,37,83,32,37,112,0,37,0,0,0,97,0,0,0,32,0,0,0,37,0,0,0,98,0,0,0,32,0,0,0,37,0,0,0,100,0,0,0,32,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,89,0,0,0,0,0,0,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,37,72,58,37,77,58,37,83,0,0,0,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,0,0,0,0,37,109,47,37,100,47,37,121,0,0,0,0,102,0,0,0,97,0,0,0,108,0,0,0,115,0,0,0,
101,0,0,0,0,0,0,0,102,97,108,115,101,0,0,0,116,0,0,0,114,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,116,114,117,101,0,0,0,0,58,32,0,0,108,108,0,0,37,112,0,0,105,111,115,95,98,97,115,101,58,58,99,108,101,97,114,0,67,0,0,0,118,101,99,116,111,114,0,0,37,46,48,76,102,0,0,0,105,111,115,116,114,101,97,109,0,0,0,0,109,111,110,101,121,95,103,101,116,32,101,114,114,111,114,0,115,116,100,58,58,98,97,100,95,99,97,115,116,0,0,0,83,97,116,0,70,114,105,0,37,76,102,0,84,104,117,0,87,101,100,0,84,117,101,0,77,111,110,0,83,117,110,0,83,97,116,117,114,100,97,121,0,0,0,0,70,114,105,100,97,121,0,0,84,104,117,114,115,100,97,121,0,0,0,0,87,101,100,110,101,115,100,97,121,0,0,0,84,117,101,115,100,97,121,0,108,0,0,0,77,111,110,100,97,121,0,0,83,117,110,100,97,121,0,0,83,0,0,0,97,0,0,0,116,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,0,0,0,0,117,110,115,112,101,99,105,102,105,101,100,32,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,32,101,114,114,111,114,
0,84,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,117,0,0,0,114,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,114,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,110,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,68,101,99,0,78,111,118,0,79,99,116,0,83,101,112,0,65,117,103,0,72,101,108,108,111,44,32,74,97,118,97,83,99,114,105,112,116,32,87,111,114,108,100,32,102,114,111,109,32,67,43,43,10,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,48,49,50,51,52,53,54,55,56,57,0,0,48,49,50,51,52,53,54,55,56,57,0,0,37,0,0,0,89,0,0,0,45,0,0,0,37,0,0,0,109,0,0,0,45,0,0,0,37,0,0,0,100,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,
0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,72,58,37,77,58,37,83,37,72,58,37,77,0,0,0,37,73,58,37,77,58,37,83,32,37,112,0,37,89,45,37,109,45,37,100,37,109,47,37,100,47,37,121,37,72,58,37,77,58,37,83,37,0,0,0,0,0,0,0,37,0,0,0,0,0,0,0,37,0,0,0,0,0,0,0,37,0,0,0,0,0,0,0,37,0,0,0,0,0,0,0,37,0,0,0,0,0,0,0,37,112,0,0,0,0,0,0,37,0,0,0,0,0,0,0,37,0,0,0,0,0,0,0,37,0,0,0,0,0,0,0,37,0,0,0,0,0,0,0,37,0,0,0,0,0,0,0,37,0,0,0,0,0,0,0,37,112,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,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,3,0,4,2,3,0,4,2,3,0,4,2,3,0,4,2,3,0,4,2,3,0,4,2,3,0,4,2,3,0,4,0,0,0,0,56,40,80,0,148,1,0,0,120,1,0,0,146,2,0,0,0,0,0,0,0,0,0,0,68,40,80,0,180,1,0,0,0,2,0,0,244,0,0,0,0,0,0,0,0,0,0,0,80,40,80,0,52,0,0,0,96,3,0,0,2,1,0,0,0,0,0,0,0,0,0,0,92,40,80,0,92,0,0,0,24,0,0,0,192,2,0,0,0,0,0,0,0,0,0,0,104,40,80,0,10,0,0,0,50,0,0,0,192,2,0,0,0,0,0,0,0,
0,0,0,124,40,80,0,8,2,0,0,8,1,0,0,146,0,0,0,54,2,0,0,62,0,0,0,0,0,0,0,0,0,0,0,156,40,80,0,10,3,0,0,64,2,0,0,146,0,0,0,44,3,0,0,130,0,0,0,0,0,0,0,0,0,0,0,188,40,80,0,254,1,0,0,68,2,0,0,146,0,0,0,56,2,0,0,64,3,0,0,0,0,0,0,0,0,0,0,220,40,80,0,86,3,0,0,192,1,0,0,146,0,0,0,42,2,0,0,122,2,0,0,0,0,0,0,0,0,0,0,252,40,80,0,94,1,0,0,42,3,0,0,0,0,0,0,0,0,0,0,8,41,80,0,190,2,0,0,130,1,0,0,0,0,0,0,0,0,0,0,116,41,80,0,74,3,0,0,46,0,0,0,146,0,0,0,150,0,0,0,0,0,0,0,0,0,0,0,148,41,80,0,252,1,0,0,104,1,0,0,146,0,0,0,208,0,0,0,0,0,0,0,0,0,0,0,180,41,80,0,112,0,0,0,106,1,0,0,146,0,0,0,236,2,0,0,30,0,0,0,82,0,0,0,38,0,0,0,240,0,0,0,238,2,0,0,16,1,0,0,248,255,255,255,180,41,80,0,142,0,0,0,58,0,0,0,216,0,0,0,98,0,0,0,12,0,0,0,202,0,0,0,14,3,0,0,0,0,0,0,0,0,0,0,220,41,80,0,56,3,0,0,248,2,0,0,146,0,0,0,138,0,0,0,160,0,0,0,16,3,0,0,206,1,0,0,200,0,0,0,22,0,0,0,216,2,0,0,248,255,255,255,220,41,80,0,176,1,0,0,160,2,0,0,218,2,0,0,0,3,0,0,126,1,0,0,28,1,0,0,72,1,0,0,0,0,0,0,0,0,0,0,4,42,80,0,18,2,0,0,76,2,0,0,146,0,0,0,52,1,0,0,12,1,0,0,
144,0,0,0,182,1,0,0,24,2,0,0,0,0,0,0,0,0,0,0,16,42,80,0,152,0,0,0,210,0,0,0,146,0,0,0,22,1,0,0,60,2,0,0,196,0,0,0,48,2,0,0,8,0,0,0,0,0,0,0,0,0,0,0,28,42,80,0,60,3,0,0,2,0,0,0,146,0,0,0,220,1,0,0,80,3,0,0,140,2,0,0,0,0,0,0,0,0,0,0,60,42,80,0,140,0,0,0,16,0,0,0,146,0,0,0,246,2,0,0,250,0,0,0,222,0,0,0,0,0,0,0,0,0,0,0,92,42,80,0,184,1,0,0,116,1,0,0,0,0,0,0,0,0,0,0,100,42,80,0,248,1,0,0,188,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,112,42,80,0,20,0,0,0,16,2,0,0,146,0,0,0,244,1,0,0,110,0,0,0,102,0,0,0,108,0,0,0,100,0,0,0,120,0,0,0,118,0,0,0,190,0,0,0,0,0,0,0,0,0,0,0,144,42,80,0,48,1,0,0,48,0,0,0,146,0,0,0,108,2,0,0,112,2,0,0,102,2,0,0,110,2,0,0,46,1,0,0,106,2,0,0,104,2,0,0,22,2,0,0,0,0,0,0,0,0,0,0,176,42,80,0,114,0,0,0,60,0,0,0,146,0,0,0,174,2,0,0,170,2,0,0,158,2,0,0,162,2,0,0,58,2,0,0,168,2,0,0,156,2,0,0,180,2,0,0,178,2,0,0,176,2,0,0,160,1,0,0,0,0,0,0,0,0,0,0,208,42,80,0,166,0,0,0,6,0,0,0,146,0,0,0,52,3,0,0,56,0,0,0,36,3,0,0,38,3,0,0,8,3,0,0,40,3,0,0,34,3,0,0,50,3,0,0,48,3,0,0,46,3,0,0,164,2,0,0,0,0,0,0,0,0,0,0,240,42,80,0,
238,0,0,0,30,1,0,0,146,0,0,0,156,1,0,0,98,2,0,0,108,1,0,0,0,0,0,0,0,0,0,0,252,42,80,0,76,0,0,0,26,2,0,0,146,0,0,0,90,2,0,0,206,2,0,0,54,0,0,0,0,0,0,0,0,0,0,0,8,43,80,0,180,0,0,0,168,1,0,0,146,0,0,0,94,2,0,0,172,0,0,0,88,2,0,0,124,0,0,0,124,1,0,0,136,0,0,0,214,1,0,0,0,0,0,0,0,0,0,0,40,43,80,0,18,3,0,0,194,0,0,0,146,0,0,0,66,0,0,0,96,1,0,0,204,0,0,0,182,2,0,0,138,2,0,0,50,1,0,0,132,2,0,0,0,0,0,0,0,0,0,0,72,43,80,0,164,0,0,0,174,1,0,0,146,0,0,0,76,3,0,0,174,0,0,0,90,0,0,0,82,3,0,0,34,1,0,0,36,1,0,0,134,0,0,0,0,0,0,0,0,0,0,0,104,43,80,0,218,0,0,0,222,1,0,0,146,0,0,0,140,1,0,0,146,1,0,0,120,2,0,0,232,0,0,0,208,1,0,0,182,0,0,0,144,1,0,0,0,0,0,0,0,0,0,0,136,43,80,0,158,0,0,0,94,0,0,0,146,0,0,0,0,0,0,0,0,0,0,0,148,43,80,0,178,1,0,0,234,1,0,0,146,0,0,0,0,0,0,0,0,0,0,0,160,43,80,0,78,3,0,0,0,1,0,0,146,0,0,0,196,1,0,0,224,0,0,0,138,1,0,0,172,2,0,0,228,0,0,0,124,2,0,0,80,2,0,0,72,0,0,0,148,0,0,0,222,2,0,0,78,1,0,0,230,0,0,0,0,0,0,0,0,0,0,0,192,43,80,0,246,0,0,0,106,0,0,0,146,0,0,0,32,0,0,0,64,0,0,0,162,1,0,0,214,2,0,0,
176,0,0,0,166,1,0,0,2,2,0,0,142,1,0,0,0,0,0,0,0,0,0,0,224,43,80,0,142,0,0,0,58,0,0,0,216,0,0,0,98,0,0,0,12,0,0,0,202,0,0,0,14,3,0,0,0,0,0,0,0,0,0,0,232,43,80,0,176,1,0,0,160,2,0,0,218,2,0,0,0,3,0,0,126,1,0,0,28,1,0,0,72,1,0,0,0,0,0,0,0,0,0,0,240,43,80,0,214,0,0,0,240,2,0,0,240,1,0,0,130,2,0,0,128,1,0,0,208,2,0,0,194,2,0,0,0,0,0,0,0,0,0,0,252,43,80,0,4,2,0,0,10,1,0,0,146,0,0,0,140,1,0,0,146,1,0,0,120,2,0,0,232,0,0,0,208,1,0,0,182,0,0,0,144,1,0,0,0,0,0,0,0,0,0,0,8,44,80,0,100,3,0,0,210,1,0,0,146,0,0,0,140,1,0,0,146,1,0,0,120,2,0,0,232,0,0,0,208,1,0,0,182,0,0,0,144,1,0,0,0,0,0,0,0,0,0,0,20,44,80,0,152,1,0,0,26,3,0,0,244,2,0,0,218,1,0,0,40,1,0,0,52,2,0,0,82,2,0,0,150,2,0,0,186,2,0,0,186,0,0,0,168,0,0,0,156,0,0,0,28,0,0,0,72,2,0,0,0,0,0,0,0,0,0,0,28,44,80,0,26,0,0,0,122,1,0,0,78,2,0,0,4,3,0,0,254,2,0,0,110,1,0,0,54,1,0,0,66,2,0,0,158,1,0,0,42,0,0,0,74,0,0,0,28,3,0,0,134,1,0,0,252,2,0,0,0,0,0,0,0,0,0,0,36,44,80,0,204,1,0,0,100,2,0,0,74,2,0,0,130,2,0,0,128,1,0,0,208,2,0,0,74,2,0,0,0,0,0,0,0,0,0,0,44,44,80,0,166,2,0,
0,70,3,0,0,74,2,0,0,0,0,0,0,4,0,0,0,0,0,0,0,76,44,80,0,132,0,0,0,200,2,0,0,252,255,255,255,252,255,255,255,76,44,80,0,200,1,0,0,150,1,0,0,0,0,0,0,4,0,0,0,0,0,0,0,100,44,80,0,230,2,0,0,30,3,0,0,252,255,255,255,252,255,255,255,100,44,80,0,98,1,0,0,126,2,0,0,0,0,0,0,8,0,0,0,0,0,0,0,124,44,80,0,20,1,0,0,98,3,0,0,248,255,255,255,248,255,255,255,124,44,80,0,38,2,0,0,22,3,0,0,0,0,0,0,8,0,0,0,0,0,0,0,148,44,80,0,92,1,0,0,154,2,0,0,248,255,255,255,248,255,255,255,148,44,80,0,186,1,0,0,162,0,0,0,0,0,0,0,0,0,0,0,172,44,80,0,224,1,0,0,40,2,0,0,2,1,0,0,0,0,0,0,0,0,0,0,192,44,80,0,80,1,0,0,92,2,0,0,74,2,0,0,130,2,0,0,128,1,0,0,208,2,0,0,96,0,0,0,0,0,0,0,0,0,0,0,204,44,80,0,62,3,0,0,44,2,0,0,44,0,0,0,218,1,0,0,40,1,0,0,52,2,0,0,82,1,0,0,150,2,0,0,186,2,0,0,186,0,0,0,168,0,0,0,156,0,0,0,28,0,0,0,32,3,0,0,0,0,0,0,0,0,0,0,216,44,80,0,226,1,0,0,32,2,0,0,112,1,0,0,4,3,0,0,254,2,0,0,110,1,0,0,84,2,0,0,66,2,0,0,158,1,0,0,42,0,0,0,74,0,0,0,28,3,0,0,134,1,0,0,70,1,0,0,0,0,0,0,0,0,0,0,4,45,80,0,242,2,0,0,198,1,0,0,146,0,0,0,172,1,0,
0,224,2,0,0,246,1,0,0,72,3,0,0,70,0,0,0,66,1,0,0,64,1,0,0,254,0,0,0,164,1,0,0,0,0,0,0,0,0,0,0,36,45,80,0,86,1,0,0,178,0,0,0,146,0,0,0,204,2,0,0,212,2,0,0,148,2,0,0,234,0,0,0,6,3,0,0,24,1,0,0,210,2,0,0,28,2,0,0,170,0,0,0,0,0,0,0,0,0,0,0,68,45,80,0,250,2,0,0,118,1,0,0,146,0,0,0,122,0,0,0,114,1,0,0,250,1,0,0,230,1,0,0,84,3,0,0,30,2,0,0,118,2,0,0,50,2,0,0,88,1,0,0,0,0,0,0,0,0,0,0,100,45,80,0,248,0,0,0,12,2,0,0,146,0,0,0,152,2,0,0,184,2,0,0,60,1,0,0,220,2,0,0,32,1,0,0,236,0,0,0,242,1,0,0,198,2,0,0,188,2,0,0,0,0,0,0,0,0,0,0,156,45,80,0,96,2,0,0,220,0,0,0,126,0,0,0,218,1,0,0,40,1,0,0,52,2,0,0,82,2,0,0,150,2,0,0,186,2,0,0,188,1,0,0,46,2,0,0,206,0,0,0,28,0,0,0,72,2,0,0,0,0,0,0,0,0,0,0,168,45,80,0,36,0,0,0,232,2,0,0,142,2,0,0,4,3,0,0,254,2,0,0,110,1,0,0,54,1,0,0,66,2,0,0,158,1,0,0,128,2,0,0,154,0,0,0,40,0,0,0,134,1,0,0,252,2,0,0,0,0,0,0,0,0,0,0,180,45,80,0,100,1,0,0,116,2,0,0,198,0,0,0,216,1,0,0,242,0,0,0,86,0,0,0,226,2,0,0,68,1,0,0,0,0,0,0,16,26,80,0,36,26,80,0,60,26,80,0,80,26,80,0,104,26,80,0,124,26,80,0,148,26,80,
0,168,26,80,0,83,116,57,116,121,112,101,95,105,110,102,111,0,0,0,0,83,116,57,98,97,100,95,97,108,108,111,99,0,0,0,0,83,116,56,98,97,100,95,99,97,115,116,0,83,116,49,51,114,117,110,116,105,109,101,95,101,114,114,111,114,0,0,0,83,116,49,50,108,101,110,103,116,104,95,101,114,114,111,114,0,0,0,0,83,116,49,49,108,111,103,105,99,95,101,114,114,111,114,0,78,83,116,51,95,95,49,57,116,105,109,101,95,98,97,115,101,69,0,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,
102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,0,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,0,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,119,69,69,0,0,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,99,69,69,0,0,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,119,69,69,0,0,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,99,69,69,0,0,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,
73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,119,69,69,0,0,0,0,78,83,116,51,95,95,49,56,110,
117,109,112,117,110,99,116,73,99,69,69,0,0,0,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,119,69,69,0,0,0,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,99,69,69,0,0,0,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,69,0,0,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,55,102,97,105,108,117,114,101,69,0,0,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,
116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,119,69,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,99,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,119,99,49,48,95,109,98,115,116,97,116,101,95,116,69,69,0,0,0,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,99,99,49,48,95,109,98,115,116,97,116,101,95,116,69,69,0,0,0,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,115,99,49,48,95,109,98,115,116,97,116,101,95,116,69,69,0,0,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,105,99,49,48,95,109,98,115,116,97,116,101,95,116,69,69,0,0,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,102,97,99,101,116,69,0,0,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,95,95,105,109,112,69,0,0,0,78,
83,116,51,95,95,49,53,99,116,121,112,101,73,119,69,69,0,0,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,99,69,69,0,0,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,119,69,69,0,0,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,99,69,69,0,0,0,78,83,116,51,95,95,49,49,57,95,95,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,69,0,0,0,78,83,116,51,95,95,49,49,55,95,95,119,105,100,101,110,95,102,114,111,109,95,117,116,102,56,73,76,106,51,50,69,69,69,0,0,78,83,116,51,95,95,49,49,54,95,95,110,97,114,114,111,119,95,116,111,95,117,116,102,56,73,76,106,51,50,69,69,69,0,0,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,0,0,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,
99,69,69,69,69,0,0,0,0,78,83,116,51,95,95,49,49,52,101,114,114,111,114,95,99,97,116,101,103,111,114,121,69,0,0,0,0,78,83,116,51,95,95,49,49,52,95,95,115,104,97,114,101,100,95,99,111,117,110,116,69,0,0,0,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,112,117,116,95,98,97,115,101,69,0,0,0,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,103,101,116,95,98,97,115,101,69,0,0,0,0,78,83,116,51,95,95,49,49,51,109,101,115,115,97,103,101,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,99,
78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,0,78,83,116,51,95,95,49,49,50,115,121,115,116,101,109,95,101,114,114,111,114,69,0,0,78,83,116,51,95,95,49,49,50,99,111,100,101,99,118,116,95,98,97,115,101,69,0,0,78,83,116,51,95,95,49,49,50,95,95,100,111,95,109,101,115,115,97,103,101,69,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,119,69,69,0,0,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,99,69,69,0,0,0,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,119,69,69,0,0,0,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,99,69,69,0,0,0,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,119,69,69,0,0,0,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,99,69,69,0,0,0,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,49,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,
98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,49,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,95,98,97,115,101,69,0,0,0,0,78,83,116,51,95,95,49,49,48,99,116,121,112,101,95,98,97,115,101,69,0,0,0,0,78,83,116,51,95,95,49,49,48,95,95,116,105,109,101,95,112,117,116,69,0,0,0,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,119,69,69,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,99,69,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116].concat([121,112,101,95,105,110,102,111,69,0,0,0,78,49,48,95,95,99,120,120,97,98,105,
118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,0,0,0,0,64,29,80,0,0,0,0,0,80,29,80,0,0,0,0,0,0,0,0,0,96,29,80,0,0,0,0,0,0,0,0,0,108,29,80,0,0,0,0,0,0,0,0,0,128,29,80,0,104,40,80,0,0,0,0,0,148,29,80,0,0,0,0,0,0,0,0,0,164,29,80,0,252,28,80,0,184,29,80,0,0,0,0,0,2,0,0,0,136,43,80,0,2,0,0,0,228,44,80,0,0,0,0,0,252,28,80,0,0,30,80,0,0,0,0,0,2,0,0,0,136,43,80,0,2,0,0,0,236,44,80,0,0,0,0,0,252,28,80,0,72,30,80,0,0,0,0,0,2,0,0,0,136,43,80,0,2,0,0,0,244,44,80,0,0,0,0,0,252,28,80,0,144,30,80,0,0,0,0,0,2,0,0,0,136,43,80,0,2,0,0,0,252,44,80,0,0,0,0,0,0,0,0,0,216,30,80,0,92,42,80,0,0,0,0,0,4,31,80,0,92,42,80,0,252,28,80,0,48,31,80,0,0,0,0,0,1,0,0,0,52,44,80,0,0,0,0,0,252,28,80,0,72,31,80,0,0,0,0,0,1,0,0,0,52,44,80,0,0,0,0,0,252,28,80,0,96,31,80,0,0,0,0,0,1,0,0,0,60,44,80,0,0,0,0,0,252,28,80,0,120,31,80,0,0,0,0,0,1,0,0,0,60,44,80,0,0,0,0,0,252,28,80,0,144,31,80,0,0,0,0,0,2,0,0,0,136,43,80,0,2,0,0,0,148,45,80,0,0,8,0,0,252,28,80,0,216,31,80,0,0,0,0,0,2,0,0,0,136,43,80,0,2,0,0,0,148,45,
80,0,0,8,0,0,252,28,80,0,32,32,80,0,0,0,0,0,3,0,0,0,136,43,80,0,2,0,0,0,116,40,80,0,2,0,0,0,224,43,80,0,0,8,0,0,252,28,80,0,104,32,80,0,0,0,0,0,3,0,0,0,136,43,80,0,2,0,0,0,116,40,80,0,2,0,0,0,232,43,80,0,0,8,0,0,0,0,0,0,176,32,80,0,136,43,80,0,0,0,0,0,200,32,80,0,136,43,80,0,252,28,80,0,224,32,80,0,0,0,0,0,2,0,0,0,136,43,80,0,2,0,0,0,68,44,80,0,2,0,0,0,252,28,80,0,248,32,80,0,0,0,0,0,2,0,0,0,136,43,80,0,2,0,0,0,68,44,80,0,2,0,0,0,0,0,0,0,16,33,80,0,0,0,0,0,36,33,80,0,172,44,80,0,252,28,80,0,64,33,80,0,0,0,0,0,2,0,0,0,136,43,80,0,2,0,0,0,20,41,80,0,0,0,0,0,252,28,80,0,132,33,80,0,0,0,0,0,2,0,0,0,136,43,80,0,2,0,0,0,44,41,80,0,0,0,0,0,252,28,80,0,200,33,80,0,0,0,0,0,2,0,0,0,136,43,80,0,2,0,0,0,68,41,80,0,0,0,0,0,252,28,80,0,12,34,80,0,0,0,0,0,2,0,0,0,136,43,80,0,2,0,0,0,92,41,80,0,0,0,0,0,0,0,0,0,80,34,80,0,136,43,80,0,0,0,0,0,100,34,80,0,136,43,80,0,252,28,80,0,120,34,80,0,0,0,0,0,2,0,0,0,136,43,80,0,2,0,0,0,184,44,80,0,2,0,0,0,252,28,80,0,156,34,80,0,0,0,0,0,2,0,0,0,136,43,80,0,2,0,0,0,184,44,80,0,2,0,0,0,
252,28,80,0,192,34,80,0,0,0,0,0,2,0,0,0,136,43,80,0,2,0,0,0,184,44,80,0,2,0,0,0,252,28,80,0,228,34,80,0,0,0,0,0,2,0,0,0,136,43,80,0,2,0,0,0,184,44,80,0,2,0,0,0,0,0,0,0,8,35,80,0,44,44,80,0,0,0,0,0,32,35,80,0,136,43,80,0,252,28,80,0,56,35,80,0,0,0,0,0,2,0,0,0,136,43,80,0,2,0,0,0,140,45,80,0,2,0,0,0,252,28,80,0,76,35,80,0,0,0,0,0,2,0,0,0,136,43,80,0,2,0,0,0,140,45,80,0,2,0,0,0,0,0,0,0,96,35,80,0,0,0,0,0,132,35,80,0,0,0,0,0,168,35,80,0,192,44,80,0,0,0,0,0,200,35,80,0,104,43,80,0,0,0,0,0,236,35,80,0,104,43,80,0,0,0,0,0,16,36,80,0,0,0,0,0,68,36,80,0,0,0,0,0,120,36,80,0,0,0,0,0,148,36,80,0,0,0,0,0,176,36,80,0,0,0,0,0,204,36,80,0,0,0,0,0,232,36,80,0,252,28,80,0,0,37,80,0,0,0,0,0,1,0,0,0,252,40,80,0,3,244,255,255,252,28,80,0,48,37,80,0,0,0,0,0,1,0,0,0,8,41,80,0,3,244,255,255,252,28,80,0,96,37,80,0,0,0,0,0,1,0,0,0,252,40,80,0,3,244,255,255,252,28,80,0,144,37,80,0,0,0,0,0,1,0,0,0,8,41,80,0,3,244,255,255,0,0,0,0,192,37,80,0,80,40,80,0,0,0,0,0,216,37,80,0,0,0,0,0,240,37,80,0,36,44,80,0,0,0,0,0,8,38,80,0,20,44,80,0,0,0,0,
0,36,38,80,0,28,44,80,0,0,0,0,0,64,38,80,0,0,0,0,0,92,38,80,0,0,0,0,0,120,38,80,0,0,0,0,0,148,38,80,0,252,28,80,0,176,38,80,0,0,0,0,0,2,0,0,0,136,43,80,0,2,0,0,0,132,45,80,0,2,0,0,0,252,28,80,0,204,38,80,0,0,0,0,0,2,0,0,0,136,43,80,0,2,0,0,0,132,45,80,0,2,0,0,0,252,28,80,0,232,38,80,0,0,0,0,0,2,0,0,0,136,43,80,0,2,0,0,0,132,45,80,0,2,0,0,0,252,28,80,0,4,39,80,0,0,0,0,0,2,0,0,0,136,43,80,0,2,0,0,0,132,45,80,0,2,0,0,0,0,0,0,0,32,39,80,0,0,0,0,0,56,39,80,0,0,0,0,0,80,39,80,0,0,0,0,0,104,39,80,0,20,44,80,0,0,0,0,0,128,39,80,0,28,44,80,0,0,0,0,0,152,39,80,0,204,45,80,0,0,0,0,0,192,39,80,0,204,45,80,0,0,0,0,0,232,39,80,0,216,45,80,0,0,0,0,0,12,40,80,0,48,40,80,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,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,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,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,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,255,255,255,255,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,65,66,67,68,69,70,120,88,43,45,112,80,105,73,110,78,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,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,,,,,0,0,0,0])
, "i8", ALLOC_NONE, TOTAL_STACK)
function runPostSets() {
HEAP32[(((__ZTVN10__cxxabiv120__si_class_type_infoE)+(8))>>2)]=(358);
HEAP32[(((__ZTVN10__cxxabiv120__si_class_type_infoE)+(12))>>2)]=(410);
HEAP32[(((__ZTVN10__cxxabiv120__si_class_type_infoE)+(16))>>2)]=(198);
HEAP32[(((__ZTVN10__cxxabiv120__si_class_type_infoE)+(20))>>2)]=(472);
HEAP32[(((__ZTVN10__cxxabiv120__si_class_type_infoE)+(24))>>2)]=(242);
HEAP32[(((__ZTVN10__cxxabiv120__si_class_type_infoE)+(28))>>2)]=(128);
HEAP32[(((__ZTVN10__cxxabiv120__si_class_type_infoE)+(32))>>2)]=(282);
HEAP32[(((__ZTVN10__cxxabiv120__si_class_type_infoE)+(36))>>2)]=(318);
HEAP32[(((__ZTVN10__cxxabiv117__class_type_infoE)+(8))>>2)]=(546);
HEAP32[(((__ZTVN10__cxxabiv117__class_type_infoE)+(12))>>2)]=(826);
HEAP32[(((__ZTVN10__cxxabiv117__class_type_infoE)+(16))>>2)]=(198);
HEAP32[(((__ZTVN10__cxxabiv117__class_type_infoE)+(20))>>2)]=(472);
HEAP32[(((__ZTVN10__cxxabiv117__class_type_infoE)+(24))>>2)]=(242);
HEAP32[(((__ZTVN10__cxxabiv117__class_type_infoE)+(28))>>2)]=(646);
HEAP32[(((__ZTVN10__cxxabiv117__class_type_infoE)+(32))>>2)]=(312);
HEAP32[(((__ZTVN10__cxxabiv117__class_type_infoE)+(36))>>2)]=(492);
HEAP32[((5253168)>>2)]=(((__ZTVN10__cxxabiv117__class_type_infoE+8)|0));
HEAP32[((5253176)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5253184)>>2)]=__ZTISt9exception;
HEAP32[((5253188)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5253196)>>2)]=__ZTISt9exception;
HEAP32[((5253200)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5253208)>>2)]=__ZTISt9exception;
HEAP32[((5253212)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5253224)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5253232)>>2)]=__ZTISt9exception;
HEAP32[((5253236)>>2)]=(((__ZTVN10__cxxabiv117__class_type_infoE+8)|0));
HEAP32[((5253372)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5253384)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5253636)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5253648)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5253724)>>2)]=(((__ZTVN10__cxxabiv117__class_type_infoE+8)|0));
HEAP32[((5253732)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5253872)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5253884)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5254024)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5254036)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5254112)>>2)]=(((__ZTVN10__cxxabiv117__class_type_infoE+8)|0));
HEAP32[((5254120)>>2)]=(((__ZTVN10__cxxabiv117__class_type_infoE+8)|0));
HEAP32[((5254128)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5254140)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5254152)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5254164)>>2)]=(((__ZTVN10__cxxabiv117__class_type_infoE+8)|0));
HEAP32[((5254172)>>2)]=(((__ZTVN10__cxxabiv117__class_type_infoE+8)|0));
HEAP32[((5254180)>>2)]=(((__ZTVN10__cxxabiv117__class_type_infoE+8)|0));
HEAP32[((5254188)>>2)]=(((__ZTVN10__cxxabiv117__class_type_infoE+8)|0));
HEAP32[((5254196)>>2)]=(((__ZTVN10__cxxabiv117__class_type_infoE+8)|0));
HEAP32[((5254204)>>2)]=(((__ZTVN10__cxxabiv117__class_type_infoE+8)|0));
HEAP32[((5254212)>>2)]=(((__ZTVN10__cxxabiv117__class_type_infoE+8)|0));
HEAP32[((5254316)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5254328)>>2)]=(((__ZTVN10__cxxabiv117__class_type_infoE+8)|0));
HEAP32[((5254336)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5254348)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5254360)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5254372)>>2)]=(((__ZTVN10__cxxabiv117__class_type_infoE+8)|0));
HEAP32[((5254380)>>2)]=(((__ZTVN10__cxxabiv117__class_type_infoE+8)|0));
HEAP32[((5254388)>>2)]=(((__ZTVN10__cxxabiv117__class_type_infoE+8)|0));
HEAP32[((5254396)>>2)]=(((__ZTVN10__cxxabiv117__class_type_infoE+8)|0));
HEAP32[((5254532)>>2)]=(((__ZTVN10__cxxabiv117__class_type_infoE+8)|0));
HEAP32[((5254540)>>2)]=(((__ZTVN10__cxxabiv117__class_type_infoE+8)|0));
HEAP32[((5254548)>>2)]=(((__ZTVN10__cxxabiv117__class_type_infoE+8)|0));
HEAP32[((5254556)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5254568)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5254580)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5254592)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5254604)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5254616)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
__ZNSt3__18ios_base4InitC1Ev = 714;
__ZNSt3__18ios_base4InitD1Ev = 450;
__ZNSt3__114__shared_countD1Ev = 494;
__ZNSt11logic_errorD1Ev = 294;
__ZNSt13runtime_errorC1EPKc = 488;
__ZNSt13runtime_errorD1Ev = 226;
__ZNSt12length_errorD1Ev = 340;
__ZNSt12length_errorD2Ev = (294);
__ZN12_GLOBAL__N_114__libcpp_nmstrD1Ev = 426;
__ZN12_GLOBAL__N_114__libcpp_nmstrC1EPKc = 84;
__ZNSt3__114error_categoryD1Ev = 314;
__ZNSt3__112system_errorD1Ev = 656;
__ZNSt3__18ios_base7failureC1EPKcRKNS_10error_codeE = 446;
__ZNSt3__18ios_base7failureD1Ev = 78;
__ZNSt3__18ios_baseD1Ev = 740;
__ZNSt3__16locale5__impC1Ej = 574;
__ZNSt3__16locale5__impD1Ev = 184;
__ZNSt3__16localeC1Ev = 746;
__ZNSt3__16localeC1ERKS0_ = 332;
__ZNSt3__16localeD1Ev = 458;
__ZNSt3__16locale5facetD1Ev = 548;
__ZNSt3__15ctypeIwED1Ev = 582;
__ZNSt3__15ctypeIwED2Ev = (548);
__ZNSt3__15ctypeIcEC1EPKtbj = 792;
__ZNSt3__15ctypeIcED1Ev = 862;
__ZNSt3__17codecvtIcc10_mbstate_tED1Ev = 532;
__ZNSt3__17codecvtIcc10_mbstate_tED2Ev = (548);
__ZNSt3__17codecvtIwc10_mbstate_tEC1Ej = 346;
__ZNSt3__17codecvtIwc10_mbstate_tED1Ev = 770;
__ZNSt3__17codecvtIDsc10_mbstate_tED1Ev = 858;
__ZNSt3__17codecvtIDsc10_mbstate_tED2Ev = (548);
__ZNSt3__17codecvtIDic10_mbstate_tED1Ev = 836;
__ZNSt3__17codecvtIDic10_mbstate_tED2Ev = (548);
__ZNSt3__116__narrow_to_utf8ILj32EED1Ev = 262;
__ZNSt3__116__narrow_to_utf8ILj32EED2Ev = (836);
__ZNSt3__117__widen_from_utf8ILj32EED1Ev = 788;
__ZNSt3__117__widen_from_utf8ILj32EED2Ev = (836);
__ZNSt3__18numpunctIcEC1Ej = 708;
__ZNSt3__18numpunctIwEC1Ej = 80;
__ZNSt3__18numpunctIcED1Ev = 192;
__ZNSt3__18numpunctIwED1Ev = 252;
__ZNSt3__15tupleIJNS_12_GLOBAL__N_111__fake_bindEEEC1IJS2_ELb0EEEDpOT_ = 4;
__ZNSt3__112__tuple_implINS_15__tuple_indicesIJLj0EEEEJNS_12_GLOBAL__N_111__fake_bindEEEC1IJLj0EEJS4_EJEJEJS4_EEENS1_IJXspT_EEEENS_13__tuple_typesIJDpT0_EEENS1_IJXspT1_EEEENS8_IJDpT2_EEEDpOT3_ = 330;
__ZNSt3__117__call_once_paramINS_5tupleIJNS_12_GLOBAL__N_111__fake_bindEEEEEC1EOS4_ = 780;
__ZNSt3__15tupleIJNS_12_GLOBAL__N_111__fake_bindEEEC1IS3_Lb0EEEOT_ = 14;
__ZNSt3__112__tuple_implINS_15__tuple_indicesIJLj0EEEEJNS_12_GLOBAL__N_111__fake_bindEEEC1INS_5tupleIJS4_EEEvEEOT_ = 212;
__ZNSt3__110unique_ptrINS_6locale5facetENS_12_GLOBAL__N_17releaseEED1Ev = 484;
__ZNSt3__110unique_ptrINS_6locale5facetENS_12_GLOBAL__N_17releaseEEC1EPS2_ = 526;
__ZNSt3__117__compressed_pairIPNS_6locale5facetENS_12_GLOBAL__N_17releaseEEC1ES3_ = 104;
__ZNSt3__112_GLOBAL__N_111__fake_bindC1EMNS_6locale2idEFvvEPS3_ = 18;
__ZNSt8bad_castC1Ev = 116;
__ZNSt8bad_castD1Ev = 626;
__ZN10__cxxabiv117__class_type_infoD1Ev = 274;
__ZN10__cxxabiv117__class_type_infoD2Ev = (834);
__ZN10__cxxabiv120__si_class_type_infoD1Ev = 856;
__ZN10__cxxabiv120__si_class_type_infoD2Ev = (274);
__ZN10__cxxabiv121__vmi_class_type_infoD1Ev = 68;
__ZN10__cxxabiv121__vmi_class_type_infoD2Ev = (274);
__ZNSt9bad_allocC1Ev = 648;
__ZNSt9bad_allocD1Ev = 88;
}
if (!awaitingMemoryInitializer) runPostSets();
function ___gxx_personality_v0() {
}
function __exit(status) {
// void _exit(int status);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html
function ExitStatus() {
this.name = "ExitStatus";
this.message = "Program terminated with exit(" + status + ")";
this.status = status;
Module.print('Exit Status: ' + status);
};
ExitStatus.prototype = new Error();
ExitStatus.prototype.constructor = ExitStatus;
exitRuntime();
ABORT = true;
throw new ExitStatus();
}function _exit(status) {
__exit(status);
}function __ZSt9terminatev() {
_exit(-1234);
}
function __ZSt18uncaught_exceptionv() { // std::uncaught_exception()
return !!__ZSt18uncaught_exceptionv.uncaught_exception;
}function ___cxa_begin_catch(ptr) {
__ZSt18uncaught_exceptionv.uncaught_exception--;
return ptr;
}
function _llvm_eh_exception() {
return HEAP32[((_llvm_eh_exception.buf)>>2)];
}
function ___cxa_free_exception(ptr) {
return _free(ptr);
}function ___cxa_end_catch() {
if (___cxa_end_catch.rethrown) {
___cxa_end_catch.rethrown = false;
return;
}
// Clear state flag.
__THREW__ = 0;
// Clear type.
HEAP32[(((_llvm_eh_exception.buf)+(4))>>2)]=0
// Call destructor if one is registered then clear it.
var ptr = HEAP32[((_llvm_eh_exception.buf)>>2)];
var destructor = HEAP32[(((_llvm_eh_exception.buf)+(8))>>2)];
if (destructor) {
Runtime.dynCall('vi', destructor, [ptr]);
HEAP32[(((_llvm_eh_exception.buf)+(8))>>2)]=0
}
// Free ptr if it isn't null.
if (ptr) {
___cxa_free_exception(ptr);
HEAP32[((_llvm_eh_exception.buf)>>2)]=0
}
}
function ___cxa_call_unexpected(exception) {
Module.printErr('Unexpected exception thrown, this is not properly supported - aborting');
ABORT = true;
throw exception;
}
function _memcpy(dest, src, num) {
dest = dest|0; src = src|0; num = num|0;
var ret = 0;
ret = dest|0;
if ((dest&3) == (src&3)) {
while (dest & 3) {
if ((num|0) == 0) return ret|0;
HEAP8[(dest)]=HEAP8[(src)];
dest = (dest+1)|0;
src = (src+1)|0;
num = (num-1)|0;
}
while ((num|0) >= 4) {
HEAP32[((dest)>>2)]=HEAP32[((src)>>2)];
dest = (dest+4)|0;
src = (src+4)|0;
num = (num-4)|0;
}
}
while ((num|0) > 0) {
HEAP8[(dest)]=HEAP8[(src)];
dest = (dest+1)|0;
src = (src+1)|0;
num = (num-1)|0;
}
return ret|0;
}var _llvm_memcpy_p0i8_p0i8_i32=_memcpy;
function _strlen(ptr) {
ptr = ptr|0;
var curr = 0;
curr = ptr;
while (HEAP8[(curr)]|0 != 0) {
curr = (curr + 1)|0;
}
return (curr - ptr)|0;
}
function _pthread_mutex_lock() {}
function _pthread_mutex_unlock() {}
function ___cxa_guard_acquire(variable) {
if (!HEAP8[(variable)]) { // ignore SAFE_HEAP stuff because llvm mixes i64 and i8 here
HEAP8[(variable)]=1;
return 1;
}
return 0;
}
function ___cxa_guard_abort() {}
function ___cxa_guard_release() {}
function _pthread_cond_broadcast() {
return 0;
}
function _pthread_cond_wait() {
return 0;
}
function _atexit(func, arg) {
__ATEXIT__.unshift({ func: func, arg: arg });
}var ___cxa_atexit=_atexit;
function ___cxa_allocate_exception(size) {
return _malloc(size);
}
function ___cxa_is_number_type(type) {
var isNumber = false;
try { if (type == __ZTIi) isNumber = true } catch(e){}
try { if (type == __ZTIj) isNumber = true } catch(e){}
try { if (type == __ZTIl) isNumber = true } catch(e){}
try { if (type == __ZTIm) isNumber = true } catch(e){}
try { if (type == __ZTIx) isNumber = true } catch(e){}
try { if (type == __ZTIy) isNumber = true } catch(e){}
try { if (type == __ZTIf) isNumber = true } catch(e){}
try { if (type == __ZTId) isNumber = true } catch(e){}
try { if (type == __ZTIe) isNumber = true } catch(e){}
try { if (type == __ZTIc) isNumber = true } catch(e){}
try { if (type == __ZTIa) isNumber = true } catch(e){}
try { if (type == __ZTIh) isNumber = true } catch(e){}
try { if (type == __ZTIs) isNumber = true } catch(e){}
try { if (type == __ZTIt) isNumber = true } catch(e){}
return isNumber;
}function ___cxa_does_inherit(definiteType, possibilityType, possibility) {
if (possibility == 0) return false;
if (possibilityType == 0 || possibilityType == definiteType)
return true;
var possibility_type_info;
if (___cxa_is_number_type(possibilityType)) {
possibility_type_info = possibilityType;
} else {
var possibility_type_infoAddr = HEAP32[((possibilityType)>>2)] - 8;
possibility_type_info = HEAP32[((possibility_type_infoAddr)>>2)];
}
switch (possibility_type_info) {
case 0: // possibility is a pointer
// See if definite type is a pointer
var definite_type_infoAddr = HEAP32[((definiteType)>>2)] - 8;
var definite_type_info = HEAP32[((definite_type_infoAddr)>>2)];
if (definite_type_info == 0) {
// Also a pointer; compare base types of pointers
var defPointerBaseAddr = definiteType+8;
var defPointerBaseType = HEAP32[((defPointerBaseAddr)>>2)];
var possPointerBaseAddr = possibilityType+8;
var possPointerBaseType = HEAP32[((possPointerBaseAddr)>>2)];
return ___cxa_does_inherit(defPointerBaseType, possPointerBaseType, possibility);
} else
return false; // one pointer and one non-pointer
case 1: // class with no base class
return false;
case 2: // class with base class
var parentTypeAddr = possibilityType + 8;
var parentType = HEAP32[((parentTypeAddr)>>2)];
return ___cxa_does_inherit(definiteType, parentType, possibility);
default:
return false; // some unencountered type
}
}
function ___resumeException(ptr) {
if (HEAP32[((_llvm_eh_exception.buf)>>2)] == 0) HEAP32[((_llvm_eh_exception.buf)>>2)]=ptr;
throw ptr;;
}function ___cxa_find_matching_catch(thrown, throwntype) {
if (thrown == -1) thrown = HEAP32[((_llvm_eh_exception.buf)>>2)];
if (throwntype == -1) throwntype = HEAP32[(((_llvm_eh_exception.buf)+(4))>>2)];
var typeArray = Array.prototype.slice.call(arguments, 2);
// If throwntype is a pointer, this means a pointer has been
// thrown. When a pointer is thrown, actually what's thrown
// is a pointer to the pointer. We'll dereference it.
if (throwntype != 0 && !___cxa_is_number_type(throwntype)) {
var throwntypeInfoAddr= HEAP32[((throwntype)>>2)] - 8;
var throwntypeInfo= HEAP32[((throwntypeInfoAddr)>>2)];
if (throwntypeInfo == 0)
thrown = HEAP32[((thrown)>>2)];
}
// The different catch blocks are denoted by different types.
// Due to inheritance, those types may not precisely match the
// type of the thrown object. Find one which matches, and
// return the type of the catch block which should be called.
for (var i = 0; i < typeArray.length; i++) {
if (___cxa_does_inherit(typeArray[i], throwntype, thrown))
return tempRet0 = typeArray[i],thrown;
}
// Shouldn't happen unless we have bogus data in typeArray
// or encounter a type for which emscripten doesn't have suitable
// typeinfo defined. Best-efforts match just in case.
return tempRet0 = throwntype,thrown;
}function ___cxa_throw(ptr, type, destructor) {
if (!___cxa_throw.initialized) {
try {
HEAP32[((__ZTVN10__cxxabiv119__pointer_type_infoE)>>2)]=0; // Workaround for libcxxabi integration bug
} catch(e){}
try {
HEAP32[((__ZTVN10__cxxabiv117__class_type_infoE)>>2)]=1; // Workaround for libcxxabi integration bug
} catch(e){}
try {
HEAP32[((__ZTVN10__cxxabiv120__si_class_type_infoE)>>2)]=2; // Workaround for libcxxabi integration bug
} catch(e){}
___cxa_throw.initialized = true;
}
HEAP32[((_llvm_eh_exception.buf)>>2)]=ptr
HEAP32[(((_llvm_eh_exception.buf)+(4))>>2)]=type
HEAP32[(((_llvm_eh_exception.buf)+(8))>>2)]=destructor
if (!("uncaught_exception" in __ZSt18uncaught_exceptionv)) {
__ZSt18uncaught_exceptionv.uncaught_exception = 1;
} else {
__ZSt18uncaught_exceptionv.uncaught_exception++;
}
throw ptr;;
}
var ERRNO_CODES={E2BIG:7,EACCES:13,EADDRINUSE:98,EADDRNOTAVAIL:99,EAFNOSUPPORT:97,EAGAIN:11,EALREADY:114,EBADF:9,EBADMSG:74,EBUSY:16,ECANCELED:125,ECHILD:10,ECONNABORTED:103,ECONNREFUSED:111,ECONNRESET:104,EDEADLK:35,EDESTADDRREQ:89,EDOM:33,EDQUOT:122,EEXIST:17,EFAULT:14,EFBIG:27,EHOSTUNREACH:113,EIDRM:43,EILSEQ:84,EINPROGRESS:115,EINTR:4,EINVAL:22,EIO:5,EISCONN:106,EISDIR:21,ELOOP:40,EMFILE:24,EMLINK:31,EMSGSIZE:90,EMULTIHOP:72,ENAMETOOLONG:36,ENETDOWN:100,ENETRESET:102,ENETUNREACH:101,ENFILE:23,ENOBUFS:105,ENODATA:61,ENODEV:19,ENOENT:2,ENOEXEC:8,ENOLCK:37,ENOLINK:67,ENOMEM:12,ENOMSG:42,ENOPROTOOPT:92,ENOSPC:28,ENOSR:63,ENOSTR:60,ENOSYS:38,ENOTCONN:107,ENOTDIR:20,ENOTEMPTY:39,ENOTRECOVERABLE:131,ENOTSOCK:88,ENOTSUP:95,ENOTTY:25,ENXIO:6,EOVERFLOW:75,EOWNERDEAD:130,EPERM:1,EPIPE:32,EPROTO:71,EPROTONOSUPPORT:93,EPROTOTYPE:91,ERANGE:34,EROFS:30,ESPIPE:29,ESRCH:3,ESTALE:116,ETIME:62,ETIMEDOUT:110,ETXTBSY:26,EWOULDBLOCK:11,EXDEV:18};
function ___setErrNo(value) {
// For convenient setting and returning of errno.
if (!___setErrNo.ret) ___setErrNo.ret = allocate([0], 'i32', ALLOC_STATIC);
HEAP32[((___setErrNo.ret)>>2)]=value
return value;
}
var _stdin=allocate(1, "i32*", ALLOC_STACK);
var _stdout=allocate(1, "i32*", ALLOC_STACK);
var _stderr=allocate(1, "i32*", ALLOC_STACK);
var __impure_ptr=allocate(1, "i32*", ALLOC_STACK);var FS={currentPath:"/",nextInode:2,streams:[null],checkStreams:function () {
for (var i in FS.streams) if (FS.streams.hasOwnProperty(i)) assert(i >= 0 && i < FS.streams.length); // no keys not in dense span
for (var i = 0; i < FS.streams.length; i++) assert(typeof FS.streams[i] == 'object'); // no non-null holes in dense span
},ignorePermissions:true,joinPath:function (parts, forceRelative) {
var ret = parts[0];
for (var i = 1; i < parts.length; i++) {
if (ret[ret.length-1] != '/') ret += '/';
ret += parts[i];
}
if (forceRelative && ret[0] == '/') ret = ret.substr(1);
return ret;
},absolutePath:function (relative, base) {
if (typeof relative !== 'string') return null;
if (base === undefined) base = FS.currentPath;
if (relative && relative[0] == '/') base = '';
var full = base + '/' + relative;
var parts = full.split('/').reverse();
var absolute = [''];
while (parts.length) {
var part = parts.pop();
if (part == '' || part == '.') {
// Nothing.
} else if (part == '..') {
if (absolute.length > 1) absolute.pop();
} else {
absolute.push(part);
}
}
return absolute.length == 1 ? '/' : absolute.join('/');
},analyzePath:function (path, dontResolveLastLink, linksVisited) {
var ret = {
isRoot: false,
exists: false,
error: 0,
name: null,
path: null,
object: null,
parentExists: false,
parentPath: null,
parentObject: null
};
path = FS.absolutePath(path);
if (path == '/') {
ret.isRoot = true;
ret.exists = ret.parentExists = true;
ret.name = '/';
ret.path = ret.parentPath = '/';
ret.object = ret.parentObject = FS.root;
} else if (path !== null) {
linksVisited = linksVisited || 0;
path = path.slice(1).split('/');
var current = FS.root;
var traversed = [''];
while (path.length) {
if (path.length == 1 && current.isFolder) {
ret.parentExists = true;
ret.parentPath = traversed.length == 1 ? '/' : traversed.join('/');
ret.parentObject = current;
ret.name = path[0];
}
var target = path.shift();
if (!current.isFolder) {
ret.error = ERRNO_CODES.ENOTDIR;
break;
} else if (!current.read) {
ret.error = ERRNO_CODES.EACCES;
break;
} else if (!current.contents.hasOwnProperty(target)) {
ret.error = ERRNO_CODES.ENOENT;
break;
}
current = current.contents[target];
if (current.link && !(dontResolveLastLink && path.length == 0)) {
if (linksVisited > 40) { // Usual Linux SYMLOOP_MAX.
ret.error = ERRNO_CODES.ELOOP;
break;
}
var link = FS.absolutePath(current.link, traversed.join('/'));
ret = FS.analyzePath([link].concat(path).join('/'),
dontResolveLastLink, linksVisited + 1);
return ret;
}
traversed.push(target);
if (path.length == 0) {
ret.exists = true;
ret.path = traversed.join('/');
ret.object = current;
}
}
}
return ret;
},findObject:function (path, dontResolveLastLink) {
FS.ensureRoot();
var ret = FS.analyzePath(path, dontResolveLastLink);
if (ret.exists) {
return ret.object;
} else {
___setErrNo(ret.error);
return null;
}
},createObject:function (parent, name, properties, canRead, canWrite) {
if (!parent) parent = '/';
if (typeof parent === 'string') parent = FS.findObject(parent);
if (!parent) {
___setErrNo(ERRNO_CODES.EACCES);
throw new Error('Parent path must exist.');
}
if (!parent.isFolder) {
___setErrNo(ERRNO_CODES.ENOTDIR);
throw new Error('Parent must be a folder.');
}
if (!parent.write && !FS.ignorePermissions) {
___setErrNo(ERRNO_CODES.EACCES);
throw new Error('Parent folder must be writeable.');
}
if (!name || name == '.' || name == '..') {
___setErrNo(ERRNO_CODES.ENOENT);
throw new Error('Name must not be empty.');
}
if (parent.contents.hasOwnProperty(name)) {
___setErrNo(ERRNO_CODES.EEXIST);
throw new Error("Can't overwrite object.");
}
parent.contents[name] = {
read: canRead === undefined ? true : canRead,
write: canWrite === undefined ? false : canWrite,
timestamp: Date.now(),
inodeNumber: FS.nextInode++
};
for (var key in properties) {
if (properties.hasOwnProperty(key)) {
parent.contents[name][key] = properties[key];
}
}
return parent.contents[name];
},createFolder:function (parent, name, canRead, canWrite) {
var properties = {isFolder: true, isDevice: false, contents: {}};
return FS.createObject(parent, name, properties, canRead, canWrite);
},createPath:function (parent, path, canRead, canWrite) {
var current = FS.findObject(parent);
if (current === null) throw new Error('Invalid parent.');
path = path.split('/').reverse();
while (path.length) {
var part = path.pop();
if (!part) continue;
if (!current.contents.hasOwnProperty(part)) {
FS.createFolder(current, part, canRead, canWrite);
}
current = current.contents[part];
}
return current;
},createFile:function (parent, name, properties, canRead, canWrite) {
properties.isFolder = false;
return FS.createObject(parent, name, properties, canRead, canWrite);
},createDataFile:function (parent, name, data, canRead, canWrite) {
if (typeof data === 'string') {
var dataArray = new Array(data.length);
for (var i = 0, len = data.length; i < len; ++i) dataArray[i] = data.charCodeAt(i);
data = dataArray;
}
var properties = {
isDevice: false,
contents: data.subarray ? data.subarray(0) : data // as an optimization, create a new array wrapper (not buffer) here, to help JS engines understand this object
};
return FS.createFile(parent, name, properties, canRead, canWrite);
},createLazyFile:function (parent, name, url, canRead, canWrite) {
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';
// Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse.
var LazyUint8Array = function(chunkSize, length) {
this.length = length;
this.chunkSize = chunkSize;
this.chunks = []; // Loaded chunks. Index is the chunk number
}
LazyUint8Array.prototype.get = function(idx) {
if (idx > this.length-1 || idx < 0) {
return undefined;
}
var chunkOffset = idx % chunkSize;
var chunkNum = Math.floor(idx / chunkSize);
return this.getter(chunkNum)[chunkOffset];
}
LazyUint8Array.prototype.setDataGetter = function(getter) {
this.getter = getter;
}
// 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 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 = new LazyUint8Array(chunkSize, datalength);
lazyArray.setDataGetter(function(chunkNum) {
var start = chunkNum * lazyArray.chunkSize;
var end = (chunkNum+1) * lazyArray.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];
});
var properties = { isDevice: false, contents: lazyArray };
} else {
var properties = { isDevice: false, url: url };
}
return FS.createFile(parent, name, properties, canRead, canWrite);
},createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile) {
Browser.init();
var fullname = FS.joinPath([parent, name], true);
function processData(byteArray) {
function finish(byteArray) {
if (!dontCreateFile) {
FS.createDataFile(parent, name, byteArray, canRead, canWrite);
}
if (onload) onload();
removeRunDependency('cp ' + fullname);
}
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('cp ' + fullname);
});
handled = true;
}
});
if (!handled) finish(byteArray);
}
addRunDependency('cp ' + fullname);
if (typeof url == 'string') {
Browser.asyncLoad(url, function(byteArray) {
processData(byteArray);
}, onerror);
} else {
processData(url);
}
},createLink:function (parent, name, target, canRead, canWrite) {
var properties = {isDevice: false, link: target};
return FS.createFile(parent, name, properties, canRead, canWrite);
},createDevice:function (parent, name, input, output) {
if (!(input || output)) {
throw new Error('A device must have at least one callback defined.');
}
var ops = {isDevice: true, input: input, output: output};
return FS.createFile(parent, name, ops, Boolean(input), Boolean(output));
},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);
} catch (e) {
success = false;
}
} else {
throw new Error('Cannot load without read() or XMLHttpRequest.');
}
if (!success) ___setErrNo(ERRNO_CODES.EIO);
return success;
},ensureRoot:function () {
if (FS.root) return;
// The main file system tree. All the contents are inside this.
FS.root = {
read: true,
write: true,
isFolder: true,
isDevice: false,
timestamp: Date.now(),
inodeNumber: 1,
contents: {}
};
},init:function (input, output, error) {
// Make sure we initialize only once.
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.ensureRoot();
// Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here
input = input || Module['stdin'];
output = output || Module['stdout'];
error = error || Module['stderr'];
// Default handlers.
var stdinOverridden = true, stdoutOverridden = true, stderrOverridden = true;
if (!input) {
stdinOverridden = false;
input = function() {
if (!input.cache || !input.cache.length) {
var result;
if (typeof window != 'undefined' &&
typeof window.prompt == 'function') {
// Browser.
result = window.prompt('Input: ');
if (result === null) result = String.fromCharCode(0); // cancel ==> EOF
} else if (typeof readline == 'function') {
// Command line.
result = readline();
}
if (!result) result = '';
input.cache = intArrayFromString(result + '\n', true);
}
return input.cache.shift();
};
}
var utf8 = new Runtime.UTF8Processor();
function simpleOutput(val) {
if (val === null || val === 10) {
output.printer(output.buffer.join(''));
output.buffer = [];
} else {
output.buffer.push(utf8.processCChar(val));
}
}
if (!output) {
stdoutOverridden = false;
output = simpleOutput;
}
if (!output.printer) output.printer = Module['print'];
if (!output.buffer) output.buffer = [];
if (!error) {
stderrOverridden = false;
error = simpleOutput;
}
if (!error.printer) error.printer = Module['print'];
if (!error.buffer) error.buffer = [];
// Create the temporary folder, if not already created
try {
FS.createFolder('/', 'tmp', true, true);
} catch(e) {}
// Create the I/O devices.
var devFolder = FS.createFolder('/', 'dev', true, true);
var stdin = FS.createDevice(devFolder, 'stdin', input);
var stdout = FS.createDevice(devFolder, 'stdout', null, output);
var stderr = FS.createDevice(devFolder, 'stderr', null, error);
FS.createDevice(devFolder, 'tty', input, output);
// Create default streams.
FS.streams[1] = {
path: '/dev/stdin',
object: stdin,
position: 0,
isRead: true,
isWrite: false,
isAppend: false,
isTerminal: !stdinOverridden,
error: false,
eof: false,
ungotten: []
};
FS.streams[2] = {
path: '/dev/stdout',
object: stdout,
position: 0,
isRead: false,
isWrite: true,
isAppend: false,
isTerminal: !stdoutOverridden,
error: false,
eof: false,
ungotten: []
};
FS.streams[3] = {
path: '/dev/stderr',
object: stderr,
position: 0,
isRead: false,
isWrite: true,
isAppend: false,
isTerminal: !stderrOverridden,
error: false,
eof: false,
ungotten: []
};
assert(Math.max(_stdin, _stdout, _stderr) < 128); // make sure these are low, we flatten arrays with these
HEAP32[((_stdin)>>2)]=1;
HEAP32[((_stdout)>>2)]=2;
HEAP32[((_stderr)>>2)]=3;
// Other system paths
FS.createPath('/', 'dev/shm/tmp', true, true); // temp files
// Newlib initialization
for (var i = FS.streams.length; i < Math.max(_stdin, _stdout, _stderr) + 4; i++) {
FS.streams[i] = null; // Make sure to keep FS.streams dense
}
FS.streams[_stdin] = FS.streams[1];
FS.streams[_stdout] = FS.streams[2];
FS.streams[_stderr] = FS.streams[3];
FS.checkStreams();
assert(FS.streams.length < 1024); // at this early stage, we should not have a large set of file descriptors - just a few
allocate([ allocate(
[0, 0, 0, 0, _stdin, 0, 0, 0, _stdout, 0, 0, 0, _stderr, 0, 0, 0],
'void*', ALLOC_STATIC) ], 'void*', ALLOC_NONE, __impure_ptr);
},quit:function () {
if (!FS.init.initialized) return;
// Flush any partially-printed lines in stdout and stderr. Careful, they may have been closed
if (FS.streams[2] && FS.streams[2].object.output.buffer.length > 0) FS.streams[2].object.output(10);
if (FS.streams[3] && FS.streams[3].object.output.buffer.length > 0) FS.streams[3].object.output(10);
},standardizePath:function (path) {
if (path.substr(0, 2) == './') path = path.substr(2);
return path;
},deleteFile:function (path) {
path = FS.analyzePath(path);
if (!path.parentExists || !path.exists) {
throw 'Invalid path ' + path;
}
delete path.parentObject.contents[path.name];
}};
function _pwrite(fildes, buf, nbyte, offset) {
// ssize_t pwrite(int fildes, const void *buf, size_t nbyte, off_t offset);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/write.html
var stream = FS.streams[fildes];
if (!stream || stream.object.isDevice) {
___setErrNo(ERRNO_CODES.EBADF);
return -1;
} else if (!stream.isWrite) {
___setErrNo(ERRNO_CODES.EACCES);
return -1;
} else if (stream.object.isFolder) {
___setErrNo(ERRNO_CODES.EISDIR);
return -1;
} else if (nbyte < 0 || offset < 0) {
___setErrNo(ERRNO_CODES.EINVAL);
return -1;
} else {
var contents = stream.object.contents;
while (contents.length < offset) contents.push(0);
for (var i = 0; i < nbyte; i++) {
contents[offset + i] = HEAPU8[(((buf)+(i))|0)];
}
stream.object.timestamp = Date.now();
return i;
}
}function _write(fildes, buf, nbyte) {
// ssize_t write(int fildes, const void *buf, size_t nbyte);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/write.html
var stream = FS.streams[fildes];
if (!stream) {
___setErrNo(ERRNO_CODES.EBADF);
return -1;
} else if (!stream.isWrite) {
___setErrNo(ERRNO_CODES.EACCES);
return -1;
} else if (nbyte < 0) {
___setErrNo(ERRNO_CODES.EINVAL);
return -1;
} else {
if (stream.object.isDevice) {
if (stream.object.output) {
for (var i = 0; i < nbyte; i++) {
try {
stream.object.output(HEAP8[(((buf)+(i))|0)]);
} catch (e) {
___setErrNo(ERRNO_CODES.EIO);
return -1;
}
}
stream.object.timestamp = Date.now();
return i;
} else {
___setErrNo(ERRNO_CODES.ENXIO);
return -1;
}
} else {
var bytesWritten = _pwrite(fildes, buf, nbyte, stream.position);
if (bytesWritten != -1) stream.position += bytesWritten;
return bytesWritten;
}
}
}function _fwrite(ptr, size, nitems, stream) {
// size_t fwrite(const void *restrict ptr, size_t size, size_t nitems, FILE *restrict stream);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/fwrite.html
var bytesToWrite = nitems * size;
if (bytesToWrite == 0) return 0;
var bytesWritten = _write(stream, ptr, bytesToWrite);
if (bytesWritten == -1) {
if (FS.streams[stream]) FS.streams[stream].error = true;
return 0;
} else {
return Math.floor(bytesWritten / size);
}
}
function _fflush(stream) {
// int fflush(FILE *stream);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/fflush.html
var flush = function(filedes) {
// Right now we write all data directly, except for output devices.
if (FS.streams[filedes] && FS.streams[filedes].object.output) {
if (!FS.streams[filedes].isTerminal) { // don't flush terminals, it would cause a \n to also appear
FS.streams[filedes].object.output(null);
}
}
};
try {
if (stream === 0) {
for (var i = 0; i < FS.streams.length; i++) if (FS.streams[i]) flush(i);
} else {
flush(stream);
}
return 0;
} catch (e) {
___setErrNo(ERRNO_CODES.EIO);
return -1;
}
}
function _ungetc(c, stream) {
// int ungetc(int c, FILE *stream);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/ungetc.html
if (FS.streams[stream]) {
c = unSign(c & 0xFF);
FS.streams[stream].ungotten.push(c);
return c;
} else {
return -1;
}
}
function _pread(fildes, buf, nbyte, offset) {
// ssize_t pread(int fildes, void *buf, size_t nbyte, off_t offset);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/read.html
var stream = FS.streams[fildes];
if (!stream || stream.object.isDevice) {
___setErrNo(ERRNO_CODES.EBADF);
return -1;
} else if (!stream.isRead) {
___setErrNo(ERRNO_CODES.EACCES);
return -1;
} else if (stream.object.isFolder) {
___setErrNo(ERRNO_CODES.EISDIR);
return -1;
} else if (nbyte < 0 || offset < 0) {
___setErrNo(ERRNO_CODES.EINVAL);
return -1;
} else {
var bytesRead = 0;
while (stream.ungotten.length && nbyte > 0) {
HEAP8[((buf++)|0)]=stream.ungotten.pop()
nbyte--;
bytesRead++;
}
var contents = stream.object.contents;
var size = Math.min(contents.length - offset, nbyte);
if (contents.subarray) { // typed array
HEAPU8.set(contents.subarray(offset, offset+size), buf);
} else
if (contents.slice) { // normal array
for (var i = 0; i < size; i++) {
HEAP8[(((buf)+(i))|0)]=contents[offset + i]
}
} else {
for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR
HEAP8[(((buf)+(i))|0)]=contents.get(offset + i)
}
}
bytesRead += size;
return bytesRead;
}
}function _read(fildes, buf, nbyte) {
// ssize_t read(int fildes, void *buf, size_t nbyte);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/read.html
var stream = FS.streams[fildes];
if (!stream) {
___setErrNo(ERRNO_CODES.EBADF);
return -1;
} else if (!stream.isRead) {
___setErrNo(ERRNO_CODES.EACCES);
return -1;
} else if (nbyte < 0) {
___setErrNo(ERRNO_CODES.EINVAL);
return -1;
} else {
var bytesRead;
if (stream.object.isDevice) {
if (stream.object.input) {
bytesRead = 0;
while (stream.ungotten.length && nbyte > 0) {
HEAP8[((buf++)|0)]=stream.ungotten.pop()
nbyte--;
bytesRead++;
}
for (var i = 0; i < nbyte; i++) {
try {
var result = stream.object.input();
} catch (e) {
___setErrNo(ERRNO_CODES.EIO);
return -1;
}
if (result === null || result === undefined) break;
bytesRead++;
HEAP8[(((buf)+(i))|0)]=result
}
return bytesRead;
} else {
___setErrNo(ERRNO_CODES.ENXIO);
return -1;
}
} else {
var ungotSize = stream.ungotten.length;
bytesRead = _pread(fildes, buf, nbyte, stream.position);
if (bytesRead != -1) {
stream.position += (stream.ungotten.length - ungotSize) + bytesRead;
}
return bytesRead;
}
}
}function _fgetc(stream) {
// int fgetc(FILE *stream);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/fgetc.html
if (!FS.streams[stream]) return -1;
var streamObj = FS.streams[stream];
if (streamObj.eof || streamObj.error) return -1;
var ret = _read(stream, _fgetc.ret, 1);
if (ret == 0) {
streamObj.eof = true;
return -1;
} else if (ret == -1) {
streamObj.error = true;
return -1;
} else {
return HEAPU8[((_fgetc.ret)|0)];
}
}var _getc=_fgetc;
function __ZNSt9exceptionD2Ev(){}
function ___cxa_pure_virtual() {
ABORT = true;
throw 'Pure virtual function called!';
}
function ___errno_location() {
return ___setErrNo.ret;
}var ___errno=___errno_location;
function _strcpy(pdest, psrc) {
pdest = pdest|0; psrc = psrc|0;
var i = 0;
do {
HEAP8[(((pdest+i)|0)|0)]=HEAP8[(((psrc+i)|0)|0)];
i = (i+1)|0;
} while ((HEAP8[(((psrc)+(i-1))|0)])|0 != 0);
return pdest|0;
}
var ERRNO_MESSAGES={1:"Operation not permitted",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"Input/output error",6:"No such device or address",8:"Exec format error",9:"Bad file descriptor",10:"No child processes",11:"Resource temporarily unavailable",12:"Cannot allocate memory",13:"Permission denied",14:"Bad address",16:"Device or resource busy",17:"File exists",18:"Invalid 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:"Inappropriate ioctl for device",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:"Numerical argument out of domain",34:"Numerical result out of range",35:"Resource deadlock avoided",36:"File name too long",37:"No locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many levels of symbolic links",42:"No
message of desired type",43:"Identifier removed",60:"Device not a stream",61:"No data available",62:"Timer expired",63:"Out of streams resources",67:"Link has been severed",71:"Protocol error",72:"Multihop attempted",74:"Bad message",75:"Value too large for defined data type",84:"Invalid or incomplete multibyte or wide character",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:"Protocol not supported",95:"Operation not supported",97:"Address family not supported by protocol",98:"Address already in use",99:"Cannot assign requested address",100:"Network is down",101:"Network is unreachable",102:"Network dropped connection on reset",103:"Software caused connection abort",104:"Connection reset by peer",105:"No buffer space available",106:"Transport endpoint is already connected",107:"Transport endpoint is not connected",110:"Connection timed out",111:"Connection refused",113:"No route to host",114:"
Operation already in progress",115:"Operation now in progress",116:"Stale NFS file handle",122:"Disk quota exceeded",125:"Operation canceled",130:"Owner died",131:"State not recoverable"};function _strerror_r(errnum, strerrbuf, buflen) {
if (errnum in ERRNO_MESSAGES) {
if (ERRNO_MESSAGES[errnum].length > buflen - 1) {
return ___setErrNo(ERRNO_CODES.ERANGE);
} else {
var msg = ERRNO_MESSAGES[errnum];
for (var i = 0; i < msg.length; i++) {
HEAP8[(((strerrbuf)+(i))|0)]=msg.charCodeAt(i)
}
HEAP8[(((strerrbuf)+(i))|0)]=0
return 0;
}
} else {
return ___setErrNo(ERRNO_CODES.EINVAL);
}
}function _strerror(errnum) {
if (!_strerror.buffer) _strerror.buffer = _malloc(256);
_strerror_r(errnum, _strerror.buffer, 256);
return _strerror.buffer;
}
function _abort() {
ABORT = true;
throw 'abort() at ' + (new Error().stack);
}
function _memmove(dest, src, num) {
dest = dest|0; src = src|0; num = num|0;
if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) {
// Unlikely case: Copy backwards in a safe manner
src = (src + num)|0;
dest = (dest + num)|0;
while ((num|0) > 0) {
dest = (dest - 1)|0;
src = (src - 1)|0;
num = (num - 1)|0;
HEAP8[(dest)]=HEAP8[(src)];
}
} else {
_memcpy(dest, src, num);
}
}var _llvm_memmove_p0i8_p0i8_i32=_memmove;
function ___cxa_rethrow() {
___cxa_end_catch.rethrown = true;
throw HEAP32[((_llvm_eh_exception.buf)>>2)];;
}
function __reallyNegative(x) {
return x < 0 || (x === 0 && (1/x) === -Infinity);
}function __formatString(format, varargs) {
var textIndex = format;
var argIndex = 0;
function getNextArg(type) {
// NOTE: Explicitly ignoring type safety. Otherwise this fails:
// int x = 4; printf("%c\n", (char)x);
var ret;
if (type === 'double') {
ret = (HEAP32[((tempDoublePtr)>>2)]=HEAP32[(((varargs)+(argIndex))>>2)],HEAP32[(((tempDoublePtr)+(4))>>2)]=HEAP32[(((varargs)+((argIndex)+(4)))>>2)],HEAPF64[(tempDoublePtr)>>3]);
} else if (type == 'i64') {
ret = [HEAP32[(((varargs)+(argIndex))>>2)],
HEAP32[(((varargs)+(argIndex+4))>>2)]];
} else {
type = 'i32'; // varargs are always i32, i64, or double
ret = HEAP32[(((varargs)+(argIndex))>>2)];
}
argIndex += Runtime.getNativeFieldSize(type);
return ret;
}
var ret = [];
var curr, next, currArg;
while(1) {
var startTextIndex = textIndex;
curr = HEAP8[(textIndex)];
if (curr === 0) break;
next = HEAP8[((textIndex+1)|0)];
if (curr == 37) {
// Handle flags.
var flagAlwaysSigned = false;
var flagLeftAlign = false;
var flagAlternative = false;
var flagZeroPad = false;
flagsLoop: while (1) {
switch (next) {
case 43:
flagAlwaysSigned = true;
break;
case 45:
flagLeftAlign = true;
break;
case 35:
flagAlternative = true;
break;
case 48:
if (flagZeroPad) {
break flagsLoop;
} else {
flagZeroPad = true;
break;
}
default:
break flagsLoop;
}
textIndex++;
next = HEAP8[((textIndex+1)|0)];
}
// Handle width.
var width = 0;
if (next == 42) {
width = getNextArg('i32');
textIndex++;
next = HEAP8[((textIndex+1)|0)];
} else {
while (next >= 48 && next <= 57) {
width = width * 10 + (next - 48);
textIndex++;
next = HEAP8[((textIndex+1)|0)];
}
}
// Handle precision.
var precisionSet = false;
if (next == 46) {
var precision = 0;
precisionSet = true;
textIndex++;
next = HEAP8[((textIndex+1)|0)];
if (next == 42) {
precision = getNextArg('i32');
textIndex++;
} else {
while(1) {
var precisionChr = HEAP8[((textIndex+1)|0)];
if (precisionChr < 48 ||
precisionChr > 57) break;
precision = precision * 10 + (precisionChr - 48);
textIndex++;
}
}
next = HEAP8[((textIndex+1)|0)];
} else {
var precision = 6; // Standard default.
}
// Handle integer sizes. WARNING: These assume a 32-bit architecture!
var argSize;
switch (String.fromCharCode(next)) {
case 'h':
var nextNext = HEAP8[((textIndex+2)|0)];
if (nextNext == 104) {
textIndex++;
argSize = 1; // char (actually i32 in varargs)
} else {
argSize = 2; // short (actually i32 in varargs)
}
break;
case 'l':
var nextNext = HEAP8[((textIndex+2)|0)];
if (nextNext == 108) {
textIndex++;
argSize = 8; // long long
} else {
argSize = 4; // long
}
break;
case 'L': // long long
case 'q': // int64_t
case 'j': // intmax_t
argSize = 8;
break;
case 'z': // size_t
case 't': // ptrdiff_t
case 'I': // signed ptrdiff_t or unsigned size_t
argSize = 4;
break;
default:
argSize = null;
}
if (argSize) textIndex++;
next = HEAP8[((textIndex+1)|0)];
// Handle type specifier.
switch (String.fromCharCode(next)) {
case 'd': case 'i': case 'u': case 'o': case 'x': case 'X': case 'p': {
// Integer.
var signed = next == 100 || next == 105;
argSize = argSize || 4;
var currArg = getNextArg('i' + (argSize * 8));
var origArg = currArg;
var argText;
// Flatten i64-1 [low, high] into a (slightly rounded) double
if (argSize == 8) {
currArg = Runtime.makeBigInt(currArg[0], currArg[1], next == 117);
}
// Truncate to requested size.
if (argSize <= 4) {
var limit = Math.pow(256, argSize) - 1;
currArg = (signed ? reSign : unSign)(currArg & limit, argSize * 8);
}
// Format the number.
var currAbsArg = Math.abs(currArg);
var prefix = '';
if (next == 100 || next == 105) {
if (argSize == 8 && i64Math) argText = i64Math.stringify(origArg[0], origArg[1], null); else
argText = reSign(currArg, 8 * argSize, 1).toString(10);
} else if (next == 117) {
if (argSize == 8 && i64Math) argText = i64Math.stringify(origArg[0], origArg[1], true); else
argText = unSign(currArg, 8 * argSize, 1).toString(10);
currArg = Math.abs(currArg);
} else if (next == 111) {
argText = (flagAlternative ? '0' : '') + currAbsArg.toString(8);
} else if (next == 120 || next == 88) {
prefix = flagAlternative ? '0x' : '';
if (argSize == 8 && i64Math) {
if (origArg[1]) {
argText = (origArg[1]>>>0).toString(16);
var lower = (origArg[0]>>>0).toString(16);
while (lower.length < 8) lower = '0' + lower;
argText += lower;
} else {
argText = (origArg[0]>>>0).toString(16);
}
} else
if (currArg < 0) {
// Represent negative numbers in hex as 2's complement.
currArg = -currArg;
argText = (currAbsArg - 1).toString(16);
var buffer = [];
for (var i = 0; i < argText.length; i++) {
buffer.push((0xF - parseInt(argText[i], 16)).toString(16));
}
argText = buffer.join('');
while (argText.length < argSize * 2) argText = 'f' + argText;
} else {
argText = currAbsArg.toString(16);
}
if (next == 88) {
prefix = prefix.toUpperCase();
argText = argText.toUpperCase();
}
} else if (next == 112) {
if (currAbsArg === 0) {
argText = '(nil)';
} else {
prefix = '0x';
argText = currAbsArg.toString(16);
}
}
if (precisionSet) {
while (argText.length < precision) {
argText = '0' + argText;
}
}
// Add sign if needed
if (flagAlwaysSigned) {
if (currArg < 0) {
prefix = '-' + prefix;
} else {
prefix = '+' + prefix;
}
}
// Add padding.
while (prefix.length + argText.length < width) {
if (flagLeftAlign) {
argText += ' ';
} else {
if (flagZeroPad) {
argText = '0' + argText;
} else {
prefix = ' ' + prefix;
}
}
}
// Insert the result into the buffer.
argText = prefix + argText;
argText.split('').forEach(function(chr) {
ret.push(chr.charCodeAt(0));
});
break;
}
case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': {
// Float.
var currArg = getNextArg('double');
var argText;
if (isNaN(currArg)) {
argText = 'nan';
flagZeroPad = false;
} else if (!isFinite(currArg)) {
argText = (currArg < 0 ? '-' : '') + 'inf';
flagZeroPad = false;
} else {
var isGeneral = false;
var effectivePrecision = Math.min(precision, 20);
// Convert g/G to f/F or e/E, as per:
// http://pubs.opengroup.org/onlinepubs/9699919799/functions/printf.html
if (next == 103 || next == 71) {
isGeneral = true;
precision = precision || 1;
var exponent = parseInt(currArg.toExponential(effectivePrecision).split('e')[1], 10);
if (precision > exponent && exponent >= -4) {
next = ((next == 103) ? 'f' : 'F').charCodeAt(0);
precision -= exponent + 1;
} else {
next = ((next == 103) ? 'e' : 'E').charCodeAt(0);
precision--;
}
effectivePrecision = Math.min(precision, 20);
}
if (next == 101 || next == 69) {
argText = currArg.toExponential(effectivePrecision);
// Make sure the exponent has at least 2 digits.
if (/[eE][-+]\d$/.test(argText)) {
argText = argText.slice(0, -1) + '0' + argText.slice(-1);
}
} else if (next == 102 || next == 70) {
argText = currArg.toFixed(effectivePrecision);
if (currArg === 0 && __reallyNegative(currArg)) {
argText = '-' + argText;
}
}
var parts = argText.split('e');
if (isGeneral && !flagAlternative) {
// Discard trailing zeros and periods.
while (parts[0].length > 1 && parts[0].indexOf('.') != -1 &&
(parts[0].slice(-1) == '0' || parts[0].slice(-1) == '.')) {
parts[0] = parts[0].slice(0, -1);
}
} else {
// Make sure we have a period in alternative mode.
if (flagAlternative && argText.indexOf('.') == -1) parts[0] += '.';
// Zero pad until required precision.
while (precision > effectivePrecision++) parts[0] += '0';
}
argText = parts[0] + (parts.length > 1 ? 'e' + parts[1] : '');
// Capitalize 'E' if needed.
if (next == 69) argText = argText.toUpperCase();
// Add sign.
if (flagAlwaysSigned && currArg >= 0) {
argText = '+' + argText;
}
}
// Add padding.
while (argText.length < width) {
if (flagLeftAlign) {
argText += ' ';
} else {
if (flagZeroPad && (argText[0] == '-' || argText[0] == '+')) {
argText = argText[0] + '0' + argText.slice(1);
} else {
argText = (flagZeroPad ? '0' : ' ') + argText;
}
}
}
// Adjust case.
if (next < 97) argText = argText.toUpperCase();
// Insert the result into the buffer.
argText.split('').forEach(function(chr) {
ret.push(chr.charCodeAt(0));
});
break;
}
case 's': {
// String.
var arg = getNextArg('i8*') || nullString;
var argLength = _strlen(arg);
if (precisionSet) argLength = Math.min(argLength, precision);
if (!flagLeftAlign) {
while (argLength < width--) {
ret.push(32);
}
}
for (var i = 0; i < argLength; i++) {
ret.push(HEAPU8[((arg++)|0)]);
}
if (flagLeftAlign) {
while (argLength < width--) {
ret.push(32);
}
}
break;
}
case 'c': {
// Character.
if (flagLeftAlign) ret.push(getNextArg('i8'));
while (--width > 0) {
ret.push(32);
}
if (!flagLeftAlign) ret.push(getNextArg('i8'));
break;
}
case 'n': {
// Write the length written so far to the next parameter.
var ptr = getNextArg('i32*');
HEAP32[((ptr)>>2)]=ret.length
break;
}
case '%': {
// Literal percent sign.
ret.push(curr);
break;
}
default: {
// Unknown specifiers remain untouched.
for (var i = startTextIndex; i < textIndex + 2; i++) {
ret.push(HEAP8[(i)]);
}
}
}
textIndex += 2;
// TODO: Support a/A (hex float) and m (last error) specifiers.
// TODO: Support %1${specifier} for arg selection.
} else {
ret.push(curr);
textIndex += 1;
}
}
return ret;
}function _snprintf(s, n, format, varargs) {
// int snprintf(char *restrict s, size_t n, const char *restrict format, ...);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/printf.html
var result = __formatString(format, varargs);
var limit = (n === undefined) ? result.length
: Math.min(result.length, Math.max(n - 1, 0));
if (s < 0) {
s = -s;
var buf = _malloc(limit+1);
HEAP32[((s)>>2)]=buf;
s = buf;
}
for (var i = 0; i < limit; i++) {
HEAP8[(((s)+(i))|0)]=result[i];
}
if (limit < n || (n === undefined)) HEAP8[(((s)+(i))|0)]=0;
return result.length;
}
function _wmemmove() { throw 'wmemmove not implemented' }
function _wmemset() { throw 'wmemset not implemented' }
function _wmemcpy() { throw 'wmemcpy not implemented' }
function _wcslen() { throw 'wcslen not implemented' }
function _memset(ptr, value, num) {
ptr = ptr|0; value = value|0; num = num|0;
var stop = 0, value4 = 0, stop4 = 0, unaligned = 0;
stop = (ptr + num)|0;
if ((num|0) >= 20) {
// This is unaligned, but quite large, so work hard to get to aligned settings
value = value & 0xff;
unaligned = ptr & 3;
value4 = value | (value << 8) | (value << 16) | (value << 24);
stop4 = stop & ~3;
if (unaligned) {
unaligned = (ptr + 4 - unaligned)|0;
while ((ptr|0) < (unaligned|0)) { // no need to check for stop, since we have large num
HEAP8[(ptr)]=value;
ptr = (ptr+1)|0;
}
}
while ((ptr|0) < (stop4|0)) {
HEAP32[((ptr)>>2)]=value4;
ptr = (ptr+4)|0;
}
}
while ((ptr|0) < (stop|0)) {
HEAP8[(ptr)]=value;
ptr = (ptr+1)|0;
}
}var _llvm_memset_p0i8_i32=_memset;
var _llvm_memcpy_p0i8_p0i8_i64=_memcpy;
function _sysconf(name) {
// long sysconf(int name);
// http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html
switch(name) {
case 8: return PAGE_SIZE;
case 54:
case 56:
case 21:
case 61:
case 63:
case 22:
case 67:
case 23:
case 24:
case 25:
case 26:
case 27:
case 69:
case 28:
case 101:
case 70:
case 71:
case 29:
case 30:
case 199:
case 75:
case 76:
case 32:
case 43:
case 44:
case 80:
case 46:
case 47:
case 45:
case 48:
case 49:
case 42:
case 82:
case 33:
case 7:
case 108:
case 109:
case 107:
case 112:
case 119:
case 121:
return 200809;
case 13:
case 104:
case 94:
case 95:
case 34:
case 35:
case 77:
case 81:
case 83:
case 84:
case 85:
case 86:
case 87:
case 88:
case 89:
case 90:
case 91:
case 94:
case 95:
case 110:
case 111:
case 113:
case 114:
case 115:
case 116:
case 117:
case 118:
case 120:
case 40:
case 16:
case 79:
case 19:
return -1;
case 92:
case 93:
case 5:
case 72:
case 6:
case 74:
case 92:
case 93:
case 96:
case 97:
case 98:
case 99:
case 102:
case 103:
case 105:
return 1;
case 38:
case 66:
case 50:
case 51:
case 4:
return 1024;
case 15:
case 64:
case 41:
return 32;
case 55:
case 37:
case 17:
return 2147483647;
case 18:
case 1:
return 47839;
case 59:
case 57:
return 99;
case 68:
case 58:
return 2048;
case 0: return 2097152;
case 3: return 65536;
case 14: return 32768;
case 73: return 32767;
case 39: return 16384;
case 60: return 1000;
case 106: return 700;
case 52: return 256;
case 62: return 255;
case 2: return 100;
case 65: return 64;
case 36: return 20;
case 100: return 16;
case 20: return 6;
case 53: return 4;
case 10: return 1;
}
___setErrNo(ERRNO_CODES.EINVAL);
return -1;
}
function _isxdigit(chr) {
return (chr >= 48 && chr <= 57) ||
(chr >= 97 && chr <= 102) ||
(chr >= 65 && chr <= 70);
}var _isxdigit_l=_isxdigit;
function _isdigit(chr) {
return chr >= 48 && chr <= 57;
}var _isdigit_l=_isdigit;
function __isFloat(text) {
return !!(/^[+-]?[0-9]*\.?[0-9]+([eE][+-]?[0-9]+)?$/.exec(text));
}function __scanString(format, get, unget, varargs) {
if (!__scanString.whiteSpace) {
__scanString.whiteSpace = {};
__scanString.whiteSpace[32] = 1;
__scanString.whiteSpace[9] = 1;
__scanString.whiteSpace[10] = 1;
__scanString.whiteSpace[' '] = 1;
__scanString.whiteSpace['\t'] = 1;
__scanString.whiteSpace['\n'] = 1;
}
// Supports %x, %4x, %d.%d, %lld, %s, %f, %lf.
// TODO: Support all format specifiers.
format = Pointer_stringify(format);
var soFar = 0;
if (format.indexOf('%n') >= 0) {
// need to track soFar
var _get = get;
get = function() {
soFar++;
return _get();
}
var _unget = unget;
unget = function() {
soFar--;
return _unget();
}
}
var formatIndex = 0;
var argsi = 0;
var fields = 0;
var argIndex = 0;
var next;
mainLoop:
for (var formatIndex = 0; formatIndex < format.length;) {
if (format[formatIndex] === '%' && format[formatIndex+1] == 'n') {
var argPtr = HEAP32[(((varargs)+(argIndex))>>2)];
argIndex += Runtime.getNativeFieldSize('void*');
HEAP32[((argPtr)>>2)]=soFar;
formatIndex += 2;
continue;
}
// TODO: Support strings like "%5c" etc.
if (format[formatIndex] === '%' && format[formatIndex+1] == 'c') {
var argPtr = HEAP32[(((varargs)+(argIndex))>>2)];
argIndex += Runtime.getNativeFieldSize('void*');
fields++;
next = get();
HEAP8[(argPtr)]=next
formatIndex += 2;
continue;
}
// remove whitespace
while (1) {
next = get();
if (next == 0) return fields;
if (!(next in __scanString.whiteSpace)) break;
}
unget();
if (format[formatIndex] === '%') {
formatIndex++;
var suppressAssignment = false;
if (format[formatIndex] == '*') {
suppressAssignment = true;
formatIndex++;
}
var maxSpecifierStart = formatIndex;
while (format[formatIndex].charCodeAt(0) >= 48 &&
format[formatIndex].charCodeAt(0) <= 57) {
formatIndex++;
}
var max_;
if (formatIndex != maxSpecifierStart) {
max_ = parseInt(format.slice(maxSpecifierStart, formatIndex), 10);
}
var long_ = false;
var half = false;
var longLong = false;
if (format[formatIndex] == 'l') {
long_ = true;
formatIndex++;
if(format[formatIndex] == 'l') {
longLong = true;
formatIndex++;
}
} else if (format[formatIndex] == 'h') {
half = true;
formatIndex++;
}
var type = format[formatIndex];
formatIndex++;
var curr = 0;
var buffer = [];
// Read characters according to the format. floats are trickier, they may be in an unfloat state in the middle, then be a valid float later
if (type == 'f' || type == 'e' || type == 'g' || type == 'E') {
var last = 0;
next = get();
while (next > 0) {
buffer.push(String.fromCharCode(next));
if (__isFloat(buffer.join(''))) {
last = buffer.length;
}
next = get();
}
for (var i = 0; i < buffer.length - last + 1; i++) {
unget();
}
buffer.length = last;
} else {
next = get();
var first = true;
while ((curr < max_ || isNaN(max_)) && next > 0) {
if (!(next in __scanString.whiteSpace) && // stop on whitespace
(type == 's' ||
((type === 'd' || type == 'u' || type == 'i') && ((next >= 48 && next <= 57) ||
(first && next == 45))) ||
(type === 'x' && (next >= 48 && next <= 57 ||
next >= 97 && next <= 102 ||
next >= 65 && next <= 70))) &&
(formatIndex >= format.length || next !== format[formatIndex].charCodeAt(0))) { // Stop when we read something that is coming up
buffer.push(String.fromCharCode(next));
next = get();
curr++;
first = false;
} else {
break;
}
}
unget();
}
if (buffer.length === 0) return 0; // Failure.
if (suppressAssignment) continue;
var text = buffer.join('');
var argPtr = HEAP32[(((varargs)+(argIndex))>>2)];
argIndex += Runtime.getNativeFieldSize('void*');
switch (type) {
case 'd': case 'u': case 'i':
if (half) {
HEAP16[((argPtr)>>1)]=parseInt(text, 10);
} else if(longLong) {
(tempI64 = [parseInt(text, 10)>>>0,Math.min(Math.floor((parseInt(text, 10))/4294967296), 4294967295)>>>0],HEAP32[((argPtr)>>2)]=tempI64[0],HEAP32[(((argPtr)+(4))>>2)]=tempI64[1]);
} else {
HEAP32[((argPtr)>>2)]=parseInt(text, 10);
}
break;
case 'x':
HEAP32[((argPtr)>>2)]=parseInt(text, 16)
break;
case 'f':
case 'e':
case 'g':
case 'E':
// fallthrough intended
if (long_) {
(HEAPF64[(tempDoublePtr)>>3]=parseFloat(text),HEAP32[((argPtr)>>2)]=HEAP32[((tempDoublePtr)>>2)],HEAP32[(((argPtr)+(4))>>2)]=HEAP32[(((tempDoublePtr)+(4))>>2)])
} else {
HEAPF32[((argPtr)>>2)]=parseFloat(text)
}
break;
case 's':
var array = intArrayFromString(text);
for (var j = 0; j < array.length; j++) {
HEAP8[(((argPtr)+(j))|0)]=array[j]
}
break;
}
fields++;
} else if (format[formatIndex] in __scanString.whiteSpace) {
next = get();
while (next in __scanString.whiteSpace) {
if (next <= 0) break mainLoop; // End of input.
next = get();
}
unget(next);
formatIndex++;
} else {
// Not a specifier.
next = get();
if (format[formatIndex].charCodeAt(0) !== next) {
unget(next);
break mainLoop;
}
formatIndex++;
}
}
return fields;
}function _sscanf(s, format, varargs) {
// int sscanf(const char *restrict s, const char *restrict format, ... );
// http://pubs.opengroup.org/onlinepubs/000095399/functions/scanf.html
var index = 0;
var get = function() { return HEAP8[(((s)+(index++))|0)]; };
var unget = function() { index--; };
return __scanString(format, get, unget, varargs);
}
function __Z7catopenPKci() { throw 'catopen not implemented' }
function __Z7catgetsP8_nl_catdiiPKc() { throw 'catgets not implemented' }
function __Z8catcloseP8_nl_catd() { throw 'catclose not implemented' }
function _newlocale(mask, locale, base) {
return 0;
}
function _freelocale(locale) {}
function ___ctype_b_loc() {
// http://refspecs.freestandards.org/LSB_3.0.0/LSB-Core-generic/LSB-Core-generic/baselib---ctype-b-loc.html
var me = ___ctype_b_loc;
if (!me.ret) {
var values = [
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,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,8195,8194,8194,8194,8194,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,24577,49156,49156,49156,
49156,49156,49156,49156,49156,49156,49156,49156,49156,49156,49156,49156,55304,55304,55304,55304,55304,55304,55304,55304,
55304,55304,49156,49156,49156,49156,49156,49156,49156,54536,54536,54536,54536,54536,54536,50440,50440,50440,50440,50440,
50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,49156,49156,49156,49156,49156,
49156,54792,54792,54792,54792,54792,54792,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,
50696,50696,50696,50696,50696,50696,50696,49156,49156,49156,49156,2,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,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
];
var i16size = 2;
var arr = _malloc(values.length * i16size);
for (var i = 0; i < values.length; i++) {
HEAP16[(((arr)+(i * i16size))>>1)]=values[i]
}
me.ret = allocate([arr + 128 * i16size], 'i16*', ALLOC_NORMAL);
}
return me.ret;
}
function ___ctype_tolower_loc() {
// http://refspecs.freestandards.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/libutil---ctype-tolower-loc.html
var me = ___ctype_tolower_loc;
if (!me.ret) {
var values = [
128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,
158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,
188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,
218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,
248,249,250,251,252,253,254,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,
33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,
104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,
104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,
134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,
164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,
194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,
254,255
];
var i32size = 4;
var arr = _malloc(values.length * i32size);
for (var i = 0; i < values.length; i++) {
HEAP32[(((arr)+(i * i32size))>>2)]=values[i]
}
me.ret = allocate([arr + 128 * i32size], 'i32*', ALLOC_NORMAL);
}
return me.ret;
}
function ___ctype_toupper_loc() {
// http://refspecs.freestandards.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/libutil---ctype-toupper-loc.html
var me = ___ctype_toupper_loc;
if (!me.ret) {
var values = [
128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,
158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,
188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,
218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,
248,249,250,251,252,253,254,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,
33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,
73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,
81,82,83,84,85,86,87,88,89,90,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,
175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,
205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,
235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
];
var i32size = 4;
var arr = _malloc(values.length * i32size);
for (var i = 0; i < values.length; i++) {
HEAP32[(((arr)+(i * i32size))>>2)]=values[i]
}
me.ret = allocate([arr + 128 * i32size], 'i32*', ALLOC_NORMAL);
}
return me.ret;
}
function _strftime(s, maxsize, format, timeptr) {
// size_t strftime(char *restrict s, size_t maxsize, const char *restrict format, const struct tm *restrict timeptr);
// http://pubs.opengroup.org/onlinepubs/009695399/functions/strftime.html
// TODO: Implement.
return 0;
}var _strftime_l=_strftime;
function _isspace(chr) {
return chr in { 32: 0, 9: 0, 10: 0, 11: 0, 12: 0, 13: 0 };
}
function __parseInt64(str, endptr, base, min, max, unsign) {
var start = str;
// Skip space.
while (_isspace(HEAP8[(str)])) str++;
// Check for a plus/minus sign.
if (HEAP8[(str)] == 45) {
str++;
} else if (HEAP8[(str)] == 43) {
str++;
}
// Find base.
var ok = false;
var finalBase = base;
if (!finalBase) {
if (HEAP8[(str)] == 48) {
if (HEAP8[((str+1)|0)] == 120 ||
HEAP8[((str+1)|0)] == 88) {
finalBase = 16;
str += 2;
} else {
finalBase = 8;
str++;
ok = true; // we saw an initial zero, perhaps the entire thing is just "0"
}
}
}
if (!finalBase) finalBase = 10;
// Get digits.
var chr;
while ((chr = HEAP8[(str)]) != 0) {
var digit = parseInt(String.fromCharCode(chr), finalBase);
if (isNaN(digit)) {
break;
} else {
str++;
ok = true;
}
}
if (!ok) {
___setErrNo(ERRNO_CODES.EINVAL);
return tempRet0 = 0,0;
}
// Set end pointer.
if (endptr) {
HEAP32[((endptr)>>2)]=str
}
try {
i64Math.fromString(Pointer_stringify(start, str - start), finalBase, min, max, unsign);
} catch(e) {
___setErrNo(ERRNO_CODES.ERANGE); // not quite correct
}
return tempRet0 = HEAP32[(((tempDoublePtr)+(4))>>2)],HEAP32[((tempDoublePtr)>>2)];
}function _strtoull(str, endptr, base) {
return __parseInt64(str, endptr, base, 0, '18446744073709551615', true); // ULONG_MAX.
}var _strtoull_l=_strtoull;
function _strtoll(str, endptr, base) {
return __parseInt64(str, endptr, base, '-9223372036854775808', '9223372036854775807'); // LLONG_MIN, LLONG_MAX.
}var _strtoll_l=_strtoll;
function _uselocale(locale) {
return 0;
}
function _mbsrtowcs() { throw 'mbsrtowcs not implemented' }
function _mbrlen() { throw 'mbrlen not implemented' }
function ___locale_mb_cur_max() { throw '__locale_mb_cur_max not implemented' }
function _mbtowc(pwc, pmb, maxx) {
// XXX doesn't really handle multibyte at all
if (!pmb) return 0;
maxx = Math.min(85, maxx);
var i;
for (i = 0; i < maxx; i++) {
var curr = HEAP8[(pmb)];
if (pwc) {
HEAP8[(pwc)]=curr;
HEAP8[(((pwc)+(1))|0)]=0;
pwc += 2;
}
pmb++;
if (!curr) break;
}
return i;
}
function _mbrtowc() { throw 'mbrtowc not implemented' }
function _mbsnrtowcs() { throw 'mbsnrtowcs not implemented' }
function _wcrtomb(s, wc, ps) {
// XXX doesn't really handle multibyte at all
if (s) {
HEAP8[(s)]=wc;
}
return 1;
}
function _wcsnrtombs() { throw 'wcsnrtombs not implemented' }
function _sprintf(s, format, varargs) {
// int sprintf(char *restrict s, const char *restrict format, ...);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/printf.html
return _snprintf(s, undefined, format, varargs);
}function _asprintf(s, format, varargs) {
return _sprintf(-s, format, varargs);
}var _vasprintf=_asprintf;
function _llvm_va_end() {}
var _vsnprintf=_snprintf;
var _vsprintf=_sprintf;
var _vsscanf=_sscanf;
var _llvm_memset_p0i8_i64=_memset;
function _time(ptr) {
var ret = Math.floor(Date.now()/1000);
if (ptr) {
HEAP32[((ptr)>>2)]=ret
}
return ret;
}
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 need to make sure no one else allocates unfreeable memory!
// We must control this entirely. So we don't even need to do
// unfreeable allocations - the HEAP is ours, from STATICTOP up.
// TODO: We could in theory slice off the top of the HEAP when
// sbrk gets a negative increment in |bytes|...
var self = _sbrk;
if (!self.called) {
STATICTOP = alignMemoryPage(STATICTOP); // make sure we start out aligned
self.called = true;
_sbrk.DYNAMIC_START = STATICTOP;
}
var ret = STATICTOP;
if (bytes != 0) Runtime.staticAlloc(bytes);
return ret; // Previous break location.
}
var Browser={mainLoop:{scheduler:null,shouldPause:false,paused:false,queue:[],pause:function () {
Browser.mainLoop.shouldPause = true;
},resume:function () {
if (Browser.mainLoop.paused) {
Browser.mainLoop.paused = false;
Browser.mainLoop.scheduler();
}
Browser.mainLoop.shouldPause = false;
},updateStatus:function () {
if (Module['setStatus']) {
var message = Module['statusMessage'] || 'Please wait...';
var remaining = Browser.mainLoop.remainingBlockers;
var expected = Browser.mainLoop.expectedBlockers;
if (remaining) {
if (remaining < expected) {
Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')');
} else {
Module['setStatus'](message);
}
} else {
Module['setStatus']('');
}
}
}},isFullScreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () {
if (Browser.initted) return;
Browser.initted = true;
try {
new Blob();
Browser.hasBlobConstructor = true;
} catch(e) {
Browser.hasBlobConstructor = false;
console.log("warning: no blob constructor, cannot create blobs with mimetypes");
}
Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null));
Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : console.log("warning: cannot create object URLs");
// Support for plugins that can process preloaded files. You can add more of these to
// your app by creating and appending to Module.preloadPlugins.
//
// Each plugin is asked if it can handle a file based on the file's name. If it can,
// it is given the file's raw data. When it is done, it calls a callback with the file's
// (possibly modified) data. For example, a plugin might decompress a file, or it
// might create some side data structure for use later (like an Image element, etc.).
function getMimetype(name) {
return {
'jpg': 'image/jpeg',
'jpeg': 'image/jpeg',
'png': 'image/png',
'bmp': 'image/bmp',
'ogg': 'audio/ogg',
'wav': 'audio/wav',
'mp3': 'audio/mpeg'
}[name.substr(name.lastIndexOf('.')+1)];
}
if (!Module["preloadPlugins"]) Module["preloadPlugins"] = [];
var imagePlugin = {};
imagePlugin['canHandle'] = function(name) {
return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/.exec(name);
};
imagePlugin['handle'] = function(byteArray, name, onload, onerror) {
var b = null;
if (Browser.hasBlobConstructor) {
try {
b = new Blob([byteArray], { type: getMimetype(name) });
} catch(e) {
Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder');
}
}
if (!b) {
var bb = new Browser.BlobBuilder();
bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range
b = bb.getBlob();
}
var url = Browser.URLObject.createObjectURL(b);
assert(typeof url == 'string', 'createObjectURL must return a url as a string');
var img = new Image();
img.onload = function() {
assert(img.complete, 'Image ' + name + ' could not be decoded');
var canvas = document.createElement('canvas');
canvas.width = img.width;
canvas.height = img.height;
var ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0);
Module["preloadedImages"][name] = canvas;
Browser.URLObject.revokeObjectURL(url);
if (onload) onload(byteArray);
};
img.onerror = function(event) {
console.log('Image ' + url + ' could not be decoded');
if (onerror) onerror();
};
img.src = url;
};
Module['preloadPlugins'].push(imagePlugin);
var audioPlugin = {};
audioPlugin['canHandle'] = function(name) {
return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 };
};
audioPlugin['handle'] = function(byteArray, name, onload, onerror) {
var done = false;
function finish(audio) {
if (done) return;
done = true;
Module["preloadedAudios"][name] = audio;
if (onload) onload(byteArray);
}
function fail() {
if (done) return;
done = true;
Module["preloadedAudios"][name] = new Audio(); // empty shim
if (onerror) onerror();
}
if (Browser.hasBlobConstructor) {
try {
var b = new Blob([byteArray], { type: getMimetype(name) });
} catch(e) {
return fail();
}
var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this!
assert(typeof url == 'string', 'createObjectURL must return a url as a string');
var audio = new Audio();
audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926
audio.onerror = function(event) {
if (done) return;
console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach');
function encode64(data) {
var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
var PAD = '=';
var ret = '';
var leftchar = 0;
var leftbits = 0;
for (var i = 0; i < data.length; i++) {
leftchar = (leftchar << 8) | data[i];
leftbits += 8;
while (leftbits >= 6) {
var curr = (leftchar >> (leftbits-6)) & 0x3f;
leftbits -= 6;
ret += BASE[curr];
}
}
if (leftbits == 2) {
ret += BASE[(leftchar&3) << 4];
ret += PAD + PAD;
} else if (leftbits == 4) {
ret += BASE[(leftchar&0xf) << 2];
ret += PAD;
}
return ret;
}
audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray);
finish(audio); // we don't wait for confirmation this worked - but it's worth trying
};
audio.src = url;
// workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror
setTimeout(function() {
finish(audio); // try to use it even though it is not necessarily ready to play
}, 10000);
} else {
return fail();
}
};
Module['preloadPlugins'].push(audioPlugin);
// Canvas event setup
var canvas = Module['canvas'];
canvas.requestPointerLock = canvas['requestPointerLock'] ||
canvas['mozRequestPointerLock'] ||
canvas['webkitRequestPointerLock'];
canvas.exitPointerLock = document['exitPointerLock'] ||
document['mozExitPointerLock'] ||
document['webkitExitPointerLock'];
canvas.exitPointerLock = canvas.exitPointerLock.bind(document);
function pointerLockChange() {
Browser.pointerLock = document['pointerLockElement'] === canvas ||
document['mozPointerLockElement'] === canvas ||
document['webkitPointerLockElement'] === canvas;
}
document.addEventListener('pointerlockchange', pointerLockChange, false);
document.addEventListener('mozpointerlockchange', pointerLockChange, false);
document.addEventListener('webkitpointerlockchange', pointerLockChange, false);
if (Module['elementPointerLock']) {
canvas.addEventListener("click", function(ev) {
if (!Browser.pointerLock && canvas.requestPointerLock) {
canvas.requestPointerLock();
ev.preventDefault();
}
}, false);
}
},createContext:function (canvas, useWebGL, setInModule) {
var ctx;
try {
if (useWebGL) {
ctx = canvas.getContext('experimental-webgl', {
alpha: false
});
} else {
ctx = canvas.getContext('2d');
}
if (!ctx) throw ':(';
} catch (e) {
Module.print('Could not create canvas - ' + e);
return null;
}
if (useWebGL) {
// Set the background of the WebGL canvas to black
canvas.style.backgroundColor = "black";
// Warn on context loss
canvas.addEventListener('webglcontextlost', function(event) {
alert('WebGL context lost. You will need to reload the page.');
}, false);
}
if (setInModule) {
Module.ctx = ctx;
Module.useWebGL = useWebGL;
Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() });
Browser.init();
}
return ctx;
},destroyContext:function (canvas, useWebGL, setInModule) {},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function (lockPointer, resizeCanvas) {
this.lockPointer = lockPointer;
this.resizeCanvas = resizeCanvas;
if (typeof this.lockPointer === 'undefined') this.lockPointer = true;
if (typeof this.resizeCanvas === 'undefined') this.resizeCanvas = false;
var canvas = Module['canvas'];
function fullScreenChange() {
Browser.isFullScreen = false;
if ((document['webkitFullScreenElement'] || document['webkitFullscreenElement'] ||
document['mozFullScreenElement'] || document['mozFullscreenElement'] ||
document['fullScreenElement'] || document['fullscreenElement']) === canvas) {
canvas.cancelFullScreen = document['cancelFullScreen'] ||
document['mozCancelFullScreen'] ||
document['webkitCancelFullScreen'];
canvas.cancelFullScreen = canvas.cancelFullScreen.bind(document);
if (Browser.lockPointer) canvas.requestPointerLock();
Browser.isFullScreen = true;
if (Browser.resizeCanvas) Browser.setFullScreenCanvasSize();
} else if (Browser.resizeCanvas){
Browser.setWindowedCanvasSize();
}
if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullScreen);
}
if (!this.fullScreenHandlersInstalled) {
this.fullScreenHandlersInstalled = true;
document.addEventListener('fullscreenchange', fullScreenChange, false);
document.addEventListener('mozfullscreenchange', fullScreenChange, false);
document.addEventListener('webkitfullscreenchange', fullScreenChange, false);
}
canvas.requestFullScreen = canvas['requestFullScreen'] ||
canvas['mozRequestFullScreen'] ||
(canvas['webkitRequestFullScreen'] ? function() { canvas['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null);
canvas.requestFullScreen();
},requestAnimationFrame:function (func) {
if (!window.requestAnimationFrame) {
window.requestAnimationFrame = window['requestAnimationFrame'] ||
window['mozRequestAnimationFrame'] ||
window['webkitRequestAnimationFrame'] ||
window['msRequestAnimationFrame'] ||
window['oRequestAnimationFrame'] ||
window['setTimeout'];
}
window.requestAnimationFrame(func);
},getMovementX:function (event) {
return event['movementX'] ||
event['mozMovementX'] ||
event['webkitMovementX'] ||
0;
},getMovementY:function (event) {
return event['movementY'] ||
event['mozMovementY'] ||
event['webkitMovementY'] ||
0;
},xhrLoad:function (url, onload, onerror) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'arraybuffer';
xhr.onload = function() {
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);
},asyncLoad:function (url, onload, onerror, noRunDep) {
Browser.xhrLoad(url, function(arrayBuffer) {
assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).');
onload(new Uint8Array(arrayBuffer));
if (!noRunDep) removeRunDependency('al ' + url);
}, function(event) {
if (onerror) {
onerror();
} else {
throw 'Loading data file "' + url + '" failed.';
}
});
if (!noRunDep) addRunDependency('al ' + url);
},resizeListeners:[],updateResizeListeners:function () {
var canvas = Module['canvas'];
Browser.resizeListeners.forEach(function(listener) {
listener(canvas.width, canvas.height);
});
},setCanvasSize:function (width, height, noUpdates) {
var canvas = Module['canvas'];
canvas.width = width;
canvas.height = height;
if (!noUpdates) Browser.updateResizeListeners();
},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function () {
var canvas = Module['canvas'];
this.windowedWidth = canvas.width;
this.windowedHeight = canvas.height;
canvas.width = screen.width;
canvas.height = screen.height;
var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)];
flags = flags | 0x00800000; // set SDL_FULLSCREEN flag
HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags
Browser.updateResizeListeners();
},setWindowedCanvasSize:function () {
var canvas = Module['canvas'];
canvas.width = this.windowedWidth;
canvas.height = this.windowedHeight;
var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)];
flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag
HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags
Browser.updateResizeListeners();
}};
_llvm_eh_exception.buf = allocate(12, "void*", ALLOC_STATIC);
__ATINIT__.unshift({ func: function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() } });__ATMAIN__.push({ func: function() { FS.ignorePermissions = false } });__ATEXIT__.push({ func: 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;
___setErrNo(0);
_fgetc.ret = allocate([0], "i8", ALLOC_STATIC);
Module["requestFullScreen"] = function(lockPointer, resizeCanvas) { Browser.requestFullScreen(lockPointer, resizeCanvas) };
Module["requestAnimationFrame"] = function(func) { Browser.requestAnimationFrame(func) };
Module["pauseMainLoop"] = function() { Browser.mainLoop.pause() };
Module["resumeMainLoop"] = function() { Browser.mainLoop.resume() };
var FUNCTION_TABLE = [0,0,__ZNSt3__18messagesIwED0Ev,0,__ZNSt3__15tupleIJNS_12_GLOBAL__N_111__fake_bindEEEC2IJS2_ELb0EEEDpOT_,0,__ZNSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev,0,__ZNKSt3__18numpunctIcE12do_falsenameEv,0,__ZNSt11logic_errorD2Ev
,0,__ZNKSt3__120__time_get_c_storageIwE3__rEv,0,__ZNSt3__15tupleIJNS_12_GLOBAL__N_111__fake_bindEEEC2IS3_Lb0EEEOT_,0,__ZNSt3__18messagesIcED0Ev,0,__ZNSt3__112_GLOBAL__N_111__fake_bindC2EMNS_6locale2idEFvvEPS3_,0,__ZNSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED1Ev
,0,__ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_yearES4_S4_RNS_8ios_baseERjP2tm,0,__ZNSt12length_errorD0Ev,0,__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEED1Ev,0,__ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE6xsputnEPKwi,0,__ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_timeES4_S4_RNS_8ios_baseERjP2tm
,0,__ZNKSt3__15ctypeIcE10do_toupperEc,0,__ZNSt3__16locale2id6__initEv,0,__ZNSt3__110__stdinbufIcED1Ev,0,__ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE14do_get_weekdayES4_S4_RNS_8ios_baseERjP2tm,0,__ZNSt3__110__stdinbufIcE9pbackfailEi
,0,__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE9underflowEv,0,__ZNSt3__111__stdoutbufIwE5imbueERKNS_6localeE,0,__ZNSt3__18time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev,0,__ZNSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev,0,__ZNSt11logic_errorD0Ev
,0,__ZNSt13runtime_errorD2Ev,0,__ZNKSt3__17collateIcE7do_hashEPKcS3_,0,__ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRl,0,__ZNKSt3__120__time_get_c_storageIwE8__monthsEv,0,__ZNSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev
,0,__ZNKSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_bRNS_8ios_baseEwRKNS_12basic_stringIwS3_NS_9allocatorIwEEEE,0,__ZNKSt3__15ctypeIcE10do_toupperEPcPKc,0,__ZNKSt3__17codecvtIcc10_mbstate_tE6do_outERS1_PKcS5_RS5_PcS7_RS7_,0,__ZN10__cxxabiv116__shim_type_infoD2Ev,0,__ZNKSt3__110moneypunctIwLb1EE16do_positive_signEv
,0,__ZNKSt3__15ctypeIwE10do_tolowerEPwPKw,0,__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE5uflowEv,0,__ZNSt3__17collateIcED1Ev,0,__ZNSt3__18ios_base7failureD2Ev,0,__ZNSt3__18numpunctIwEC2Ej
,0,__ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_dateES4_S4_RNS_8ios_baseERjP2tm,0,__ZN12_GLOBAL__N_114__libcpp_nmstrC2EPKc,0,__ZNK10__cxxabiv121__vmi_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib,0,__ZNSt9bad_allocD2Ev,0,__ZNKSt3__17codecvtIDsc10_mbstate_tE10do_unshiftERS1_PcS4_RS4_
,0,__ZNSt11logic_errorD2Ev,0,__ZNSt3__16locale5facetD0Ev,0,__ZNKSt3__112__do_message7messageEi,0,__ZNKSt3__120__time_get_c_storageIwE3__cEv,0,__ZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwy
,0,__ZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwx,0,__ZNSt3__117__compressed_pairIPNS_6locale5facetENS_12_GLOBAL__N_17releaseEEC2ES3_,0,__ZNSt3__15ctypeIcED0Ev,0,__ZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwm,0,__ZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwl
,0,__ZNSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED1Ev,0,__ZNSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED1Ev,0,__ZNSt8bad_castC2Ev,0,__ZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwe,0,__ZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwd
,0,__ZNKSt3__110moneypunctIcLb1EE16do_decimal_pointEv,0,__ZNKSt3__17codecvtIwc10_mbstate_tE11do_encodingEv,0,__ZNSt3__110__stdinbufIwE5imbueERKNS_6localeE,0,__ZNK10__cxxabiv120__si_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib,0,__ZNKSt3__19money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_bRNS_8ios_baseEcRKNS_12basic_stringIcS3_NS_9allocatorIcEEEE
,0,__ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEED1Ev,0,__ZNKSt3__17codecvtIDsc10_mbstate_tE13do_max_lengthEv,0,__ZNKSt3__17codecvtIwc10_mbstate_tE9do_lengthERS1_PKcS5_j,0,__ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13do_date_orderEv,0,__ZNSt3__18messagesIcED1Ev
,0,__ZNKSt3__120__time_get_c_storageIwE7__weeksEv,0,__ZNKSt3__18numpunctIwE11do_groupingEv,0,__ZNSt3__16locale5facet16__on_zero_sharedEv,0,__ZNKSt3__15ctypeIwE8do_widenEc,0,__ZNKSt3__18time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwPK2tmcc
,0,__ZNSt3__18numpunctIcED2Ev,0,__ZNSt3__110__stdinbufIcE5uflowEv,0,__ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE9pbackfailEj,0,__ZNSt3__16locale5facetD2Ev,0,__ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_timeES4_S4_RNS_8ios_baseERjP2tm
,0,__ZTv0_n12_NSt3__113basic_istreamIcNS_11char_traitsIcEEED0Ev,0,__ZNSt3__16locale5facetD2Ev,0,__ZNSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED1Ev,0,__ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE5uflowEv,0,__ZNKSt3__110moneypunctIwLb0EE13do_neg_formatEv
,0,__ZNKSt3__17codecvtIwc10_mbstate_tE5do_inERS1_PKcS5_RS5_PwS7_RS7_,0,__ZNKSt3__17codecvtIDsc10_mbstate_tE5do_inERS1_PKcS5_RS5_PDsS7_RS7_,0,__ZNKSt3__15ctypeIcE8do_widenEc,0,__ZNSt3__110moneypunctIwLb0EED0Ev,0,__ZNSt3__17codecvtIwc10_mbstate_tED2Ev
,0,__ZNKSt3__17codecvtIDic10_mbstate_tE9do_lengthERS1_PKcS5_j,0,__ZNSt3__16locale5__impD2Ev,0,__ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE9underflowEv,0,__ZNSt3__18ios_base7failureD0Ev,0,__ZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwPKv
,0,__ZNSt3__18numpunctIcED2Ev,0,__ZNSt3__17codecvtIcc10_mbstate_tED0Ev,0,__ZNKSt3__18numpunctIcE11do_groupingEv,0,__ZNK10__cxxabiv116__shim_type_info5noop1Ev,0,__ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE16do_get_monthnameES4_S4_RNS_8ios_baseERjP2tm
,0,__ZNKSt3__120__time_get_c_storageIwE3__xEv,0,__ZNKSt3__17codecvtIcc10_mbstate_tE10do_unshiftERS1_PcS4_RS4_,0,__ZNSt3__110__stdinbufIwE9pbackfailEj,0,__ZNKSt3__18time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcPK2tmcc,0,__ZNSt3__18numpunctIcED0Ev
,0,__ZNSt3__112__tuple_implINS_15__tuple_indicesIJLj0EEEEJNS_12_GLOBAL__N_111__fake_bindEEEC2INS_5tupleIJS4_EEEvEEOT_,0,__ZNSt3__119__iostream_categoryD1Ev,0,__ZNKSt3__120__time_get_c_storageIwE7__am_pmEv,0,__ZNSt3__16locale5facetD2Ev,0,__ZNSt3__110__stdinbufIwED0Ev
,0,__ZNKSt3__18messagesIcE8do_closeEi,0,__ZNKSt3__15ctypeIwE5do_isEPKwS3_Pt,0,__ZNSt13runtime_errorD2Ev,0,__ZNKSt3__15ctypeIwE10do_toupperEw,0,__ZNKSt3__15ctypeIwE9do_narrowEPKwS3_cPc
,0,__ZNKSt3__17codecvtIDic10_mbstate_tE11do_encodingEv,0,__ZNKSt3__110moneypunctIwLb0EE14do_curr_symbolEv,0,__ZNKSt3__110moneypunctIcLb0EE16do_negative_signEv,0,__ZNSt3__17collateIwED1Ev,0,__ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE16do_get_monthnameES4_S4_RNS_8ios_baseERjP2tm
,0,__ZNK10__cxxabiv117__class_type_info9can_catchEPKNS_16__shim_type_infoERPv,0,__ZNKSt8bad_cast4whatEv,0,__ZNSt3__15ctypeIcED2Ev,0,__ZNSt3__110moneypunctIcLb0EED1Ev,0,__ZNKSt3__18messagesIcE6do_getEiiiRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE
,0,__ZNSt3__18numpunctIwED2Ev,0,__ZNKSt3__110moneypunctIwLb1EE13do_pos_formatEv,0,__ZNSt3__15ctypeIwED0Ev,0,__ZNKSt13runtime_error4whatEv,0,_free
,0,__ZNSt3__16locale5facetD2Ev,0,__ZNSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev,0,__ZNSt3__117__widen_from_utf8ILj32EED0Ev,0,__ZNKSt3__18numpunctIwE16do_thousands_sepEv,0,_uselocale
,0,__ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmcc,0,__ZN10__cxxabiv116__shim_type_infoD2Ev,0,__ZNSt3__113basic_istreamIwNS_11char_traitsIwEEED1Ev,0,__ZNKSt3__18numpunctIcE16do_decimal_pointEv,0,__ZNKSt3__110moneypunctIwLb0EE16do_negative_signEv
,0,__ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib,0,__ZNKSt3__120__time_get_c_storageIcE3__xEv,0,__ZNSt3__17collateIwED0Ev,0,__ZNKSt3__110moneypunctIcLb0EE16do_positive_signEv,0,__ZNKSt3__17codecvtIDsc10_mbstate_tE16do_always_noconvEv
,0,__ZNKSt3__17codecvtIDsc10_mbstate_tE9do_lengthERS1_PKcS5_j,0,__ZNSt11logic_errorD2Ev,0,__ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE7seekoffExNS_8ios_base7seekdirEj,0,__ZNSt3__18ios_base4InitD2Ev,0,__ZNSt3__117__call_once_proxyINS_5tupleIJNS_12_GLOBAL__N_111__fake_bindEEEEEEvPv
,0,__ZNKSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcy,0,__ZNSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED1Ev,0,__ZNKSt3__17codecvtIcc10_mbstate_tE9do_lengthERS1_PKcS5_j,0,__ZNKSt3__18numpunctIwE16do_decimal_pointEv,0,__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE4syncEv
,0,__ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib,0,__ZNSt3__114error_categoryD2Ev,0,__ZNKSt3__110moneypunctIcLb0EE11do_groupingEv,0,__ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi,0,__ZNKSt3__110moneypunctIwLb1EE14do_frac_digitsEv
,0,__ZNKSt3__110moneypunctIwLb1EE16do_negative_signEv,0,__ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi,0,__ZNSt3__111__stdoutbufIcE8overflowEi,0,__ZNKSt3__120__time_get_c_storageIcE3__XEv,0,__ZNSt3__112__tuple_implINS_15__tuple_indicesIJLj0EEEEJNS_12_GLOBAL__N_111__fake_bindEEEC2IJLj0EEJS4_EJEJEJS4_EEENS1_IJXspT_EEEENS_13__tuple_typesIJDpT0_EEENS1_IJXspT1_EEEENS8_IJDpT2_EEEDpOT3_
,0,__ZNSt3__16localeC2ERKS0_,0,__ZNKSt3__15ctypeIwE9do_narrowEwc,0,__ZNSt3__112__do_messageD1Ev,0,__ZNSt3__111__stdoutbufIwE4syncEv,0,__ZNSt11logic_errorD2Ev
,0,__ZNSt3__110moneypunctIwLb0EED1Ev,0,__ZNKSt3__110moneypunctIcLb1EE13do_neg_formatEv,0,__ZNSt3__17codecvtIwc10_mbstate_tEC2Ej,0,__ZNSt3__113basic_istreamIcNS_11char_traitsIcEEED1Ev,0,__ZNSt3__19basic_iosIwNS_11char_traitsIwEEED1Ev
,0,__ZNKSt3__17codecvtIcc10_mbstate_tE5do_inERS1_PKcS5_RS5_PcS7_RS7_,0,__ZTv0_n12_NSt3__113basic_ostreamIcNS_11char_traitsIcEEED1Ev,0,__ZN10__cxxabiv116__shim_type_infoD2Ev,0,__ZN10__cxxabiv116__shim_type_infoD2Ev,0,__ZNSt3__18time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev
,0,__ZNSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev,0,__ZNKSt3__17collateIwE7do_hashEPKwS3_,0,__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE7seekposENS_4fposI10_mbstate_tEEj,0,__ZNSt3__111__stdoutbufIcE5imbueERKNS_6localeE,0,__ZNKSt3__110moneypunctIcLb1EE16do_thousands_sepEv
,0,__ZNSt3__18ios_baseD0Ev,0,__ZNSt3__110moneypunctIcLb1EED0Ev,0,__ZNSt9bad_allocD0Ev,0,__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEED0Ev,0,__ZNKSt3__17codecvtIwc10_mbstate_tE16do_always_noconvEv
,0,__ZNKSt3__120__time_get_c_storageIcE3__rEv,0,__ZNKSt3__114error_category10equivalentEiRKNS_15error_conditionE,0,__ZNSt3__19basic_iosIcNS_11char_traitsIcEEED0Ev,0,___cxx_global_array_dtor53,0,__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6xsputnEPKci
,0,___cxx_global_array_dtor56,0,__ZNKSt3__15ctypeIwE10do_scan_isEtPKwS3_,0,__ZNKSt3__17codecvtIDic10_mbstate_tE6do_outERS1_PKDiS5_RS5_PcS7_RS7_,0,__ZNKSt3__15ctypeIcE9do_narrowEPKcS3_cPc,0,__ZNKSt3__17codecvtIDic10_mbstate_tE13do_max_lengthEv
,0,__ZNKSt3__17codecvtIDic10_mbstate_tE5do_inERS1_PKcS5_RS5_PDiS7_RS7_,0,__ZNSt9bad_allocD2Ev,0,__ZTv0_n12_NSt3__113basic_ostreamIwNS_11char_traitsIwEEED0Ev,0,__ZNSt3__115basic_streambufIwNS_11char_traitsIwEEED1Ev,0,__ZN10__cxxabiv120__si_class_type_infoD0Ev
,0,__ZNKSt3__17collateIwE10do_compareEPKwS3_S3_S3_,0,__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6xsgetnEPci,0,__ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRPv,0,__ZNKSt3__15ctypeIcE10do_tolowerEc,0,__ZNKSt3__110moneypunctIwLb1EE13do_neg_formatEv
,0,__ZNKSt3__15ctypeIcE8do_widenEPKcS3_Pc,0,__ZNSt3__17codecvtIwc10_mbstate_tED0Ev,0,__ZN12_GLOBAL__N_114__libcpp_nmstrD2Ev,0,__ZNKSt3__110moneypunctIwLb1EE16do_decimal_pointEv,0,__ZNSt3__17codecvtIDsc10_mbstate_tED0Ev
,0,__ZNKSt3__120__time_get_c_storageIcE7__weeksEv,0,__ZNSt3__16locale5__impD2Ev,0,__ZNSt8bad_castD2Ev,0,__ZNKSt3__18numpunctIwE11do_truenameEv,0,__ZNSt3__18ios_baseD2Ev
,0,__ZTv0_n12_NSt3__113basic_istreamIcNS_11char_traitsIcEEED1Ev,0,__ZNSt3__110__stdinbufIwE9underflowEv,0,__ZNSt3__18ios_base7failureC2EPKcRKNS_10error_codeE,0,__ZNSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev,0,__ZNSt3__18ios_base4InitD2Ev
,0,__ZNKSt3__15ctypeIwE5do_isEtw,0,__ZNSt3__110moneypunctIwLb1EED0Ev,0,__ZTv0_n12_NSt3__113basic_ostreamIwNS_11char_traitsIwEEED1Ev,0,__ZNSt3__16localeD2Ev,0,__ZNSt3__114error_categoryD2Ev
,0,__ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE14do_get_weekdayES4_S4_RNS_8ios_baseERjP2tm,0,__ZNKSt3__17codecvtIDic10_mbstate_tE16do_always_noconvEv,0,__ZNSt3__116__narrow_to_utf8ILj32EED0Ev,0,___cxx_global_array_dtor105,0,__ZNKSt3__17codecvtIwc10_mbstate_tE13do_max_lengthEv
,0,__ZNK10__cxxabiv116__shim_type_info5noop2Ev,0,__ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE6setbufEPwi,0,__ZNKSt3__18messagesIwE7do_openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE,0,__ZNSt3__17codecvtIDic10_mbstate_tED0Ev,0,__ZNSt3__112system_errorD2Ev
,0,__ZNSt3__111__stdoutbufIcED1Ev,0,__ZNSt3__110unique_ptrINS_6locale5facetENS_12_GLOBAL__N_17releaseEED2Ev,0,__ZNKSt3__110moneypunctIcLb1EE14do_curr_symbolEv,0,__ZNSt13runtime_errorC2EPKc,0,__ZNSt3__16locale5__impD0Ev
,0,__ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi,0,__ZNSt3__114__shared_countD2Ev,0,__ZNKSt3__119__iostream_category4nameEv,0,__ZNKSt3__110moneypunctIcLb0EE14do_frac_digitsEv,0,__ZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwb
,0,__ZNKSt3__110moneypunctIwLb1EE11do_groupingEv,0,__ZNSt3__18ios_base7failureD2Ev,0,__ZNKSt3__110moneypunctIcLb1EE11do_groupingEv,0,__ZNSt3__18time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED1Ev,0,__ZNSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED1Ev
,0,__ZNSt8bad_castD0Ev,0,__ZNKSt3__15ctypeIcE9do_narrowEcc,0,__ZNSt3__16locale5facetD2Ev,0,__ZNSt3__112__do_nothingEPv,0,__ZNSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED1Ev
,0,___cxx_global_array_dtor81,0,__ZNSt3__110moneypunctIcLb0EED0Ev,0,__ZNSt3__110unique_ptrINS_6locale5facetENS_12_GLOBAL__N_17releaseEEC2EPS2_,0,__ZNSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev,0,__ZNSt3__18numpunctIwED2Ev
,0,__ZNSt3__16locale5facetD2Ev,0,__ZNKSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcPKv,0,__ZNKSt3__18numpunctIwE12do_falsenameEv,0,__ZNSt3__17collateIcED0Ev,0,__ZNKSt3__110moneypunctIwLb0EE13do_pos_formatEv
,0,__ZNKSt3__110moneypunctIcLb1EE16do_negative_signEv,0,__ZNSt3__111__stdoutbufIcED0Ev,0,__ZN10__cxxabiv116__shim_type_infoD2Ev,0,__ZNSt3__16locale5facetD2Ev,0,__ZTv0_n12_NSt3__113basic_istreamIwNS_11char_traitsIwEEED1Ev
,0,__ZNSt3__112system_errorD0Ev,0,__ZNKSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_bRNS_8ios_baseERjRe,0,__ZNSt3__111__stdoutbufIwED0Ev,0,__ZNSt3__110__stdinbufIwE5uflowEv,0,__ZNKSt3__18numpunctIcE11do_truenameEv
,0,__ZNKSt3__110moneypunctIcLb1EE13do_pos_formatEv,0,__ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE7seekposENS_4fposI10_mbstate_tEEj,0,__ZNKSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_bRNS_8ios_baseEwe,0,__ZNKSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_bRNS_8ios_baseERjRe,0,__ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjS8_
,0,__ZNKSt3__18numpunctIcE16do_thousands_sepEv,0,__ZNSt3__16locale5__impC2Ej,0,__ZNSt3__19money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev,0,__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE9showmanycEv,0,__ZNSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev
,0,__ZNSt3__16locale5facetD2Ev,0,__ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE8overflowEj,0,___cxa_pure_virtual,0,__ZNSt3__18numpunctIwED0Ev,0,__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE5imbueERKNS_6localeE
,0,__ZNKSt3__15ctypeIwE10do_tolowerEw,0,__ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE4syncEv,0,__ZNSt3__111__stdoutbufIcE4syncEv,0,__ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED1Ev,0,__ZNKSt3__17codecvtIwc10_mbstate_tE10do_unshiftERS1_PcS4_RS4_
,0,__ZNKSt3__17collateIcE10do_compareEPKcS3_S3_S3_,0,__ZNSt3__112__do_messageD0Ev,0,__ZNKSt3__17codecvtIwc10_mbstate_tE6do_outERS1_PKwS5_RS5_PcS7_RS7_,0,__ZNSt3__110__stdinbufIwED1Ev,0,__ZNKSt3__17collateIwE12do_transformEPKwS3_
,0,__ZNSt3__114error_categoryD0Ev,0,__ZNKSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcx,0,__ZNKSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEce,0,__ZNKSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcd,0,__ZNKSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcb
,0,__ZNKSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcm,0,__ZNKSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcl,0,__ZNSt8bad_castD2Ev,0,__ZN10__cxxabiv121__vmi_class_type_infoD0Ev,0,__ZNKSt3__110moneypunctIcLb1EE14do_frac_digitsEv
,0,__ZNKSt3__17codecvtIDic10_mbstate_tE10do_unshiftERS1_PcS4_RS4_,0,__ZNKSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_bRNS_8ios_baseERjRNS_12basic_stringIcS3_NS_9allocatorIcEEEE,0,__ZNKSt3__15ctypeIwE10do_toupperEPwPKw,0,__ZTv0_n12_NSt3__113basic_ostreamIcNS_11char_traitsIcEEED0Ev,0,__ZNSt3__110__stdinbufIcE9underflowEv
,0,__ZNKSt3__114error_category23default_error_conditionEi,0,__ZNKSt3__17codecvtIcc10_mbstate_tE13do_max_lengthEv,0,__ZNK10__cxxabiv117__class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib,0,__ZNSt9bad_allocC2Ev,0,__ZNKSt3__17codecvtIcc10_mbstate_tE16do_always_noconvEv
,0,__ZNKSt3__18messagesIwE8do_closeEi,0,__ZNSt3__110__stdinbufIcE5imbueERKNS_6localeE,0,__ZNSt3__112system_errorD2Ev,0,__ZNKSt9bad_alloc4whatEv,0,__ZNKSt3__110moneypunctIwLb0EE11do_groupingEv
,0,__ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE9showmanycEv,0,__ZNKSt3__110moneypunctIcLb0EE16do_decimal_pointEv,0,__ZNSt3__113basic_istreamIcNS_11char_traitsIcEEED0Ev,0,__ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRy,0,__ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRx
,0,__ZNKSt3__120__time_get_c_storageIcE8__monthsEv,0,__ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRt,0,__ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRPv,0,__ZNSt3__114__shared_countD2Ev,0,__ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRm
,0,__ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRl,0,__ZNKSt3__15ctypeIwE11do_scan_notEtPKwS3_,0,__ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRb,0,__ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRe,0,__ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRd
,0,__ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRf,0,__ZNKSt3__17codecvtIcc10_mbstate_tE11do_encodingEv,0,__ZNKSt3__110moneypunctIcLb0EE16do_thousands_sepEv,0,__ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE6xsgetnEPwi,0,__ZNKSt3__110moneypunctIcLb0EE13do_neg_formatEv
,0,__ZNSt3__19basic_iosIcNS_11char_traitsIcEEED1Ev,0,__ZNKSt11logic_error4whatEv,0,__ZNKSt3__119__iostream_category7messageEi,0,__ZNSt3__18numpunctIcEC2Ej,0,__ZNKSt3__110moneypunctIcLb0EE13do_pos_formatEv
,0,__ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEED0Ev,0,__ZNSt3__18ios_base4InitC2Ev,0,__ZNKSt3__110moneypunctIwLb0EE16do_decimal_pointEv,0,__ZNKSt3__17collateIcE12do_transformEPKcS3_,0,__ZNKSt3__114error_category10equivalentERKNS_10error_codeEi
,0,__ZNKSt3__110moneypunctIwLb0EE14do_frac_digitsEv,0,__ZNKSt3__110moneypunctIwLb0EE16do_thousands_sepEv,0,__ZNKSt3__15ctypeIcE10do_tolowerEPcPKc,0,__ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmcc,0,__ZNKSt3__120__time_get_c_storageIcE7__am_pmEv
,0,__ZNKSt3__110moneypunctIcLb0EE14do_curr_symbolEv,0,__ZNKSt3__15ctypeIwE8do_widenEPKcS3_Pw,0,__ZNKSt3__110moneypunctIwLb1EE16do_thousands_sepEv,0,__ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib,0,__ZNSt3__18ios_baseD2Ev
,0,__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEED1Ev,0,__ZNSt3__110__stdinbufIcED0Ev,0,__ZNSt3__16localeC2Ev,0,__ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13do_date_orderEv,0,__ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_yearES4_S4_RNS_8ios_baseERjP2tm
,0,__ZNSt3__119__iostream_categoryD0Ev,0,__ZNSt3__110moneypunctIwLb1EED1Ev,0,__ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE5imbueERKNS_6localeE,0,__ZNKSt3__18messagesIcE7do_openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE,0,__ZNSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev
,0,__ZNSt3__110moneypunctIcLb1EED1Ev,0,__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE8overflowEi,0,__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj,0,__ZNKSt3__120__time_get_c_storageIcE3__cEv,0,__ZNSt3__17codecvtIwc10_mbstate_tED2Ev
,0,__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6setbufEPci,0,__ZNKSt3__110moneypunctIwLb0EE16do_positive_signEv,0,__ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjS8_,0,__ZNSt3__19money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED1Ev,0,__ZNSt3__117__call_once_paramINS_5tupleIJNS_12_GLOBAL__N_111__fake_bindEEEEEC2EOS4_
,0,__ZNKSt3__120__time_get_c_storageIwE3__XEv,0,__ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_dateES4_S4_RNS_8ios_baseERjP2tm,0,__ZNSt3__16locale5facetD2Ev,0,__ZNSt3__16locale5facetD2Ev,0,__ZTv0_n12_NSt3__113basic_istreamIwNS_11char_traitsIwEEED0Ev
,0,__ZNSt3__15ctypeIcEC2EPKtbj,0,__ZNSt3__115basic_streambufIwNS_11char_traitsIwEEED0Ev,0,__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE9pbackfailEi,0,__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEED0Ev,0,__ZNSt3__111__stdoutbufIwE8overflowEj
,0,__ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRy,0,__ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRx,0,__ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRt,0,__ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRm,0,__ZNSt3__19basic_iosIwNS_11char_traitsIwEEED0Ev
,0,__ZNKSt3__19money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_bRNS_8ios_baseEce,0,__ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRe,0,__ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRd,0,__ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRf,0,__ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRb
,0,___cxx_global_array_dtor,0,__ZNSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED1Ev,0,__ZN10__cxxabiv117__class_type_infoD0Ev,0,__ZNSt3__18messagesIwED1Ev,0,__ZNSt3__111__stdoutbufIwED1Ev
,0,__ZNKSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_bRNS_8ios_baseERjRNS_12basic_stringIwS3_NS_9allocatorIwEEEE,0,__ZN10__cxxabiv116__shim_type_infoD2Ev,0,__ZNSt3__16locale5facetD2Ev,0,__ZNSt3__114__shared_countD0Ev,0,__ZNKSt3__110moneypunctIwLb1EE14do_curr_symbolEv
,0,__ZNSt3__18time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED1Ev,0,__ZNKSt3__17codecvtIDsc10_mbstate_tE6do_outERS1_PKDsS5_RS5_PcS7_RS7_,0,__ZNSt3__16locale5facetD2Ev,0,__ZNKSt3__18messagesIwE6do_getEiiiRKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE,0,__ZNKSt3__17codecvtIDsc10_mbstate_tE11do_encodingEv
,0,__ZNKSt3__110moneypunctIcLb1EE16do_positive_signEv,0,__ZNSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED1Ev,0,__ZN10__cxxabiv116__shim_type_infoD2Ev,0,__ZNSt3__16locale5facetD2Ev,0,__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev
,0,__ZNSt3__15ctypeIcED2Ev,0,__ZNSt13runtime_errorD0Ev,0,__ZNSt3__113basic_istreamIwNS_11char_traitsIwEEED0Ev,0,__ZNSt3__16locale5facetD2Ev,0,___cxx_global_array_dtor120,0];
// EMSCRIPTEN_START_FUNCS
function _main() {
var label = 0;
var $1=__ZNSt3__1lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(5255516, ((5244700)|0));
return 0;
}
Module["_main"] = _main;
function __ZNSt3__112__do_messageD2Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
__ZNSt3__114error_categoryD2Ev($3);
return;
}
function __ZNSt3__112__do_messageC2Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
__ZNSt3__114error_categoryC2Ev($3);
var $4=$2;
HEAP32[(($4)>>2)]=((5249748)|0);
return;
}
function ___cxx_global_var_init() {
var label = 0;
__ZNSt3__18ios_base4InitC2Ev(5255856);
var $1=_atexit((298), ((5255856)|0), ___dso_handle);
return;
}
function __ZNSt3__1lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc($__os, $__str) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 20)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8=__stackBase__;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $__s=(__stackBase__)+(4);
var $30;
var $31;
var $__len;
var $32=(__stackBase__)+(12);
var $33=(__stackBase__)+(16);
$28=$__os;
$29=$__str;
var $34=$28;
(function() { try { __THREW__ = 0; return __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryC1ERS3_($__s, $34) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 2; break; } else { label = 25; break; }
case 2:
$27=$__s;
var $36=$27;
var $37=(($36)|0);
var $38=HEAP8[($37)];
var $39=(($38) & 1);
label = 3; break;
case 3:
if ($39) { label = 4; break; } else { label = 29; break; }
case 4:
var $42=$29;
$22=$42;
var $43=$22;
var $44 = (function() { try { __THREW__ = 0; return _strlen($43) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 5; break; } else { label = 26; break; }
case 5:
label = 6; break;
case 6:
$__len=$44;
var $46=$28;
$20=$32;
$21=$46;
var $47=$20;
var $48=$21;
$16=$47;
$17=$48;
var $49=$16;
var $50=$49;
var $51=(($49)|0);
var $52=$17;
var $53=$52;
var $54=HEAP32[(($53)>>2)];
var $55=((($54)-(12))|0);
var $56=$55;
var $57=HEAP32[(($56)>>2)];
var $58=$52;
var $59=(($58+$57)|0);
var $60=$59;
$15=$60;
var $61=$15;
var $62=$61;
$14=$62;
var $63=$14;
var $64=(($63+24)|0);
var $65=HEAP32[(($64)>>2)];
var $66=$65;
HEAP32[(($51)>>2)]=$66;
var $67=$29;
var $68=$28;
var $69=$68;
var $70=HEAP32[(($69)>>2)];
var $71=((($70)-(12))|0);
var $72=$71;
var $73=HEAP32[(($72)>>2)];
var $74=$68;
var $75=(($74+$73)|0);
var $76=$75;
$12=$76;
var $77=$12;
var $78=(($77+4)|0);
var $79=HEAP32[(($78)>>2)];
label = 7; break;
case 7:
var $81=$79 & 176;
var $82=(($81)|(0))==32;
if ($82) { label = 8; break; } else { label = 9; break; }
case 8:
var $84=$29;
var $85=$__len;
var $86=(($84+$85)|0);
var $90 = $86;label = 10; break;
case 9:
var $88=$29;
var $90 = $88;label = 10; break;
case 10:
var $90;
var $91=$29;
var $92=$__len;
var $93=(($91+$92)|0);
var $94=$28;
var $95=$94;
var $96=HEAP32[(($95)>>2)];
var $97=((($96)-(12))|0);
var $98=$97;
var $99=HEAP32[(($98)>>2)];
var $100=$94;
var $101=(($100+$99)|0);
var $102=$101;
var $103=$28;
var $104=$103;
var $105=HEAP32[(($104)>>2)];
var $106=((($105)-(12))|0);
var $107=$106;
var $108=HEAP32[(($107)>>2)];
var $109=$103;
var $110=(($109+$108)|0);
var $111=$110;
$11=$111;
var $112=$11;
var $113=(($112+76)|0);
var $114=HEAP32[(($113)>>2)];
$1=-1;
$2=$114;
var $115=$1;
var $116=$2;
var $117=(($115)|(0))==(($116)|(0));
if ($117) { label = 11; break; } else { label = 19; break; }
case 11:
$6=$112;
$7=32;
var $119=$6;
var $120=$119;
(function() { try { __THREW__ = 0; return __ZNKSt3__18ios_base6getlocEv($8, $120) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 12; break; } else { label = 26; break; }
case 12:
$5=$8;
var $121=$5;
var $122 = (function() { try { __THREW__ = 0; return __ZNKSt3__16locale9use_facetERNS0_2idE($121, 5255420) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 13; break; } else { label = 14; break; }
case 13:
var $123=$122;
var $124=$7;
$3=$123;
$4=$124;
var $125=$3;
var $126=$125;
var $127=HEAP32[(($126)>>2)];
var $128=(($127+28)|0);
var $129=HEAP32[(($128)>>2)];
var $130=$4;
var $131 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$129]($125, $130) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 17; break; } else { label = 14; break; }
case 14:
var $133$0 = ___cxa_find_matching_catch(-1, -1,0); $133$1 = tempRet0;
var $134=$133$0;
$9=$134;
var $135=$133$1;
$10=$135;
(function() { try { __THREW__ = 0; return __ZNSt3__16localeD2Ev($8) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 15; break; } else { label = 16; break; }
case 15:
var $137=$9;
var $138=$10;
var $139$0=$137;
var $139$1=0;
var $140$0=$139$0;
var $140$1=$138;
var $eh_lpad_body$1 = $140$1;var $eh_lpad_body$0 = $140$0;label = 27; break;
case 16:
var $142$0 = ___cxa_find_matching_catch(-1, -1,0,0); $142$1 = tempRet0;
__ZSt9terminatev();
throw "Reached an unreachable!"
case 17:
(function() { try { __THREW__ = 0; return __ZNSt3__16localeD2Ev($8) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 18; break; } else { label = 26; break; }
case 18:
var $143=(($131 << 24) >> 24);
var $144=(($112+76)|0);
HEAP32[(($144)>>2)]=$143;
label = 19; break;
case 19:
var $145=(($112+76)|0);
var $146=HEAP32[(($145)>>2)];
var $147=(($146) & 255);
label = 20; break;
case 20:
(function() { try { __THREW__ = 0; return __ZNSt3__116__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_($33, $32, $67, $90, $93, $102, $147) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 21; break; } else { label = 26; break; }
case 21:
$13=$33;
var $150=$13;
var $151=(($150)|0);
var $152=HEAP32[(($151)>>2)];
var $153=(($152)|(0))==0;
if ($153) { label = 22; break; } else { label = 28; break; }
case 22:
var $155=$28;
var $156=$155;
var $157=HEAP32[(($156)>>2)];
var $158=((($157)-(12))|0);
var $159=$158;
var $160=HEAP32[(($159)>>2)];
var $161=$155;
var $162=(($161+$160)|0);
var $163=$162;
$25=$163;
$26=5;
var $164=$25;
var $165=$164;
var $166=$26;
$23=$165;
$24=$166;
var $167=$23;
var $168=(($167+16)|0);
var $169=HEAP32[(($168)>>2)];
var $170=$24;
var $171=$169 | $170;
(function() { try { __THREW__ = 0; return __ZNSt3__18ios_base5clearEj($167, $171) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 23; break; } else { label = 26; break; }
case 23:
label = 24; break;
case 24:
label = 28; break;
case 25:
var $174$0 = ___cxa_find_matching_catch(-1, -1,0); $174$1 = tempRet0;
var $175=$174$0;
$30=$175;
var $176=$174$1;
$31=$176;
label = 32; break;
case 26:
var $178$0 = ___cxa_find_matching_catch(-1, -1,0); $178$1 = tempRet0;
var $eh_lpad_body$1 = $178$1;var $eh_lpad_body$0 = $178$0;label = 27; break;
case 27:
var $eh_lpad_body$0;
var $eh_lpad_body$1;
var $179=$eh_lpad_body$0;
$30=$179;
var $180=$eh_lpad_body$1;
$31=$180;
(function() { try { __THREW__ = 0; return __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryD1Ev($__s) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 31; break; } else { label = 38; break; }
case 28:
label = 29; break;
case 29:
(function() { try { __THREW__ = 0; return __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryD1Ev($__s) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 30; break; } else { label = 25; break; }
case 30:
label = 34; break;
case 31:
label = 32; break;
case 32:
var $186=$30;
var $187=___cxa_begin_catch($186);
var $188=$28;
var $189=$188;
var $190=HEAP32[(($189)>>2)];
var $191=((($190)-(12))|0);
var $192=$191;
var $193=HEAP32[(($192)>>2)];
var $194=$188;
var $195=(($194+$193)|0);
var $196=$195;
(function() { try { __THREW__ = 0; return __ZNSt3__18ios_base33__set_badbit_and_consider_rethrowEv($196) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 33; break; } else { label = 35; break; }
case 33:
___cxa_end_catch();
label = 34; break;
case 34:
var $199=$28;
STACKTOP = __stackBase__;
return $199;
case 35:
var $201$0 = ___cxa_find_matching_catch(-1, -1); $201$1 = tempRet0;
var $202=$201$0;
$30=$202;
var $203=$201$1;
$31=$203;
(function() { try { __THREW__ = 0; return ___cxa_end_catch() } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 36; break; } else { label = 38; break; }
case 36:
label = 37; break;
case 37:
var $206=$30;
var $207=$31;
var $208$0=$206;
var $208$1=0;
var $209$0=$208$0;
var $209$1=$207;
___resumeException($209$0)
case 38:
var $211$0 = ___cxa_find_matching_catch(-1, -1,0); $211$1 = tempRet0;
__ZSt9terminatev();
throw "Reached an unreachable!"
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__116__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_($agg_result, $__s, $__ob, $__op, $__oe, $__iob, $__fl) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 28)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
var tempParam = $__s; $__s = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__s)>>2)]=HEAP32[((tempParam)>>2)];
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $49;
var $__r_i;
var $50;
var $51;
var $52;
var $53;
var $54;
var $55;
var $56;
var $57;
var $58;
var $59=__stackBase__;
var $__sz;
var $__ns;
var $__np;
var $60=(__stackBase__)+(4);
var $__sp=(__stackBase__)+(8);
var $61;
var $62;
var $63=(__stackBase__)+(20);
var $64;
var $65=(__stackBase__)+(24);
$54=$__ob;
$55=$__op;
$56=$__oe;
$57=$__iob;
$58=$__fl;
var $66=(($__s)|0);
var $67=HEAP32[(($66)>>2)];
$52=$59;
$53=-1;
var $68=$52;
var $69=$53;
$50=$68;
$51=$69;
var $70=$50;
var $71=(($70)|0);
HEAP32[(($71)>>2)]=0;
$39=$59;
var $72=$39;
var $73=(($67)|(0))==0;
if ($73) { label = 2; break; } else { label = 3; break; }
case 2:
var $75=$agg_result;
var $76=$__s;
assert(4 % 1 === 0);HEAP32[(($75)>>2)]=HEAP32[(($76)>>2)];
label = 30; break;
case 3:
var $78=$56;
var $79=$54;
var $80=$78;
var $81=$79;
var $82=((($80)-($81))|0);
$__sz=$82;
var $83=$57;
$30=$83;
var $84=$30;
var $85=(($84+12)|0);
var $86=HEAP32[(($85)>>2)];
$__ns=$86;
var $87=$__ns;
var $88=$__sz;
var $89=(($87)|(0)) > (($88)|(0));
if ($89) { label = 4; break; } else { label = 5; break; }
case 4:
var $91=$__sz;
var $92=$__ns;
var $93=((($92)-($91))|0);
$__ns=$93;
label = 6; break;
case 5:
$__ns=0;
label = 6; break;
case 6:
var $96=$55;
var $97=$54;
var $98=$96;
var $99=$97;
var $100=((($98)-($99))|0);
$__np=$100;
var $101=$__np;
var $102=(($101)|(0)) > 0;
if ($102) { label = 7; break; } else { label = 10; break; }
case 7:
var $104=(($__s)|0);
var $105=HEAP32[(($104)>>2)];
var $106=$54;
var $107=$__np;
$6=$105;
$7=$106;
$8=$107;
var $108=$6;
var $109=$108;
var $110=HEAP32[(($109)>>2)];
var $111=(($110+48)|0);
var $112=HEAP32[(($111)>>2)];
var $113=$7;
var $114=$8;
var $115=FUNCTION_TABLE[$112]($108, $113, $114);
var $116=$__np;
var $117=(($115)|(0))!=(($116)|(0));
if ($117) { label = 8; break; } else { label = 9; break; }
case 8:
$4=$60;
$5=-1;
var $119=$4;
var $120=$5;
$2=$119;
$3=$120;
var $121=$2;
var $122=(($121)|0);
HEAP32[(($122)>>2)]=0;
$1=$60;
var $123=$1;
var $124=(($__s)|0);
HEAP32[(($124)>>2)]=0;
var $125=$agg_result;
var $126=$__s;
assert(4 % 1 === 0);HEAP32[(($125)>>2)]=HEAP32[(($126)>>2)];
label = 30; break;
case 9:
label = 10; break;
case 10:
var $129=$__ns;
var $130=(($129)|(0)) > 0;
if ($130) { label = 11; break; } else { label = 25; break; }
case 11:
var $132=$__ns;
var $133=$58;
$16=$__sp;
$17=$132;
$18=$133;
var $134=$16;
var $135=$17;
var $136=$18;
$13=$134;
$14=$135;
$15=$136;
var $137=$13;
var $138=$137;
var $139=(($137)|0);
$12=$139;
var $140=$12;
$11=$140;
var $141=$11;
var $142=$141;
$10=$142;
var $143=$10;
var $144=$143;
$9=$144;
var $145=$9;
var $146=(($143)|0);
var $147=$14;
var $148=$15;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEjc($137, $147, $148);
var $149=(($__s)|0);
var $150=HEAP32[(($149)>>2)];
$29=$__sp;
var $151=$29;
$28=$151;
var $152=$28;
$27=$152;
var $153=$27;
var $154=(($153)|0);
$26=$154;
var $155=$26;
var $156=$155;
$25=$156;
var $157=$25;
var $158=(($157)|0);
var $159=(($158)|0);
var $160=$159;
var $161=(($160)|0);
var $162=$161;
var $163=HEAP8[($162)];
var $164=(($163)&(255));
var $165=$164 & 1;
var $166=(($165)|(0))!=0;
if ($166) { label = 12; break; } else { label = 13; break; }
case 12:
$21=$152;
var $168=$21;
var $169=(($168)|0);
$20=$169;
var $170=$20;
var $171=$170;
$19=$171;
var $172=$19;
var $173=(($172)|0);
var $174=(($173)|0);
var $175=$174;
var $176=(($175+8)|0);
var $177=HEAP32[(($176)>>2)];
var $189 = $177;label = 14; break;
case 13:
$24=$152;
var $179=$24;
var $180=(($179)|0);
$23=$180;
var $181=$23;
var $182=$181;
$22=$182;
var $183=$22;
var $184=(($183)|0);
var $185=(($184)|0);
var $186=$185;
var $187=(($186+1)|0);
var $188=(($187)|0);
var $189 = $188;label = 14; break;
case 14:
var $189;
var $190=$__ns;
$31=$150;
$32=$189;
$33=$190;
var $191=$31;
var $192=$191;
var $193=HEAP32[(($192)>>2)];
var $194=(($193+48)|0);
var $195=HEAP32[(($194)>>2)];
var $196=$32;
var $197=$33;
var $198 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$195]($191, $196, $197) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 15; break; } else { label = 20; break; }
case 15:
label = 16; break;
case 16:
var $200=$__ns;
var $201=(($198)|(0))!=(($200)|(0));
if ($201) { label = 17; break; } else { label = 21; break; }
case 17:
$36=$63;
$37=-1;
var $203=$36;
var $204=$37;
$34=$203;
$35=$204;
var $205=$34;
var $206=(($205)|0);
HEAP32[(($206)>>2)]=0;
label = 18; break;
case 18:
$38=$63;
var $208=$38;
label = 19; break;
case 19:
var $210=(($__s)|0);
HEAP32[(($210)>>2)]=0;
var $211=$agg_result;
var $212=$__s;
assert(4 % 1 === 0);HEAP32[(($211)>>2)]=HEAP32[(($212)>>2)];
$64=1;
label = 22; break;
case 20:
var $214$0 = ___cxa_find_matching_catch(-1, -1); $214$1 = tempRet0;
var $215=$214$0;
$61=$215;
var $216=$214$1;
$62=$216;
(function() { try { __THREW__ = 0; return __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__sp) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 24; break; } else { label = 32; break; }
case 21:
$64=0;
label = 22; break;
case 22:
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__sp);
var $cleanup_dest=$64;
if ((($cleanup_dest)|(0))==0) {
label = 23; break;
}
else if ((($cleanup_dest)|(0))==1) {
label = 30; break;
}
else {
label = 33; break;
}
case 23:
label = 25; break;
case 24:
label = 31; break;
case 25:
var $222=$56;
var $223=$55;
var $224=$222;
var $225=$223;
var $226=((($224)-($225))|0);
$__np=$226;
var $227=$__np;
var $228=(($227)|(0)) > 0;
if ($228) { label = 26; break; } else { label = 29; break; }
case 26:
var $230=(($__s)|0);
var $231=HEAP32[(($230)>>2)];
var $232=$55;
var $233=$__np;
$40=$231;
$41=$232;
$42=$233;
var $234=$40;
var $235=$234;
var $236=HEAP32[(($235)>>2)];
var $237=(($236+48)|0);
var $238=HEAP32[(($237)>>2)];
var $239=$41;
var $240=$42;
var $241=FUNCTION_TABLE[$238]($234, $239, $240);
var $242=$__np;
var $243=(($241)|(0))!=(($242)|(0));
if ($243) { label = 27; break; } else { label = 28; break; }
case 27:
$45=$65;
$46=-1;
var $245=$45;
var $246=$46;
$43=$245;
$44=$246;
var $247=$43;
var $248=(($247)|0);
HEAP32[(($248)>>2)]=0;
$47=$65;
var $249=$47;
var $250=(($__s)|0);
HEAP32[(($250)>>2)]=0;
var $251=$agg_result;
var $252=$__s;
assert(4 % 1 === 0);HEAP32[(($251)>>2)]=HEAP32[(($252)>>2)];
label = 30; break;
case 28:
label = 29; break;
case 29:
var $255=$57;
$48=$255;
$49=0;
var $256=$48;
var $257=(($256+12)|0);
var $258=HEAP32[(($257)>>2)];
$__r_i=$258;
var $259=$49;
var $260=(($256+12)|0);
HEAP32[(($260)>>2)]=$259;
var $261=$__r_i;
var $262=$agg_result;
var $263=$__s;
assert(4 % 1 === 0);HEAP32[(($262)>>2)]=HEAP32[(($263)>>2)];
label = 30; break;
case 30:
STACKTOP = __stackBase__;
return;
case 31:
var $266=$61;
var $267=$62;
var $268$0=$266;
var $268$1=0;
var $269$0=$268$0;
var $269$1=$267;
___resumeException($269$0)
case 32:
var $271$0 = ___cxa_find_matching_catch(-1, -1,0); $271$1 = tempRet0;
__ZSt9terminatev();
throw "Reached an unreachable!"
case 33:
throw "Reached an unreachable!"
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__18ios_base4InitC2Ev($this) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $__r_i8;
var $3;
var $4;
var $__r_i_i7;
var $5;
var $6;
var $7;
var $__r_i6;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $__r_i3;
var $44;
var $45;
var $__r_i_i;
var $46;
var $47;
var $48;
var $__r_i;
var $49;
var $50;
var $51;
var $52;
var $53;
var $54;
var $55;
var $56;
var $57;
var $58;
var $59;
var $60;
var $61;
var $62;
var $63;
var $64;
var $65;
var $66;
var $67;
var $68;
var $69;
var $70;
var $71;
var $72;
var $73;
var $74;
var $75;
var $76;
var $77;
var $78;
var $79;
var $80;
var $81;
var $82;
var $83;
var $cin_ptr;
var $cout_ptr;
var $cerr_ptr;
var $wcin_ptr;
var $wcout_ptr;
var $wcerr_ptr;
$83=$this;
var $84=$83;
if (0) { var $132 = 0;label = 7; break; } else { label = 2; break; }
case 2:
if (0) { var $89 = 0;label = 4; break; } else { label = 3; break; }
case 3:
var $87=HEAP32[((_stdin)>>2)];
__ZNSt3__110__stdinbufIcEC1EP7__sFILEP10_mbstate_t(5254872, $87, ((5254932)|0));
var $89 = 5254872;label = 4; break;
case 4:
var $89;
var $90=$89;
$79=5255768;
$80=$90;
var $91=$79;
var $92=$91;
var $93=(($92+8)|0);
var $94=$93;
$78=$94;
var $95=$78;
var $96=$95;
$77=$96;
var $97=$77;
var $98=$97;
HEAP32[(($98)>>2)]=((5248376)|0);
var $99=$95;
HEAP32[(($99)>>2)]=((5247964)|0);
var $100=$91;
HEAP32[(($100)>>2)]=((5249684)|0);
var $101=$91;
var $102=(($101+8)|0);
var $103=$102;
HEAP32[(($103)>>2)]=((5249704)|0);
var $104=(($91+4)|0);
HEAP32[(($104)>>2)]=0;
var $105=$91;
var $106=HEAP32[(($105)>>2)];
var $107=((($106)-(12))|0);
var $108=$107;
var $109=HEAP32[(($108)>>2)];
var $110=$91;
var $111=(($110+$109)|0);
var $112=$111;
var $113=$80;
$75=$112;
$76=$113;
var $114=$75;
var $115=$114;
var $116=$76;
var $117=$116;
(function() { try { __THREW__ = 0; return __ZNSt3__18ios_base4initEPv($115, $117) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 6; break; } else { label = 5; break; }
case 5:
var $119$0 = ___cxa_find_matching_catch(-1, -1); $119$1 = tempRet0;
var $120=$119$0;
$81=$120;
var $121=$119$1;
$82=$121;
var $122=$91;
var $123=(($122+8)|0);
var $124=$123;
__ZNSt3__19basic_iosIcNS_11char_traitsIcEEED2Ev($124);
var $125=$81;
var $126=$82;
var $127$0=$125;
var $127$1=0;
var $128$0=$127$0;
var $128$1=$126;
___resumeException($128$0)
case 6:
var $129=(($114+72)|0);
HEAP32[(($129)>>2)]=0;
var $130=(($114+76)|0);
HEAP32[(($130)>>2)]=-1;
var $132 = 5255768;label = 7; break;
case 7:
var $132;
$cin_ptr=$132;
if (0) { var $179 = 0;label = 13; break; } else { label = 8; break; }
case 8:
if (0) { var $137 = 0;label = 10; break; } else { label = 9; break; }
case 9:
var $135=HEAP32[((_stdout)>>2)];
__ZNSt3__111__stdoutbufIcEC1EP7__sFILEP10_mbstate_t(5254776, $135, ((5254940)|0));
var $137 = 5254776;label = 10; break;
case 10:
var $137;
var $138=$137;
$71=5255516;
$72=$138;
var $139=$71;
var $140=$139;
var $141=(($140+4)|0);
var $142=$141;
$70=$142;
var $143=$70;
var $144=$143;
$69=$144;
var $145=$69;
var $146=$145;
HEAP32[(($146)>>2)]=((5248376)|0);
var $147=$143;
HEAP32[(($147)>>2)]=((5247964)|0);
var $148=$139;
HEAP32[(($148)>>2)]=((5249596)|0);
var $149=$139;
var $150=(($149+4)|0);
var $151=$150;
HEAP32[(($151)>>2)]=((5249616)|0);
var $152=$139;
var $153=HEAP32[(($152)>>2)];
var $154=((($153)-(12))|0);
var $155=$154;
var $156=HEAP32[(($155)>>2)];
var $157=$139;
var $158=(($157+$156)|0);
var $159=$158;
var $160=$72;
$67=$159;
$68=$160;
var $161=$67;
var $162=$161;
var $163=$68;
var $164=$163;
(function() { try { __THREW__ = 0; return __ZNSt3__18ios_base4initEPv($162, $164) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 12; break; } else { label = 11; break; }
case 11:
var $166$0 = ___cxa_find_matching_catch(-1, -1); $166$1 = tempRet0;
var $167=$166$0;
$73=$167;
var $168=$166$1;
$74=$168;
var $169=$139;
var $170=(($169+4)|0);
var $171=$170;
__ZNSt3__19basic_iosIcNS_11char_traitsIcEEED2Ev($171);
var $172=$73;
var $173=$74;
var $174$0=$172;
var $174$1=0;
var $175$0=$174$0;
var $175$1=$173;
___resumeException($175$0)
case 12:
var $176=(($161+72)|0);
HEAP32[(($176)>>2)]=0;
var $177=(($161+76)|0);
HEAP32[(($177)>>2)]=-1;
var $179 = 5255516;label = 13; break;
case 13:
var $179;
$cout_ptr=$179;
if (0) { var $226 = 0;label = 19; break; } else { label = 14; break; }
case 14:
if (0) { var $184 = 0;label = 16; break; } else { label = 15; break; }
case 15:
var $182=HEAP32[((_stderr)>>2)];
__ZNSt3__111__stdoutbufIcEC1EP7__sFILEP10_mbstate_t(5254824, $182, ((5254948)|0));
var $184 = 5254824;label = 16; break;
case 16:
var $184;
var $185=$184;
$63=5255684;
$64=$185;
var $186=$63;
var $187=$186;
var $188=(($187+4)|0);
var $189=$188;
$62=$189;
var $190=$62;
var $191=$190;
$61=$191;
var $192=$61;
var $193=$192;
HEAP32[(($193)>>2)]=((5248376)|0);
var $194=$190;
HEAP32[(($194)>>2)]=((5247964)|0);
var $195=$186;
HEAP32[(($195)>>2)]=((5249596)|0);
var $196=$186;
var $197=(($196+4)|0);
var $198=$197;
HEAP32[(($198)>>2)]=((5249616)|0);
var $199=$186;
var $200=HEAP32[(($199)>>2)];
var $201=((($200)-(12))|0);
var $202=$201;
var $203=HEAP32[(($202)>>2)];
var $204=$186;
var $205=(($204+$203)|0);
var $206=$205;
var $207=$64;
$59=$206;
$60=$207;
var $208=$59;
var $209=$208;
var $210=$60;
var $211=$210;
(function() { try { __THREW__ = 0; return __ZNSt3__18ios_base4initEPv($209, $211) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 18; break; } else { label = 17; break; }
case 17:
var $213$0 = ___cxa_find_matching_catch(-1, -1); $213$1 = tempRet0;
var $214=$213$0;
$65=$214;
var $215=$213$1;
$66=$215;
var $216=$186;
var $217=(($216+4)|0);
var $218=$217;
__ZNSt3__19basic_iosIcNS_11char_traitsIcEEED2Ev($218);
var $219=$65;
var $220=$66;
var $221$0=$219;
var $221$1=0;
var $222$0=$221$0;
var $222$1=$220;
___resumeException($222$0)
case 18:
var $223=(($208+72)|0);
HEAP32[(($223)>>2)]=0;
var $224=(($208+76)|0);
HEAP32[(($224)>>2)]=-1;
var $226 = 5255684;label = 19; break;
case 19:
var $226;
$cerr_ptr=$226;
if (0) { var $283 = 0;label = 23; break; } else { label = 20; break; }
case 20:
var $228=$cerr_ptr;
var $229=$228;
var $230=HEAP32[(($229)>>2)];
var $231=((($230)-(12))|0);
var $232=$231;
var $233=HEAP32[(($232)>>2)];
var $234=$228;
var $235=(($234+$233)|0);
var $236=$235;
$58=$236;
var $237=$58;
var $238=$237;
$57=$238;
var $239=$57;
var $240=(($239+24)|0);
var $241=HEAP32[(($240)>>2)];
var $242=$241;
$53=5255600;
$54=$242;
var $243=$53;
var $244=$243;
var $245=(($244+4)|0);
var $246=$245;
$52=$246;
var $247=$52;
var $248=$247;
$51=$248;
var $249=$51;
var $250=$249;
HEAP32[(($250)>>2)]=((5248376)|0);
var $251=$247;
HEAP32[(($251)>>2)]=((5247964)|0);
var $252=$243;
HEAP32[(($252)>>2)]=((5249596)|0);
var $253=$243;
var $254=(($253+4)|0);
var $255=$254;
HEAP32[(($255)>>2)]=((5249616)|0);
var $256=$243;
var $257=HEAP32[(($256)>>2)];
var $258=((($257)-(12))|0);
var $259=$258;
var $260=HEAP32[(($259)>>2)];
var $261=$243;
var $262=(($261+$260)|0);
var $263=$262;
var $264=$54;
$49=$263;
$50=$264;
var $265=$49;
var $266=$265;
var $267=$50;
var $268=$267;
(function() { try { __THREW__ = 0; return __ZNSt3__18ios_base4initEPv($266, $268) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 22; break; } else { label = 21; break; }
case 21:
var $270$0 = ___cxa_find_matching_catch(-1, -1); $270$1 = tempRet0;
var $271=$270$0;
$55=$271;
var $272=$270$1;
$56=$272;
var $273=$243;
var $274=(($273+4)|0);
var $275=$274;
__ZNSt3__19basic_iosIcNS_11char_traitsIcEEED2Ev($275);
var $276=$55;
var $277=$56;
var $278$0=$276;
var $278$1=0;
var $279$0=$278$0;
var $279$1=$277;
___resumeException($279$0)
case 22:
var $280=(($265+72)|0);
HEAP32[(($280)>>2)]=0;
var $281=(($265+76)|0);
HEAP32[(($281)>>2)]=-1;
var $283 = 5255600;label = 23; break;
case 23:
var $283;
var $284=$cin_ptr;
var $285=$284;
var $286=HEAP32[(($285)>>2)];
var $287=((($286)-(12))|0);
var $288=$287;
var $289=HEAP32[(($288)>>2)];
var $290=$284;
var $291=(($290+$289)|0);
var $292=$291;
var $293=$cout_ptr;
$47=$292;
$48=$293;
var $294=$47;
var $295=(($294+72)|0);
var $296=HEAP32[(($295)>>2)];
$__r_i=$296;
var $297=$48;
var $298=(($294+72)|0);
HEAP32[(($298)>>2)]=$297;
var $299=$__r_i;
var $300=$cerr_ptr;
var $301=$300;
var $302=HEAP32[(($301)>>2)];
var $303=((($302)-(12))|0);
var $304=$303;
var $305=HEAP32[(($304)>>2)];
var $306=$300;
var $307=(($306+$305)|0);
var $308=$307;
$46=$308;
var $309=$46;
$44=$309;
$45=8192;
var $310=$44;
var $311=(($310+4)|0);
var $312=HEAP32[(($311)>>2)];
$__r_i_i=$312;
var $313=$45;
var $314=(($310+4)|0);
var $315=HEAP32[(($314)>>2)];
var $316=$315 | $313;
HEAP32[(($314)>>2)]=$316;
var $317=$__r_i_i;
var $318=$46;
var $319=$cerr_ptr;
var $320=$319;
var $321=HEAP32[(($320)>>2)];
var $322=((($321)-(12))|0);
var $323=$322;
var $324=HEAP32[(($323)>>2)];
var $325=$319;
var $326=(($325+$324)|0);
var $327=$326;
var $328=$cout_ptr;
$42=$327;
$43=$328;
var $329=$42;
var $330=(($329+72)|0);
var $331=HEAP32[(($330)>>2)];
$__r_i3=$331;
var $332=$43;
var $333=(($329+72)|0);
HEAP32[(($333)>>2)]=$332;
var $334=$__r_i3;
if (0) { var $382 = 0;label = 29; break; } else { label = 24; break; }
case 24:
if (0) { var $339 = 0;label = 26; break; } else { label = 25; break; }
case 25:
var $337=HEAP32[((_stdin)>>2)];
__ZNSt3__110__stdinbufIwEC1EP7__sFILEP10_mbstate_t(5254724, $337, ((5254956)|0));
var $339 = 5254724;label = 26; break;
case 26:
var $339;
var $340=$339;
$38=5255428;
$39=$340;
var $341=$38;
var $342=$341;
var $343=(($342+8)|0);
var $344=$343;
$37=$344;
var $345=$37;
var $346=$345;
$36=$346;
var $347=$36;
var $348=$347;
HEAP32[(($348)>>2)]=((5248376)|0);
var $349=$345;
HEAP32[(($349)>>2)]=((5247944)|0);
var $350=$341;
HEAP32[(($350)>>2)]=((5249640)|0);
var $351=$341;
var $352=(($351+8)|0);
var $353=$352;
HEAP32[(($353)>>2)]=((5249660)|0);
var $354=(($341+4)|0);
HEAP32[(($354)>>2)]=0;
var $355=$341;
var $356=HEAP32[(($355)>>2)];
var $357=((($356)-(12))|0);
var $358=$357;
var $359=HEAP32[(($358)>>2)];
var $360=$341;
var $361=(($360+$359)|0);
var $362=$361;
var $363=$39;
$34=$362;
$35=$363;
var $364=$34;
var $365=$364;
var $366=$35;
var $367=$366;
(function() { try { __THREW__ = 0; return __ZNSt3__18ios_base4initEPv($365, $367) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 28; break; } else { label = 27; break; }
case 27:
var $369$0 = ___cxa_find_matching_catch(-1, -1); $369$1 = tempRet0;
var $370=$369$0;
$40=$370;
var $371=$369$1;
$41=$371;
var $372=$341;
var $373=(($372+8)|0);
var $374=$373;
__ZNSt3__19basic_iosIwNS_11char_traitsIwEEED2Ev($374);
var $375=$40;
var $376=$41;
var $377$0=$375;
var $377$1=0;
var $378$0=$377$0;
var $378$1=$376;
___resumeException($378$0)
case 28:
var $379=(($364+72)|0);
HEAP32[(($379)>>2)]=0;
var $380=(($364+76)|0);
HEAP32[(($380)>>2)]=-1;
var $382 = 5255428;label = 29; break;
case 29:
var $382;
$wcin_ptr=$382;
if (0) { var $429 = 0;label = 35; break; } else { label = 30; break; }
case 30:
if (0) { var $387 = 0;label = 32; break; } else { label = 31; break; }
case 31:
var $385=HEAP32[((_stdout)>>2)];
__ZNSt3__111__stdoutbufIwEC1EP7__sFILEP10_mbstate_t(5254628, $385, ((5254964)|0));
var $387 = 5254628;label = 32; break;
case 32:
var $387;
var $388=$387;
$30=5255160;
$31=$388;
var $389=$30;
var $390=$389;
var $391=(($390+4)|0);
var $392=$391;
$29=$392;
var $393=$29;
var $394=$393;
$28=$394;
var $395=$28;
var $396=$395;
HEAP32[(($396)>>2)]=((5248376)|0);
var $397=$393;
HEAP32[(($397)>>2)]=((5247944)|0);
var $398=$389;
HEAP32[(($398)>>2)]=((5249552)|0);
var $399=$389;
var $400=(($399+4)|0);
var $401=$400;
HEAP32[(($401)>>2)]=((5249572)|0);
var $402=$389;
var $403=HEAP32[(($402)>>2)];
var $404=((($403)-(12))|0);
var $405=$404;
var $406=HEAP32[(($405)>>2)];
var $407=$389;
var $408=(($407+$406)|0);
var $409=$408;
var $410=$31;
$26=$409;
$27=$410;
var $411=$26;
var $412=$411;
var $413=$27;
var $414=$413;
(function() { try { __THREW__ = 0; return __ZNSt3__18ios_base4initEPv($412, $414) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 34; break; } else { label = 33; break; }
case 33:
var $416$0 = ___cxa_find_matching_catch(-1, -1); $416$1 = tempRet0;
var $417=$416$0;
$32=$417;
var $418=$416$1;
$33=$418;
var $419=$389;
var $420=(($419+4)|0);
var $421=$420;
__ZNSt3__19basic_iosIwNS_11char_traitsIwEEED2Ev($421);
var $422=$32;
var $423=$33;
var $424$0=$422;
var $424$1=0;
var $425$0=$424$0;
var $425$1=$423;
___resumeException($425$0)
case 34:
var $426=(($411+72)|0);
HEAP32[(($426)>>2)]=0;
var $427=(($411+76)|0);
HEAP32[(($427)>>2)]=-1;
var $429 = 5255160;label = 35; break;
case 35:
var $429;
$wcout_ptr=$429;
if (0) { var $476 = 0;label = 41; break; } else { label = 36; break; }
case 36:
if (0) { var $434 = 0;label = 38; break; } else { label = 37; break; }
case 37:
var $432=HEAP32[((_stderr)>>2)];
__ZNSt3__111__stdoutbufIwEC1EP7__sFILEP10_mbstate_t(5254676, $432, ((5254972)|0));
var $434 = 5254676;label = 38; break;
case 38:
var $434;
var $435=$434;
$22=5255328;
$23=$435;
var $436=$22;
var $437=$436;
var $438=(($437+4)|0);
var $439=$438;
$21=$439;
var $440=$21;
var $441=$440;
$20=$441;
var $442=$20;
var $443=$442;
HEAP32[(($443)>>2)]=((5248376)|0);
var $444=$440;
HEAP32[(($444)>>2)]=((5247944)|0);
var $445=$436;
HEAP32[(($445)>>2)]=((5249552)|0);
var $446=$436;
var $447=(($446+4)|0);
var $448=$447;
HEAP32[(($448)>>2)]=((5249572)|0);
var $449=$436;
var $450=HEAP32[(($449)>>2)];
var $451=((($450)-(12))|0);
var $452=$451;
var $453=HEAP32[(($452)>>2)];
var $454=$436;
var $455=(($454+$453)|0);
var $456=$455;
var $457=$23;
$18=$456;
$19=$457;
var $458=$18;
var $459=$458;
var $460=$19;
var $461=$460;
(function() { try { __THREW__ = 0; return __ZNSt3__18ios_base4initEPv($459, $461) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 40; break; } else { label = 39; break; }
case 39:
var $463$0 = ___cxa_find_matching_catch(-1, -1); $463$1 = tempRet0;
var $464=$463$0;
$24=$464;
var $465=$463$1;
$25=$465;
var $466=$436;
var $467=(($466+4)|0);
var $468=$467;
__ZNSt3__19basic_iosIwNS_11char_traitsIwEEED2Ev($468);
var $469=$24;
var $470=$25;
var $471$0=$469;
var $471$1=0;
var $472$0=$471$0;
var $472$1=$470;
___resumeException($472$0)
case 40:
var $473=(($458+72)|0);
HEAP32[(($473)>>2)]=0;
var $474=(($458+76)|0);
HEAP32[(($474)>>2)]=-1;
var $476 = 5255328;label = 41; break;
case 41:
var $476;
$wcerr_ptr=$476;
if (0) { var $533 = 0;label = 45; break; } else { label = 42; break; }
case 42:
var $478=$wcerr_ptr;
var $479=$478;
var $480=HEAP32[(($479)>>2)];
var $481=((($480)-(12))|0);
var $482=$481;
var $483=HEAP32[(($482)>>2)];
var $484=$478;
var $485=(($484+$483)|0);
var $486=$485;
$17=$486;
var $487=$17;
var $488=$487;
$16=$488;
var $489=$16;
var $490=(($489+24)|0);
var $491=HEAP32[(($490)>>2)];
var $492=$491;
$12=5255244;
$13=$492;
var $493=$12;
var $494=$493;
var $495=(($494+4)|0);
var $496=$495;
$11=$496;
var $497=$11;
var $498=$497;
$10=$498;
var $499=$10;
var $500=$499;
HEAP32[(($500)>>2)]=((5248376)|0);
var $501=$497;
HEAP32[(($501)>>2)]=((5247944)|0);
var $502=$493;
HEAP32[(($502)>>2)]=((5249552)|0);
var $503=$493;
var $504=(($503+4)|0);
var $505=$504;
HEAP32[(($505)>>2)]=((5249572)|0);
var $506=$493;
var $507=HEAP32[(($506)>>2)];
var $508=((($507)-(12))|0);
var $509=$508;
var $510=HEAP32[(($509)>>2)];
var $511=$493;
var $512=(($511+$510)|0);
var $513=$512;
var $514=$13;
$8=$513;
$9=$514;
var $515=$8;
var $516=$515;
var $517=$9;
var $518=$517;
(function() { try { __THREW__ = 0; return __ZNSt3__18ios_base4initEPv($516, $518) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 44; break; } else { label = 43; break; }
case 43:
var $520$0 = ___cxa_find_matching_catch(-1, -1); $520$1 = tempRet0;
var $521=$520$0;
$14=$521;
var $522=$520$1;
$15=$522;
var $523=$493;
var $524=(($523+4)|0);
var $525=$524;
__ZNSt3__19basic_iosIwNS_11char_traitsIwEEED2Ev($525);
var $526=$14;
var $527=$15;
var $528$0=$526;
var $528$1=0;
var $529$0=$528$0;
var $529$1=$527;
___resumeException($529$0)
case 44:
var $530=(($515+72)|0);
HEAP32[(($530)>>2)]=0;
var $531=(($515+76)|0);
HEAP32[(($531)>>2)]=-1;
var $533 = 5255244;label = 45; break;
case 45:
var $533;
var $534=$wcin_ptr;
var $535=$534;
var $536=HEAP32[(($535)>>2)];
var $537=((($536)-(12))|0);
var $538=$537;
var $539=HEAP32[(($538)>>2)];
var $540=$534;
var $541=(($540+$539)|0);
var $542=$541;
var $543=$wcout_ptr;
$6=$542;
$7=$543;
var $544=$6;
var $545=(($544+72)|0);
var $546=HEAP32[(($545)>>2)];
$__r_i6=$546;
var $547=$7;
var $548=(($544+72)|0);
HEAP32[(($548)>>2)]=$547;
var $549=$__r_i6;
var $550=$wcerr_ptr;
var $551=$550;
var $552=HEAP32[(($551)>>2)];
var $553=((($552)-(12))|0);
var $554=$553;
var $555=HEAP32[(($554)>>2)];
var $556=$550;
var $557=(($556+$555)|0);
var $558=$557;
$5=$558;
var $559=$5;
$3=$559;
$4=8192;
var $560=$3;
var $561=(($560+4)|0);
var $562=HEAP32[(($561)>>2)];
$__r_i_i7=$562;
var $563=$4;
var $564=(($560+4)|0);
var $565=HEAP32[(($564)>>2)];
var $566=$565 | $563;
HEAP32[(($564)>>2)]=$566;
var $567=$__r_i_i7;
var $568=$5;
var $569=$wcerr_ptr;
var $570=$569;
var $571=HEAP32[(($570)>>2)];
var $572=((($571)-(12))|0);
var $573=$572;
var $574=HEAP32[(($573)>>2)];
var $575=$569;
var $576=(($575+$574)|0);
var $577=$576;
var $578=$wcout_ptr;
$1=$577;
$2=$578;
var $579=$1;
var $580=(($579+72)|0);
var $581=HEAP32[(($580)>>2)];
$__r_i8=$581;
var $582=$2;
var $583=(($579+72)|0);
HEAP32[(($583)>>2)]=$582;
var $584=$__r_i8;
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__110__stdinbufIcEC1EP7__sFILEP10_mbstate_t($this, $__fp, $__st) {
var label = 0;
var $1;
var $2;
var $3;
$1=$this;
$2=$__fp;
$3=$__st;
var $4=$1;
var $5=$2;
var $6=$3;
__ZNSt3__110__stdinbufIcEC2EP7__sFILEP10_mbstate_t($4, $5, $6);
return;
}
function __ZNSt3__111__stdoutbufIcEC1EP7__sFILEP10_mbstate_t($this, $__fp, $__st) {
var label = 0;
var $1;
var $2;
var $3;
$1=$this;
$2=$__fp;
$3=$__st;
var $4=$1;
var $5=$2;
var $6=$3;
__ZNSt3__111__stdoutbufIcEC2EP7__sFILEP10_mbstate_t($4, $5, $6);
return;
}
function __ZNSt3__110__stdinbufIwEC1EP7__sFILEP10_mbstate_t($this, $__fp, $__st) {
var label = 0;
var $1;
var $2;
var $3;
$1=$this;
$2=$__fp;
$3=$__st;
var $4=$1;
var $5=$2;
var $6=$3;
__ZNSt3__110__stdinbufIwEC2EP7__sFILEP10_mbstate_t($4, $5, $6);
return;
}
function __ZNSt3__111__stdoutbufIwEC1EP7__sFILEP10_mbstate_t($this, $__fp, $__st) {
var label = 0;
var $1;
var $2;
var $3;
$1=$this;
$2=$__fp;
$3=$__st;
var $4=$1;
var $5=$2;
var $6=$3;
__ZNSt3__111__stdoutbufIwEC2EP7__sFILEP10_mbstate_t($4, $5, $6);
return;
}
function __ZNSt3__18ios_base4InitD2Ev($this) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $cout_ptr;
var $clog_ptr;
var $wcout_ptr;
var $wclog_ptr;
$1=$this;
var $2=$1;
$cout_ptr=5255516;
$clog_ptr=5255600;
var $3=$cout_ptr;
var $4 = (function() { try { __THREW__ = 0; return __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE5flushEv($3) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 2; break; } else { label = 6; break; }
case 2:
var $6=$clog_ptr;
var $7 = (function() { try { __THREW__ = 0; return __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE5flushEv($6) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 3; break; } else { label = 6; break; }
case 3:
$wcout_ptr=5255160;
$wclog_ptr=5255244;
var $9=$wcout_ptr;
var $10 = (function() { try { __THREW__ = 0; return __ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEE5flushEv($9) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 4; break; } else { label = 6; break; }
case 4:
var $12=$wclog_ptr;
var $13 = (function() { try { __THREW__ = 0; return __ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEE5flushEv($12) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 5; break; } else { label = 6; break; }
case 5:
return;
case 6:
var $16$0 = ___cxa_find_matching_catch(-1, -1,0); $16$1 = tempRet0;
__ZSt9terminatev();
throw "Reached an unreachable!"
default: assert(0, "bad label: " + label);
}
}
// WARNING: content after a branch in a label, line: 1848
// WARNING: content after a branch in a label, line: 1850
// WARNING: content after a branch in a label, line: 1851
// WARNING: content after a branch in a label, line: 1852
// WARNING: content after a branch in a label, line: 1853
// WARNING: content after a branch in a label, line: 1854
// WARNING: content after a branch in a label, line: 2414
// WARNING: content after a branch in a label, line: 2416
// WARNING: content after a branch in a label, line: 2417
// WARNING: content after a branch in a label, line: 2418
// WARNING: content after a branch in a label, line: 2419
// WARNING: content after a branch in a label, line: 2420
function __ZNSt3__111__stdoutbufIwEC2EP7__sFILEP10_mbstate_t($this, $__fp, $__st) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 4)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7=__stackBase__;
var $8;
var $9;
$4=$this;
$5=$__fp;
$6=$__st;
var $10=$4;
var $11=$10;
__ZNSt3__115basic_streambufIwNS_11char_traitsIwEEEC2Ev($11);
var $12=$10;
HEAP32[(($12)>>2)]=((5249788)|0);
var $13=(($10+32)|0);
var $14=$5;
HEAP32[(($13)>>2)]=$14;
var $15=(($10+36)|0);
var $16=$10;
$3=$16;
var $17=$3;
var $18=(($17+4)|0);
__ZNSt3__16localeC2ERKS0_($7, $18);
label = 2; break;
case 2:
$2=$7;
var $20=$2;
var $21 = (function() { try { __THREW__ = 0; return __ZNKSt3__16locale9use_facetERNS0_2idE($20, 5255124) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 3; break; } else { label = 5; break; }
case 3:
var $22=$21;
label = 4; break;
case 4:
__ZNSt3__16localeD2Ev($7);
HEAP32[(($15)>>2)]=$22;
var $24=(($10+40)|0);
var $25=$6;
HEAP32[(($24)>>2)]=$25;
var $26=(($10+44)|0);
var $27=(($10+36)|0);
var $28=HEAP32[(($27)>>2)];
$1=$28;
var $29=$1;
var $30=$29;
var $31=HEAP32[(($30)>>2)];
var $32=(($31+28)|0);
var $33=HEAP32[(($32)>>2)];
var $34=FUNCTION_TABLE[$33]($29);
var $35=(($34)&(1));
HEAP8[($26)]=$35;
STACKTOP = __stackBase__;
return;
case 5:
var $41$0 = ___cxa_find_matching_catch(-1, -1); $41$1 = tempRet0;
var $42=$41$0;
$8=$42;
var $43=$41$1;
$9=$43;
__ZNSt3__16localeD2Ev($7);
label = 6; break;
case 6:
var $45=$10;
__ZNSt3__115basic_streambufIwNS_11char_traitsIwEEED2Ev($45);
label = 7; break;
case 7:
var $47=$8;
var $48=$9;
var $49$0=$47;
var $49$1=0;
var $50$0=$49$0;
var $50$1=$48;
___resumeException($50$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__111__stdoutbufIwED1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__111__stdoutbufIwED2Ev($2);
return;
}
function __ZNSt3__111__stdoutbufIwED0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__111__stdoutbufIwED1Ev($2);
var $3=$2;
__ZdlPv($3);
return;
}
function __ZNSt3__111__stdoutbufIwE5imbueERKNS_6localeE($this, $__loc) {
var label = 0;
var $1;
var $2;
var $3;
var $4;
$3=$this;
$4=$__loc;
var $5=$3;
var $6=$5;
var $7=HEAP32[(($6)>>2)];
var $8=(($7+24)|0);
var $9=HEAP32[(($8)>>2)];
var $10=FUNCTION_TABLE[$9]($5);
var $11=$4;
$2=$11;
var $12=$2;
var $13=__ZNKSt3__16locale9use_facetERNS0_2idE($12, 5255124);
var $14=$13;
var $15=(($5+36)|0);
HEAP32[(($15)>>2)]=$14;
var $16=(($5+36)|0);
var $17=HEAP32[(($16)>>2)];
$1=$17;
var $18=$1;
var $19=$18;
var $20=HEAP32[(($19)>>2)];
var $21=(($20+28)|0);
var $22=HEAP32[(($21)>>2)];
var $23=FUNCTION_TABLE[$22]($18);
var $24=(($5+44)|0);
var $25=(($23)&(1));
HEAP8[($24)]=$25;
return;
}
function __ZNSt3__111__stdoutbufIwE4syncEv($this) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 12)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $__extbuf=__stackBase__;
var $__r;
var $__extbe=(__stackBase__)+(8);
var $__nmemb;
$7=$this;
var $8=$7;
label = 2; break;
case 2:
var $10=(($8+36)|0);
var $11=HEAP32[(($10)>>2)];
var $12=(($8+40)|0);
var $13=HEAP32[(($12)>>2)];
var $14=(($__extbuf)|0);
var $15=(($__extbuf)|0);
var $16=(($15+8)|0);
$1=$11;
$2=$13;
$3=$14;
$4=$16;
$5=$__extbe;
var $17=$1;
var $18=$17;
var $19=HEAP32[(($18)>>2)];
var $20=(($19+20)|0);
var $21=HEAP32[(($20)>>2)];
var $22=$2;
var $23=$3;
var $24=$4;
var $25=$5;
var $26=FUNCTION_TABLE[$21]($17, $22, $23, $24, $25);
$__r=$26;
var $27=HEAP32[(($__extbe)>>2)];
var $28=(($__extbuf)|0);
var $29=$27;
var $30=$28;
var $31=((($29)-($30))|0);
$__nmemb=$31;
var $32=(($__extbuf)|0);
var $33=$__nmemb;
var $34=(($8+32)|0);
var $35=HEAP32[(($34)>>2)];
var $36=_fwrite($32, 1, $33, $35);
var $37=$__nmemb;
var $38=(($36)|(0))!=(($37)|(0));
if ($38) { label = 3; break; } else { label = 4; break; }
case 3:
$6=-1;
label = 11; break;
case 4:
label = 5; break;
case 5:
var $42=$__r;
var $43=(($42)|(0))==1;
if ($43) { label = 2; break; } else { label = 6; break; }
case 6:
var $45=$__r;
var $46=(($45)|(0))==2;
if ($46) { label = 7; break; } else { label = 8; break; }
case 7:
$6=-1;
label = 11; break;
case 8:
var $49=(($8+32)|0);
var $50=HEAP32[(($49)>>2)];
var $51=_fflush($50);
var $52=(($51)|(0))!=0;
if ($52) { label = 9; break; } else { label = 10; break; }
case 9:
$6=-1;
label = 11; break;
case 10:
$6=0;
label = 11; break;
case 11:
var $56=$6;
STACKTOP = __stackBase__;
return $56;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__111__stdoutbufIwE8overflowEj($this, $__c) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 20)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $__extbuf=__stackBase__;
var $__1buf=(__stackBase__)+(8);
var $__extbe=(__stackBase__)+(12);
var $__r;
var $__e=(__stackBase__)+(16);
var $__nmemb;
$38=$this;
$39=$__c;
var $40=$38;
var $41=$39;
$11=$41;
$12=-1;
var $42=$11;
var $43=$12;
var $44=(($42)|(0))==(($43)|(0));
if ($44) { label = 26; break; } else { label = 2; break; }
case 2:
var $46=$40;
var $47=(($__1buf+4)|0);
$1=$46;
$2=$__1buf;
$3=$47;
var $48=$1;
var $49=$2;
var $50=(($48+24)|0);
HEAP32[(($50)>>2)]=$49;
var $51=(($48+20)|0);
HEAP32[(($51)>>2)]=$49;
var $52=$3;
var $53=(($48+28)|0);
HEAP32[(($53)>>2)]=$52;
var $54=$39;
$4=$54;
var $55=$4;
var $56=$40;
$5=$56;
var $57=$5;
var $58=(($57+24)|0);
var $59=HEAP32[(($58)>>2)];
HEAP32[(($59)>>2)]=$55;
var $60=$40;
$6=$60;
$7=1;
var $61=$6;
var $62=$7;
var $63=(($61+24)|0);
var $64=HEAP32[(($63)>>2)];
var $65=(($64+($62<<2))|0);
HEAP32[(($63)>>2)]=$65;
var $66=(($40+44)|0);
var $67=HEAP8[($66)];
var $68=(($67) & 1);
if ($68) { label = 3; break; } else { label = 6; break; }
case 3:
var $70=$40;
$8=$70;
var $71=$8;
var $72=(($71+20)|0);
var $73=HEAP32[(($72)>>2)];
var $74=$73;
var $75=(($40+32)|0);
var $76=HEAP32[(($75)>>2)];
var $77=_fwrite($74, 4, 1, $76);
var $78=(($77)|(0))!=1;
if ($78) { label = 4; break; } else { label = 5; break; }
case 4:
$37=-1;
label = 30; break;
case 5:
label = 25; break;
case 6:
var $82=(($__extbuf)|0);
HEAP32[(($__extbe)>>2)]=$82;
label = 7; break;
case 7:
var $84=(($40+36)|0);
var $85=HEAP32[(($84)>>2)];
var $86=(($40+40)|0);
var $87=HEAP32[(($86)>>2)];
var $88=$40;
$9=$88;
var $89=$9;
var $90=(($89+20)|0);
var $91=HEAP32[(($90)>>2)];
var $92=$40;
$10=$92;
var $93=$10;
var $94=(($93+24)|0);
var $95=HEAP32[(($94)>>2)];
var $96=(($__extbuf)|0);
var $97=(($__extbuf)|0);
var $98=(($97+8)|0);
$13=$85;
$14=$87;
$15=$91;
$16=$95;
$17=$__e;
$18=$96;
$19=$98;
$20=$__extbe;
var $99=$13;
var $100=$99;
var $101=HEAP32[(($100)>>2)];
var $102=(($101+12)|0);
var $103=HEAP32[(($102)>>2)];
var $104=$14;
var $105=$15;
var $106=$16;
var $107=$17;
var $108=$18;
var $109=$19;
var $110=$20;
var $111=FUNCTION_TABLE[$103]($99, $104, $105, $106, $107, $108, $109, $110);
$__r=$111;
var $112=HEAP32[(($__e)>>2)];
var $113=$40;
$21=$113;
var $114=$21;
var $115=(($114+20)|0);
var $116=HEAP32[(($115)>>2)];
var $117=(($112)|(0))==(($116)|(0));
if ($117) { label = 8; break; } else { label = 9; break; }
case 8:
$37=-1;
label = 30; break;
case 9:
var $120=$__r;
var $121=(($120)|(0))==3;
if ($121) { label = 10; break; } else { label = 13; break; }
case 10:
var $123=$40;
$22=$123;
var $124=$22;
var $125=(($124+20)|0);
var $126=HEAP32[(($125)>>2)];
var $127=$126;
var $128=(($40+32)|0);
var $129=HEAP32[(($128)>>2)];
var $130=_fwrite($127, 1, 1, $129);
var $131=(($130)|(0))!=1;
if ($131) { label = 11; break; } else { label = 12; break; }
case 11:
$37=-1;
label = 30; break;
case 12:
label = 22; break;
case 13:
var $135=$__r;
var $136=(($135)|(0))==0;
if ($136) { label = 15; break; } else { label = 14; break; }
case 14:
var $138=$__r;
var $139=(($138)|(0))==1;
if ($139) { label = 15; break; } else { label = 20; break; }
case 15:
var $141=HEAP32[(($__extbe)>>2)];
var $142=(($__extbuf)|0);
var $143=$141;
var $144=$142;
var $145=((($143)-($144))|0);
$__nmemb=$145;
var $146=(($__extbuf)|0);
var $147=$__nmemb;
var $148=(($40+32)|0);
var $149=HEAP32[(($148)>>2)];
var $150=_fwrite($146, 1, $147, $149);
var $151=$__nmemb;
var $152=(($150)|(0))!=(($151)|(0));
if ($152) { label = 16; break; } else { label = 17; break; }
case 16:
$37=-1;
label = 30; break;
case 17:
var $155=$__r;
var $156=(($155)|(0))==1;
if ($156) { label = 18; break; } else { label = 19; break; }
case 18:
var $158=$40;
var $159=HEAP32[(($__e)>>2)];
var $160=$40;
$23=$160;
var $161=$23;
var $162=(($161+24)|0);
var $163=HEAP32[(($162)>>2)];
$24=$158;
$25=$159;
$26=$163;
var $164=$24;
var $165=$25;
var $166=(($164+24)|0);
HEAP32[(($166)>>2)]=$165;
var $167=(($164+20)|0);
HEAP32[(($167)>>2)]=$165;
var $168=$26;
var $169=(($164+28)|0);
HEAP32[(($169)>>2)]=$168;
var $170=$40;
var $171=$40;
$27=$171;
var $172=$27;
var $173=(($172+28)|0);
var $174=HEAP32[(($173)>>2)];
var $175=$40;
$28=$175;
var $176=$28;
var $177=(($176+20)|0);
var $178=HEAP32[(($177)>>2)];
var $179=$174;
var $180=$178;
var $181=((($179)-($180))|0);
var $182=((((($181)|(0)))/(4))&-1);
$29=$170;
$30=$182;
var $183=$29;
var $184=$30;
var $185=(($183+24)|0);
var $186=HEAP32[(($185)>>2)];
var $187=(($186+($184<<2))|0);
HEAP32[(($185)>>2)]=$187;
label = 19; break;
case 19:
label = 21; break;
case 20:
$37=-1;
label = 30; break;
case 21:
label = 22; break;
case 22:
label = 23; break;
case 23:
var $193=$__r;
var $194=(($193)|(0))==1;
if ($194) { label = 7; break; } else { label = 24; break; }
case 24:
label = 25; break;
case 25:
var $197=$40;
$31=$197;
$32=0;
$33=0;
var $198=$31;
var $199=$32;
var $200=(($198+24)|0);
HEAP32[(($200)>>2)]=$199;
var $201=(($198+20)|0);
HEAP32[(($201)>>2)]=$199;
var $202=$33;
var $203=(($198+28)|0);
HEAP32[(($203)>>2)]=$202;
label = 26; break;
case 26:
var $205=$39;
$36=$205;
var $206=$36;
$34=$206;
$35=-1;
var $207=$34;
var $208=$35;
var $209=(($207)|(0))==(($208)|(0));
if ($209) { label = 27; break; } else { label = 28; break; }
case 27:
var $213 = 0;label = 29; break;
case 28:
var $212=$36;
var $213 = $212;label = 29; break;
case 29:
var $213;
$37=$213;
label = 30; break;
case 30:
var $215=$37;
STACKTOP = __stackBase__;
return $215;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__111__stdoutbufIwED2Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
__ZNSt3__115basic_streambufIwNS_11char_traitsIwEEED2Ev($3);
return;
}
function __ZNSt3__110__stdinbufIwEC2EP7__sFILEP10_mbstate_t($this, $__fp, $__st) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 4)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5=__stackBase__;
var $6;
var $7;
$2=$this;
$3=$__fp;
$4=$__st;
var $8=$2;
var $9=$8;
__ZNSt3__115basic_streambufIwNS_11char_traitsIwEEEC2Ev($9);
var $10=$8;
HEAP32[(($10)>>2)]=((5250164)|0);
var $11=(($8+32)|0);
var $12=$3;
HEAP32[(($11)>>2)]=$12;
var $13=(($8+40)|0);
var $14=$4;
HEAP32[(($13)>>2)]=$14;
var $15=$8;
var $16=HEAP32[(($15)>>2)];
var $17=(($16+8)|0);
var $18=HEAP32[(($17)>>2)];
var $19=$8;
$1=$19;
var $20=$1;
var $21=(($20+4)|0);
__ZNSt3__16localeC2ERKS0_($5, $21);
label = 2; break;
case 2:
(function() { try { __THREW__ = 0; return FUNCTION_TABLE[$18]($8, $5) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 3; break; } else { label = 4; break; }
case 3:
__ZNSt3__16localeD2Ev($5);
STACKTOP = __stackBase__;
return;
case 4:
var $29$0 = ___cxa_find_matching_catch(-1, -1); $29$1 = tempRet0;
var $30=$29$0;
$6=$30;
var $31=$29$1;
$7=$31;
__ZNSt3__16localeD2Ev($5);
label = 5; break;
case 5:
var $33=$8;
__ZNSt3__115basic_streambufIwNS_11char_traitsIwEEED2Ev($33);
label = 6; break;
case 6:
var $35=$6;
var $36=$7;
var $37$0=$35;
var $37$1=0;
var $38$0=$37$0;
var $38$1=$36;
___resumeException($38$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__110__stdinbufIwED1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__110__stdinbufIwED2Ev($2);
return;
}
function __ZNSt3__110__stdinbufIwED0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__110__stdinbufIwED1Ev($2);
var $3=$2;
__ZdlPv($3);
return;
}
function __ZNSt3__110__stdinbufIwE5imbueERKNS_6localeE($this, $__loc) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
$4=$this;
$5=$__loc;
var $6=$4;
var $7=$5;
$3=$7;
var $8=$3;
var $9=__ZNKSt3__16locale9use_facetERNS0_2idE($8, 5255124);
var $10=$9;
var $11=(($6+36)|0);
HEAP32[(($11)>>2)]=$10;
var $12=(($6+36)|0);
var $13=HEAP32[(($12)>>2)];
$2=$13;
var $14=$2;
var $15=$14;
var $16=HEAP32[(($15)>>2)];
var $17=(($16+24)|0);
var $18=HEAP32[(($17)>>2)];
var $19=FUNCTION_TABLE[$18]($14);
var $20=(($6+44)|0);
HEAP32[(($20)>>2)]=$19;
var $21=(($6+36)|0);
var $22=HEAP32[(($21)>>2)];
$1=$22;
var $23=$1;
var $24=$23;
var $25=HEAP32[(($24)>>2)];
var $26=(($25+28)|0);
var $27=HEAP32[(($26)>>2)];
var $28=FUNCTION_TABLE[$27]($23);
var $29=(($6+48)|0);
var $30=(($28)&(1));
HEAP8[($29)]=$30;
var $31=(($6+44)|0);
var $32=HEAP32[(($31)>>2)];
var $33=(($32)|(0)) > 8;
if ($33) { label = 2; break; } else { label = 3; break; }
case 2:
__ZNSt3__121__throw_runtime_errorEPKc(((5243048)|0));
label = 3; break;
case 3:
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__110__stdinbufIwE9underflowEv($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=__ZNSt3__110__stdinbufIwE9__getcharEb($2, 0);
return $3;
}
function __ZNSt3__110__stdinbufIwE5uflowEv($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=__ZNSt3__110__stdinbufIwE9__getcharEb($2, 1);
return $3;
}
function __ZNSt3__110__stdinbufIwE9pbackfailEj($this, $__c) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 20)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $__extbuf=__stackBase__;
var $__enxt=(__stackBase__)+(8);
var $__ci=(__stackBase__)+(12);
var $__inxt=(__stackBase__)+(16);
$16=$this;
$17=$__c;
var $18=$16;
var $19=$17;
$2=$19;
$3=-1;
var $20=$2;
var $21=$3;
var $22=(($20)|(0))==(($21)|(0));
if ($22) { label = 2; break; } else { label = 3; break; }
case 2:
var $24=$17;
$15=$24;
label = 16; break;
case 3:
var $26=$17;
$1=$26;
var $27=$1;
HEAP32[(($__ci)>>2)]=$27;
var $28=(($18+36)|0);
var $29=HEAP32[(($28)>>2)];
var $30=(($18+40)|0);
var $31=HEAP32[(($30)>>2)];
var $32=(($__ci+4)|0);
var $33=(($__extbuf)|0);
var $34=(($__extbuf)|0);
var $35=(($34+8)|0);
$4=$29;
$5=$31;
$6=$__ci;
$7=$32;
$8=$__inxt;
$9=$33;
$10=$35;
$11=$__enxt;
var $36=$4;
var $37=$36;
var $38=HEAP32[(($37)>>2)];
var $39=(($38+12)|0);
var $40=HEAP32[(($39)>>2)];
var $41=$5;
var $42=$6;
var $43=$7;
var $44=$8;
var $45=$9;
var $46=$10;
var $47=$11;
var $48=FUNCTION_TABLE[$40]($36, $41, $42, $43, $44, $45, $46, $47);
if ((($48)|(0))==0) {
label = 4; break;
}
else if ((($48)|(0))==3) {
label = 5; break;
}
else if ((($48)|(0))==1 | (($48)|(0))==2) {
label = 6; break;
}
else {
label = 7; break;
}
case 4:
label = 7; break;
case 5:
var $51=$17;
var $52=(($51) & 255);
var $53=(($__extbuf)|0);
HEAP8[($53)]=$52;
var $54=(($__extbuf)|0);
var $55=(($54+1)|0);
HEAP32[(($__enxt)>>2)]=$55;
label = 7; break;
case 6:
$15=-1;
label = 16; break;
case 7:
label = 8; break;
case 8:
var $59=HEAP32[(($__enxt)>>2)];
var $60=(($__extbuf)|0);
var $61=(($59)>>>(0)) > (($60)>>>(0));
if ($61) { label = 9; break; } else { label = 12; break; }
case 9:
var $63=HEAP32[(($__enxt)>>2)];
var $64=((($63)-(1))|0);
HEAP32[(($__enxt)>>2)]=$64;
var $65=HEAP8[($64)];
var $66=(($65 << 24) >> 24);
var $67=(($18+32)|0);
var $68=HEAP32[(($67)>>2)];
var $69=_ungetc($66, $68);
var $70=(($69)|(0))==-1;
if ($70) { label = 10; break; } else { label = 11; break; }
case 10:
$15=-1;
label = 16; break;
case 11:
label = 8; break;
case 12:
var $74=$17;
$14=$74;
var $75=$14;
$12=$75;
$13=-1;
var $76=$12;
var $77=$13;
var $78=(($76)|(0))==(($77)|(0));
if ($78) { label = 13; break; } else { label = 14; break; }
case 13:
var $82 = 0;label = 15; break;
case 14:
var $81=$14;
var $82 = $81;label = 15; break;
case 15:
var $82;
$15=$82;
label = 16; break;
case 16:
var $84=$15;
STACKTOP = __stackBase__;
return $84;
default: assert(0, "bad label: " + label);
}
}
// WARNING: content after a branch in a label, line: 3026
// WARNING: content after a branch in a label, line: 3028
// WARNING: content after a branch in a label, line: 3029
// WARNING: content after a branch in a label, line: 3030
// WARNING: content after a branch in a label, line: 3031
// WARNING: content after a branch in a label, line: 3032
// WARNING: content after a branch in a label, line: 3590
// WARNING: content after a branch in a label, line: 3592
// WARNING: content after a branch in a label, line: 3593
// WARNING: content after a branch in a label, line: 3594
// WARNING: content after a branch in a label, line: 3595
// WARNING: content after a branch in a label, line: 3596
function __ZNSt3__110__stdinbufIwE9__getcharEb($this, $__consume) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 40)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $__comp_i_i=__stackBase__;
var $16;
var $17;
var $18=(__stackBase__)+(4);
var $19;
var $20;
var $21;
var $__extbuf=(__stackBase__)+(8);
var $__nread;
var $22=(__stackBase__)+(16);
var $__i;
var $__c;
var $__1buf=(__stackBase__)+(20);
var $__enxt=(__stackBase__)+(24);
var $__inxt=(__stackBase__)+(28);
var $__r;
var $__sv_st=(__stackBase__)+(32);
var $__c1;
var $__i2;
$20=$this;
var $23=(($__consume)&(1));
$21=$23;
var $24=$20;
HEAP32[(($22)>>2)]=1;
var $25=(($24+44)|0);
$16=$22;
$17=$25;
var $26=$16;
var $27=$17;
$14=$26;
$15=$27;
var $28=$14;
var $29=$15;
$11=$__comp_i_i;
$12=$28;
$13=$29;
var $30=$11;
var $31=$12;
var $32=HEAP32[(($31)>>2)];
var $33=$13;
var $34=HEAP32[(($33)>>2)];
var $35=(($32)|(0)) < (($34)|(0));
if ($35) { label = 2; break; } else { label = 3; break; }
case 2:
var $37=$15;
var $40 = $37;label = 4; break;
case 3:
var $39=$14;
var $40 = $39;label = 4; break;
case 4:
var $40;
var $41=HEAP32[(($40)>>2)];
$__nread=$41;
$__i=0;
label = 5; break;
case 5:
var $43=$__i;
var $44=$__nread;
var $45=(($43)|(0)) < (($44)|(0));
if ($45) { label = 6; break; } else { label = 10; break; }
case 6:
var $47=(($24+32)|0);
var $48=HEAP32[(($47)>>2)];
var $49=_fgetc($48);
$__c=$49;
var $50=$__c;
var $51=(($50)|(0))==-1;
if ($51) { label = 7; break; } else { label = 8; break; }
case 7:
$19=-1;
label = 33; break;
case 8:
var $54=$__c;
var $55=(($54) & 255);
var $56=$__i;
var $57=(($__extbuf+$56)|0);
HEAP8[($57)]=$55;
label = 9; break;
case 9:
var $59=$__i;
var $60=((($59)+(1))|0);
$__i=$60;
label = 5; break;
case 10:
var $62=(($24+48)|0);
var $63=HEAP8[($62)];
var $64=(($63) & 1);
if ($64) { label = 11; break; } else { label = 12; break; }
case 11:
var $66=(($__extbuf)|0);
var $67=HEAP8[($66)];
var $68=(($67 << 24) >> 24);
HEAP32[(($__1buf)>>2)]=$68;
label = 25; break;
case 12:
label = 13; break;
case 13:
var $71=(($24+40)|0);
var $72=HEAP32[(($71)>>2)];
var $73=$__sv_st;
var $74=$72;
assert(8 % 1 === 0);HEAP32[(($73)>>2)]=HEAP32[(($74)>>2)];HEAP32[((($73)+(4))>>2)]=HEAP32[((($74)+(4))>>2)];
var $75=(($24+36)|0);
var $76=HEAP32[(($75)>>2)];
var $77=(($24+40)|0);
var $78=HEAP32[(($77)>>2)];
var $79=(($__extbuf)|0);
var $80=(($__extbuf)|0);
var $81=$__nread;
var $82=(($80+$81)|0);
var $83=(($__1buf+4)|0);
$1=$76;
$2=$78;
$3=$79;
$4=$82;
$5=$__enxt;
$6=$__1buf;
$7=$83;
$8=$__inxt;
var $84=$1;
var $85=$84;
var $86=HEAP32[(($85)>>2)];
var $87=(($86+16)|0);
var $88=HEAP32[(($87)>>2)];
var $89=$2;
var $90=$3;
var $91=$4;
var $92=$5;
var $93=$6;
var $94=$7;
var $95=$8;
var $96=FUNCTION_TABLE[$88]($84, $89, $90, $91, $92, $93, $94, $95);
$__r=$96;
var $97=$__r;
if ((($97)|(0))==0) {
label = 14; break;
}
else if ((($97)|(0))==1) {
label = 15; break;
}
else if ((($97)|(0))==2) {
label = 20; break;
}
else if ((($97)|(0))==3) {
label = 21; break;
}
else {
label = 22; break;
}
case 14:
label = 22; break;
case 15:
var $100=(($24+40)|0);
var $101=HEAP32[(($100)>>2)];
var $102=$101;
var $103=$__sv_st;
assert(8 % 1 === 0);HEAP32[(($102)>>2)]=HEAP32[(($103)>>2)];HEAP32[((($102)+(4))>>2)]=HEAP32[((($103)+(4))>>2)];
var $104=$__nread;
var $105=(($104)|(0))==8;
if ($105) { label = 16; break; } else { label = 17; break; }
case 16:
$19=-1;
label = 33; break;
case 17:
var $108=(($24+32)|0);
var $109=HEAP32[(($108)>>2)];
var $110=_fgetc($109);
$__c1=$110;
var $111=$__c1;
var $112=(($111)|(0))==-1;
if ($112) { label = 18; break; } else { label = 19; break; }
case 18:
$19=-1;
label = 33; break;
case 19:
var $115=$__c1;
var $116=(($115) & 255);
var $117=$__nread;
var $118=(($__extbuf+$117)|0);
HEAP8[($118)]=$116;
var $119=$__nread;
var $120=((($119)+(1))|0);
$__nread=$120;
label = 22; break;
case 20:
$19=-1;
label = 33; break;
case 21:
var $123=(($__extbuf)|0);
var $124=HEAP8[($123)];
var $125=(($124 << 24) >> 24);
HEAP32[(($__1buf)>>2)]=$125;
label = 22; break;
case 22:
label = 23; break;
case 23:
var $128=$__r;
var $129=(($128)|(0))==1;
if ($129) { label = 13; break; } else { label = 24; break; }
case 24:
label = 25; break;
case 25:
var $132=$21;
var $133=(($132) & 1);
if ($133) { label = 32; break; } else { label = 26; break; }
case 26:
var $135=$__nread;
$__i2=$135;
label = 27; break;
case 27:
var $137=$__i2;
var $138=(($137)|(0)) > 0;
if ($138) { label = 28; break; } else { label = 31; break; }
case 28:
var $140=$__i2;
var $141=((($140)-(1))|0);
$__i2=$141;
var $142=(($__extbuf+$141)|0);
var $143=HEAP8[($142)];
var $144=(($143 << 24) >> 24);
$9=$144;
var $145=$9;
var $146=(($24+32)|0);
var $147=HEAP32[(($146)>>2)];
var $148=_ungetc($145, $147);
var $149=(($148)|(0))==-1;
if ($149) { label = 29; break; } else { label = 30; break; }
case 29:
$19=-1;
label = 33; break;
case 30:
label = 27; break;
case 31:
label = 32; break;
case 32:
var $154=HEAP32[(($__1buf)>>2)];
$10=$154;
var $155=$10;
$19=$155;
label = 33; break;
case 33:
var $157=$19;
STACKTOP = __stackBase__;
return $157;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__110__stdinbufIwED2Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
__ZNSt3__115basic_streambufIwNS_11char_traitsIwEEED2Ev($3);
return;
}
function __ZNSt3__111__stdoutbufIcEC2EP7__sFILEP10_mbstate_t($this, $__fp, $__st) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 4)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7=__stackBase__;
var $8;
var $9;
$4=$this;
$5=$__fp;
$6=$__st;
var $10=$4;
var $11=$10;
__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEEC2Ev($11);
var $12=$10;
HEAP32[(($12)>>2)]=((5249856)|0);
var $13=(($10+32)|0);
var $14=$5;
HEAP32[(($13)>>2)]=$14;
var $15=(($10+36)|0);
var $16=$10;
$3=$16;
var $17=$3;
var $18=(($17+4)|0);
__ZNSt3__16localeC2ERKS0_($7, $18);
label = 2; break;
case 2:
$2=$7;
var $20=$2;
var $21 = (function() { try { __THREW__ = 0; return __ZNKSt3__16locale9use_facetERNS0_2idE($20, 5255132) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 3; break; } else { label = 5; break; }
case 3:
var $22=$21;
label = 4; break;
case 4:
__ZNSt3__16localeD2Ev($7);
HEAP32[(($15)>>2)]=$22;
var $24=(($10+40)|0);
var $25=$6;
HEAP32[(($24)>>2)]=$25;
var $26=(($10+44)|0);
var $27=(($10+36)|0);
var $28=HEAP32[(($27)>>2)];
$1=$28;
var $29=$1;
var $30=$29;
var $31=HEAP32[(($30)>>2)];
var $32=(($31+28)|0);
var $33=HEAP32[(($32)>>2)];
var $34=FUNCTION_TABLE[$33]($29);
var $35=(($34)&(1));
HEAP8[($26)]=$35;
STACKTOP = __stackBase__;
return;
case 5:
var $41$0 = ___cxa_find_matching_catch(-1, -1); $41$1 = tempRet0;
var $42=$41$0;
$8=$42;
var $43=$41$1;
$9=$43;
__ZNSt3__16localeD2Ev($7);
label = 6; break;
case 6:
var $45=$10;
__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEED2Ev($45);
label = 7; break;
case 7:
var $47=$8;
var $48=$9;
var $49$0=$47;
var $49$1=0;
var $50$0=$49$0;
var $50$1=$48;
___resumeException($50$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__111__stdoutbufIcED1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__111__stdoutbufIcED2Ev($2);
return;
}
function __ZNSt3__111__stdoutbufIcED0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__111__stdoutbufIcED1Ev($2);
var $3=$2;
__ZdlPv($3);
return;
}
function __ZNSt3__111__stdoutbufIcE5imbueERKNS_6localeE($this, $__loc) {
var label = 0;
var $1;
var $2;
var $3;
var $4;
$3=$this;
$4=$__loc;
var $5=$3;
var $6=$5;
var $7=HEAP32[(($6)>>2)];
var $8=(($7+24)|0);
var $9=HEAP32[(($8)>>2)];
var $10=FUNCTION_TABLE[$9]($5);
var $11=$4;
$2=$11;
var $12=$2;
var $13=__ZNKSt3__16locale9use_facetERNS0_2idE($12, 5255132);
var $14=$13;
var $15=(($5+36)|0);
HEAP32[(($15)>>2)]=$14;
var $16=(($5+36)|0);
var $17=HEAP32[(($16)>>2)];
$1=$17;
var $18=$1;
var $19=$18;
var $20=HEAP32[(($19)>>2)];
var $21=(($20+28)|0);
var $22=HEAP32[(($21)>>2)];
var $23=FUNCTION_TABLE[$22]($18);
var $24=(($5+44)|0);
var $25=(($23)&(1));
HEAP8[($24)]=$25;
return;
}
function __ZNSt3__111__stdoutbufIcE4syncEv($this) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 12)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $__extbuf=__stackBase__;
var $__r;
var $__extbe=(__stackBase__)+(8);
var $__nmemb;
$7=$this;
var $8=$7;
label = 2; break;
case 2:
var $10=(($8+36)|0);
var $11=HEAP32[(($10)>>2)];
var $12=(($8+40)|0);
var $13=HEAP32[(($12)>>2)];
var $14=(($__extbuf)|0);
var $15=(($__extbuf)|0);
var $16=(($15+8)|0);
$1=$11;
$2=$13;
$3=$14;
$4=$16;
$5=$__extbe;
var $17=$1;
var $18=$17;
var $19=HEAP32[(($18)>>2)];
var $20=(($19+20)|0);
var $21=HEAP32[(($20)>>2)];
var $22=$2;
var $23=$3;
var $24=$4;
var $25=$5;
var $26=FUNCTION_TABLE[$21]($17, $22, $23, $24, $25);
$__r=$26;
var $27=HEAP32[(($__extbe)>>2)];
var $28=(($__extbuf)|0);
var $29=$27;
var $30=$28;
var $31=((($29)-($30))|0);
$__nmemb=$31;
var $32=(($__extbuf)|0);
var $33=$__nmemb;
var $34=(($8+32)|0);
var $35=HEAP32[(($34)>>2)];
var $36=_fwrite($32, 1, $33, $35);
var $37=$__nmemb;
var $38=(($36)|(0))!=(($37)|(0));
if ($38) { label = 3; break; } else { label = 4; break; }
case 3:
$6=-1;
label = 11; break;
case 4:
label = 5; break;
case 5:
var $42=$__r;
var $43=(($42)|(0))==1;
if ($43) { label = 2; break; } else { label = 6; break; }
case 6:
var $45=$__r;
var $46=(($45)|(0))==2;
if ($46) { label = 7; break; } else { label = 8; break; }
case 7:
$6=-1;
label = 11; break;
case 8:
var $49=(($8+32)|0);
var $50=HEAP32[(($49)>>2)];
var $51=_fflush($50);
var $52=(($51)|(0))!=0;
if ($52) { label = 9; break; } else { label = 10; break; }
case 9:
$6=-1;
label = 11; break;
case 10:
$6=0;
label = 11; break;
case 11:
var $56=$6;
STACKTOP = __stackBase__;
return $56;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__111__stdoutbufIcE8overflowEi($this, $__c) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 20)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $__extbuf=__stackBase__;
var $__1buf=(__stackBase__)+(8);
var $__extbe=(__stackBase__)+(12);
var $__r;
var $__e=(__stackBase__)+(16);
var $__nmemb;
$38=$this;
$39=$__c;
var $40=$38;
var $41=$39;
$11=$41;
$12=-1;
var $42=$11;
var $43=$12;
var $44=(($42)|(0))==(($43)|(0));
if ($44) { label = 26; break; } else { label = 2; break; }
case 2:
var $46=$40;
var $47=(($__1buf+1)|0);
$1=$46;
$2=$__1buf;
$3=$47;
var $48=$1;
var $49=$2;
var $50=(($48+24)|0);
HEAP32[(($50)>>2)]=$49;
var $51=(($48+20)|0);
HEAP32[(($51)>>2)]=$49;
var $52=$3;
var $53=(($48+28)|0);
HEAP32[(($53)>>2)]=$52;
var $54=$39;
$4=$54;
var $55=$4;
var $56=(($55) & 255);
var $57=$40;
$5=$57;
var $58=$5;
var $59=(($58+24)|0);
var $60=HEAP32[(($59)>>2)];
HEAP8[($60)]=$56;
var $61=$40;
$6=$61;
$7=1;
var $62=$6;
var $63=$7;
var $64=(($62+24)|0);
var $65=HEAP32[(($64)>>2)];
var $66=(($65+$63)|0);
HEAP32[(($64)>>2)]=$66;
var $67=(($40+44)|0);
var $68=HEAP8[($67)];
var $69=(($68) & 1);
if ($69) { label = 3; break; } else { label = 6; break; }
case 3:
var $71=$40;
$8=$71;
var $72=$8;
var $73=(($72+20)|0);
var $74=HEAP32[(($73)>>2)];
var $75=(($40+32)|0);
var $76=HEAP32[(($75)>>2)];
var $77=_fwrite($74, 1, 1, $76);
var $78=(($77)|(0))!=1;
if ($78) { label = 4; break; } else { label = 5; break; }
case 4:
$37=-1;
label = 30; break;
case 5:
label = 25; break;
case 6:
var $82=(($__extbuf)|0);
HEAP32[(($__extbe)>>2)]=$82;
label = 7; break;
case 7:
var $84=(($40+36)|0);
var $85=HEAP32[(($84)>>2)];
var $86=(($40+40)|0);
var $87=HEAP32[(($86)>>2)];
var $88=$40;
$9=$88;
var $89=$9;
var $90=(($89+20)|0);
var $91=HEAP32[(($90)>>2)];
var $92=$40;
$10=$92;
var $93=$10;
var $94=(($93+24)|0);
var $95=HEAP32[(($94)>>2)];
var $96=(($__extbuf)|0);
var $97=(($__extbuf)|0);
var $98=(($97+8)|0);
$13=$85;
$14=$87;
$15=$91;
$16=$95;
$17=$__e;
$18=$96;
$19=$98;
$20=$__extbe;
var $99=$13;
var $100=$99;
var $101=HEAP32[(($100)>>2)];
var $102=(($101+12)|0);
var $103=HEAP32[(($102)>>2)];
var $104=$14;
var $105=$15;
var $106=$16;
var $107=$17;
var $108=$18;
var $109=$19;
var $110=$20;
var $111=FUNCTION_TABLE[$103]($99, $104, $105, $106, $107, $108, $109, $110);
$__r=$111;
var $112=HEAP32[(($__e)>>2)];
var $113=$40;
$21=$113;
var $114=$21;
var $115=(($114+20)|0);
var $116=HEAP32[(($115)>>2)];
var $117=(($112)|(0))==(($116)|(0));
if ($117) { label = 8; break; } else { label = 9; break; }
case 8:
$37=-1;
label = 30; break;
case 9:
var $120=$__r;
var $121=(($120)|(0))==3;
if ($121) { label = 10; break; } else { label = 13; break; }
case 10:
var $123=$40;
$22=$123;
var $124=$22;
var $125=(($124+20)|0);
var $126=HEAP32[(($125)>>2)];
var $127=(($40+32)|0);
var $128=HEAP32[(($127)>>2)];
var $129=_fwrite($126, 1, 1, $128);
var $130=(($129)|(0))!=1;
if ($130) { label = 11; break; } else { label = 12; break; }
case 11:
$37=-1;
label = 30; break;
case 12:
label = 22; break;
case 13:
var $134=$__r;
var $135=(($134)|(0))==0;
if ($135) { label = 15; break; } else { label = 14; break; }
case 14:
var $137=$__r;
var $138=(($137)|(0))==1;
if ($138) { label = 15; break; } else { label = 20; break; }
case 15:
var $140=HEAP32[(($__extbe)>>2)];
var $141=(($__extbuf)|0);
var $142=$140;
var $143=$141;
var $144=((($142)-($143))|0);
$__nmemb=$144;
var $145=(($__extbuf)|0);
var $146=$__nmemb;
var $147=(($40+32)|0);
var $148=HEAP32[(($147)>>2)];
var $149=_fwrite($145, 1, $146, $148);
var $150=$__nmemb;
var $151=(($149)|(0))!=(($150)|(0));
if ($151) { label = 16; break; } else { label = 17; break; }
case 16:
$37=-1;
label = 30; break;
case 17:
var $154=$__r;
var $155=(($154)|(0))==1;
if ($155) { label = 18; break; } else { label = 19; break; }
case 18:
var $157=$40;
var $158=HEAP32[(($__e)>>2)];
var $159=$40;
$23=$159;
var $160=$23;
var $161=(($160+24)|0);
var $162=HEAP32[(($161)>>2)];
$24=$157;
$25=$158;
$26=$162;
var $163=$24;
var $164=$25;
var $165=(($163+24)|0);
HEAP32[(($165)>>2)]=$164;
var $166=(($163+20)|0);
HEAP32[(($166)>>2)]=$164;
var $167=$26;
var $168=(($163+28)|0);
HEAP32[(($168)>>2)]=$167;
var $169=$40;
var $170=$40;
$27=$170;
var $171=$27;
var $172=(($171+28)|0);
var $173=HEAP32[(($172)>>2)];
var $174=$40;
$28=$174;
var $175=$28;
var $176=(($175+20)|0);
var $177=HEAP32[(($176)>>2)];
var $178=$173;
var $179=$177;
var $180=((($178)-($179))|0);
$29=$169;
$30=$180;
var $181=$29;
var $182=$30;
var $183=(($181+24)|0);
var $184=HEAP32[(($183)>>2)];
var $185=(($184+$182)|0);
HEAP32[(($183)>>2)]=$185;
label = 19; break;
case 19:
label = 21; break;
case 20:
$37=-1;
label = 30; break;
case 21:
label = 22; break;
case 22:
label = 23; break;
case 23:
var $191=$__r;
var $192=(($191)|(0))==1;
if ($192) { label = 7; break; } else { label = 24; break; }
case 24:
label = 25; break;
case 25:
var $195=$40;
$31=$195;
$32=0;
$33=0;
var $196=$31;
var $197=$32;
var $198=(($196+24)|0);
HEAP32[(($198)>>2)]=$197;
var $199=(($196+20)|0);
HEAP32[(($199)>>2)]=$197;
var $200=$33;
var $201=(($196+28)|0);
HEAP32[(($201)>>2)]=$200;
label = 26; break;
case 26:
var $203=$39;
$36=$203;
var $204=$36;
$34=$204;
$35=-1;
var $205=$34;
var $206=$35;
var $207=(($205)|(0))==(($206)|(0));
if ($207) { label = 27; break; } else { label = 28; break; }
case 27:
var $211 = 0;label = 29; break;
case 28:
var $210=$36;
var $211 = $210;label = 29; break;
case 29:
var $211;
$37=$211;
label = 30; break;
case 30:
var $213=$37;
STACKTOP = __stackBase__;
return $213;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__111__stdoutbufIcED2Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEED2Ev($3);
return;
}
function __ZNSt3__110__stdinbufIcEC2EP7__sFILEP10_mbstate_t($this, $__fp, $__st) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 4)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5=__stackBase__;
var $6;
var $7;
$2=$this;
$3=$__fp;
$4=$__st;
var $8=$2;
var $9=$8;
__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEEC2Ev($9);
var $10=$8;
HEAP32[(($10)>>2)]=((5250232)|0);
var $11=(($8+32)|0);
var $12=$3;
HEAP32[(($11)>>2)]=$12;
var $13=(($8+40)|0);
var $14=$4;
HEAP32[(($13)>>2)]=$14;
var $15=$8;
var $16=HEAP32[(($15)>>2)];
var $17=(($16+8)|0);
var $18=HEAP32[(($17)>>2)];
var $19=$8;
$1=$19;
var $20=$1;
var $21=(($20+4)|0);
__ZNSt3__16localeC2ERKS0_($5, $21);
label = 2; break;
case 2:
(function() { try { __THREW__ = 0; return FUNCTION_TABLE[$18]($8, $5) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 3; break; } else { label = 4; break; }
case 3:
__ZNSt3__16localeD2Ev($5);
STACKTOP = __stackBase__;
return;
case 4:
var $29$0 = ___cxa_find_matching_catch(-1, -1); $29$1 = tempRet0;
var $30=$29$0;
$6=$30;
var $31=$29$1;
$7=$31;
__ZNSt3__16localeD2Ev($5);
label = 5; break;
case 5:
var $33=$8;
__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEED2Ev($33);
label = 6; break;
case 6:
var $35=$6;
var $36=$7;
var $37$0=$35;
var $37$1=0;
var $38$0=$37$0;
var $38$1=$36;
___resumeException($38$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__110__stdinbufIcED1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__110__stdinbufIcED2Ev($2);
return;
}
function __ZNSt3__110__stdinbufIcED0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__110__stdinbufIcED1Ev($2);
var $3=$2;
__ZdlPv($3);
return;
}
function __ZNSt3__114__shared_countD2Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
return;
}
function __ZNSt3__112_GLOBAL__N_19incrementIlEET_RS2_($t) {
var label = 0;
var $1;
$1=$t;
var $2=$1;
var $3=(tempValue=HEAP32[(($2)>>2)],HEAP32[(($2)>>2)]=tempValue+1,tempValue);
var $4=((($3)+(1))|0);
return $4;
}
function __ZNSt3__112_GLOBAL__N_19decrementIlEET_RS2_($t) {
var label = 0;
var $1;
$1=$t;
var $2=$1;
var $3=(tempValue=HEAP32[(($2)>>2)],HEAP32[(($2)>>2)]=tempValue+-1,tempValue);
var $4=((($3)-(1))|0);
return $4;
}
function __ZNSt3__114error_categoryC2Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
HEAP32[(($3)>>2)]=((5249484)|0);
return;
}
function __ZNK12_GLOBAL__N_114__libcpp_nmstr5c_strEv($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=(($2)|0);
var $4=HEAP32[(($3)>>2)];
return $4;
}
function __ZNK12_GLOBAL__N_114__libcpp_nmstr5countEv($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=(($2)|0);
var $4=HEAP32[(($3)>>2)];
var $5=((($4)-(4))|0);
var $6=$5;
return $6;
}
function __ZNSt3__110__stdinbufIcE5imbueERKNS_6localeE($this, $__loc) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
$4=$this;
$5=$__loc;
var $6=$4;
var $7=$5;
$3=$7;
var $8=$3;
var $9=__ZNKSt3__16locale9use_facetERNS0_2idE($8, 5255132);
var $10=$9;
var $11=(($6+36)|0);
HEAP32[(($11)>>2)]=$10;
var $12=(($6+36)|0);
var $13=HEAP32[(($12)>>2)];
$2=$13;
var $14=$2;
var $15=$14;
var $16=HEAP32[(($15)>>2)];
var $17=(($16+24)|0);
var $18=HEAP32[(($17)>>2)];
var $19=FUNCTION_TABLE[$18]($14);
var $20=(($6+44)|0);
HEAP32[(($20)>>2)]=$19;
var $21=(($6+36)|0);
var $22=HEAP32[(($21)>>2)];
$1=$22;
var $23=$1;
var $24=$23;
var $25=HEAP32[(($24)>>2)];
var $26=(($25+28)|0);
var $27=HEAP32[(($26)>>2)];
var $28=FUNCTION_TABLE[$27]($23);
var $29=(($6+48)|0);
var $30=(($28)&(1));
HEAP8[($29)]=$30;
var $31=(($6+44)|0);
var $32=HEAP32[(($31)>>2)];
var $33=(($32)|(0)) > 8;
if ($33) { label = 2; break; } else { label = 3; break; }
case 2:
__ZNSt3__121__throw_runtime_errorEPKc(((5243048)|0));
label = 3; break;
case 3:
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__110__stdinbufIcE9underflowEv($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=__ZNSt3__110__stdinbufIcE9__getcharEb($2, 0);
return $3;
}
function __ZNSt3__110__stdinbufIcE5uflowEv($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=__ZNSt3__110__stdinbufIcE9__getcharEb($2, 1);
return $3;
}
function __ZNSt3__110__stdinbufIcE9pbackfailEi($this, $__c) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 20)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $__extbuf=__stackBase__;
var $__enxt=(__stackBase__)+(8);
var $__ci=(__stackBase__)+(12);
var $__inxt=(__stackBase__)+(16);
$16=$this;
$17=$__c;
var $18=$16;
var $19=$17;
$2=$19;
$3=-1;
var $20=$2;
var $21=$3;
var $22=(($20)|(0))==(($21)|(0));
if ($22) { label = 2; break; } else { label = 3; break; }
case 2:
var $24=$17;
$15=$24;
label = 16; break;
case 3:
var $26=$17;
$1=$26;
var $27=$1;
var $28=(($27) & 255);
HEAP8[($__ci)]=$28;
var $29=(($18+36)|0);
var $30=HEAP32[(($29)>>2)];
var $31=(($18+40)|0);
var $32=HEAP32[(($31)>>2)];
var $33=(($__ci+1)|0);
var $34=(($__extbuf)|0);
var $35=(($__extbuf)|0);
var $36=(($35+8)|0);
$4=$30;
$5=$32;
$6=$__ci;
$7=$33;
$8=$__inxt;
$9=$34;
$10=$36;
$11=$__enxt;
var $37=$4;
var $38=$37;
var $39=HEAP32[(($38)>>2)];
var $40=(($39+12)|0);
var $41=HEAP32[(($40)>>2)];
var $42=$5;
var $43=$6;
var $44=$7;
var $45=$8;
var $46=$9;
var $47=$10;
var $48=$11;
var $49=FUNCTION_TABLE[$41]($37, $42, $43, $44, $45, $46, $47, $48);
if ((($49)|(0))==0) {
label = 4; break;
}
else if ((($49)|(0))==3) {
label = 5; break;
}
else if ((($49)|(0))==1 | (($49)|(0))==2) {
label = 6; break;
}
else {
label = 7; break;
}
case 4:
label = 7; break;
case 5:
var $52=$17;
var $53=(($52) & 255);
var $54=(($__extbuf)|0);
HEAP8[($54)]=$53;
var $55=(($__extbuf)|0);
var $56=(($55+1)|0);
HEAP32[(($__enxt)>>2)]=$56;
label = 7; break;
case 6:
$15=-1;
label = 16; break;
case 7:
label = 8; break;
case 8:
var $60=HEAP32[(($__enxt)>>2)];
var $61=(($__extbuf)|0);
var $62=(($60)>>>(0)) > (($61)>>>(0));
if ($62) { label = 9; break; } else { label = 12; break; }
case 9:
var $64=HEAP32[(($__enxt)>>2)];
var $65=((($64)-(1))|0);
HEAP32[(($__enxt)>>2)]=$65;
var $66=HEAP8[($65)];
var $67=(($66 << 24) >> 24);
var $68=(($18+32)|0);
var $69=HEAP32[(($68)>>2)];
var $70=_ungetc($67, $69);
var $71=(($70)|(0))==-1;
if ($71) { label = 10; break; } else { label = 11; break; }
case 10:
$15=-1;
label = 16; break;
case 11:
label = 8; break;
case 12:
var $75=$17;
$14=$75;
var $76=$14;
$12=$76;
$13=-1;
var $77=$12;
var $78=$13;
var $79=(($77)|(0))==(($78)|(0));
if ($79) { label = 13; break; } else { label = 14; break; }
case 13:
var $83 = 0;label = 15; break;
case 14:
var $82=$14;
var $83 = $82;label = 15; break;
case 15:
var $83;
$15=$83;
label = 16; break;
case 16:
var $85=$15;
STACKTOP = __stackBase__;
return $85;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__110__stdinbufIcE9__getcharEb($this, $__consume) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 40)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $__comp_i_i=__stackBase__;
var $16;
var $17;
var $18=(__stackBase__)+(4);
var $19;
var $20;
var $21;
var $__extbuf=(__stackBase__)+(8);
var $__nread;
var $22=(__stackBase__)+(16);
var $__i;
var $__c;
var $__1buf=(__stackBase__)+(20);
var $__enxt=(__stackBase__)+(24);
var $__inxt=(__stackBase__)+(28);
var $__r;
var $__sv_st=(__stackBase__)+(32);
var $__c1;
var $__i2;
$20=$this;
var $23=(($__consume)&(1));
$21=$23;
var $24=$20;
HEAP32[(($22)>>2)]=1;
var $25=(($24+44)|0);
$16=$22;
$17=$25;
var $26=$16;
var $27=$17;
$14=$26;
$15=$27;
var $28=$14;
var $29=$15;
$11=$__comp_i_i;
$12=$28;
$13=$29;
var $30=$11;
var $31=$12;
var $32=HEAP32[(($31)>>2)];
var $33=$13;
var $34=HEAP32[(($33)>>2)];
var $35=(($32)|(0)) < (($34)|(0));
if ($35) { label = 2; break; } else { label = 3; break; }
case 2:
var $37=$15;
var $40 = $37;label = 4; break;
case 3:
var $39=$14;
var $40 = $39;label = 4; break;
case 4:
var $40;
var $41=HEAP32[(($40)>>2)];
$__nread=$41;
$__i=0;
label = 5; break;
case 5:
var $43=$__i;
var $44=$__nread;
var $45=(($43)|(0)) < (($44)|(0));
if ($45) { label = 6; break; } else { label = 10; break; }
case 6:
var $47=(($24+32)|0);
var $48=HEAP32[(($47)>>2)];
var $49=_fgetc($48);
$__c=$49;
var $50=$__c;
var $51=(($50)|(0))==-1;
if ($51) { label = 7; break; } else { label = 8; break; }
case 7:
$19=-1;
label = 33; break;
case 8:
var $54=$__c;
var $55=(($54) & 255);
var $56=$__i;
var $57=(($__extbuf+$56)|0);
HEAP8[($57)]=$55;
label = 9; break;
case 9:
var $59=$__i;
var $60=((($59)+(1))|0);
$__i=$60;
label = 5; break;
case 10:
var $62=(($24+48)|0);
var $63=HEAP8[($62)];
var $64=(($63) & 1);
if ($64) { label = 11; break; } else { label = 12; break; }
case 11:
var $66=(($__extbuf)|0);
var $67=HEAP8[($66)];
HEAP8[($__1buf)]=$67;
label = 25; break;
case 12:
label = 13; break;
case 13:
var $70=(($24+40)|0);
var $71=HEAP32[(($70)>>2)];
var $72=$__sv_st;
var $73=$71;
assert(8 % 1 === 0);HEAP32[(($72)>>2)]=HEAP32[(($73)>>2)];HEAP32[((($72)+(4))>>2)]=HEAP32[((($73)+(4))>>2)];
var $74=(($24+36)|0);
var $75=HEAP32[(($74)>>2)];
var $76=(($24+40)|0);
var $77=HEAP32[(($76)>>2)];
var $78=(($__extbuf)|0);
var $79=(($__extbuf)|0);
var $80=$__nread;
var $81=(($79+$80)|0);
var $82=(($__1buf+1)|0);
$1=$75;
$2=$77;
$3=$78;
$4=$81;
$5=$__enxt;
$6=$__1buf;
$7=$82;
$8=$__inxt;
var $83=$1;
var $84=$83;
var $85=HEAP32[(($84)>>2)];
var $86=(($85+16)|0);
var $87=HEAP32[(($86)>>2)];
var $88=$2;
var $89=$3;
var $90=$4;
var $91=$5;
var $92=$6;
var $93=$7;
var $94=$8;
var $95=FUNCTION_TABLE[$87]($83, $88, $89, $90, $91, $92, $93, $94);
$__r=$95;
var $96=$__r;
if ((($96)|(0))==0) {
label = 14; break;
}
else if ((($96)|(0))==1) {
label = 15; break;
}
else if ((($96)|(0))==2) {
label = 20; break;
}
else if ((($96)|(0))==3) {
label = 21; break;
}
else {
label = 22; break;
}
case 14:
label = 22; break;
case 15:
var $99=(($24+40)|0);
var $100=HEAP32[(($99)>>2)];
var $101=$100;
var $102=$__sv_st;
assert(8 % 1 === 0);HEAP32[(($101)>>2)]=HEAP32[(($102)>>2)];HEAP32[((($101)+(4))>>2)]=HEAP32[((($102)+(4))>>2)];
var $103=$__nread;
var $104=(($103)|(0))==8;
if ($104) { label = 16; break; } else { label = 17; break; }
case 16:
$19=-1;
label = 33; break;
case 17:
var $107=(($24+32)|0);
var $108=HEAP32[(($107)>>2)];
var $109=_fgetc($108);
$__c1=$109;
var $110=$__c1;
var $111=(($110)|(0))==-1;
if ($111) { label = 18; break; } else { label = 19; break; }
case 18:
$19=-1;
label = 33; break;
case 19:
var $114=$__c1;
var $115=(($114) & 255);
var $116=$__nread;
var $117=(($__extbuf+$116)|0);
HEAP8[($117)]=$115;
var $118=$__nread;
var $119=((($118)+(1))|0);
$__nread=$119;
label = 22; break;
case 20:
$19=-1;
label = 33; break;
case 21:
var $122=(($__extbuf)|0);
var $123=HEAP8[($122)];
HEAP8[($__1buf)]=$123;
label = 22; break;
case 22:
label = 23; break;
case 23:
var $126=$__r;
var $127=(($126)|(0))==1;
if ($127) { label = 13; break; } else { label = 24; break; }
case 24:
label = 25; break;
case 25:
var $130=$21;
var $131=(($130) & 1);
if ($131) { label = 32; break; } else { label = 26; break; }
case 26:
var $133=$__nread;
$__i2=$133;
label = 27; break;
case 27:
var $135=$__i2;
var $136=(($135)|(0)) > 0;
if ($136) { label = 28; break; } else { label = 31; break; }
case 28:
var $138=$__i2;
var $139=((($138)-(1))|0);
$__i2=$139;
var $140=(($__extbuf+$139)|0);
var $141=HEAP8[($140)];
$9=$141;
var $142=$9;
var $143=(($142)&(255));
var $144=(($24+32)|0);
var $145=HEAP32[(($144)>>2)];
var $146=_ungetc($143, $145);
var $147=(($146)|(0))==-1;
if ($147) { label = 29; break; } else { label = 30; break; }
case 29:
$19=-1;
label = 33; break;
case 30:
label = 27; break;
case 31:
label = 32; break;
case 32:
var $152=HEAP8[($__1buf)];
$10=$152;
var $153=$10;
var $154=(($153)&(255));
$19=$154;
label = 33; break;
case 33:
var $156=$19;
STACKTOP = __stackBase__;
return $156;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__110__stdinbufIcED2Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEED2Ev($3);
return;
}
function __GLOBAL__I_a() {
var label = 0;
___cxx_global_var_init();
return;
}
function __ZNSt3__114__shared_countD0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__114__shared_countD2Ev($2);
var $3=$2;
__ZdlPv($3);
return;
}
function __ZNSt3__114__shared_count12__add_sharedEv($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=(($2+4)|0);
var $4=__ZNSt3__112_GLOBAL__N_19incrementIlEET_RS2_($3);
return;
}
function __ZNSt3__114__shared_count16__release_sharedEv($this) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
$2=$this;
var $3=$2;
var $4=(($3+4)|0);
var $5=__ZNSt3__112_GLOBAL__N_19decrementIlEET_RS2_($4);
var $6=(($5)|(0))==-1;
if ($6) { label = 2; break; } else { label = 3; break; }
case 2:
var $8=$3;
var $9=HEAP32[(($8)>>2)];
var $10=(($9+8)|0);
var $11=HEAP32[(($10)>>2)];
FUNCTION_TABLE[$11]($3);
$1=1;
label = 4; break;
case 3:
$1=0;
label = 4; break;
case 4:
var $14=$1;
return $14;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt11logic_errorC2EPKc($this, $msg) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $s;
var $4;
var $5;
$2=$this;
$3=$msg;
var $6=$2;
var $7=$6;
$1=$7;
var $8=$1;
var $9=$8;
HEAP32[(($9)>>2)]=((__ZTVSt9exception+8)|0);
var $10=$6;
HEAP32[(($10)>>2)]=((5247792)|0);
var $11=(($6+4)|0);
var $12=$11;
$s=$12;
var $13=$s;
var $14=$13;
var $15=(($14)|(0))==0;
if ($15) { var $21 = 0;label = 4; break; } else { label = 2; break; }
case 2:
var $17=$14;
var $18=$3;
(function() { try { __THREW__ = 0; return __ZN12_GLOBAL__N_114__libcpp_nmstrC2EPKc($17, $18) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 3; break; } else { label = 5; break; }
case 3:
var $21 = $17;label = 4; break;
case 4:
var $21;
return;
case 5:
var $23$0 = ___cxa_find_matching_catch(-1, -1); $23$1 = tempRet0;
var $24=$23$0;
$4=$24;
var $25=$23$1;
$5=$25;
var $26=$6;
label = 6; break;
case 6:
var $28=$4;
var $29=$5;
var $30$0=$28;
var $30$1=0;
var $31$0=$30$0;
var $31$1=$29;
___resumeException($31$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt11logic_errorD0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt11logic_errorD2Ev($2);
var $3=$2;
__ZdlPv($3);
return;
}
function __ZNSt11logic_errorD2Ev($this) {
var label = 0;
var $1;
var $s;
$1=$this;
var $2=$1;
var $3=$2;
HEAP32[(($3)>>2)]=((5247792)|0);
var $4=(($2+4)|0);
var $5=$4;
$s=$5;
var $6=$s;
__ZN12_GLOBAL__N_114__libcpp_nmstrD2Ev($6);
var $7=$2;
return;
}
function __ZNKSt11logic_error4whatEv($this) {
var label = 0;
var $1;
var $s;
$1=$this;
var $2=$1;
var $3=(($2+4)|0);
var $4=$3;
$s=$4;
var $5=$s;
var $6=__ZNK12_GLOBAL__N_114__libcpp_nmstr5c_strEv($5);
return $6;
}
function __ZNSt13runtime_errorC2ERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE($this, $msg) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $s;
var $16;
var $17;
$14=$this;
$15=$msg;
var $18=$14;
var $19=$18;
$13=$19;
var $20=$13;
var $21=$20;
HEAP32[(($21)>>2)]=((__ZTVSt9exception+8)|0);
var $22=$18;
HEAP32[(($22)>>2)]=((5247744)|0);
var $23=(($18+4)|0);
var $24=$23;
$s=$24;
var $25=$s;
var $26=$25;
var $27=(($26)|(0))==0;
if ($27) { var $73 = 0;label = 7; break; } else { label = 2; break; }
case 2:
var $29=$26;
var $30=$15;
$12=$30;
var $31=$12;
$11=$31;
var $32=$11;
$10=$32;
var $33=$10;
$9=$33;
var $34=$9;
var $35=(($34)|0);
$8=$35;
var $36=$8;
var $37=$36;
$7=$37;
var $38=$7;
var $39=(($38)|0);
var $40=(($39)|0);
var $41=$40;
var $42=(($41)|0);
var $43=$42;
var $44=HEAP8[($43)];
var $45=(($44)&(255));
var $46=$45 & 1;
var $47=(($46)|(0))!=0;
if ($47) { label = 3; break; } else { label = 4; break; }
case 3:
$3=$33;
var $49=$3;
var $50=(($49)|0);
$2=$50;
var $51=$2;
var $52=$51;
$1=$52;
var $53=$1;
var $54=(($53)|0);
var $55=(($54)|0);
var $56=$55;
var $57=(($56+8)|0);
var $58=HEAP32[(($57)>>2)];
var $70 = $58;label = 5; break;
case 4:
$6=$33;
var $60=$6;
var $61=(($60)|0);
$5=$61;
var $62=$5;
var $63=$62;
$4=$63;
var $64=$4;
var $65=(($64)|0);
var $66=(($65)|0);
var $67=$66;
var $68=(($67+1)|0);
var $69=(($68)|0);
var $70 = $69;label = 5; break;
case 5:
var $70;
(function() { try { __THREW__ = 0; return __ZN12_GLOBAL__N_114__libcpp_nmstrC2EPKc($29, $70) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 6; break; } else { label = 8; break; }
case 6:
var $73 = $29;label = 7; break;
case 7:
var $73;
return;
case 8:
var $75$0 = ___cxa_find_matching_catch(-1, -1); $75$1 = tempRet0;
var $76=$75$0;
$16=$76;
var $77=$75$1;
$17=$77;
var $78=$18;
label = 9; break;
case 9:
var $80=$16;
var $81=$17;
var $82$0=$80;
var $82$1=0;
var $83$0=$82$0;
var $83$1=$81;
___resumeException($83$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt13runtime_errorC2EPKc($this, $msg) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $s;
var $4;
var $5;
$2=$this;
$3=$msg;
var $6=$2;
var $7=$6;
$1=$7;
var $8=$1;
var $9=$8;
HEAP32[(($9)>>2)]=((__ZTVSt9exception+8)|0);
var $10=$6;
HEAP32[(($10)>>2)]=((5247744)|0);
var $11=(($6+4)|0);
var $12=$11;
$s=$12;
var $13=$s;
var $14=$13;
var $15=(($14)|(0))==0;
if ($15) { var $21 = 0;label = 4; break; } else { label = 2; break; }
case 2:
var $17=$14;
var $18=$3;
(function() { try { __THREW__ = 0; return __ZN12_GLOBAL__N_114__libcpp_nmstrC2EPKc($17, $18) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 3; break; } else { label = 5; break; }
case 3:
var $21 = $17;label = 4; break;
case 4:
var $21;
return;
case 5:
var $23$0 = ___cxa_find_matching_catch(-1, -1); $23$1 = tempRet0;
var $24=$23$0;
$4=$24;
var $25=$23$1;
$5=$25;
var $26=$6;
label = 6; break;
case 6:
var $28=$4;
var $29=$5;
var $30$0=$28;
var $30$1=0;
var $31$0=$30$0;
var $31$1=$29;
___resumeException($31$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt13runtime_errorD0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt13runtime_errorD2Ev($2);
var $3=$2;
__ZdlPv($3);
return;
}
function __ZNSt13runtime_errorD2Ev($this) {
var label = 0;
var $1;
var $s;
$1=$this;
var $2=$1;
var $3=$2;
HEAP32[(($3)>>2)]=((5247744)|0);
var $4=(($2+4)|0);
var $5=$4;
$s=$5;
var $6=$s;
__ZN12_GLOBAL__N_114__libcpp_nmstrD2Ev($6);
var $7=$2;
return;
}
function __ZNKSt13runtime_error4whatEv($this) {
var label = 0;
var $1;
var $s;
$1=$this;
var $2=$1;
var $3=(($2+4)|0);
var $4=$3;
$s=$4;
var $5=$s;
var $6=__ZNK12_GLOBAL__N_114__libcpp_nmstr5c_strEv($5);
return $6;
}
function __ZNSt12length_errorD0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt11logic_errorD2Ev($2);
var $3=$2;
__ZdlPv($3);
return;
}
function __ZN12_GLOBAL__N_114__libcpp_nmstrD2Ev($this) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
$1=$this;
var $2=$1;
var $3=__ZNK12_GLOBAL__N_114__libcpp_nmstr5countEv($2);
var $4=(tempValue=HEAP32[(($3)>>2)],HEAP32[(($3)>>2)]=tempValue+-1,tempValue);
var $5=((($4)-(1))|0);
var $6=(($5)|(0)) < 0;
if ($6) { label = 2; break; } else { label = 5; break; }
case 2:
var $8=(($2)|0);
var $9=HEAP32[(($8)>>2)];
var $10=((($9)-(12))|0);
var $11=(($10)|(0))==0;
if ($11) { label = 4; break; } else { label = 3; break; }
case 3:
__ZdaPv($10);
label = 4; break;
case 4:
label = 5; break;
case 5:
return;
default: assert(0, "bad label: " + label);
}
}
function __ZN12_GLOBAL__N_114__libcpp_nmstrC2EPKc($this, $msg) {
var label = 0;
var $1;
var $2;
var $len;
var $c;
$1=$this;
$2=$msg;
var $3=$1;
var $4=$2;
var $5=_strlen($4);
$len=$5;
var $6=$len;
var $7=((($6)+(1))|0);
var $8=((($7)+(12))|0);
var $9=__Znaj($8);
var $10=(($3)|0);
HEAP32[(($10)>>2)]=$9;
var $11=(($3)|0);
var $12=HEAP32[(($11)>>2)];
var $13=$12;
$c=$13;
var $14=$len;
var $15=$c;
var $16=(($15+4)|0);
HEAP32[(($16)>>2)]=$14;
var $17=$c;
var $18=(($17)|0);
HEAP32[(($18)>>2)]=$14;
var $19=(($3)|0);
var $20=HEAP32[(($19)>>2)];
var $21=(($20+12)|0);
HEAP32[(($19)>>2)]=$21;
var $22=__ZNK12_GLOBAL__N_114__libcpp_nmstr5countEv($3);
HEAP32[(($22)>>2)]=0;
var $23=__ZNK12_GLOBAL__N_114__libcpp_nmstr5c_strEv($3);
var $24=$2;
var $25=_strcpy($23, $24);
return;
}
function __ZNSt3__114error_categoryD0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__114error_categoryD2Ev($2);
var $3=$2;
__ZdlPv($3);
return;
}
// WARNING: content after a branch in a label, line: 5512
function __ZNSt3__114error_categoryD2Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
return;
}
function __ZNKSt3__114error_category23default_error_conditionEi($agg_result, $this, $ev) {
var label = 0;
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
$7=$this;
$8=$ev;
var $9=$7;
var $10=$8;
$4=$agg_result;
$5=$10;
$6=$9;
var $11=$4;
var $12=$5;
var $13=$6;
$1=$11;
$2=$12;
$3=$13;
var $14=$1;
var $15=(($14)|0);
var $16=$2;
HEAP32[(($15)>>2)]=$16;
var $17=(($14+4)|0);
var $18=$3;
HEAP32[(($17)>>2)]=$18;
return;
}
function __ZNKSt3__114error_category10equivalentERKNS_10error_codeEi($this, $code, $condition) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
$5=$this;
$6=$code;
$7=$condition;
var $8=$5;
var $9=$6;
$4=$9;
var $10=$4;
var $11=(($10+4)|0);
var $12=HEAP32[(($11)>>2)];
$1=$8;
$2=$12;
var $13=$1;
var $14=$2;
var $15=(($13)|(0))==(($14)|(0));
if ($15) { label = 2; break; } else { var $24 = 0;label = 3; break; }
case 2:
var $17=$6;
$3=$17;
var $18=$3;
var $19=(($18)|0);
var $20=HEAP32[(($19)>>2)];
var $21=$7;
var $22=(($20)|(0))==(($21)|(0));
var $24 = $22;label = 3; break;
case 3:
var $24;
return $24;
default: assert(0, "bad label: " + label);
}
}
function __ZNKSt3__114error_category10equivalentEiRKNS_15error_conditionE($this, $code, $condition) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 8)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12=__stackBase__;
$9=$this;
$10=$code;
$11=$condition;
var $13=$9;
var $14=$13;
var $15=HEAP32[(($14)>>2)];
var $16=(($15+12)|0);
var $17=HEAP32[(($16)>>2)];
var $18=$10;
FUNCTION_TABLE[$17]($12, $13, $18);
var $19=$11;
$7=$12;
$8=$19;
var $20=$7;
$6=$20;
var $21=$6;
var $22=(($21+4)|0);
var $23=HEAP32[(($22)>>2)];
var $24=$8;
$1=$24;
var $25=$1;
var $26=(($25+4)|0);
var $27=HEAP32[(($26)>>2)];
$2=$23;
$3=$27;
var $28=$2;
var $29=$3;
var $30=(($28)|(0))==(($29)|(0));
if ($30) { label = 2; break; } else { var $41 = 0;label = 3; break; }
case 2:
var $32=$7;
$4=$32;
var $33=$4;
var $34=(($33)|0);
var $35=HEAP32[(($34)>>2)];
var $36=$8;
$5=$36;
var $37=$5;
var $38=(($37)|0);
var $39=HEAP32[(($38)>>2)];
var $40=(($35)|(0))==(($39)|(0));
var $41 = $40;label = 3; break;
case 3:
var $41;
STACKTOP = __stackBase__;
return $41;
default: assert(0, "bad label: " + label);
}
}
function __ZNKSt3__112__do_message7messageEi($agg_result, $this, $ev) {
var label = 0;
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
$10=$this;
$11=$ev;
var $12=$10;
var $13=$11;
var $14=_strerror($13);
$8=$agg_result;
$9=$14;
var $15=$8;
var $16=$9;
$6=$15;
$7=$16;
var $17=$6;
var $18=$17;
var $19=(($17)|0);
$5=$19;
var $20=$5;
$4=$20;
var $21=$4;
var $22=$21;
$3=$22;
var $23=$3;
var $24=$23;
$2=$24;
var $25=$2;
var $26=(($23)|0);
var $27=$7;
var $28=$7;
$1=$28;
var $29=$1;
var $30=_strlen($29);
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcj($17, $27, $30);
return;
}
function __ZNKSt3__110error_code7messageEv($agg_result, $this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=(($2+4)|0);
var $4=HEAP32[(($3)>>2)];
var $5=$4;
var $6=HEAP32[(($5)>>2)];
var $7=(($6+24)|0);
var $8=HEAP32[(($7)>>2)];
var $9=(($2)|0);
var $10=HEAP32[(($9)>>2)];
FUNCTION_TABLE[$8]($agg_result, $4, $10);
return;
}
function __ZNSt3__112system_error6__initERKNS_10error_codeENS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE($agg_result, $ec, $what_arg) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 12)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $49;
var $50;
var $51;
var $52;
var $53;
var $__a_i_i_i;
var $__i_i_i_i;
var $54;
var $55;
var $56;
var $57;
var $58;
var $59;
var $60;
var $61=__stackBase__;
var $62;
var $63;
$60=$ec;
var $64=$60;
$59=$64;
var $65=$59;
var $66=(($65)|0);
var $67=HEAP32[(($66)>>2)];
var $68=(($67)|(0))!=0;
if ($68) { label = 2; break; } else { label = 17; break; }
case 2:
$13=$what_arg;
var $70=$13;
$12=$70;
var $71=$12;
$11=$71;
var $72=$11;
var $73=(($72)|0);
$10=$73;
var $74=$10;
var $75=$74;
$9=$75;
var $76=$9;
var $77=(($76)|0);
var $78=(($77)|0);
var $79=$78;
var $80=(($79)|0);
var $81=$80;
var $82=HEAP8[($81)];
var $83=(($82)&(255));
var $84=$83 & 1;
var $85=(($84)|(0))!=0;
if ($85) { label = 3; break; } else { label = 4; break; }
case 3:
$5=$71;
var $87=$5;
var $88=(($87)|0);
$4=$88;
var $89=$4;
var $90=$89;
$3=$90;
var $91=$3;
var $92=(($91)|0);
var $93=(($92)|0);
var $94=$93;
var $95=(($94+4)|0);
var $96=HEAP32[(($95)>>2)];
var $111 = $96;label = 5; break;
case 4:
$8=$71;
var $98=$8;
var $99=(($98)|0);
$7=$99;
var $100=$7;
var $101=$100;
$6=$101;
var $102=$6;
var $103=(($102)|0);
var $104=(($103)|0);
var $105=$104;
var $106=(($105)|0);
var $107=$106;
var $108=HEAP8[($107)];
var $109=(($108)&(255));
var $110=$109 >> 1;
var $111 = $110;label = 5; break;
case 5:
var $111;
var $112=(($111)|(0))==0;
if ($112) { label = 7; break; } else { label = 6; break; }
case 6:
$1=$what_arg;
$2=((5244108)|0);
var $114=$1;
var $115=$2;
var $116=__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKc($114, $115);
label = 7; break;
case 7:
var $118=$60;
__ZNKSt3__110error_code7messageEv($61, $118);
$37=$what_arg;
$38=$61;
var $119=$37;
var $120=$38;
$35=$119;
$36=$120;
var $121=$35;
var $122=$36;
$34=$122;
var $123=$34;
$33=$123;
var $124=$33;
$32=$124;
var $125=$32;
var $126=(($125)|0);
$31=$126;
var $127=$31;
var $128=$127;
$30=$128;
var $129=$30;
var $130=(($129)|0);
var $131=(($130)|0);
var $132=$131;
var $133=(($132)|0);
var $134=$133;
var $135=HEAP8[($134)];
var $136=(($135)&(255));
var $137=$136 & 1;
var $138=(($137)|(0))!=0;
if ($138) { label = 8; break; } else { label = 9; break; }
case 8:
$26=$124;
var $140=$26;
var $141=(($140)|0);
$25=$141;
var $142=$25;
var $143=$142;
$24=$143;
var $144=$24;
var $145=(($144)|0);
var $146=(($145)|0);
var $147=$146;
var $148=(($147+8)|0);
var $149=HEAP32[(($148)>>2)];
var $161 = $149;label = 10; break;
case 9:
$29=$124;
var $151=$29;
var $152=(($151)|0);
$28=$152;
var $153=$28;
var $154=$153;
$27=$154;
var $155=$27;
var $156=(($155)|0);
var $157=(($156)|0);
var $158=$157;
var $159=(($158+1)|0);
var $160=(($159)|0);
var $161 = $160;label = 10; break;
case 10:
var $161;
var $162=$36;
$23=$162;
var $163=$23;
$22=$163;
var $164=$22;
var $165=(($164)|0);
$21=$165;
var $166=$21;
var $167=$166;
$20=$167;
var $168=$20;
var $169=(($168)|0);
var $170=(($169)|0);
var $171=$170;
var $172=(($171)|0);
var $173=$172;
var $174=HEAP8[($173)];
var $175=(($174)&(255));
var $176=$175 & 1;
var $177=(($176)|(0))!=0;
if ($177) { label = 11; break; } else { label = 12; break; }
case 11:
$16=$163;
var $179=$16;
var $180=(($179)|0);
$15=$180;
var $181=$15;
var $182=$181;
$14=$182;
var $183=$14;
var $184=(($183)|0);
var $185=(($184)|0);
var $186=$185;
var $187=(($186+4)|0);
var $188=HEAP32[(($187)>>2)];
var $203 = $188;label = 13; break;
case 12:
$19=$163;
var $190=$19;
var $191=(($190)|0);
$18=$191;
var $192=$18;
var $193=$192;
$17=$193;
var $194=$17;
var $195=(($194)|0);
var $196=(($195)|0);
var $197=$196;
var $198=(($197)|0);
var $199=$198;
var $200=HEAP8[($199)];
var $201=(($200)&(255));
var $202=$201 >> 1;
var $203 = $202;label = 13; break;
case 13:
var $203;
var $204 = (function() { try { __THREW__ = 0; return __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcj($121, $161, $203) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 14; break; } else { label = 16; break; }
case 14:
label = 15; break;
case 15:
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($61);
label = 17; break;
case 16:
var $207$0 = ___cxa_find_matching_catch(-1, -1); $207$1 = tempRet0;
var $208=$207$0;
$62=$208;
var $209=$207$1;
$63=$209;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($61);
label = 21; break;
case 17:
$39=$what_arg;
var $211=$39;
$57=$agg_result;
$58=$211;
var $212=$57;
var $213=$58;
$55=$212;
$56=$213;
var $214=$55;
var $215=$214;
var $216=(($214)|0);
var $217=$56;
var $218=(($217)|0);
$54=$218;
var $219=$54;
$49=$216;
$50=$219;
var $220=$49;
var $221=$50;
$47=$220;
$48=$221;
var $222=$47;
var $223=$222;
var $224=$48;
$46=$224;
var $225=$46;
var $226=$225;
$44=$223;
$45=$226;
var $227=$44;
var $228=$227;
var $229=$45;
$43=$229;
var $230=$43;
var $231=$230;
$40=$231;
var $232=$40;
var $233=(($227)|0);
var $234=$45;
$41=$234;
var $235=$41;
var $236=(($235)|0);
$42=$236;
var $237=$42;
var $238=$233;
var $239=$237;
assert(12 % 1 === 0);HEAP32[(($238)>>2)]=HEAP32[(($239)>>2)];HEAP32[((($238)+(4))>>2)]=HEAP32[((($239)+(4))>>2)];HEAP32[((($238)+(8))>>2)]=HEAP32[((($239)+(8))>>2)];
var $240=$56;
$53=$240;
var $241=$53;
var $242=(($241)|0);
$52=$242;
var $243=$52;
var $244=$243;
$51=$244;
var $245=$51;
var $246=(($245)|0);
var $247=(($246)|0);
var $248=$247;
var $249=(($248)|0);
$__a_i_i_i=$249;
$__i_i_i_i=0;
label = 18; break;
case 18:
var $251=$__i_i_i_i;
var $252=(($251)>>>(0)) < 3;
if ($252) { label = 19; break; } else { label = 20; break; }
case 19:
var $254=$__i_i_i_i;
var $255=$__a_i_i_i;
var $256=(($255+($254<<2))|0);
HEAP32[(($256)>>2)]=0;
var $257=$__i_i_i_i;
var $258=((($257)+(1))|0);
$__i_i_i_i=$258;
label = 18; break;
case 20:
STACKTOP = __stackBase__;
return;
case 21:
var $260=$62;
var $261=$63;
var $262$0=$260;
var $262$1=0;
var $263$0=$262$0;
var $263$1=$261;
___resumeException($263$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__112system_errorC2ENS_10error_codeEPKc($this, $ec, $what_arg) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 24)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
var tempParam = $ec; $ec = STACKTOP;STACKTOP = (STACKTOP + 8)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($ec)>>2)]=HEAP32[((tempParam)>>2)];HEAP32[((($ec)+(4))>>2)]=HEAP32[(((tempParam)+(4))>>2)];
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12=__stackBase__;
var $13=(__stackBase__)+(12);
var $14;
var $15;
$10=$this;
$11=$what_arg;
var $16=$10;
var $17=$16;
var $18=$11;
$8=$13;
$9=$18;
var $19=$8;
var $20=$9;
$6=$19;
$7=$20;
var $21=$6;
var $22=$21;
var $23=(($21)|0);
$5=$23;
var $24=$5;
$4=$24;
var $25=$4;
var $26=$25;
$3=$26;
var $27=$3;
var $28=$27;
$2=$28;
var $29=$2;
var $30=(($27)|0);
var $31=$7;
var $32=$7;
$1=$32;
var $33=$1;
var $34=_strlen($33);
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcj($21, $31, $34);
(function() { try { __THREW__ = 0; return __ZNSt3__112system_error6__initERKNS_10error_codeENS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE($12, $ec, $13) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 2; break; } else { label = 4; break; }
case 2:
(function() { try { __THREW__ = 0; return __ZNSt13runtime_errorC2ERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE($17, $12) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 3; break; } else { label = 5; break; }
case 3:
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($12);
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($13);
var $37=$16;
HEAP32[(($37)>>2)]=((5249724)|0);
var $38=(($16+8)|0);
var $39=$38;
var $40=$ec;
assert(8 % 1 === 0);HEAP32[(($39)>>2)]=HEAP32[(($40)>>2)];HEAP32[((($39)+(4))>>2)]=HEAP32[((($40)+(4))>>2)];
STACKTOP = __stackBase__;
return;
case 4:
var $42$0 = ___cxa_find_matching_catch(-1, -1); $42$1 = tempRet0;
var $43=$42$0;
$14=$43;
var $44=$42$1;
$15=$44;
label = 6; break;
case 5:
var $46$0 = ___cxa_find_matching_catch(-1, -1); $46$1 = tempRet0;
var $47=$46$0;
$14=$47;
var $48=$46$1;
$15=$48;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($12);
label = 6; break;
case 6:
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($13);
label = 7; break;
case 7:
var $51=$14;
var $52=$15;
var $53$0=$51;
var $53$1=0;
var $54$0=$53$0;
var $54$1=$52;
___resumeException($54$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__112system_errorD0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__112system_errorD2Ev($2);
var $3=$2;
__ZdlPv($3);
return;
}
function __ZNSt3__112system_errorD2Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
__ZNSt13runtime_errorD2Ev($3);
return;
}
function __ZNSt3__112__do_messageD1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__112__do_messageD2Ev($2);
return;
}
function __ZNSt3__112__do_messageD0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__112__do_messageD1Ev($2);
var $3=$2;
__ZdlPv($3);
return;
}
function __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_($this, $__str) {
var label = 0;
var $1;
var $2;
$1=$this;
$2=$__str;
var $3=$1;
var $4=$2;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_($3, $4);
return;
}
function __ZNSt3__111__call_onceERVmPvPFvS2_E($flag, $arg, $func) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
$1=$flag;
$2=$arg;
$3=$func;
var $6;
label = 2; break;
case 2:
var $8=$1;
var $9=HEAP32[(($8)>>2)];
var $10=(($9)|(0))==1;
if ($10) { label = 3; break; } else { label = 4; break; }
case 3:
var $12=_pthread_cond_wait(5254928, 5254924);
label = 2; break;
case 4:
var $14=$1;
var $15=HEAP32[(($14)>>2)];
var $16=(($15)|(0))==0;
if ($16) { label = 5; break; } else { label = 19; break; }
case 5:
var $18=$1;
HEAP32[(($18)>>2)]=1;
var $19 = (function() { try { __THREW__ = 0; return _pthread_mutex_unlock(5254924) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 6; break; } else { label = 11; break; }
case 6:
var $21=$3;
var $22=$2;
(function() { try { __THREW__ = 0; return FUNCTION_TABLE[$21]($22) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 7; break; } else { label = 11; break; }
case 7:
var $24 = (function() { try { __THREW__ = 0; return _pthread_mutex_lock(5254924) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 8; break; } else { label = 11; break; }
case 8:
var $26=$1;
HEAP32[(($26)>>2)]=-1;
var $27 = (function() { try { __THREW__ = 0; return _pthread_mutex_unlock(5254924) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 9; break; } else { label = 11; break; }
case 9:
var $29 = (function() { try { __THREW__ = 0; return _pthread_cond_broadcast(5254928) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 10; break; } else { label = 11; break; }
case 10:
label = 18; break;
case 11:
var $32$0 = ___cxa_find_matching_catch(-1, -1,0); $32$1 = tempRet0;
var $33=$32$0;
$4=$33;
var $34=$32$1;
$5=$34;
label = 12; break;
case 12:
var $36=$4;
var $37=___cxa_begin_catch($36);
var $38 = (function() { try { __THREW__ = 0; return _pthread_mutex_lock(5254924) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 13; break; } else { label = 16; break; }
case 13:
var $40=$1;
HEAP32[(($40)>>2)]=0;
var $41 = (function() { try { __THREW__ = 0; return _pthread_mutex_unlock(5254924) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 14; break; } else { label = 16; break; }
case 14:
var $43 = (function() { try { __THREW__ = 0; return _pthread_cond_broadcast(5254928) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 15; break; } else { label = 16; break; }
case 15:
(function() { try { __THREW__ = 0; return ___cxa_rethrow() } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 23; break; } else { label = 16; break; }
case 16:
var $46$0 = ___cxa_find_matching_catch(-1, -1); $46$1 = tempRet0;
var $47=$46$0;
$4=$47;
var $48=$46$1;
$5=$48;
(function() { try { __THREW__ = 0; return ___cxa_end_catch() } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 17; break; } else { label = 22; break; }
case 17:
label = 21; break;
case 18:
label = 20; break;
case 19:
var $52;
label = 20; break;
case 20:
return;
case 21:
var $55=$4;
var $56=$5;
var $57$0=$55;
var $57$1=0;
var $58$0=$57$0;
var $58$1=$56;
___resumeException($58$0)
case 22:
var $60$0 = ___cxa_find_matching_catch(-1, -1,0); $60$1 = tempRet0;
__ZSt9terminatev();
throw "Reached an unreachable!"
case 23:
throw "Reached an unreachable!"
default: assert(0, "bad label: " + label);
}
}
function __ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($this) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
$5=$this;
var $8=$5;
var $9=___cxa_allocate_exception(8);
var $10=$9;
$3=$10;
$4=((5243144)|0);
var $11=$3;
var $12=$4;
$1=$11;
$2=$12;
var $13=$1;
var $14=$13;
var $15=$2;
(function() { try { __THREW__ = 0; return __ZNSt11logic_errorC2EPKc($14, $15) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 2; break; } else { label = 4; break; }
case 2:
var $16=$13;
HEAP32[(($16)>>2)]=((5247768)|0);
label = 3; break;
case 3:
___cxa_throw($9, 5253212, (92));
throw "Reached an unreachable!"
case 4:
var $19$0 = ___cxa_find_matching_catch(-1, -1); $19$1 = tempRet0;
var $20=$19$0;
$6=$20;
var $21=$19$1;
$7=$21;
___cxa_free_exception($9);
label = 5; break;
case 5:
var $24=$6;
var $25=$7;
var $26$0=$24;
var $26$1=0;
var $27$0=$26$0;
var $27$1=$25;
___resumeException($27$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_($this, $__str) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 28)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $__t2_i_i_i=__stackBase__;
var $3;
var $4;
var $__t2_i_i=(__stackBase__)+(4);
var $5=(__stackBase__)+(8);
var $6;
var $__t2_i=(__stackBase__)+(12);
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22=(__stackBase__)+(16);
var $23=(__stackBase__)+(20);
var $24;
var $25;
var $26;
var $27;
var $28;
var $29=(__stackBase__)+(24);
$27=$this;
$28=$__str;
var $30=$27;
var $31=$30;
var $32=(($30)|0);
var $33=$28;
$26=$33;
var $34=$26;
var $35=(($34)|0);
$25=$35;
var $36=$25;
var $37=$36;
$24=$37;
var $38=$24;
var $39=$38;
$21=$39;
var $40=$23;
var $41=$21;
$20=$41;
var $42=$20;
$6=$32;
var $43=$6;
$4=$43;
var $44=$4;
var $45=$44;
$3=$__t2_i_i;
var $46=$3;
$2=$45;
var $47=$2;
var $48=$47;
$1=$__t2_i_i_i;
var $49=$1;
var $50=(($47)|0);
var $51=$28;
$9=$51;
var $52=$9;
var $53=(($52)|0);
$8=$53;
var $54=$8;
var $55=$54;
$7=$55;
var $56=$7;
var $57=(($56)|0);
var $58=(($57)|0);
var $59=$58;
var $60=(($59)|0);
var $61=$60;
var $62=HEAP8[($61)];
var $63=(($62)&(255));
var $64=$63 & 1;
var $65=(($64)|(0))!=0;
if ($65) { label = 3; break; } else { label = 2; break; }
case 2:
var $67=(($30)|0);
$11=$67;
var $68=$11;
var $69=$68;
$10=$69;
var $70=$10;
var $71=(($70)|0);
var $72=(($71)|0);
var $73=$72;
var $74=$28;
var $75=(($74)|0);
$13=$75;
var $76=$13;
var $77=$76;
$12=$77;
var $78=$12;
var $79=(($78)|0);
var $80=(($79)|0);
var $81=$80;
var $82=$73;
var $83=$81;
assert(12 % 1 === 0);HEAP32[(($82)>>2)]=HEAP32[(($83)>>2)];HEAP32[((($82)+(4))>>2)]=HEAP32[((($83)+(4))>>2)];HEAP32[((($82)+(8))>>2)]=HEAP32[((($83)+(8))>>2)];
label = 4; break;
case 3:
var $85=$28;
$16=$85;
var $86=$16;
var $87=(($86)|0);
$15=$87;
var $88=$15;
var $89=$88;
$14=$89;
var $90=$14;
var $91=(($90)|0);
var $92=(($91)|0);
var $93=$92;
var $94=(($93+8)|0);
var $95=HEAP32[(($94)>>2)];
var $96=$28;
$19=$96;
var $97=$19;
var $98=(($97)|0);
$18=$98;
var $99=$18;
var $100=$99;
$17=$100;
var $101=$17;
var $102=(($101)|0);
var $103=(($102)|0);
var $104=$103;
var $105=(($104+4)|0);
var $106=HEAP32[(($105)>>2)];
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcj($30, $95, $106);
label = 4; break;
case 4:
STACKTOP = __stackBase__;
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcj($this, $__s, $__sz) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 16)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36=__stackBase__;
var $37;
var $38;
var $39=(__stackBase__)+(4);
var $40=(__stackBase__)+(8);
var $41;
var $42;
var $43;
var $44;
var $__m_i;
var $45;
var $46;
var $47;
var $__p;
var $__cap;
var $48=(__stackBase__)+(12);
$45=$this;
$46=$__s;
$47=$__sz;
var $49=$45;
var $50=$47;
$44=$49;
var $51=$44;
$43=$51;
var $52=$43;
var $53=(($52)|0);
$42=$53;
var $54=$42;
var $55=$54;
$41=$55;
var $56=$41;
var $57=$56;
$38=$57;
var $58=$40;
var $59=$38;
$37=$59;
var $60=$37;
$35=$60;
var $61=$35;
$__m_i=-1;
var $62=$__m_i;
var $63=((($62)-(1))|0);
var $64=(($50)>>>(0)) > (($63)>>>(0));
if ($64) { label = 2; break; } else { label = 3; break; }
case 2:
var $66=$49;
__ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($66);
label = 3; break;
case 3:
var $68=$47;
var $69=(($68)>>>(0)) < 11;
if ($69) { label = 4; break; } else { label = 5; break; }
case 4:
var $71=$47;
$11=$49;
$12=$71;
var $72=$11;
var $73=$12;
var $74=$73 << 1;
var $75=(($74) & 255);
var $76=(($72)|0);
$10=$76;
var $77=$10;
var $78=$77;
$9=$78;
var $79=$9;
var $80=(($79)|0);
var $81=(($80)|0);
var $82=$81;
var $83=(($82)|0);
var $84=$83;
HEAP8[($84)]=$75;
$3=$49;
var $85=$3;
var $86=(($85)|0);
$2=$86;
var $87=$2;
var $88=$87;
$1=$88;
var $89=$1;
var $90=(($89)|0);
var $91=(($90)|0);
var $92=$91;
var $93=(($92+1)|0);
var $94=(($93)|0);
$__p=$94;
label = 9; break;
case 5:
var $96=$47;
$5=$96;
var $97=$5;
var $98=(($97)>>>(0)) < 11;
if ($98) { label = 6; break; } else { label = 7; break; }
case 6:
var $106 = 11;label = 8; break;
case 7:
var $101=$5;
var $102=((($101)+(1))|0);
$4=$102;
var $103=$4;
var $104=((($103)+(15))|0);
var $105=$104 & -16;
var $106 = $105;label = 8; break;
case 8:
var $106;
var $107=((($106)-(1))|0);
$__cap=$107;
$8=$49;
var $108=$8;
var $109=(($108)|0);
$7=$109;
var $110=$7;
var $111=$110;
$6=$111;
var $112=$6;
var $113=$112;
var $114=$__cap;
var $115=((($114)+(1))|0);
$16=$113;
$17=$115;
var $116=$16;
var $117=$17;
$13=$116;
$14=$117;
$15=0;
var $118=$13;
var $119=$14;
var $120=__Znwj($119);
$__p=$120;
var $121=$__p;
$20=$49;
$21=$121;
var $122=$20;
var $123=$21;
var $124=(($122)|0);
$19=$124;
var $125=$19;
var $126=$125;
$18=$126;
var $127=$18;
var $128=(($127)|0);
var $129=(($128)|0);
var $130=$129;
var $131=(($130+8)|0);
HEAP32[(($131)>>2)]=$123;
var $132=$__cap;
var $133=((($132)+(1))|0);
$24=$49;
$25=$133;
var $134=$24;
var $135=$25;
var $136=1 | $135;
var $137=(($134)|0);
$23=$137;
var $138=$23;
var $139=$138;
$22=$139;
var $140=$22;
var $141=(($140)|0);
var $142=(($141)|0);
var $143=$142;
var $144=(($143)|0);
HEAP32[(($144)>>2)]=$136;
var $145=$47;
$28=$49;
$29=$145;
var $146=$28;
var $147=$29;
var $148=(($146)|0);
$27=$148;
var $149=$27;
var $150=$149;
$26=$150;
var $151=$26;
var $152=(($151)|0);
var $153=(($152)|0);
var $154=$153;
var $155=(($154+4)|0);
HEAP32[(($155)>>2)]=$147;
label = 9; break;
case 9:
var $157=$__p;
var $158=$46;
var $159=$47;
$30=$157;
$31=$158;
$32=$159;
var $160=$30;
var $161=$31;
var $162=$32;
assert($162 % 1 === 0);_memcpy($160, $161, $162);
var $163=$47;
var $164=$__p;
var $165=(($164+$163)|0);
HEAP8[($48)]=0;
$33=$165;
$34=$48;
var $166=$34;
var $167=HEAP8[($166)];
var $168=$33;
HEAP8[($168)]=$167;
STACKTOP = __stackBase__;
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEjc($this, $__n, $__c) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 16)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37=__stackBase__;
var $38;
var $39;
var $40=(__stackBase__)+(4);
var $41=(__stackBase__)+(8);
var $42;
var $43;
var $44;
var $45;
var $__m_i;
var $46;
var $47;
var $48;
var $__p;
var $__cap;
var $49=(__stackBase__)+(12);
$46=$this;
$47=$__n;
$48=$__c;
var $50=$46;
var $51=$47;
$45=$50;
var $52=$45;
$44=$52;
var $53=$44;
var $54=(($53)|0);
$43=$54;
var $55=$43;
var $56=$55;
$42=$56;
var $57=$42;
var $58=$57;
$39=$58;
var $59=$41;
var $60=$39;
$38=$60;
var $61=$38;
$36=$61;
var $62=$36;
$__m_i=-1;
var $63=$__m_i;
var $64=((($63)-(1))|0);
var $65=(($51)>>>(0)) > (($64)>>>(0));
if ($65) { label = 2; break; } else { label = 3; break; }
case 2:
var $67=$50;
__ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($67);
label = 3; break;
case 3:
var $69=$47;
var $70=(($69)>>>(0)) < 11;
if ($70) { label = 4; break; } else { label = 5; break; }
case 4:
var $72=$47;
$11=$50;
$12=$72;
var $73=$11;
var $74=$12;
var $75=$74 << 1;
var $76=(($75) & 255);
var $77=(($73)|0);
$10=$77;
var $78=$10;
var $79=$78;
$9=$79;
var $80=$9;
var $81=(($80)|0);
var $82=(($81)|0);
var $83=$82;
var $84=(($83)|0);
var $85=$84;
HEAP8[($85)]=$76;
$3=$50;
var $86=$3;
var $87=(($86)|0);
$2=$87;
var $88=$2;
var $89=$88;
$1=$89;
var $90=$1;
var $91=(($90)|0);
var $92=(($91)|0);
var $93=$92;
var $94=(($93+1)|0);
var $95=(($94)|0);
$__p=$95;
label = 9; break;
case 5:
var $97=$47;
$5=$97;
var $98=$5;
var $99=(($98)>>>(0)) < 11;
if ($99) { label = 6; break; } else { label = 7; break; }
case 6:
var $107 = 11;label = 8; break;
case 7:
var $102=$5;
var $103=((($102)+(1))|0);
$4=$103;
var $104=$4;
var $105=((($104)+(15))|0);
var $106=$105 & -16;
var $107 = $106;label = 8; break;
case 8:
var $107;
var $108=((($107)-(1))|0);
$__cap=$108;
$8=$50;
var $109=$8;
var $110=(($109)|0);
$7=$110;
var $111=$7;
var $112=$111;
$6=$112;
var $113=$6;
var $114=$113;
var $115=$__cap;
var $116=((($115)+(1))|0);
$16=$114;
$17=$116;
var $117=$16;
var $118=$17;
$13=$117;
$14=$118;
$15=0;
var $119=$13;
var $120=$14;
var $121=__Znwj($120);
$__p=$121;
var $122=$__p;
$20=$50;
$21=$122;
var $123=$20;
var $124=$21;
var $125=(($123)|0);
$19=$125;
var $126=$19;
var $127=$126;
$18=$127;
var $128=$18;
var $129=(($128)|0);
var $130=(($129)|0);
var $131=$130;
var $132=(($131+8)|0);
HEAP32[(($132)>>2)]=$124;
var $133=$__cap;
var $134=((($133)+(1))|0);
$24=$50;
$25=$134;
var $135=$24;
var $136=$25;
var $137=1 | $136;
var $138=(($135)|0);
$23=$138;
var $139=$23;
var $140=$139;
$22=$140;
var $141=$22;
var $142=(($141)|0);
var $143=(($142)|0);
var $144=$143;
var $145=(($144)|0);
HEAP32[(($145)>>2)]=$137;
var $146=$47;
$28=$50;
$29=$146;
var $147=$28;
var $148=$29;
var $149=(($147)|0);
$27=$149;
var $150=$27;
var $151=$150;
$26=$151;
var $152=$26;
var $153=(($152)|0);
var $154=(($153)|0);
var $155=$154;
var $156=(($155+4)|0);
HEAP32[(($156)>>2)]=$148;
label = 9; break;
case 9:
var $158=$__p;
var $159=$47;
var $160=$48;
$31=$158;
$32=$159;
$33=$160;
var $161=$31;
var $162=$33;
$30=$162;
var $163=$30;
var $164=(($163)&(255));
var $165=(($164) & 255);
var $166=$32;
_memset($161, $165, $166);
var $167=$47;
var $168=$__p;
var $169=(($168+$167)|0);
HEAP8[($49)]=0;
$34=$169;
$35=$49;
var $170=$35;
var $171=HEAP8[($170)];
var $172=$34;
HEAP8[($172)]=$171;
STACKTOP = __stackBase__;
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPKcEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESA_SA_($this, $__first, $__last) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 24)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14=__stackBase__;
var $15;
var $16;
var $17=(__stackBase__)+(4);
var $18=(__stackBase__)+(8);
var $19;
var $20;
var $21;
var $22;
var $__m_i;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46=(__stackBase__)+(12);
var $47;
var $48;
var $49=(__stackBase__)+(16);
var $50;
var $51;
var $52;
var $__sz;
var $__p;
var $__cap;
var $53=(__stackBase__)+(20);
$50=$this;
$51=$__first;
$52=$__last;
var $54=$50;
var $55=$51;
var $56=$52;
$47=$55;
$48=$56;
var $57=$47;
var $58=$48;
$44=$57;
$45=$58;
var $59=$45;
var $60=$44;
var $61=$59;
var $62=$60;
var $63=((($61)-($62))|0);
$__sz=$63;
var $64=$__sz;
$22=$54;
var $65=$22;
$21=$65;
var $66=$21;
var $67=(($66)|0);
$20=$67;
var $68=$20;
var $69=$68;
$19=$69;
var $70=$19;
var $71=$70;
$16=$71;
var $72=$18;
var $73=$16;
$15=$73;
var $74=$15;
$13=$74;
var $75=$13;
$__m_i=-1;
var $76=$__m_i;
var $77=((($76)-(1))|0);
var $78=(($64)>>>(0)) > (($77)>>>(0));
if ($78) { label = 2; break; } else { label = 3; break; }
case 2:
var $80=$54;
__ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($80);
label = 3; break;
case 3:
var $82=$__sz;
var $83=(($82)>>>(0)) < 11;
if ($83) { label = 4; break; } else { label = 5; break; }
case 4:
var $85=$__sz;
$3=$54;
$4=$85;
var $86=$3;
var $87=$4;
var $88=$87 << 1;
var $89=(($88) & 255);
var $90=(($86)|0);
$2=$90;
var $91=$2;
var $92=$91;
$1=$92;
var $93=$1;
var $94=(($93)|0);
var $95=(($94)|0);
var $96=$95;
var $97=(($96)|0);
var $98=$97;
HEAP8[($98)]=$89;
$7=$54;
var $99=$7;
var $100=(($99)|0);
$6=$100;
var $101=$6;
var $102=$101;
$5=$102;
var $103=$5;
var $104=(($103)|0);
var $105=(($104)|0);
var $106=$105;
var $107=(($106+1)|0);
var $108=(($107)|0);
$__p=$108;
label = 9; break;
case 5:
var $110=$__sz;
$9=$110;
var $111=$9;
var $112=(($111)>>>(0)) < 11;
if ($112) { label = 6; break; } else { label = 7; break; }
case 6:
var $120 = 11;label = 8; break;
case 7:
var $115=$9;
var $116=((($115)+(1))|0);
$8=$116;
var $117=$8;
var $118=((($117)+(15))|0);
var $119=$118 & -16;
var $120 = $119;label = 8; break;
case 8:
var $120;
var $121=((($120)-(1))|0);
$__cap=$121;
$12=$54;
var $122=$12;
var $123=(($122)|0);
$11=$123;
var $124=$11;
var $125=$124;
$10=$125;
var $126=$10;
var $127=$126;
var $128=$__cap;
var $129=((($128)+(1))|0);
$26=$127;
$27=$129;
var $130=$26;
var $131=$27;
$23=$130;
$24=$131;
$25=0;
var $132=$23;
var $133=$24;
var $134=__Znwj($133);
$__p=$134;
var $135=$__p;
$30=$54;
$31=$135;
var $136=$30;
var $137=$31;
var $138=(($136)|0);
$29=$138;
var $139=$29;
var $140=$139;
$28=$140;
var $141=$28;
var $142=(($141)|0);
var $143=(($142)|0);
var $144=$143;
var $145=(($144+8)|0);
HEAP32[(($145)>>2)]=$137;
var $146=$__cap;
var $147=((($146)+(1))|0);
$34=$54;
$35=$147;
var $148=$34;
var $149=$35;
var $150=1 | $149;
var $151=(($148)|0);
$33=$151;
var $152=$33;
var $153=$152;
$32=$153;
var $154=$32;
var $155=(($154)|0);
var $156=(($155)|0);
var $157=$156;
var $158=(($157)|0);
HEAP32[(($158)>>2)]=$150;
var $159=$__sz;
$38=$54;
$39=$159;
var $160=$38;
var $161=$39;
var $162=(($160)|0);
$37=$162;
var $163=$37;
var $164=$163;
$36=$164;
var $165=$36;
var $166=(($165)|0);
var $167=(($166)|0);
var $168=$167;
var $169=(($168+4)|0);
HEAP32[(($169)>>2)]=$161;
label = 9; break;
case 9:
label = 10; break;
case 10:
var $172=$51;
var $173=$52;
var $174=(($172)|(0))!=(($173)|(0));
if ($174) { label = 11; break; } else { label = 13; break; }
case 11:
var $176=$__p;
var $177=$51;
$40=$176;
$41=$177;
var $178=$41;
var $179=HEAP8[($178)];
var $180=$40;
HEAP8[($180)]=$179;
label = 12; break;
case 12:
var $182=$51;
var $183=(($182+1)|0);
$51=$183;
var $184=$__p;
var $185=(($184+1)|0);
$__p=$185;
label = 10; break;
case 13:
var $187=$__p;
HEAP8[($53)]=0;
$42=$187;
$43=$53;
var $188=$43;
var $189=HEAP8[($188)];
var $190=$42;
HEAP8[($190)]=$189;
STACKTOP = __stackBase__;
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($2);
return;
}
// WARNING: content after a branch in a label, line: 6568
// WARNING: content after a branch in a label, line: 6570
// WARNING: content after a branch in a label, line: 6571
function __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($this) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
$20=$this;
var $21=$20;
$19=$21;
var $22=$19;
label = 2; break;
case 2:
$12=$21;
var $24=$12;
var $25=(($24)|0);
$11=$25;
var $26=$11;
var $27=$26;
$10=$27;
var $28=$10;
var $29=(($28)|0);
var $30=(($29)|0);
var $31=$30;
var $32=(($31)|0);
var $33=$32;
var $34=HEAP8[($33)];
var $35=(($34)&(255));
var $36=$35 & 1;
var $37=(($36)|(0))!=0;
if ($37) { label = 3; break; } else { label = 4; break; }
case 3:
$3=$21;
var $39=$3;
var $40=(($39)|0);
$2=$40;
var $41=$2;
var $42=$41;
$1=$42;
var $43=$1;
var $44=$43;
$6=$21;
var $45=$6;
var $46=(($45)|0);
$5=$46;
var $47=$5;
var $48=$47;
$4=$48;
var $49=$4;
var $50=(($49)|0);
var $51=(($50)|0);
var $52=$51;
var $53=(($52+8)|0);
var $54=HEAP32[(($53)>>2)];
$9=$21;
var $55=$9;
var $56=(($55)|0);
$8=$56;
var $57=$8;
var $58=$57;
$7=$58;
var $59=$7;
var $60=(($59)|0);
var $61=(($60)|0);
var $62=$61;
var $63=(($62)|0);
var $64=HEAP32[(($63)>>2)];
var $65=$64 & -2;
$16=$44;
$17=$54;
$18=$65;
var $66=$16;
var $67=$17;
var $68=$18;
$13=$66;
$14=$67;
$15=$68;
var $69=$13;
var $70=$14;
__ZdlPv($70);
label = 4; break;
case 4:
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc($this, $__s) {
var label = 0;
var $1;
var $2;
var $3;
$2=$this;
$3=$__s;
var $4=$2;
var $5=$3;
var $6=$3;
$1=$6;
var $7=$1;
var $8=_strlen($7);
var $9=__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKcj($4, $5, $8);
return $9;
}
function __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKcj($this, $__s, $__n) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 4)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $49;
var $50;
var $__cap;
var $__p;
var $51=__stackBase__;
var $__sz;
$48=$this;
$49=$__s;
$50=$__n;
var $52=$48;
$47=$52;
var $53=$47;
$46=$53;
var $54=$46;
var $55=(($54)|0);
$45=$55;
var $56=$45;
var $57=$56;
$44=$57;
var $58=$44;
var $59=(($58)|0);
var $60=(($59)|0);
var $61=$60;
var $62=(($61)|0);
var $63=$62;
var $64=HEAP8[($63)];
var $65=(($64)&(255));
var $66=$65 & 1;
var $67=(($66)|(0))!=0;
if ($67) { label = 2; break; } else { label = 3; break; }
case 2:
$43=$53;
var $69=$43;
var $70=(($69)|0);
$42=$70;
var $71=$42;
var $72=$71;
$41=$72;
var $73=$41;
var $74=(($73)|0);
var $75=(($74)|0);
var $76=$75;
var $77=(($76)|0);
var $78=HEAP32[(($77)>>2)];
var $79=$78 & -2;
var $81 = $79;label = 4; break;
case 3:
var $81 = 11;label = 4; break;
case 4:
var $81;
var $82=((($81)-(1))|0);
$__cap=$82;
var $83=$__cap;
var $84=$50;
var $85=(($83)>>>(0)) >= (($84)>>>(0));
if ($85) { label = 5; break; } else { label = 12; break; }
case 5:
$40=$52;
var $87=$40;
$39=$87;
var $88=$39;
var $89=(($88)|0);
$38=$89;
var $90=$38;
var $91=$90;
$37=$91;
var $92=$37;
var $93=(($92)|0);
var $94=(($93)|0);
var $95=$94;
var $96=(($95)|0);
var $97=$96;
var $98=HEAP8[($97)];
var $99=(($98)&(255));
var $100=$99 & 1;
var $101=(($100)|(0))!=0;
if ($101) { label = 6; break; } else { label = 7; break; }
case 6:
$33=$87;
var $103=$33;
var $104=(($103)|0);
$32=$104;
var $105=$32;
var $106=$105;
$31=$106;
var $107=$31;
var $108=(($107)|0);
var $109=(($108)|0);
var $110=$109;
var $111=(($110+8)|0);
var $112=HEAP32[(($111)>>2)];
var $124 = $112;label = 8; break;
case 7:
$36=$87;
var $114=$36;
var $115=(($114)|0);
$35=$115;
var $116=$35;
var $117=$116;
$34=$117;
var $118=$34;
var $119=(($118)|0);
var $120=(($119)|0);
var $121=$120;
var $122=(($121+1)|0);
var $123=(($122)|0);
var $124 = $123;label = 8; break;
case 8:
var $124;
$__p=$124;
var $125=$__p;
var $126=$49;
var $127=$50;
$1=$125;
$2=$126;
$3=$127;
var $128=$1;
var $129=$2;
var $130=$3;
_memmove($128, $129, $130, 1, 0);
var $131=$50;
var $132=$__p;
var $133=(($132+$131)|0);
HEAP8[($51)]=0;
$4=$133;
$5=$51;
var $134=$5;
var $135=HEAP8[($134)];
var $136=$4;
HEAP8[($136)]=$135;
var $137=$50;
$17=$52;
$18=$137;
var $138=$17;
$16=$138;
var $139=$16;
var $140=(($139)|0);
$15=$140;
var $141=$15;
var $142=$141;
$14=$142;
var $143=$14;
var $144=(($143)|0);
var $145=(($144)|0);
var $146=$145;
var $147=(($146)|0);
var $148=$147;
var $149=HEAP8[($148)];
var $150=(($149)&(255));
var $151=$150 & 1;
var $152=(($151)|(0))!=0;
if ($152) { label = 9; break; } else { label = 10; break; }
case 9:
var $154=$18;
$8=$138;
$9=$154;
var $155=$8;
var $156=$9;
var $157=(($155)|0);
$7=$157;
var $158=$7;
var $159=$158;
$6=$159;
var $160=$6;
var $161=(($160)|0);
var $162=(($161)|0);
var $163=$162;
var $164=(($163+4)|0);
HEAP32[(($164)>>2)]=$156;
label = 11; break;
case 10:
var $166=$18;
$12=$138;
$13=$166;
var $167=$12;
var $168=$13;
var $169=$168 << 1;
var $170=(($169) & 255);
var $171=(($167)|0);
$11=$171;
var $172=$11;
var $173=$172;
$10=$173;
var $174=$10;
var $175=(($174)|0);
var $176=(($175)|0);
var $177=$176;
var $178=(($177)|0);
var $179=$178;
HEAP8[($179)]=$170;
label = 11; break;
case 11:
var $180=$50;
$19=$52;
$20=$180;
var $181=$19;
label = 16; break;
case 12:
$30=$52;
var $183=$30;
$29=$183;
var $184=$29;
var $185=(($184)|0);
$28=$185;
var $186=$28;
var $187=$186;
$27=$187;
var $188=$27;
var $189=(($188)|0);
var $190=(($189)|0);
var $191=$190;
var $192=(($191)|0);
var $193=$192;
var $194=HEAP8[($193)];
var $195=(($194)&(255));
var $196=$195 & 1;
var $197=(($196)|(0))!=0;
if ($197) { label = 13; break; } else { label = 14; break; }
case 13:
$23=$183;
var $199=$23;
var $200=(($199)|0);
$22=$200;
var $201=$22;
var $202=$201;
$21=$202;
var $203=$21;
var $204=(($203)|0);
var $205=(($204)|0);
var $206=$205;
var $207=(($206+4)|0);
var $208=HEAP32[(($207)>>2)];
var $223 = $208;label = 15; break;
case 14:
$26=$183;
var $210=$26;
var $211=(($210)|0);
$25=$211;
var $212=$25;
var $213=$212;
$24=$213;
var $214=$24;
var $215=(($214)|0);
var $216=(($215)|0);
var $217=$216;
var $218=(($217)|0);
var $219=$218;
var $220=HEAP8[($219)];
var $221=(($220)&(255));
var $222=$221 >> 1;
var $223 = $222;label = 15; break;
case 15:
var $223;
$__sz=$223;
var $224=$__cap;
var $225=$50;
var $226=$__cap;
var $227=((($225)-($226))|0);
var $228=$__sz;
var $229=$__sz;
var $230=$50;
var $231=$49;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEjjjjjjPKc($52, $224, $227, $228, 0, $229, $230, $231);
label = 16; break;
case 16:
STACKTOP = __stackBase__;
return $52;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7reserveEj($this, $__res_arg) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 28)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $__comp_i_i=__stackBase__;
var $17;
var $18;
var $19=(__stackBase__)+(4);
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $49;
var $50;
var $51;
var $52;
var $53;
var $54;
var $55;
var $56;
var $57;
var $58;
var $59;
var $60;
var $61;
var $62;
var $63;
var $64;
var $65;
var $66;
var $67;
var $68;
var $69;
var $70;
var $71;
var $72;
var $73;
var $74;
var $75;
var $76;
var $77;
var $78;
var $79;
var $80;
var $81;
var $82;
var $83;
var $84;
var $85;
var $86;
var $87;
var $88;
var $89;
var $90;
var $91;
var $92;
var $93;
var $94;
var $95;
var $96;
var $97;
var $98;
var $99;
var $100;
var $101;
var $102;
var $103=(__stackBase__)+(8);
var $104;
var $105;
var $106=(__stackBase__)+(12);
var $107=(__stackBase__)+(16);
var $108;
var $109;
var $110;
var $111;
var $__m_i;
var $112;
var $113=(__stackBase__)+(20);
var $__cap;
var $__sz=(__stackBase__)+(24);
var $__new_data;
var $__p;
var $__was_long;
var $__now_long;
var $114;
var $115;
var $116;
$112=$this;
HEAP32[(($113)>>2)]=$__res_arg;
var $117=$112;
var $118=HEAP32[(($113)>>2)];
$111=$117;
var $119=$111;
$110=$119;
var $120=$110;
var $121=(($120)|0);
$109=$121;
var $122=$109;
var $123=$122;
$108=$123;
var $124=$108;
var $125=$124;
$105=$125;
var $126=$107;
var $127=$105;
$104=$127;
var $128=$104;
$102=$128;
var $129=$102;
$__m_i=-1;
var $130=$__m_i;
var $131=((($130)-(1))|0);
var $132=(($118)>>>(0)) > (($131)>>>(0));
if ($132) { label = 2; break; } else { label = 3; break; }
case 2:
var $134=$117;
__ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($134);
label = 3; break;
case 3:
$78=$117;
var $136=$78;
$77=$136;
var $137=$77;
var $138=(($137)|0);
$76=$138;
var $139=$76;
var $140=$139;
$75=$140;
var $141=$75;
var $142=(($141)|0);
var $143=(($142)|0);
var $144=$143;
var $145=(($144)|0);
var $146=$145;
var $147=HEAP8[($146)];
var $148=(($147)&(255));
var $149=$148 & 1;
var $150=(($149)|(0))!=0;
if ($150) { label = 4; break; } else { label = 5; break; }
case 4:
$74=$136;
var $152=$74;
var $153=(($152)|0);
$73=$153;
var $154=$73;
var $155=$154;
$72=$155;
var $156=$72;
var $157=(($156)|0);
var $158=(($157)|0);
var $159=$158;
var $160=(($159)|0);
var $161=HEAP32[(($160)>>2)];
var $162=$161 & -2;
var $164 = $162;label = 6; break;
case 5:
var $164 = 11;label = 6; break;
case 6:
var $164;
var $165=((($164)-(1))|0);
$__cap=$165;
$37=$117;
var $166=$37;
$36=$166;
var $167=$36;
var $168=(($167)|0);
$35=$168;
var $169=$35;
var $170=$169;
$34=$170;
var $171=$34;
var $172=(($171)|0);
var $173=(($172)|0);
var $174=$173;
var $175=(($174)|0);
var $176=$175;
var $177=HEAP8[($176)];
var $178=(($177)&(255));
var $179=$178 & 1;
var $180=(($179)|(0))!=0;
if ($180) { label = 7; break; } else { label = 8; break; }
case 7:
$30=$166;
var $182=$30;
var $183=(($182)|0);
$29=$183;
var $184=$29;
var $185=$184;
$28=$185;
var $186=$28;
var $187=(($186)|0);
var $188=(($187)|0);
var $189=$188;
var $190=(($189+4)|0);
var $191=HEAP32[(($190)>>2)];
var $206 = $191;label = 9; break;
case 8:
$33=$166;
var $193=$33;
var $194=(($193)|0);
$32=$194;
var $195=$32;
var $196=$195;
$31=$196;
var $197=$31;
var $198=(($197)|0);
var $199=(($198)|0);
var $200=$199;
var $201=(($200)|0);
var $202=$201;
var $203=HEAP8[($202)];
var $204=(($203)&(255));
var $205=$204 >> 1;
var $206 = $205;label = 9; break;
case 9:
var $206;
HEAP32[(($__sz)>>2)]=$206;
$17=$113;
$18=$__sz;
var $207=$17;
var $208=$18;
$15=$207;
$16=$208;
var $209=$15;
var $210=$16;
$12=$__comp_i_i;
$13=$209;
$14=$210;
var $211=$12;
var $212=$13;
var $213=HEAP32[(($212)>>2)];
var $214=$14;
var $215=HEAP32[(($214)>>2)];
var $216=(($213)>>>(0)) < (($215)>>>(0));
if ($216) { label = 10; break; } else { label = 11; break; }
case 10:
var $218=$16;
var $221 = $218;label = 12; break;
case 11:
var $220=$15;
var $221 = $220;label = 12; break;
case 12:
var $221;
var $222=HEAP32[(($221)>>2)];
HEAP32[(($113)>>2)]=$222;
var $223=HEAP32[(($113)>>2)];
$2=$223;
var $224=$2;
var $225=(($224)>>>(0)) < 11;
if ($225) { label = 13; break; } else { label = 14; break; }
case 13:
var $233 = 11;label = 15; break;
case 14:
var $228=$2;
var $229=((($228)+(1))|0);
$1=$229;
var $230=$1;
var $231=((($230)+(15))|0);
var $232=$231 & -16;
var $233 = $232;label = 15; break;
case 15:
var $233;
var $234=((($233)-(1))|0);
HEAP32[(($113)>>2)]=$234;
var $235=HEAP32[(($113)>>2)];
var $236=$__cap;
var $237=(($235)|(0))!=(($236)|(0));
if ($237) { label = 16; break; } else { label = 39; break; }
case 16:
var $239=HEAP32[(($113)>>2)];
var $240=(($239)|(0))==10;
if ($240) { label = 17; break; } else { label = 18; break; }
case 17:
$__was_long=1;
$__now_long=0;
$5=$117;
var $242=$5;
var $243=(($242)|0);
$4=$243;
var $244=$4;
var $245=$244;
$3=$245;
var $246=$3;
var $247=(($246)|0);
var $248=(($247)|0);
var $249=$248;
var $250=(($249+1)|0);
var $251=(($250)|0);
$__new_data=$251;
$8=$117;
var $252=$8;
var $253=(($252)|0);
$7=$253;
var $254=$7;
var $255=$254;
$6=$255;
var $256=$6;
var $257=(($256)|0);
var $258=(($257)|0);
var $259=$258;
var $260=(($259+8)|0);
var $261=HEAP32[(($260)>>2)];
$__p=$261;
label = 30; break;
case 18:
var $263=HEAP32[(($113)>>2)];
var $264=$__cap;
var $265=(($263)>>>(0)) > (($264)>>>(0));
if ($265) { label = 19; break; } else { label = 20; break; }
case 19:
$11=$117;
var $267=$11;
var $268=(($267)|0);
$10=$268;
var $269=$10;
var $270=$269;
$9=$270;
var $271=$9;
var $272=$271;
var $273=HEAP32[(($113)>>2)];
var $274=((($273)+(1))|0);
$23=$272;
$24=$274;
var $275=$23;
var $276=$24;
$20=$275;
$21=$276;
$22=0;
var $277=$20;
var $278=$21;
var $279=__Znwj($278);
$__new_data=$279;
label = 26; break;
case 20:
$27=$117;
var $281=$27;
var $282=(($281)|0);
$26=$282;
var $283=$26;
var $284=$283;
$25=$284;
var $285=$25;
var $286=$285;
var $287=HEAP32[(($113)>>2)];
var $288=((($287)+(1))|0);
$41=$286;
$42=$288;
var $289=$41;
var $290=$42;
$38=$289;
$39=$290;
$40=0;
var $291=$38;
var $292=$39;
var $293 = (function() { try { __THREW__ = 0; return __Znwj($292) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 21; break; } else { label = 23; break; }
case 21:
label = 22; break;
case 22:
$__new_data=$293;
label = 25; break;
case 23:
var $296$0 = ___cxa_find_matching_catch(-1, -1,0); $296$1 = tempRet0;
var $297=$296$0;
$114=$297;
var $298=$296$1;
$115=$298;
label = 24; break;
case 24:
var $300=$114;
var $301=___cxa_begin_catch($300);
$116=1;
___cxa_end_catch();
label = 39; break;
case 25:
label = 26; break;
case 26:
$__now_long=1;
$45=$117;
var $304=$45;
var $305=(($304)|0);
$44=$305;
var $306=$44;
var $307=$306;
$43=$307;
var $308=$43;
var $309=(($308)|0);
var $310=(($309)|0);
var $311=$310;
var $312=(($311)|0);
var $313=$312;
var $314=HEAP8[($313)];
var $315=(($314)&(255));
var $316=$315 & 1;
var $317=(($316)|(0))!=0;
var $318=(($317)&(1));
$__was_long=$318;
$55=$117;
var $319=$55;
$54=$319;
var $320=$54;
var $321=(($320)|0);
$53=$321;
var $322=$53;
var $323=$322;
$52=$323;
var $324=$52;
var $325=(($324)|0);
var $326=(($325)|0);
var $327=$326;
var $328=(($327)|0);
var $329=$328;
var $330=HEAP8[($329)];
var $331=(($330)&(255));
var $332=$331 & 1;
var $333=(($332)|(0))!=0;
if ($333) { label = 27; break; } else { label = 28; break; }
case 27:
$48=$319;
var $335=$48;
var $336=(($335)|0);
$47=$336;
var $337=$47;
var $338=$337;
$46=$338;
var $339=$46;
var $340=(($339)|0);
var $341=(($340)|0);
var $342=$341;
var $343=(($342+8)|0);
var $344=HEAP32[(($343)>>2)];
var $356 = $344;label = 29; break;
case 28:
$51=$319;
var $346=$51;
var $347=(($346)|0);
$50=$347;
var $348=$50;
var $349=$348;
$49=$349;
var $350=$49;
var $351=(($350)|0);
var $352=(($351)|0);
var $353=$352;
var $354=(($353+1)|0);
var $355=(($354)|0);
var $356 = $355;label = 29; break;
case 29:
var $356;
$__p=$356;
label = 30; break;
case 30:
var $358=$__new_data;
var $359=$__p;
$65=$117;
var $360=$65;
$64=$360;
var $361=$64;
var $362=(($361)|0);
$63=$362;
var $363=$63;
var $364=$363;
$62=$364;
var $365=$62;
var $366=(($365)|0);
var $367=(($366)|0);
var $368=$367;
var $369=(($368)|0);
var $370=$369;
var $371=HEAP8[($370)];
var $372=(($371)&(255));
var $373=$372 & 1;
var $374=(($373)|(0))!=0;
if ($374) { label = 31; break; } else { label = 32; break; }
case 31:
$58=$360;
var $376=$58;
var $377=(($376)|0);
$57=$377;
var $378=$57;
var $379=$378;
$56=$379;
var $380=$56;
var $381=(($380)|0);
var $382=(($381)|0);
var $383=$382;
var $384=(($383+4)|0);
var $385=HEAP32[(($384)>>2)];
var $400 = $385;label = 33; break;
case 32:
$61=$360;
var $387=$61;
var $388=(($387)|0);
$60=$388;
var $389=$60;
var $390=$389;
$59=$390;
var $391=$59;
var $392=(($391)|0);
var $393=(($392)|0);
var $394=$393;
var $395=(($394)|0);
var $396=$395;
var $397=HEAP8[($396)];
var $398=(($397)&(255));
var $399=$398 >> 1;
var $400 = $399;label = 33; break;
case 33:
var $400;
var $401=((($400)+(1))|0);
$66=$358;
$67=$359;
$68=$401;
var $402=$66;
var $403=$67;
var $404=$68;
assert($404 % 1 === 0);_memcpy($402, $403, $404);
var $405=$__was_long;
var $406=(($405) & 1);
if ($406) { label = 34; break; } else { label = 35; break; }
case 34:
$71=$117;
var $408=$71;
var $409=(($408)|0);
$70=$409;
var $410=$70;
var $411=$410;
$69=$411;
var $412=$69;
var $413=$412;
var $414=$__p;
var $415=$__cap;
var $416=((($415)+(1))|0);
$82=$413;
$83=$414;
$84=$416;
var $417=$82;
var $418=$83;
var $419=$84;
$79=$417;
$80=$418;
$81=$419;
var $420=$79;
var $421=$80;
__ZdlPv($421);
label = 35; break;
case 35:
var $423=$__now_long;
var $424=(($423) & 1);
if ($424) { label = 36; break; } else { label = 37; break; }
case 36:
var $426=HEAP32[(($113)>>2)];
var $427=((($426)+(1))|0);
$87=$117;
$88=$427;
var $428=$87;
var $429=$88;
var $430=1 | $429;
var $431=(($428)|0);
$86=$431;
var $432=$86;
var $433=$432;
$85=$433;
var $434=$85;
var $435=(($434)|0);
var $436=(($435)|0);
var $437=$436;
var $438=(($437)|0);
HEAP32[(($438)>>2)]=$430;
var $439=HEAP32[(($__sz)>>2)];
$91=$117;
$92=$439;
var $440=$91;
var $441=$92;
var $442=(($440)|0);
$90=$442;
var $443=$90;
var $444=$443;
$89=$444;
var $445=$89;
var $446=(($445)|0);
var $447=(($446)|0);
var $448=$447;
var $449=(($448+4)|0);
HEAP32[(($449)>>2)]=$441;
var $450=$__new_data;
$95=$117;
$96=$450;
var $451=$95;
var $452=$96;
var $453=(($451)|0);
$94=$453;
var $454=$94;
var $455=$454;
$93=$455;
var $456=$93;
var $457=(($456)|0);
var $458=(($457)|0);
var $459=$458;
var $460=(($459+8)|0);
HEAP32[(($460)>>2)]=$452;
label = 38; break;
case 37:
var $462=HEAP32[(($__sz)>>2)];
$99=$117;
$100=$462;
var $463=$99;
var $464=$100;
var $465=$464 << 1;
var $466=(($465) & 255);
var $467=(($463)|0);
$98=$467;
var $468=$98;
var $469=$468;
$97=$469;
var $470=$97;
var $471=(($470)|0);
var $472=(($471)|0);
var $473=$472;
var $474=(($473)|0);
var $475=$474;
HEAP8[($475)]=$466;
label = 38; break;
case 38:
$101=$117;
var $477=$101;
label = 39; break;
case 39:
STACKTOP = __stackBase__;
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKc($this, $__s) {
var label = 0;
var $1;
var $2;
var $3;
$2=$this;
$3=$__s;
var $4=$2;
var $5=$3;
var $6=$3;
$1=$6;
var $7=$1;
var $8=_strlen($7);
var $9=__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcj($4, $5, $8);
return $9;
}
function __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc($this, $__c) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 8)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46=__stackBase__;
var $__cap;
var $__sz;
var $__p;
var $47=(__stackBase__)+(4);
$45=$this;
HEAP8[($46)]=$__c;
var $48=$45;
$44=$48;
var $49=$44;
$43=$49;
var $50=$43;
var $51=(($50)|0);
$42=$51;
var $52=$42;
var $53=$52;
$41=$53;
var $54=$41;
var $55=(($54)|0);
var $56=(($55)|0);
var $57=$56;
var $58=(($57)|0);
var $59=$58;
var $60=HEAP8[($59)];
var $61=(($60)&(255));
var $62=$61 & 1;
var $63=(($62)|(0))!=0;
if ($63) { label = 2; break; } else { label = 3; break; }
case 2:
$40=$49;
var $65=$40;
var $66=(($65)|0);
$39=$66;
var $67=$39;
var $68=$67;
$38=$68;
var $69=$38;
var $70=(($69)|0);
var $71=(($70)|0);
var $72=$71;
var $73=(($72)|0);
var $74=HEAP32[(($73)>>2)];
var $75=$74 & -2;
var $77 = $75;label = 4; break;
case 3:
var $77 = 11;label = 4; break;
case 4:
var $77;
var $78=((($77)-(1))|0);
$__cap=$78;
$10=$48;
var $79=$10;
$9=$79;
var $80=$9;
var $81=(($80)|0);
$8=$81;
var $82=$8;
var $83=$82;
$7=$83;
var $84=$7;
var $85=(($84)|0);
var $86=(($85)|0);
var $87=$86;
var $88=(($87)|0);
var $89=$88;
var $90=HEAP8[($89)];
var $91=(($90)&(255));
var $92=$91 & 1;
var $93=(($92)|(0))!=0;
if ($93) { label = 5; break; } else { label = 6; break; }
case 5:
$3=$79;
var $95=$3;
var $96=(($95)|0);
$2=$96;
var $97=$2;
var $98=$97;
$1=$98;
var $99=$1;
var $100=(($99)|0);
var $101=(($100)|0);
var $102=$101;
var $103=(($102+4)|0);
var $104=HEAP32[(($103)>>2)];
var $119 = $104;label = 7; break;
case 6:
$6=$79;
var $106=$6;
var $107=(($106)|0);
$5=$107;
var $108=$5;
var $109=$108;
$4=$109;
var $110=$4;
var $111=(($110)|0);
var $112=(($111)|0);
var $113=$112;
var $114=(($113)|0);
var $115=$114;
var $116=HEAP8[($115)];
var $117=(($116)&(255));
var $118=$117 >> 1;
var $119 = $118;label = 7; break;
case 7:
var $119;
$__sz=$119;
var $120=$__sz;
var $121=$__cap;
var $122=(($120)|(0))==(($121)|(0));
if ($122) { label = 8; break; } else { label = 9; break; }
case 8:
var $124=$__cap;
var $125=$__sz;
var $126=$__sz;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byEjjjjjj($48, $124, 1, $125, $126, 0, 0);
label = 9; break;
case 9:
$20=$48;
var $128=$20;
$19=$128;
var $129=$19;
var $130=(($129)|0);
$18=$130;
var $131=$18;
var $132=$131;
$17=$132;
var $133=$17;
var $134=(($133)|0);
var $135=(($134)|0);
var $136=$135;
var $137=(($136)|0);
var $138=$137;
var $139=HEAP8[($138)];
var $140=(($139)&(255));
var $141=$140 & 1;
var $142=(($141)|(0))!=0;
if ($142) { label = 10; break; } else { label = 11; break; }
case 10:
$13=$128;
var $144=$13;
var $145=(($144)|0);
$12=$145;
var $146=$12;
var $147=$146;
$11=$147;
var $148=$11;
var $149=(($148)|0);
var $150=(($149)|0);
var $151=$150;
var $152=(($151+8)|0);
var $153=HEAP32[(($152)>>2)];
var $165 = $153;label = 12; break;
case 11:
$16=$128;
var $155=$16;
var $156=(($155)|0);
$15=$156;
var $157=$15;
var $158=$157;
$14=$158;
var $159=$14;
var $160=(($159)|0);
var $161=(($160)|0);
var $162=$161;
var $163=(($162+1)|0);
var $164=(($163)|0);
var $165 = $164;label = 12; break;
case 12:
var $165;
var $166=$__sz;
var $167=(($165+$166)|0);
$__p=$167;
var $168=$__p;
$21=$168;
$22=$46;
var $169=$22;
var $170=HEAP8[($169)];
var $171=$21;
HEAP8[($171)]=$170;
var $172=$__p;
var $173=(($172+1)|0);
$__p=$173;
HEAP8[($47)]=0;
$23=$173;
$24=$47;
var $174=$24;
var $175=HEAP8[($174)];
var $176=$23;
HEAP8[($176)]=$175;
var $177=$__sz;
var $178=((($177)+(1))|0);
$36=$48;
$37=$178;
var $179=$36;
$35=$179;
var $180=$35;
var $181=(($180)|0);
$34=$181;
var $182=$34;
var $183=$182;
$33=$183;
var $184=$33;
var $185=(($184)|0);
var $186=(($185)|0);
var $187=$186;
var $188=(($187)|0);
var $189=$188;
var $190=HEAP8[($189)];
var $191=(($190)&(255));
var $192=$191 & 1;
var $193=(($192)|(0))!=0;
if ($193) { label = 13; break; } else { label = 14; break; }
case 13:
var $195=$37;
$27=$179;
$28=$195;
var $196=$27;
var $197=$28;
var $198=(($196)|0);
$26=$198;
var $199=$26;
var $200=$199;
$25=$200;
var $201=$25;
var $202=(($201)|0);
var $203=(($202)|0);
var $204=$203;
var $205=(($204+4)|0);
HEAP32[(($205)>>2)]=$197;
label = 15; break;
case 14:
var $207=$37;
$31=$179;
$32=$207;
var $208=$31;
var $209=$32;
var $210=$209 << 1;
var $211=(($210) & 255);
var $212=(($208)|0);
$30=$212;
var $213=$30;
var $214=$213;
$29=$214;
var $215=$29;
var $216=(($215)|0);
var $217=(($216)|0);
var $218=$217;
var $219=(($218)|0);
var $220=$219;
HEAP8[($220)]=$211;
label = 15; break;
case 15:
STACKTOP = __stackBase__;
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcj($this, $__s, $__n) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 4)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $__cap;
var $__sz;
var $__p;
var $49=__stackBase__;
$46=$this;
$47=$__s;
$48=$__n;
var $50=$46;
$45=$50;
var $51=$45;
$44=$51;
var $52=$44;
var $53=(($52)|0);
$43=$53;
var $54=$43;
var $55=$54;
$42=$55;
var $56=$42;
var $57=(($56)|0);
var $58=(($57)|0);
var $59=$58;
var $60=(($59)|0);
var $61=$60;
var $62=HEAP8[($61)];
var $63=(($62)&(255));
var $64=$63 & 1;
var $65=(($64)|(0))!=0;
if ($65) { label = 2; break; } else { label = 3; break; }
case 2:
$41=$51;
var $67=$41;
var $68=(($67)|0);
$40=$68;
var $69=$40;
var $70=$69;
$39=$70;
var $71=$39;
var $72=(($71)|0);
var $73=(($72)|0);
var $74=$73;
var $75=(($74)|0);
var $76=HEAP32[(($75)>>2)];
var $77=$76 & -2;
var $79 = $77;label = 4; break;
case 3:
var $79 = 11;label = 4; break;
case 4:
var $79;
var $80=((($79)-(1))|0);
$__cap=$80;
$38=$50;
var $81=$38;
$37=$81;
var $82=$37;
var $83=(($82)|0);
$36=$83;
var $84=$36;
var $85=$84;
$35=$85;
var $86=$35;
var $87=(($86)|0);
var $88=(($87)|0);
var $89=$88;
var $90=(($89)|0);
var $91=$90;
var $92=HEAP8[($91)];
var $93=(($92)&(255));
var $94=$93 & 1;
var $95=(($94)|(0))!=0;
if ($95) { label = 5; break; } else { label = 6; break; }
case 5:
$31=$81;
var $97=$31;
var $98=(($97)|0);
$30=$98;
var $99=$30;
var $100=$99;
$29=$100;
var $101=$29;
var $102=(($101)|0);
var $103=(($102)|0);
var $104=$103;
var $105=(($104+4)|0);
var $106=HEAP32[(($105)>>2)];
var $121 = $106;label = 7; break;
case 6:
$34=$81;
var $108=$34;
var $109=(($108)|0);
$33=$109;
var $110=$33;
var $111=$110;
$32=$111;
var $112=$32;
var $113=(($112)|0);
var $114=(($113)|0);
var $115=$114;
var $116=(($115)|0);
var $117=$116;
var $118=HEAP8[($117)];
var $119=(($118)&(255));
var $120=$119 >> 1;
var $121 = $120;label = 7; break;
case 7:
var $121;
$__sz=$121;
var $122=$__cap;
var $123=$__sz;
var $124=((($122)-($123))|0);
var $125=$48;
var $126=(($124)>>>(0)) >= (($125)>>>(0));
if ($126) { label = 8; break; } else { label = 17; break; }
case 8:
var $128=$48;
var $129=(($128)|(0))!=0;
if ($129) { label = 9; break; } else { label = 16; break; }
case 9:
$10=$50;
var $131=$10;
$9=$131;
var $132=$9;
var $133=(($132)|0);
$8=$133;
var $134=$8;
var $135=$134;
$7=$135;
var $136=$7;
var $137=(($136)|0);
var $138=(($137)|0);
var $139=$138;
var $140=(($139)|0);
var $141=$140;
var $142=HEAP8[($141)];
var $143=(($142)&(255));
var $144=$143 & 1;
var $145=(($144)|(0))!=0;
if ($145) { label = 10; break; } else { label = 11; break; }
case 10:
$3=$131;
var $147=$3;
var $148=(($147)|0);
$2=$148;
var $149=$2;
var $150=$149;
$1=$150;
var $151=$1;
var $152=(($151)|0);
var $153=(($152)|0);
var $154=$153;
var $155=(($154+8)|0);
var $156=HEAP32[(($155)>>2)];
var $168 = $156;label = 12; break;
case 11:
$6=$131;
var $158=$6;
var $159=(($158)|0);
$5=$159;
var $160=$5;
var $161=$160;
$4=$161;
var $162=$4;
var $163=(($162)|0);
var $164=(($163)|0);
var $165=$164;
var $166=(($165+1)|0);
var $167=(($166)|0);
var $168 = $167;label = 12; break;
case 12:
var $168;
$__p=$168;
var $169=$__p;
var $170=$__sz;
var $171=(($169+$170)|0);
var $172=$47;
var $173=$48;
$11=$171;
$12=$172;
$13=$173;
var $174=$11;
var $175=$12;
var $176=$13;
assert($176 % 1 === 0);_memcpy($174, $175, $176);
var $177=$48;
var $178=$__sz;
var $179=((($178)+($177))|0);
$__sz=$179;
var $180=$__sz;
$25=$50;
$26=$180;
var $181=$25;
$24=$181;
var $182=$24;
var $183=(($182)|0);
$23=$183;
var $184=$23;
var $185=$184;
$22=$185;
var $186=$22;
var $187=(($186)|0);
var $188=(($187)|0);
var $189=$188;
var $190=(($189)|0);
var $191=$190;
var $192=HEAP8[($191)];
var $193=(($192)&(255));
var $194=$193 & 1;
var $195=(($194)|(0))!=0;
if ($195) { label = 13; break; } else { label = 14; break; }
case 13:
var $197=$26;
$16=$181;
$17=$197;
var $198=$16;
var $199=$17;
var $200=(($198)|0);
$15=$200;
var $201=$15;
var $202=$201;
$14=$202;
var $203=$14;
var $204=(($203)|0);
var $205=(($204)|0);
var $206=$205;
var $207=(($206+4)|0);
HEAP32[(($207)>>2)]=$199;
label = 15; break;
case 14:
var $209=$26;
$20=$181;
$21=$209;
var $210=$20;
var $211=$21;
var $212=$211 << 1;
var $213=(($212) & 255);
var $214=(($210)|0);
$19=$214;
var $215=$19;
var $216=$215;
$18=$216;
var $217=$18;
var $218=(($217)|0);
var $219=(($218)|0);
var $220=$219;
var $221=(($220)|0);
var $222=$221;
HEAP8[($222)]=$213;
label = 15; break;
case 15:
var $223=$__sz;
var $224=$__p;
var $225=(($224+$223)|0);
HEAP8[($49)]=0;
$27=$225;
$28=$49;
var $226=$28;
var $227=HEAP8[($226)];
var $228=$27;
HEAP8[($228)]=$227;
label = 16; break;
case 16:
label = 18; break;
case 17:
var $231=$__cap;
var $232=$__sz;
var $233=$48;
var $234=((($232)+($233))|0);
var $235=$__cap;
var $236=((($234)-($235))|0);
var $237=$__sz;
var $238=$__sz;
var $239=$48;
var $240=$47;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEjjjjjjPKc($50, $231, $236, $237, $238, 0, $239, $240);
label = 18; break;
case 18:
STACKTOP = __stackBase__;
return $50;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEjjjjjjPKc($this, $__old_cap, $__delta_cap, $__old_sz, $__n_copy, $__n_del, $__n_add, $__p_new_stuff) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 32)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $__comp_i_i=__stackBase__;
var $11;
var $12;
var $13=(__stackBase__)+(4);
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $49;
var $50;
var $51;
var $52;
var $53;
var $54;
var $55;
var $56;
var $57;
var $58;
var $59;
var $60;
var $61;
var $62;
var $63=(__stackBase__)+(8);
var $64;
var $65;
var $66=(__stackBase__)+(12);
var $67=(__stackBase__)+(16);
var $68;
var $69;
var $70;
var $71;
var $__m_i;
var $72;
var $73;
var $74;
var $75;
var $76;
var $77;
var $78;
var $79;
var $__ms;
var $__old_p;
var $__cap;
var $80=(__stackBase__)+(20);
var $81=(__stackBase__)+(24);
var $__p;
var $__sec_cp_sz;
var $82=(__stackBase__)+(28);
$72=$this;
$73=$__old_cap;
$74=$__delta_cap;
$75=$__old_sz;
$76=$__n_copy;
$77=$__n_del;
$78=$__n_add;
$79=$__p_new_stuff;
var $83=$72;
$71=$83;
var $84=$71;
$70=$84;
var $85=$70;
var $86=(($85)|0);
$69=$86;
var $87=$69;
var $88=$87;
$68=$88;
var $89=$68;
var $90=$89;
$65=$90;
var $91=$67;
var $92=$65;
$64=$92;
var $93=$64;
$62=$93;
var $94=$62;
$__m_i=-1;
var $95=$__m_i;
var $96=((($95)-(1))|0);
$__ms=$96;
var $97=$74;
var $98=$__ms;
var $99=$73;
var $100=((($98)-($99))|0);
var $101=((($100)-(1))|0);
var $102=(($97)>>>(0)) > (($101)>>>(0));
if ($102) { label = 2; break; } else { label = 3; break; }
case 2:
var $104=$83;
__ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($104);
label = 3; break;
case 3:
$41=$83;
var $106=$41;
$40=$106;
var $107=$40;
var $108=(($107)|0);
$39=$108;
var $109=$39;
var $110=$109;
$38=$110;
var $111=$38;
var $112=(($111)|0);
var $113=(($112)|0);
var $114=$113;
var $115=(($114)|0);
var $116=$115;
var $117=HEAP8[($116)];
var $118=(($117)&(255));
var $119=$118 & 1;
var $120=(($119)|(0))!=0;
if ($120) { label = 4; break; } else { label = 5; break; }
case 4:
$34=$106;
var $122=$34;
var $123=(($122)|0);
$33=$123;
var $124=$33;
var $125=$124;
$32=$125;
var $126=$32;
var $127=(($126)|0);
var $128=(($127)|0);
var $129=$128;
var $130=(($129+8)|0);
var $131=HEAP32[(($130)>>2)];
var $143 = $131;label = 6; break;
case 5:
$37=$106;
var $133=$37;
var $134=(($133)|0);
$36=$134;
var $135=$36;
var $136=$135;
$35=$136;
var $137=$35;
var $138=(($137)|0);
var $139=(($138)|0);
var $140=$139;
var $141=(($140+1)|0);
var $142=(($141)|0);
var $143 = $142;label = 6; break;
case 6:
var $143;
$__old_p=$143;
var $144=$73;
var $145=$__ms;
var $146=Math.floor(((($145)>>>(0)))/(2));
var $147=((($146)-(16))|0);
var $148=(($144)>>>(0)) < (($147)>>>(0));
if ($148) { label = 7; break; } else { label = 14; break; }
case 7:
var $150=$73;
var $151=$74;
var $152=((($150)+($151))|0);
HEAP32[(($80)>>2)]=$152;
var $153=$73;
var $154=($153<<1);
HEAP32[(($81)>>2)]=$154;
$11=$80;
$12=$81;
var $155=$11;
var $156=$12;
$9=$155;
$10=$156;
var $157=$9;
var $158=$10;
$6=$__comp_i_i;
$7=$157;
$8=$158;
var $159=$6;
var $160=$7;
var $161=HEAP32[(($160)>>2)];
var $162=$8;
var $163=HEAP32[(($162)>>2)];
var $164=(($161)>>>(0)) < (($163)>>>(0));
if ($164) { label = 8; break; } else { label = 9; break; }
case 8:
var $166=$10;
var $169 = $166;label = 10; break;
case 9:
var $168=$9;
var $169 = $168;label = 10; break;
case 10:
var $169;
var $170=HEAP32[(($169)>>2)];
$2=$170;
var $171=$2;
var $172=(($171)>>>(0)) < 11;
if ($172) { label = 11; break; } else { label = 12; break; }
case 11:
var $180 = 11;label = 13; break;
case 12:
var $175=$2;
var $176=((($175)+(1))|0);
$1=$176;
var $177=$1;
var $178=((($177)+(15))|0);
var $179=$178 & -16;
var $180 = $179;label = 13; break;
case 13:
var $180;
var $181=((($180)-(1))|0);
var $186 = $181;label = 15; break;
case 14:
var $183=$__ms;
var $184=((($183)-(1))|0);
var $186 = $184;label = 15; break;
case 15:
var $186;
$__cap=$186;
$5=$83;
var $187=$5;
var $188=(($187)|0);
$4=$188;
var $189=$4;
var $190=$189;
$3=$190;
var $191=$3;
var $192=$191;
var $193=$__cap;
var $194=((($193)+(1))|0);
$17=$192;
$18=$194;
var $195=$17;
var $196=$18;
$14=$195;
$15=$196;
$16=0;
var $197=$14;
var $198=$15;
var $199=__Znwj($198);
$__p=$199;
$19=$83;
var $200=$19;
var $201=$76;
var $202=(($201)|(0))!=0;
if ($202) { label = 16; break; } else { label = 17; break; }
case 16:
var $204=$__p;
var $205=$__old_p;
var $206=$76;
$20=$204;
$21=$205;
$22=$206;
var $207=$20;
var $208=$21;
var $209=$22;
assert($209 % 1 === 0);_memcpy($207, $208, $209);
label = 17; break;
case 17:
var $211=$78;
var $212=(($211)|(0))!=0;
if ($212) { label = 18; break; } else { label = 19; break; }
case 18:
var $214=$__p;
var $215=$76;
var $216=(($214+$215)|0);
var $217=$79;
var $218=$78;
$23=$216;
$24=$217;
$25=$218;
var $219=$23;
var $220=$24;
var $221=$25;
assert($221 % 1 === 0);_memcpy($219, $220, $221);
label = 19; break;
case 19:
var $223=$75;
var $224=$77;
var $225=((($223)-($224))|0);
var $226=$76;
var $227=((($225)-($226))|0);
$__sec_cp_sz=$227;
var $228=$__sec_cp_sz;
var $229=(($228)|(0))!=0;
if ($229) { label = 20; break; } else { label = 21; break; }
case 20:
var $231=$__p;
var $232=$76;
var $233=(($231+$232)|0);
var $234=$78;
var $235=(($233+$234)|0);
var $236=$__old_p;
var $237=$76;
var $238=(($236+$237)|0);
var $239=$77;
var $240=(($238+$239)|0);
var $241=$__sec_cp_sz;
$26=$235;
$27=$240;
$28=$241;
var $242=$26;
var $243=$27;
var $244=$28;
assert($244 % 1 === 0);_memcpy($242, $243, $244);
label = 21; break;
case 21:
var $246=$73;
var $247=((($246)+(1))|0);
var $248=(($247)|(0))!=11;
if ($248) { label = 22; break; } else { label = 23; break; }
case 22:
$31=$83;
var $250=$31;
var $251=(($250)|0);
$30=$251;
var $252=$30;
var $253=$252;
$29=$253;
var $254=$29;
var $255=$254;
var $256=$__old_p;
var $257=$73;
var $258=((($257)+(1))|0);
$45=$255;
$46=$256;
$47=$258;
var $259=$45;
var $260=$46;
var $261=$47;
$42=$259;
$43=$260;
$44=$261;
var $262=$42;
var $263=$43;
__ZdlPv($263);
label = 23; break;
case 23:
var $265=$__p;
$50=$83;
$51=$265;
var $266=$50;
var $267=$51;
var $268=(($266)|0);
$49=$268;
var $269=$49;
var $270=$269;
$48=$270;
var $271=$48;
var $272=(($271)|0);
var $273=(($272)|0);
var $274=$273;
var $275=(($274+8)|0);
HEAP32[(($275)>>2)]=$267;
var $276=$__cap;
var $277=((($276)+(1))|0);
$54=$83;
$55=$277;
var $278=$54;
var $279=$55;
var $280=1 | $279;
var $281=(($278)|0);
$53=$281;
var $282=$53;
var $283=$282;
$52=$283;
var $284=$52;
var $285=(($284)|0);
var $286=(($285)|0);
var $287=$286;
var $288=(($287)|0);
HEAP32[(($288)>>2)]=$280;
var $289=$76;
var $290=$78;
var $291=((($289)+($290))|0);
var $292=$__sec_cp_sz;
var $293=((($291)+($292))|0);
$75=$293;
var $294=$75;
$58=$83;
$59=$294;
var $295=$58;
var $296=$59;
var $297=(($295)|0);
$57=$297;
var $298=$57;
var $299=$298;
$56=$299;
var $300=$56;
var $301=(($300)|0);
var $302=(($301)|0);
var $303=$302;
var $304=(($303+4)|0);
HEAP32[(($304)>>2)]=$296;
var $305=$75;
var $306=$__p;
var $307=(($306+$305)|0);
HEAP8[($82)]=0;
$60=$307;
$61=$82;
var $308=$61;
var $309=HEAP8[($308)];
var $310=$60;
HEAP8[($310)]=$309;
STACKTOP = __stackBase__;
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byEjjjjjj($this, $__old_cap, $__delta_cap, $__old_sz, $__n_copy, $__n_del, $__n_add) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 28)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $__comp_i_i=__stackBase__;
var $11;
var $12;
var $13=(__stackBase__)+(4);
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $49;
var $50;
var $51;
var $52;
var $53;
var $54=(__stackBase__)+(8);
var $55;
var $56;
var $57=(__stackBase__)+(12);
var $58=(__stackBase__)+(16);
var $59;
var $60;
var $61;
var $62;
var $__m_i;
var $63;
var $64;
var $65;
var $66;
var $67;
var $68;
var $69;
var $__ms;
var $__old_p;
var $__cap;
var $70=(__stackBase__)+(20);
var $71=(__stackBase__)+(24);
var $__p;
var $__sec_cp_sz;
$63=$this;
$64=$__old_cap;
$65=$__delta_cap;
$66=$__old_sz;
$67=$__n_copy;
$68=$__n_del;
$69=$__n_add;
var $72=$63;
$62=$72;
var $73=$62;
$61=$73;
var $74=$61;
var $75=(($74)|0);
$60=$75;
var $76=$60;
var $77=$76;
$59=$77;
var $78=$59;
var $79=$78;
$56=$79;
var $80=$58;
var $81=$56;
$55=$81;
var $82=$55;
$53=$82;
var $83=$53;
$__m_i=-1;
var $84=$__m_i;
var $85=((($84)-(1))|0);
$__ms=$85;
var $86=$65;
var $87=$__ms;
var $88=$64;
var $89=((($87)-($88))|0);
var $90=((($89)-(1))|0);
var $91=(($86)>>>(0)) > (($90)>>>(0));
if ($91) { label = 2; break; } else { label = 3; break; }
case 2:
var $93=$72;
__ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($93);
label = 3; break;
case 3:
$38=$72;
var $95=$38;
$37=$95;
var $96=$37;
var $97=(($96)|0);
$36=$97;
var $98=$36;
var $99=$98;
$35=$99;
var $100=$35;
var $101=(($100)|0);
var $102=(($101)|0);
var $103=$102;
var $104=(($103)|0);
var $105=$104;
var $106=HEAP8[($105)];
var $107=(($106)&(255));
var $108=$107 & 1;
var $109=(($108)|(0))!=0;
if ($109) { label = 4; break; } else { label = 5; break; }
case 4:
$31=$95;
var $111=$31;
var $112=(($111)|0);
$30=$112;
var $113=$30;
var $114=$113;
$29=$114;
var $115=$29;
var $116=(($115)|0);
var $117=(($116)|0);
var $118=$117;
var $119=(($118+8)|0);
var $120=HEAP32[(($119)>>2)];
var $132 = $120;label = 6; break;
case 5:
$34=$95;
var $122=$34;
var $123=(($122)|0);
$33=$123;
var $124=$33;
var $125=$124;
$32=$125;
var $126=$32;
var $127=(($126)|0);
var $128=(($127)|0);
var $129=$128;
var $130=(($129+1)|0);
var $131=(($130)|0);
var $132 = $131;label = 6; break;
case 6:
var $132;
$__old_p=$132;
var $133=$64;
var $134=$__ms;
var $135=Math.floor(((($134)>>>(0)))/(2));
var $136=((($135)-(16))|0);
var $137=(($133)>>>(0)) < (($136)>>>(0));
if ($137) { label = 7; break; } else { label = 14; break; }
case 7:
var $139=$64;
var $140=$65;
var $141=((($139)+($140))|0);
HEAP32[(($70)>>2)]=$141;
var $142=$64;
var $143=($142<<1);
HEAP32[(($71)>>2)]=$143;
$11=$70;
$12=$71;
var $144=$11;
var $145=$12;
$9=$144;
$10=$145;
var $146=$9;
var $147=$10;
$6=$__comp_i_i;
$7=$146;
$8=$147;
var $148=$6;
var $149=$7;
var $150=HEAP32[(($149)>>2)];
var $151=$8;
var $152=HEAP32[(($151)>>2)];
var $153=(($150)>>>(0)) < (($152)>>>(0));
if ($153) { label = 8; break; } else { label = 9; break; }
case 8:
var $155=$10;
var $158 = $155;label = 10; break;
case 9:
var $157=$9;
var $158 = $157;label = 10; break;
case 10:
var $158;
var $159=HEAP32[(($158)>>2)];
$2=$159;
var $160=$2;
var $161=(($160)>>>(0)) < 11;
if ($161) { label = 11; break; } else { label = 12; break; }
case 11:
var $169 = 11;label = 13; break;
case 12:
var $164=$2;
var $165=((($164)+(1))|0);
$1=$165;
var $166=$1;
var $167=((($166)+(15))|0);
var $168=$167 & -16;
var $169 = $168;label = 13; break;
case 13:
var $169;
var $170=((($169)-(1))|0);
var $175 = $170;label = 15; break;
case 14:
var $172=$__ms;
var $173=((($172)-(1))|0);
var $175 = $173;label = 15; break;
case 15:
var $175;
$__cap=$175;
$5=$72;
var $176=$5;
var $177=(($176)|0);
$4=$177;
var $178=$4;
var $179=$178;
$3=$179;
var $180=$3;
var $181=$180;
var $182=$__cap;
var $183=((($182)+(1))|0);
$17=$181;
$18=$183;
var $184=$17;
var $185=$18;
$14=$184;
$15=$185;
$16=0;
var $186=$14;
var $187=$15;
var $188=__Znwj($187);
$__p=$188;
$19=$72;
var $189=$19;
var $190=$67;
var $191=(($190)|(0))!=0;
if ($191) { label = 16; break; } else { label = 17; break; }
case 16:
var $193=$__p;
var $194=$__old_p;
var $195=$67;
$20=$193;
$21=$194;
$22=$195;
var $196=$20;
var $197=$21;
var $198=$22;
assert($198 % 1 === 0);_memcpy($196, $197, $198);
label = 17; break;
case 17:
var $200=$66;
var $201=$68;
var $202=((($200)-($201))|0);
var $203=$67;
var $204=((($202)-($203))|0);
$__sec_cp_sz=$204;
var $205=$__sec_cp_sz;
var $206=(($205)|(0))!=0;
if ($206) { label = 18; break; } else { label = 19; break; }
case 18:
var $208=$__p;
var $209=$67;
var $210=(($208+$209)|0);
var $211=$69;
var $212=(($210+$211)|0);
var $213=$__old_p;
var $214=$67;
var $215=(($213+$214)|0);
var $216=$68;
var $217=(($215+$216)|0);
var $218=$__sec_cp_sz;
$23=$212;
$24=$217;
$25=$218;
var $219=$23;
var $220=$24;
var $221=$25;
assert($221 % 1 === 0);_memcpy($219, $220, $221);
label = 19; break;
case 19:
var $223=$64;
var $224=((($223)+(1))|0);
var $225=(($224)|(0))!=11;
if ($225) { label = 20; break; } else { label = 21; break; }
case 20:
$28=$72;
var $227=$28;
var $228=(($227)|0);
$27=$228;
var $229=$27;
var $230=$229;
$26=$230;
var $231=$26;
var $232=$231;
var $233=$__old_p;
var $234=$64;
var $235=((($234)+(1))|0);
$42=$232;
$43=$233;
$44=$235;
var $236=$42;
var $237=$43;
var $238=$44;
$39=$236;
$40=$237;
$41=$238;
var $239=$39;
var $240=$40;
__ZdlPv($240);
label = 21; break;
case 21:
var $242=$__p;
$47=$72;
$48=$242;
var $243=$47;
var $244=$48;
var $245=(($243)|0);
$46=$245;
var $246=$46;
var $247=$246;
$45=$247;
var $248=$45;
var $249=(($248)|0);
var $250=(($249)|0);
var $251=$250;
var $252=(($251+8)|0);
HEAP32[(($252)>>2)]=$244;
var $253=$__cap;
var $254=((($253)+(1))|0);
$51=$72;
$52=$254;
var $255=$51;
var $256=$52;
var $257=1 | $256;
var $258=(($255)|0);
$50=$258;
var $259=$50;
var $260=$259;
$49=$260;
var $261=$49;
var $262=(($261)|0);
var $263=(($262)|0);
var $264=$263;
var $265=(($264)|0);
HEAP32[(($265)>>2)]=$257;
STACKTOP = __stackBase__;
return;
default: assert(0, "bad label: " + label);
}
}
// WARNING: content after a branch in a label, line: 10050
// WARNING: content after a branch in a label, line: 10052
// WARNING: content after a branch in a label, line: 10053
function __ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEPKwj($this, $__s, $__sz) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 16)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36=__stackBase__;
var $37;
var $38;
var $39=(__stackBase__)+(4);
var $40=(__stackBase__)+(8);
var $41;
var $42;
var $43;
var $44;
var $__m_i;
var $45;
var $46;
var $47;
var $__p;
var $__cap;
var $48=(__stackBase__)+(12);
$45=$this;
$46=$__s;
$47=$__sz;
var $49=$45;
var $50=$47;
$44=$49;
var $51=$44;
$43=$51;
var $52=$43;
var $53=(($52)|0);
$42=$53;
var $54=$42;
var $55=$54;
$41=$55;
var $56=$41;
var $57=$56;
$38=$57;
var $58=$40;
var $59=$38;
$37=$59;
var $60=$37;
$35=$60;
var $61=$35;
$__m_i=1073741823;
var $62=$__m_i;
var $63=((($62)-(1))|0);
var $64=(($50)>>>(0)) > (($63)>>>(0));
if ($64) { label = 2; break; } else { label = 3; break; }
case 2:
var $66=$49;
__ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($66);
label = 3; break;
case 3:
var $68=$47;
var $69=(($68)>>>(0)) < 2;
if ($69) { label = 4; break; } else { label = 5; break; }
case 4:
var $71=$47;
$28=$49;
$29=$71;
var $72=$28;
var $73=$29;
var $74=$73 << 1;
var $75=(($74) & 255);
var $76=(($72)|0);
$27=$76;
var $77=$27;
var $78=$77;
$26=$78;
var $79=$26;
var $80=(($79)|0);
var $81=(($80)|0);
var $82=$81;
var $83=(($82)|0);
var $84=$83;
HEAP8[($84)]=$75;
$8=$49;
var $85=$8;
var $86=(($85)|0);
$7=$86;
var $87=$7;
var $88=$87;
$6=$88;
var $89=$6;
var $90=(($89)|0);
var $91=(($90)|0);
var $92=$91;
var $93=(($92+4)|0);
var $94=(($93)|0);
$__p=$94;
label = 9; break;
case 5:
var $96=$47;
$2=$96;
var $97=$2;
var $98=(($97)>>>(0)) < 2;
if ($98) { label = 6; break; } else { label = 7; break; }
case 6:
var $106 = 2;label = 8; break;
case 7:
var $101=$2;
var $102=((($101)+(1))|0);
$1=$102;
var $103=$1;
var $104=((($103)+(3))|0);
var $105=$104 & -4;
var $106 = $105;label = 8; break;
case 8:
var $106;
var $107=((($106)-(1))|0);
$__cap=$107;
$5=$49;
var $108=$5;
var $109=(($108)|0);
$4=$109;
var $110=$4;
var $111=$110;
$3=$111;
var $112=$3;
var $113=$112;
var $114=$__cap;
var $115=((($114)+(1))|0);
$12=$113;
$13=$115;
var $116=$12;
var $117=$13;
$9=$116;
$10=$117;
$11=0;
var $118=$9;
var $119=$10;
var $120=($119<<2);
var $121=__Znwj($120);
var $122=$121;
$__p=$122;
var $123=$__p;
$16=$49;
$17=$123;
var $124=$16;
var $125=$17;
var $126=(($124)|0);
$15=$126;
var $127=$15;
var $128=$127;
$14=$128;
var $129=$14;
var $130=(($129)|0);
var $131=(($130)|0);
var $132=$131;
var $133=(($132+8)|0);
HEAP32[(($133)>>2)]=$125;
var $134=$__cap;
var $135=((($134)+(1))|0);
$20=$49;
$21=$135;
var $136=$20;
var $137=$21;
var $138=1 | $137;
var $139=(($136)|0);
$19=$139;
var $140=$19;
var $141=$140;
$18=$141;
var $142=$18;
var $143=(($142)|0);
var $144=(($143)|0);
var $145=$144;
var $146=(($145)|0);
HEAP32[(($146)>>2)]=$138;
var $147=$47;
$24=$49;
$25=$147;
var $148=$24;
var $149=$25;
var $150=(($148)|0);
$23=$150;
var $151=$23;
var $152=$151;
$22=$152;
var $153=$22;
var $154=(($153)|0);
var $155=(($154)|0);
var $156=$155;
var $157=(($156+4)|0);
HEAP32[(($157)>>2)]=$149;
label = 9; break;
case 9:
var $159=$__p;
var $160=$46;
var $161=$47;
$30=$159;
$31=$160;
$32=$161;
var $162=$30;
var $163=$31;
var $164=$32;
var $165=_wmemcpy($162, $163, $164);
var $166=$47;
var $167=$__p;
var $168=(($167+($166<<2))|0);
HEAP32[(($48)>>2)]=0;
$33=$168;
$34=$48;
var $169=$34;
var $170=HEAP32[(($169)>>2)];
var $171=$33;
HEAP32[(($171)>>2)]=$170;
STACKTOP = __stackBase__;
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEjw($this, $__n, $__c) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 16)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36=__stackBase__;
var $37;
var $38;
var $39=(__stackBase__)+(4);
var $40=(__stackBase__)+(8);
var $41;
var $42;
var $43;
var $44;
var $__m_i;
var $45;
var $46;
var $47;
var $__p;
var $__cap;
var $48=(__stackBase__)+(12);
$45=$this;
$46=$__n;
$47=$__c;
var $49=$45;
var $50=$46;
$44=$49;
var $51=$44;
$43=$51;
var $52=$43;
var $53=(($52)|0);
$42=$53;
var $54=$42;
var $55=$54;
$41=$55;
var $56=$41;
var $57=$56;
$38=$57;
var $58=$40;
var $59=$38;
$37=$59;
var $60=$37;
$35=$60;
var $61=$35;
$__m_i=1073741823;
var $62=$__m_i;
var $63=((($62)-(1))|0);
var $64=(($50)>>>(0)) > (($63)>>>(0));
if ($64) { label = 2; break; } else { label = 3; break; }
case 2:
var $66=$49;
__ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($66);
label = 3; break;
case 3:
var $68=$46;
var $69=(($68)>>>(0)) < 2;
if ($69) { label = 4; break; } else { label = 5; break; }
case 4:
var $71=$46;
$28=$49;
$29=$71;
var $72=$28;
var $73=$29;
var $74=$73 << 1;
var $75=(($74) & 255);
var $76=(($72)|0);
$27=$76;
var $77=$27;
var $78=$77;
$26=$78;
var $79=$26;
var $80=(($79)|0);
var $81=(($80)|0);
var $82=$81;
var $83=(($82)|0);
var $84=$83;
HEAP8[($84)]=$75;
$8=$49;
var $85=$8;
var $86=(($85)|0);
$7=$86;
var $87=$7;
var $88=$87;
$6=$88;
var $89=$6;
var $90=(($89)|0);
var $91=(($90)|0);
var $92=$91;
var $93=(($92+4)|0);
var $94=(($93)|0);
$__p=$94;
label = 9; break;
case 5:
var $96=$46;
$2=$96;
var $97=$2;
var $98=(($97)>>>(0)) < 2;
if ($98) { label = 6; break; } else { label = 7; break; }
case 6:
var $106 = 2;label = 8; break;
case 7:
var $101=$2;
var $102=((($101)+(1))|0);
$1=$102;
var $103=$1;
var $104=((($103)+(3))|0);
var $105=$104 & -4;
var $106 = $105;label = 8; break;
case 8:
var $106;
var $107=((($106)-(1))|0);
$__cap=$107;
$5=$49;
var $108=$5;
var $109=(($108)|0);
$4=$109;
var $110=$4;
var $111=$110;
$3=$111;
var $112=$3;
var $113=$112;
var $114=$__cap;
var $115=((($114)+(1))|0);
$12=$113;
$13=$115;
var $116=$12;
var $117=$13;
$9=$116;
$10=$117;
$11=0;
var $118=$9;
var $119=$10;
var $120=($119<<2);
var $121=__Znwj($120);
var $122=$121;
$__p=$122;
var $123=$__p;
$16=$49;
$17=$123;
var $124=$16;
var $125=$17;
var $126=(($124)|0);
$15=$126;
var $127=$15;
var $128=$127;
$14=$128;
var $129=$14;
var $130=(($129)|0);
var $131=(($130)|0);
var $132=$131;
var $133=(($132+8)|0);
HEAP32[(($133)>>2)]=$125;
var $134=$__cap;
var $135=((($134)+(1))|0);
$20=$49;
$21=$135;
var $136=$20;
var $137=$21;
var $138=1 | $137;
var $139=(($136)|0);
$19=$139;
var $140=$19;
var $141=$140;
$18=$141;
var $142=$18;
var $143=(($142)|0);
var $144=(($143)|0);
var $145=$144;
var $146=(($145)|0);
HEAP32[(($146)>>2)]=$138;
var $147=$46;
$24=$49;
$25=$147;
var $148=$24;
var $149=$25;
var $150=(($148)|0);
$23=$150;
var $151=$23;
var $152=$151;
$22=$152;
var $153=$22;
var $154=(($153)|0);
var $155=(($154)|0);
var $156=$155;
var $157=(($156+4)|0);
HEAP32[(($157)>>2)]=$149;
label = 9; break;
case 9:
var $159=$__p;
var $160=$46;
var $161=$47;
$30=$159;
$31=$160;
$32=$161;
var $162=$30;
var $163=$32;
var $164=$31;
var $165=_wmemset($162, $163, $164);
var $166=$46;
var $167=$__p;
var $168=(($167+($166<<2))|0);
HEAP32[(($48)>>2)]=0;
$33=$168;
$34=$48;
var $169=$34;
var $170=HEAP32[(($169)>>2)];
var $171=$33;
HEAP32[(($171)>>2)]=$170;
STACKTOP = __stackBase__;
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initIPKwEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESA_SA_($this, $__first, $__last) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 24)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14=__stackBase__;
var $15;
var $16;
var $17=(__stackBase__)+(4);
var $18=(__stackBase__)+(8);
var $19;
var $20;
var $21;
var $22;
var $__m_i;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46=(__stackBase__)+(12);
var $47;
var $48;
var $49=(__stackBase__)+(16);
var $50;
var $51;
var $52;
var $__sz;
var $__p;
var $__cap;
var $53=(__stackBase__)+(20);
$50=$this;
$51=$__first;
$52=$__last;
var $54=$50;
var $55=$51;
var $56=$52;
$47=$55;
$48=$56;
var $57=$47;
var $58=$48;
$44=$57;
$45=$58;
var $59=$45;
var $60=$44;
var $61=$59;
var $62=$60;
var $63=((($61)-($62))|0);
var $64=((((($63)|(0)))/(4))&-1);
$__sz=$64;
var $65=$__sz;
$22=$54;
var $66=$22;
$21=$66;
var $67=$21;
var $68=(($67)|0);
$20=$68;
var $69=$20;
var $70=$69;
$19=$70;
var $71=$19;
var $72=$71;
$16=$72;
var $73=$18;
var $74=$16;
$15=$74;
var $75=$15;
$13=$75;
var $76=$13;
$__m_i=1073741823;
var $77=$__m_i;
var $78=((($77)-(1))|0);
var $79=(($65)>>>(0)) > (($78)>>>(0));
if ($79) { label = 2; break; } else { label = 3; break; }
case 2:
var $81=$54;
__ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($81);
label = 3; break;
case 3:
var $83=$__sz;
var $84=(($83)>>>(0)) < 2;
if ($84) { label = 4; break; } else { label = 5; break; }
case 4:
var $86=$__sz;
$3=$54;
$4=$86;
var $87=$3;
var $88=$4;
var $89=$88 << 1;
var $90=(($89) & 255);
var $91=(($87)|0);
$2=$91;
var $92=$2;
var $93=$92;
$1=$93;
var $94=$1;
var $95=(($94)|0);
var $96=(($95)|0);
var $97=$96;
var $98=(($97)|0);
var $99=$98;
HEAP8[($99)]=$90;
$7=$54;
var $100=$7;
var $101=(($100)|0);
$6=$101;
var $102=$6;
var $103=$102;
$5=$103;
var $104=$5;
var $105=(($104)|0);
var $106=(($105)|0);
var $107=$106;
var $108=(($107+4)|0);
var $109=(($108)|0);
$__p=$109;
label = 9; break;
case 5:
var $111=$__sz;
$9=$111;
var $112=$9;
var $113=(($112)>>>(0)) < 2;
if ($113) { label = 6; break; } else { label = 7; break; }
case 6:
var $121 = 2;label = 8; break;
case 7:
var $116=$9;
var $117=((($116)+(1))|0);
$8=$117;
var $118=$8;
var $119=((($118)+(3))|0);
var $120=$119 & -4;
var $121 = $120;label = 8; break;
case 8:
var $121;
var $122=((($121)-(1))|0);
$__cap=$122;
$12=$54;
var $123=$12;
var $124=(($123)|0);
$11=$124;
var $125=$11;
var $126=$125;
$10=$126;
var $127=$10;
var $128=$127;
var $129=$__cap;
var $130=((($129)+(1))|0);
$26=$128;
$27=$130;
var $131=$26;
var $132=$27;
$23=$131;
$24=$132;
$25=0;
var $133=$23;
var $134=$24;
var $135=($134<<2);
var $136=__Znwj($135);
var $137=$136;
$__p=$137;
var $138=$__p;
$30=$54;
$31=$138;
var $139=$30;
var $140=$31;
var $141=(($139)|0);
$29=$141;
var $142=$29;
var $143=$142;
$28=$143;
var $144=$28;
var $145=(($144)|0);
var $146=(($145)|0);
var $147=$146;
var $148=(($147+8)|0);
HEAP32[(($148)>>2)]=$140;
var $149=$__cap;
var $150=((($149)+(1))|0);
$34=$54;
$35=$150;
var $151=$34;
var $152=$35;
var $153=1 | $152;
var $154=(($151)|0);
$33=$154;
var $155=$33;
var $156=$155;
$32=$156;
var $157=$32;
var $158=(($157)|0);
var $159=(($158)|0);
var $160=$159;
var $161=(($160)|0);
HEAP32[(($161)>>2)]=$153;
var $162=$__sz;
$38=$54;
$39=$162;
var $163=$38;
var $164=$39;
var $165=(($163)|0);
$37=$165;
var $166=$37;
var $167=$166;
$36=$167;
var $168=$36;
var $169=(($168)|0);
var $170=(($169)|0);
var $171=$170;
var $172=(($171+4)|0);
HEAP32[(($172)>>2)]=$164;
label = 9; break;
case 9:
label = 10; break;
case 10:
var $175=$51;
var $176=$52;
var $177=(($175)|(0))!=(($176)|(0));
if ($177) { label = 11; break; } else { label = 13; break; }
case 11:
var $179=$__p;
var $180=$51;
$40=$179;
$41=$180;
var $181=$41;
var $182=HEAP32[(($181)>>2)];
var $183=$40;
HEAP32[(($183)>>2)]=$182;
label = 12; break;
case 12:
var $185=$51;
var $186=(($185+4)|0);
$51=$186;
var $187=$__p;
var $188=(($187+4)|0);
$__p=$188;
label = 10; break;
case 13:
var $190=$__p;
HEAP32[(($53)>>2)]=0;
$42=$190;
$43=$53;
var $191=$43;
var $192=HEAP32[(($191)>>2)];
var $193=$42;
HEAP32[(($193)>>2)]=$192;
STACKTOP = __stackBase__;
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($2);
return;
}
function __ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($this) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
$20=$this;
var $21=$20;
$19=$21;
var $22=$19;
label = 2; break;
case 2:
$12=$21;
var $24=$12;
var $25=(($24)|0);
$11=$25;
var $26=$11;
var $27=$26;
$10=$27;
var $28=$10;
var $29=(($28)|0);
var $30=(($29)|0);
var $31=$30;
var $32=(($31)|0);
var $33=$32;
var $34=HEAP8[($33)];
var $35=(($34)&(255));
var $36=$35 & 1;
var $37=(($36)|(0))!=0;
if ($37) { label = 3; break; } else { label = 4; break; }
case 3:
$3=$21;
var $39=$3;
var $40=(($39)|0);
$2=$40;
var $41=$2;
var $42=$41;
$1=$42;
var $43=$1;
var $44=$43;
$6=$21;
var $45=$6;
var $46=(($45)|0);
$5=$46;
var $47=$5;
var $48=$47;
$4=$48;
var $49=$4;
var $50=(($49)|0);
var $51=(($50)|0);
var $52=$51;
var $53=(($52+8)|0);
var $54=HEAP32[(($53)>>2)];
$9=$21;
var $55=$9;
var $56=(($55)|0);
$8=$56;
var $57=$8;
var $58=$57;
$7=$58;
var $59=$7;
var $60=(($59)|0);
var $61=(($60)|0);
var $62=$61;
var $63=(($62)|0);
var $64=HEAP32[(($63)>>2)];
var $65=$64 & -2;
$16=$44;
$17=$54;
$18=$65;
var $66=$16;
var $67=$17;
var $68=$18;
$13=$66;
$14=$67;
$15=$68;
var $69=$13;
var $70=$14;
var $71=$70;
__ZdlPv($71);
label = 4; break;
case 4:
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw($this, $__s) {
var label = 0;
var $1;
var $2;
var $3;
$2=$this;
$3=$__s;
var $4=$2;
var $5=$3;
var $6=$3;
$1=$6;
var $7=$1;
var $8=_wcslen($7);
var $9=__ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKwj($4, $5, $8);
return $9;
}
function __ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKwj($this, $__s, $__n) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 4)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $49;
var $50;
var $__cap;
var $__p;
var $51=__stackBase__;
var $__sz;
$48=$this;
$49=$__s;
$50=$__n;
var $52=$48;
$47=$52;
var $53=$47;
$46=$53;
var $54=$46;
var $55=(($54)|0);
$45=$55;
var $56=$45;
var $57=$56;
$44=$57;
var $58=$44;
var $59=(($58)|0);
var $60=(($59)|0);
var $61=$60;
var $62=(($61)|0);
var $63=$62;
var $64=HEAP8[($63)];
var $65=(($64)&(255));
var $66=$65 & 1;
var $67=(($66)|(0))!=0;
if ($67) { label = 2; break; } else { label = 3; break; }
case 2:
$43=$53;
var $69=$43;
var $70=(($69)|0);
$42=$70;
var $71=$42;
var $72=$71;
$41=$72;
var $73=$41;
var $74=(($73)|0);
var $75=(($74)|0);
var $76=$75;
var $77=(($76)|0);
var $78=HEAP32[(($77)>>2)];
var $79=$78 & -2;
var $81 = $79;label = 4; break;
case 3:
var $81 = 2;label = 4; break;
case 4:
var $81;
var $82=((($81)-(1))|0);
$__cap=$82;
var $83=$__cap;
var $84=$50;
var $85=(($83)>>>(0)) >= (($84)>>>(0));
if ($85) { label = 5; break; } else { label = 12; break; }
case 5:
$40=$52;
var $87=$40;
$39=$87;
var $88=$39;
var $89=(($88)|0);
$38=$89;
var $90=$38;
var $91=$90;
$37=$91;
var $92=$37;
var $93=(($92)|0);
var $94=(($93)|0);
var $95=$94;
var $96=(($95)|0);
var $97=$96;
var $98=HEAP8[($97)];
var $99=(($98)&(255));
var $100=$99 & 1;
var $101=(($100)|(0))!=0;
if ($101) { label = 6; break; } else { label = 7; break; }
case 6:
$33=$87;
var $103=$33;
var $104=(($103)|0);
$32=$104;
var $105=$32;
var $106=$105;
$31=$106;
var $107=$31;
var $108=(($107)|0);
var $109=(($108)|0);
var $110=$109;
var $111=(($110+8)|0);
var $112=HEAP32[(($111)>>2)];
var $124 = $112;label = 8; break;
case 7:
$36=$87;
var $114=$36;
var $115=(($114)|0);
$35=$115;
var $116=$35;
var $117=$116;
$34=$117;
var $118=$34;
var $119=(($118)|0);
var $120=(($119)|0);
var $121=$120;
var $122=(($121+4)|0);
var $123=(($122)|0);
var $124 = $123;label = 8; break;
case 8:
var $124;
$__p=$124;
var $125=$__p;
var $126=$49;
var $127=$50;
$1=$125;
$2=$126;
$3=$127;
var $128=$1;
var $129=$2;
var $130=$3;
var $131=_wmemmove($128, $129, $130);
var $132=$50;
var $133=$__p;
var $134=(($133+($132<<2))|0);
HEAP32[(($51)>>2)]=0;
$4=$134;
$5=$51;
var $135=$5;
var $136=HEAP32[(($135)>>2)];
var $137=$4;
HEAP32[(($137)>>2)]=$136;
var $138=$50;
$17=$52;
$18=$138;
var $139=$17;
$16=$139;
var $140=$16;
var $141=(($140)|0);
$15=$141;
var $142=$15;
var $143=$142;
$14=$143;
var $144=$14;
var $145=(($144)|0);
var $146=(($145)|0);
var $147=$146;
var $148=(($147)|0);
var $149=$148;
var $150=HEAP8[($149)];
var $151=(($150)&(255));
var $152=$151 & 1;
var $153=(($152)|(0))!=0;
if ($153) { label = 9; break; } else { label = 10; break; }
case 9:
var $155=$18;
$8=$139;
$9=$155;
var $156=$8;
var $157=$9;
var $158=(($156)|0);
$7=$158;
var $159=$7;
var $160=$159;
$6=$160;
var $161=$6;
var $162=(($161)|0);
var $163=(($162)|0);
var $164=$163;
var $165=(($164+4)|0);
HEAP32[(($165)>>2)]=$157;
label = 11; break;
case 10:
var $167=$18;
$12=$139;
$13=$167;
var $168=$12;
var $169=$13;
var $170=$169 << 1;
var $171=(($170) & 255);
var $172=(($168)|0);
$11=$172;
var $173=$11;
var $174=$173;
$10=$174;
var $175=$10;
var $176=(($175)|0);
var $177=(($176)|0);
var $178=$177;
var $179=(($178)|0);
var $180=$179;
HEAP8[($180)]=$171;
label = 11; break;
case 11:
var $181=$50;
$19=$52;
$20=$181;
var $182=$19;
label = 16; break;
case 12:
$30=$52;
var $184=$30;
$29=$184;
var $185=$29;
var $186=(($185)|0);
$28=$186;
var $187=$28;
var $188=$187;
$27=$188;
var $189=$27;
var $190=(($189)|0);
var $191=(($190)|0);
var $192=$191;
var $193=(($192)|0);
var $194=$193;
var $195=HEAP8[($194)];
var $196=(($195)&(255));
var $197=$196 & 1;
var $198=(($197)|(0))!=0;
if ($198) { label = 13; break; } else { label = 14; break; }
case 13:
$23=$184;
var $200=$23;
var $201=(($200)|0);
$22=$201;
var $202=$22;
var $203=$202;
$21=$203;
var $204=$21;
var $205=(($204)|0);
var $206=(($205)|0);
var $207=$206;
var $208=(($207+4)|0);
var $209=HEAP32[(($208)>>2)];
var $224 = $209;label = 15; break;
case 14:
$26=$184;
var $211=$26;
var $212=(($211)|0);
$25=$212;
var $213=$25;
var $214=$213;
$24=$214;
var $215=$24;
var $216=(($215)|0);
var $217=(($216)|0);
var $218=$217;
var $219=(($218)|0);
var $220=$219;
var $221=HEAP8[($220)];
var $222=(($221)&(255));
var $223=$222 >> 1;
var $224 = $223;label = 15; break;
case 15:
var $224;
$__sz=$224;
var $225=$__cap;
var $226=$50;
var $227=$__cap;
var $228=((($226)-($227))|0);
var $229=$__sz;
var $230=$__sz;
var $231=$50;
var $232=$49;
__ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE21__grow_by_and_replaceEjjjjjjPKw($52, $225, $228, $229, 0, $230, $231, $232);
label = 16; break;
case 16:
STACKTOP = __stackBase__;
return $52;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7reserveEj($this, $__res_arg) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 28)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $__comp_i_i=__stackBase__;
var $25;
var $26;
var $27=(__stackBase__)+(4);
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $49;
var $50;
var $51;
var $52;
var $53;
var $54;
var $55;
var $56;
var $57;
var $58;
var $59;
var $60;
var $61;
var $62;
var $63;
var $64;
var $65;
var $66;
var $67;
var $68;
var $69;
var $70;
var $71;
var $72;
var $73;
var $74;
var $75;
var $76;
var $77;
var $78;
var $79;
var $80;
var $81;
var $82;
var $83;
var $84;
var $85;
var $86;
var $87;
var $88;
var $89;
var $90;
var $91;
var $92;
var $93;
var $94;
var $95;
var $96;
var $97;
var $98;
var $99;
var $100;
var $101;
var $102;
var $103=(__stackBase__)+(8);
var $104;
var $105;
var $106=(__stackBase__)+(12);
var $107=(__stackBase__)+(16);
var $108;
var $109;
var $110;
var $111;
var $__m_i;
var $112;
var $113=(__stackBase__)+(20);
var $__cap;
var $__sz=(__stackBase__)+(24);
var $__new_data;
var $__p;
var $__was_long;
var $__now_long;
var $114;
var $115;
var $116;
$112=$this;
HEAP32[(($113)>>2)]=$__res_arg;
var $117=$112;
var $118=HEAP32[(($113)>>2)];
$111=$117;
var $119=$111;
$110=$119;
var $120=$110;
var $121=(($120)|0);
$109=$121;
var $122=$109;
var $123=$122;
$108=$123;
var $124=$108;
var $125=$124;
$105=$125;
var $126=$107;
var $127=$105;
$104=$127;
var $128=$104;
$102=$128;
var $129=$102;
$__m_i=1073741823;
var $130=$__m_i;
var $131=((($130)-(1))|0);
var $132=(($118)>>>(0)) > (($131)>>>(0));
if ($132) { label = 2; break; } else { label = 3; break; }
case 2:
var $134=$117;
__ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($134);
label = 3; break;
case 3:
$78=$117;
var $136=$78;
$77=$136;
var $137=$77;
var $138=(($137)|0);
$76=$138;
var $139=$76;
var $140=$139;
$75=$140;
var $141=$75;
var $142=(($141)|0);
var $143=(($142)|0);
var $144=$143;
var $145=(($144)|0);
var $146=$145;
var $147=HEAP8[($146)];
var $148=(($147)&(255));
var $149=$148 & 1;
var $150=(($149)|(0))!=0;
if ($150) { label = 4; break; } else { label = 5; break; }
case 4:
$74=$136;
var $152=$74;
var $153=(($152)|0);
$73=$153;
var $154=$73;
var $155=$154;
$72=$155;
var $156=$72;
var $157=(($156)|0);
var $158=(($157)|0);
var $159=$158;
var $160=(($159)|0);
var $161=HEAP32[(($160)>>2)];
var $162=$161 & -2;
var $164 = $162;label = 6; break;
case 5:
var $164 = 2;label = 6; break;
case 6:
var $164;
var $165=((($164)-(1))|0);
$__cap=$165;
$65=$117;
var $166=$65;
$64=$166;
var $167=$64;
var $168=(($167)|0);
$63=$168;
var $169=$63;
var $170=$169;
$62=$170;
var $171=$62;
var $172=(($171)|0);
var $173=(($172)|0);
var $174=$173;
var $175=(($174)|0);
var $176=$175;
var $177=HEAP8[($176)];
var $178=(($177)&(255));
var $179=$178 & 1;
var $180=(($179)|(0))!=0;
if ($180) { label = 7; break; } else { label = 8; break; }
case 7:
$58=$166;
var $182=$58;
var $183=(($182)|0);
$57=$183;
var $184=$57;
var $185=$184;
$56=$185;
var $186=$56;
var $187=(($186)|0);
var $188=(($187)|0);
var $189=$188;
var $190=(($189+4)|0);
var $191=HEAP32[(($190)>>2)];
var $206 = $191;label = 9; break;
case 8:
$61=$166;
var $193=$61;
var $194=(($193)|0);
$60=$194;
var $195=$60;
var $196=$195;
$59=$196;
var $197=$59;
var $198=(($197)|0);
var $199=(($198)|0);
var $200=$199;
var $201=(($200)|0);
var $202=$201;
var $203=HEAP8[($202)];
var $204=(($203)&(255));
var $205=$204 >> 1;
var $206 = $205;label = 9; break;
case 9:
var $206;
HEAP32[(($__sz)>>2)]=$206;
$25=$113;
$26=$__sz;
var $207=$25;
var $208=$26;
$23=$207;
$24=$208;
var $209=$23;
var $210=$24;
$20=$__comp_i_i;
$21=$209;
$22=$210;
var $211=$20;
var $212=$21;
var $213=HEAP32[(($212)>>2)];
var $214=$22;
var $215=HEAP32[(($214)>>2)];
var $216=(($213)>>>(0)) < (($215)>>>(0));
if ($216) { label = 10; break; } else { label = 11; break; }
case 10:
var $218=$24;
var $221 = $218;label = 12; break;
case 11:
var $220=$23;
var $221 = $220;label = 12; break;
case 12:
var $221;
var $222=HEAP32[(($221)>>2)];
HEAP32[(($113)>>2)]=$222;
var $223=HEAP32[(($113)>>2)];
$11=$223;
var $224=$11;
var $225=(($224)>>>(0)) < 2;
if ($225) { label = 13; break; } else { label = 14; break; }
case 13:
var $233 = 2;label = 15; break;
case 14:
var $228=$11;
var $229=((($228)+(1))|0);
$10=$229;
var $230=$10;
var $231=((($230)+(3))|0);
var $232=$231 & -4;
var $233 = $232;label = 15; break;
case 15:
var $233;
var $234=((($233)-(1))|0);
HEAP32[(($113)>>2)]=$234;
var $235=HEAP32[(($113)>>2)];
var $236=$__cap;
var $237=(($235)|(0))!=(($236)|(0));
if ($237) { label = 16; break; } else { label = 39; break; }
case 16:
var $239=HEAP32[(($113)>>2)];
var $240=(($239)|(0))==1;
if ($240) { label = 17; break; } else { label = 18; break; }
case 17:
$__was_long=1;
$__now_long=0;
$3=$117;
var $242=$3;
var $243=(($242)|0);
$2=$243;
var $244=$2;
var $245=$244;
$1=$245;
var $246=$1;
var $247=(($246)|0);
var $248=(($247)|0);
var $249=$248;
var $250=(($249+4)|0);
var $251=(($250)|0);
$__new_data=$251;
$6=$117;
var $252=$6;
var $253=(($252)|0);
$5=$253;
var $254=$5;
var $255=$254;
$4=$255;
var $256=$4;
var $257=(($256)|0);
var $258=(($257)|0);
var $259=$258;
var $260=(($259+8)|0);
var $261=HEAP32[(($260)>>2)];
$__p=$261;
label = 30; break;
case 18:
var $263=HEAP32[(($113)>>2)];
var $264=$__cap;
var $265=(($263)>>>(0)) > (($264)>>>(0));
if ($265) { label = 19; break; } else { label = 20; break; }
case 19:
$9=$117;
var $267=$9;
var $268=(($267)|0);
$8=$268;
var $269=$8;
var $270=$269;
$7=$270;
var $271=$7;
var $272=$271;
var $273=HEAP32[(($113)>>2)];
var $274=((($273)+(1))|0);
$15=$272;
$16=$274;
var $275=$15;
var $276=$16;
$12=$275;
$13=$276;
$14=0;
var $277=$12;
var $278=$13;
var $279=($278<<2);
var $280=__Znwj($279);
var $281=$280;
$__new_data=$281;
label = 26; break;
case 20:
$19=$117;
var $283=$19;
var $284=(($283)|0);
$18=$284;
var $285=$18;
var $286=$285;
$17=$286;
var $287=$17;
var $288=$287;
var $289=HEAP32[(($113)>>2)];
var $290=((($289)+(1))|0);
$31=$288;
$32=$290;
var $291=$31;
var $292=$32;
$28=$291;
$29=$292;
$30=0;
var $293=$28;
var $294=$29;
var $295=($294<<2);
var $296 = (function() { try { __THREW__ = 0; return __Znwj($295) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 21; break; } else { label = 23; break; }
case 21:
var $297=$296;
label = 22; break;
case 22:
$__new_data=$297;
label = 25; break;
case 23:
var $300$0 = ___cxa_find_matching_catch(-1, -1,0); $300$1 = tempRet0;
var $301=$300$0;
$114=$301;
var $302=$300$1;
$115=$302;
label = 24; break;
case 24:
var $304=$114;
var $305=___cxa_begin_catch($304);
$116=1;
___cxa_end_catch();
label = 39; break;
case 25:
label = 26; break;
case 26:
$__now_long=1;
$35=$117;
var $308=$35;
var $309=(($308)|0);
$34=$309;
var $310=$34;
var $311=$310;
$33=$311;
var $312=$33;
var $313=(($312)|0);
var $314=(($313)|0);
var $315=$314;
var $316=(($315)|0);
var $317=$316;
var $318=HEAP8[($317)];
var $319=(($318)&(255));
var $320=$319 & 1;
var $321=(($320)|(0))!=0;
var $322=(($321)&(1));
$__was_long=$322;
$45=$117;
var $323=$45;
$44=$323;
var $324=$44;
var $325=(($324)|0);
$43=$325;
var $326=$43;
var $327=$326;
$42=$327;
var $328=$42;
var $329=(($328)|0);
var $330=(($329)|0);
var $331=$330;
var $332=(($331)|0);
var $333=$332;
var $334=HEAP8[($333)];
var $335=(($334)&(255));
var $336=$335 & 1;
var $337=(($336)|(0))!=0;
if ($337) { label = 27; break; } else { label = 28; break; }
case 27:
$38=$323;
var $339=$38;
var $340=(($339)|0);
$37=$340;
var $341=$37;
var $342=$341;
$36=$342;
var $343=$36;
var $344=(($343)|0);
var $345=(($344)|0);
var $346=$345;
var $347=(($346+8)|0);
var $348=HEAP32[(($347)>>2)];
var $360 = $348;label = 29; break;
case 28:
$41=$323;
var $350=$41;
var $351=(($350)|0);
$40=$351;
var $352=$40;
var $353=$352;
$39=$353;
var $354=$39;
var $355=(($354)|0);
var $356=(($355)|0);
var $357=$356;
var $358=(($357+4)|0);
var $359=(($358)|0);
var $360 = $359;label = 29; break;
case 29:
var $360;
$__p=$360;
label = 30; break;
case 30:
var $362=$__new_data;
var $363=$__p;
$55=$117;
var $364=$55;
$54=$364;
var $365=$54;
var $366=(($365)|0);
$53=$366;
var $367=$53;
var $368=$367;
$52=$368;
var $369=$52;
var $370=(($369)|0);
var $371=(($370)|0);
var $372=$371;
var $373=(($372)|0);
var $374=$373;
var $375=HEAP8[($374)];
var $376=(($375)&(255));
var $377=$376 & 1;
var $378=(($377)|(0))!=0;
if ($378) { label = 31; break; } else { label = 32; break; }
case 31:
$48=$364;
var $380=$48;
var $381=(($380)|0);
$47=$381;
var $382=$47;
var $383=$382;
$46=$383;
var $384=$46;
var $385=(($384)|0);
var $386=(($385)|0);
var $387=$386;
var $388=(($387+4)|0);
var $389=HEAP32[(($388)>>2)];
var $404 = $389;label = 33; break;
case 32:
$51=$364;
var $391=$51;
var $392=(($391)|0);
$50=$392;
var $393=$50;
var $394=$393;
$49=$394;
var $395=$49;
var $396=(($395)|0);
var $397=(($396)|0);
var $398=$397;
var $399=(($398)|0);
var $400=$399;
var $401=HEAP8[($400)];
var $402=(($401)&(255));
var $403=$402 >> 1;
var $404 = $403;label = 33; break;
case 33:
var $404;
var $405=((($404)+(1))|0);
$66=$362;
$67=$363;
$68=$405;
var $406=$66;
var $407=$67;
var $408=$68;
var $409=_wmemcpy($406, $407, $408);
var $410=$__was_long;
var $411=(($410) & 1);
if ($411) { label = 34; break; } else { label = 35; break; }
case 34:
$71=$117;
var $413=$71;
var $414=(($413)|0);
$70=$414;
var $415=$70;
var $416=$415;
$69=$416;
var $417=$69;
var $418=$417;
var $419=$__p;
var $420=$__cap;
var $421=((($420)+(1))|0);
$82=$418;
$83=$419;
$84=$421;
var $422=$82;
var $423=$83;
var $424=$84;
$79=$422;
$80=$423;
$81=$424;
var $425=$79;
var $426=$80;
var $427=$426;
__ZdlPv($427);
label = 35; break;
case 35:
var $429=$__now_long;
var $430=(($429) & 1);
if ($430) { label = 36; break; } else { label = 37; break; }
case 36:
var $432=HEAP32[(($113)>>2)];
var $433=((($432)+(1))|0);
$87=$117;
$88=$433;
var $434=$87;
var $435=$88;
var $436=1 | $435;
var $437=(($434)|0);
$86=$437;
var $438=$86;
var $439=$438;
$85=$439;
var $440=$85;
var $441=(($440)|0);
var $442=(($441)|0);
var $443=$442;
var $444=(($443)|0);
HEAP32[(($444)>>2)]=$436;
var $445=HEAP32[(($__sz)>>2)];
$91=$117;
$92=$445;
var $446=$91;
var $447=$92;
var $448=(($446)|0);
$90=$448;
var $449=$90;
var $450=$449;
$89=$450;
var $451=$89;
var $452=(($451)|0);
var $453=(($452)|0);
var $454=$453;
var $455=(($454+4)|0);
HEAP32[(($455)>>2)]=$447;
var $456=$__new_data;
$95=$117;
$96=$456;
var $457=$95;
var $458=$96;
var $459=(($457)|0);
$94=$459;
var $460=$94;
var $461=$460;
$93=$461;
var $462=$93;
var $463=(($462)|0);
var $464=(($463)|0);
var $465=$464;
var $466=(($465+8)|0);
HEAP32[(($466)>>2)]=$458;
label = 38; break;
case 37:
var $468=HEAP32[(($__sz)>>2)];
$99=$117;
$100=$468;
var $469=$99;
var $470=$100;
var $471=$470 << 1;
var $472=(($471) & 255);
var $473=(($469)|0);
$98=$473;
var $474=$98;
var $475=$474;
$97=$475;
var $476=$97;
var $477=(($476)|0);
var $478=(($477)|0);
var $479=$478;
var $480=(($479)|0);
var $481=$480;
HEAP8[($481)]=$472;
label = 38; break;
case 38:
$101=$117;
var $483=$101;
label = 39; break;
case 39:
STACKTOP = __stackBase__;
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw($this, $__c) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 8)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46=__stackBase__;
var $__cap;
var $__sz;
var $__p;
var $47=(__stackBase__)+(4);
$45=$this;
HEAP32[(($46)>>2)]=$__c;
var $48=$45;
$44=$48;
var $49=$44;
$43=$49;
var $50=$43;
var $51=(($50)|0);
$42=$51;
var $52=$42;
var $53=$52;
$41=$53;
var $54=$41;
var $55=(($54)|0);
var $56=(($55)|0);
var $57=$56;
var $58=(($57)|0);
var $59=$58;
var $60=HEAP8[($59)];
var $61=(($60)&(255));
var $62=$61 & 1;
var $63=(($62)|(0))!=0;
if ($63) { label = 2; break; } else { label = 3; break; }
case 2:
$40=$49;
var $65=$40;
var $66=(($65)|0);
$39=$66;
var $67=$39;
var $68=$67;
$38=$68;
var $69=$38;
var $70=(($69)|0);
var $71=(($70)|0);
var $72=$71;
var $73=(($72)|0);
var $74=HEAP32[(($73)>>2)];
var $75=$74 & -2;
var $77 = $75;label = 4; break;
case 3:
var $77 = 2;label = 4; break;
case 4:
var $77;
var $78=((($77)-(1))|0);
$__cap=$78;
$10=$48;
var $79=$10;
$9=$79;
var $80=$9;
var $81=(($80)|0);
$8=$81;
var $82=$8;
var $83=$82;
$7=$83;
var $84=$7;
var $85=(($84)|0);
var $86=(($85)|0);
var $87=$86;
var $88=(($87)|0);
var $89=$88;
var $90=HEAP8[($89)];
var $91=(($90)&(255));
var $92=$91 & 1;
var $93=(($92)|(0))!=0;
if ($93) { label = 5; break; } else { label = 6; break; }
case 5:
$3=$79;
var $95=$3;
var $96=(($95)|0);
$2=$96;
var $97=$2;
var $98=$97;
$1=$98;
var $99=$1;
var $100=(($99)|0);
var $101=(($100)|0);
var $102=$101;
var $103=(($102+4)|0);
var $104=HEAP32[(($103)>>2)];
var $119 = $104;label = 7; break;
case 6:
$6=$79;
var $106=$6;
var $107=(($106)|0);
$5=$107;
var $108=$5;
var $109=$108;
$4=$109;
var $110=$4;
var $111=(($110)|0);
var $112=(($111)|0);
var $113=$112;
var $114=(($113)|0);
var $115=$114;
var $116=HEAP8[($115)];
var $117=(($116)&(255));
var $118=$117 >> 1;
var $119 = $118;label = 7; break;
case 7:
var $119;
$__sz=$119;
var $120=$__sz;
var $121=$__cap;
var $122=(($120)|(0))==(($121)|(0));
if ($122) { label = 8; break; } else { label = 9; break; }
case 8:
var $124=$__cap;
var $125=$__sz;
var $126=$__sz;
__ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9__grow_byEjjjjjj($48, $124, 1, $125, $126, 0, 0);
label = 9; break;
case 9:
$20=$48;
var $128=$20;
$19=$128;
var $129=$19;
var $130=(($129)|0);
$18=$130;
var $131=$18;
var $132=$131;
$17=$132;
var $133=$17;
var $134=(($133)|0);
var $135=(($134)|0);
var $136=$135;
var $137=(($136)|0);
var $138=$137;
var $139=HEAP8[($138)];
var $140=(($139)&(255));
var $141=$140 & 1;
var $142=(($141)|(0))!=0;
if ($142) { label = 10; break; } else { label = 11; break; }
case 10:
$13=$128;
var $144=$13;
var $145=(($144)|0);
$12=$145;
var $146=$12;
var $147=$146;
$11=$147;
var $148=$11;
var $149=(($148)|0);
var $150=(($149)|0);
var $151=$150;
var $152=(($151+8)|0);
var $153=HEAP32[(($152)>>2)];
var $165 = $153;label = 12; break;
case 11:
$16=$128;
var $155=$16;
var $156=(($155)|0);
$15=$156;
var $157=$15;
var $158=$157;
$14=$158;
var $159=$14;
var $160=(($159)|0);
var $161=(($160)|0);
var $162=$161;
var $163=(($162+4)|0);
var $164=(($163)|0);
var $165 = $164;label = 12; break;
case 12:
var $165;
var $166=$__sz;
var $167=(($165+($166<<2))|0);
$__p=$167;
var $168=$__p;
$21=$168;
$22=$46;
var $169=$22;
var $170=HEAP32[(($169)>>2)];
var $171=$21;
HEAP32[(($171)>>2)]=$170;
var $172=$__p;
var $173=(($172+4)|0);
$__p=$173;
HEAP32[(($47)>>2)]=0;
$23=$173;
$24=$47;
var $174=$24;
var $175=HEAP32[(($174)>>2)];
var $176=$23;
HEAP32[(($176)>>2)]=$175;
var $177=$__sz;
var $178=((($177)+(1))|0);
$36=$48;
$37=$178;
var $179=$36;
$35=$179;
var $180=$35;
var $181=(($180)|0);
$34=$181;
var $182=$34;
var $183=$182;
$33=$183;
var $184=$33;
var $185=(($184)|0);
var $186=(($185)|0);
var $187=$186;
var $188=(($187)|0);
var $189=$188;
var $190=HEAP8[($189)];
var $191=(($190)&(255));
var $192=$191 & 1;
var $193=(($192)|(0))!=0;
if ($193) { label = 13; break; } else { label = 14; break; }
case 13:
var $195=$37;
$27=$179;
$28=$195;
var $196=$27;
var $197=$28;
var $198=(($196)|0);
$26=$198;
var $199=$26;
var $200=$199;
$25=$200;
var $201=$25;
var $202=(($201)|0);
var $203=(($202)|0);
var $204=$203;
var $205=(($204+4)|0);
HEAP32[(($205)>>2)]=$197;
label = 15; break;
case 14:
var $207=$37;
$31=$179;
$32=$207;
var $208=$31;
var $209=$32;
var $210=$209 << 1;
var $211=(($210) & 255);
var $212=(($208)|0);
$30=$212;
var $213=$30;
var $214=$213;
$29=$214;
var $215=$29;
var $216=(($215)|0);
var $217=(($216)|0);
var $218=$217;
var $219=(($218)|0);
var $220=$219;
HEAP8[($220)]=$211;
label = 15; break;
case 15:
STACKTOP = __stackBase__;
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE21__grow_by_and_replaceEjjjjjjPKw($this, $__old_cap, $__delta_cap, $__old_sz, $__n_copy, $__n_del, $__n_add, $__p_new_stuff) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 32)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $__comp_i_i=__stackBase__;
var $23;
var $24;
var $25=(__stackBase__)+(4);
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $49;
var $50;
var $51;
var $52;
var $53;
var $54;
var $55;
var $56;
var $57;
var $58;
var $59;
var $60;
var $61;
var $62;
var $63=(__stackBase__)+(8);
var $64;
var $65;
var $66=(__stackBase__)+(12);
var $67=(__stackBase__)+(16);
var $68;
var $69;
var $70;
var $71;
var $__m_i;
var $72;
var $73;
var $74;
var $75;
var $76;
var $77;
var $78;
var $79;
var $__ms;
var $__old_p;
var $__cap;
var $80=(__stackBase__)+(20);
var $81=(__stackBase__)+(24);
var $__p;
var $__sec_cp_sz;
var $82=(__stackBase__)+(28);
$72=$this;
$73=$__old_cap;
$74=$__delta_cap;
$75=$__old_sz;
$76=$__n_copy;
$77=$__n_del;
$78=$__n_add;
$79=$__p_new_stuff;
var $83=$72;
$71=$83;
var $84=$71;
$70=$84;
var $85=$70;
var $86=(($85)|0);
$69=$86;
var $87=$69;
var $88=$87;
$68=$88;
var $89=$68;
var $90=$89;
$65=$90;
var $91=$67;
var $92=$65;
$64=$92;
var $93=$64;
$62=$93;
var $94=$62;
$__m_i=1073741823;
var $95=$__m_i;
var $96=((($95)-(1))|0);
$__ms=$96;
var $97=$74;
var $98=$__ms;
var $99=$73;
var $100=((($98)-($99))|0);
var $101=((($100)-(1))|0);
var $102=(($97)>>>(0)) > (($101)>>>(0));
if ($102) { label = 2; break; } else { label = 3; break; }
case 2:
var $104=$83;
__ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($104);
label = 3; break;
case 3:
$41=$83;
var $106=$41;
$40=$106;
var $107=$40;
var $108=(($107)|0);
$39=$108;
var $109=$39;
var $110=$109;
$38=$110;
var $111=$38;
var $112=(($111)|0);
var $113=(($112)|0);
var $114=$113;
var $115=(($114)|0);
var $116=$115;
var $117=HEAP8[($116)];
var $118=(($117)&(255));
var $119=$118 & 1;
var $120=(($119)|(0))!=0;
if ($120) { label = 4; break; } else { label = 5; break; }
case 4:
$34=$106;
var $122=$34;
var $123=(($122)|0);
$33=$123;
var $124=$33;
var $125=$124;
$32=$125;
var $126=$32;
var $127=(($126)|0);
var $128=(($127)|0);
var $129=$128;
var $130=(($129+8)|0);
var $131=HEAP32[(($130)>>2)];
var $143 = $131;label = 6; break;
case 5:
$37=$106;
var $133=$37;
var $134=(($133)|0);
$36=$134;
var $135=$36;
var $136=$135;
$35=$136;
var $137=$35;
var $138=(($137)|0);
var $139=(($138)|0);
var $140=$139;
var $141=(($140+4)|0);
var $142=(($141)|0);
var $143 = $142;label = 6; break;
case 6:
var $143;
$__old_p=$143;
var $144=$73;
var $145=$__ms;
var $146=Math.floor(((($145)>>>(0)))/(2));
var $147=((($146)-(16))|0);
var $148=(($144)>>>(0)) < (($147)>>>(0));
if ($148) { label = 7; break; } else { label = 14; break; }
case 7:
var $150=$73;
var $151=$74;
var $152=((($150)+($151))|0);
HEAP32[(($80)>>2)]=$152;
var $153=$73;
var $154=($153<<1);
HEAP32[(($81)>>2)]=$154;
$23=$80;
$24=$81;
var $155=$23;
var $156=$24;
$21=$155;
$22=$156;
var $157=$21;
var $158=$22;
$18=$__comp_i_i;
$19=$157;
$20=$158;
var $159=$18;
var $160=$19;
var $161=HEAP32[(($160)>>2)];
var $162=$20;
var $163=HEAP32[(($162)>>2)];
var $164=(($161)>>>(0)) < (($163)>>>(0));
if ($164) { label = 8; break; } else { label = 9; break; }
case 8:
var $166=$22;
var $169 = $166;label = 10; break;
case 9:
var $168=$21;
var $169 = $168;label = 10; break;
case 10:
var $169;
var $170=HEAP32[(($169)>>2)];
$14=$170;
var $171=$14;
var $172=(($171)>>>(0)) < 2;
if ($172) { label = 11; break; } else { label = 12; break; }
case 11:
var $180 = 2;label = 13; break;
case 12:
var $175=$14;
var $176=((($175)+(1))|0);
$13=$176;
var $177=$13;
var $178=((($177)+(3))|0);
var $179=$178 & -4;
var $180 = $179;label = 13; break;
case 13:
var $180;
var $181=((($180)-(1))|0);
var $186 = $181;label = 15; break;
case 14:
var $183=$__ms;
var $184=((($183)-(1))|0);
var $186 = $184;label = 15; break;
case 15:
var $186;
$__cap=$186;
$9=$83;
var $187=$9;
var $188=(($187)|0);
$8=$188;
var $189=$8;
var $190=$189;
$7=$190;
var $191=$7;
var $192=$191;
var $193=$__cap;
var $194=((($193)+(1))|0);
$4=$192;
$5=$194;
var $195=$4;
var $196=$5;
$1=$195;
$2=$196;
$3=0;
var $197=$1;
var $198=$2;
var $199=($198<<2);
var $200=__Znwj($199);
var $201=$200;
$__p=$201;
$6=$83;
var $202=$6;
var $203=$76;
var $204=(($203)|(0))!=0;
if ($204) { label = 16; break; } else { label = 17; break; }
case 16:
var $206=$__p;
var $207=$__old_p;
var $208=$76;
$10=$206;
$11=$207;
$12=$208;
var $209=$10;
var $210=$11;
var $211=$12;
var $212=_wmemcpy($209, $210, $211);
label = 17; break;
case 17:
var $214=$78;
var $215=(($214)|(0))!=0;
if ($215) { label = 18; break; } else { label = 19; break; }
case 18:
var $217=$__p;
var $218=$76;
var $219=(($217+($218<<2))|0);
var $220=$79;
var $221=$78;
$15=$219;
$16=$220;
$17=$221;
var $222=$15;
var $223=$16;
var $224=$17;
var $225=_wmemcpy($222, $223, $224);
label = 19; break;
case 19:
var $227=$75;
var $228=$77;
var $229=((($227)-($228))|0);
var $230=$76;
var $231=((($229)-($230))|0);
$__sec_cp_sz=$231;
var $232=$__sec_cp_sz;
var $233=(($232)|(0))!=0;
if ($233) { label = 20; break; } else { label = 21; break; }
case 20:
var $235=$__p;
var $236=$76;
var $237=(($235+($236<<2))|0);
var $238=$78;
var $239=(($237+($238<<2))|0);
var $240=$__old_p;
var $241=$76;
var $242=(($240+($241<<2))|0);
var $243=$77;
var $244=(($242+($243<<2))|0);
var $245=$__sec_cp_sz;
$26=$239;
$27=$244;
$28=$245;
var $246=$26;
var $247=$27;
var $248=$28;
var $249=_wmemcpy($246, $247, $248);
label = 21; break;
case 21:
var $251=$73;
var $252=((($251)+(1))|0);
var $253=(($252)|(0))!=2;
if ($253) { label = 22; break; } else { label = 23; break; }
case 22:
$31=$83;
var $255=$31;
var $256=(($255)|0);
$30=$256;
var $257=$30;
var $258=$257;
$29=$258;
var $259=$29;
var $260=$259;
var $261=$__old_p;
var $262=$73;
var $263=((($262)+(1))|0);
$45=$260;
$46=$261;
$47=$263;
var $264=$45;
var $265=$46;
var $266=$47;
$42=$264;
$43=$265;
$44=$266;
var $267=$42;
var $268=$43;
var $269=$268;
__ZdlPv($269);
label = 23; break;
case 23:
var $271=$__p;
$50=$83;
$51=$271;
var $272=$50;
var $273=$51;
var $274=(($272)|0);
$49=$274;
var $275=$49;
var $276=$275;
$48=$276;
var $277=$48;
var $278=(($277)|0);
var $279=(($278)|0);
var $280=$279;
var $281=(($280+8)|0);
HEAP32[(($281)>>2)]=$273;
var $282=$__cap;
var $283=((($282)+(1))|0);
$54=$83;
$55=$283;
var $284=$54;
var $285=$55;
var $286=1 | $285;
var $287=(($284)|0);
$53=$287;
var $288=$53;
var $289=$288;
$52=$289;
var $290=$52;
var $291=(($290)|0);
var $292=(($291)|0);
var $293=$292;
var $294=(($293)|0);
HEAP32[(($294)>>2)]=$286;
var $295=$76;
var $296=$78;
var $297=((($295)+($296))|0);
var $298=$__sec_cp_sz;
var $299=((($297)+($298))|0);
$75=$299;
var $300=$75;
$58=$83;
$59=$300;
var $301=$58;
var $302=$59;
var $303=(($301)|0);
$57=$303;
var $304=$57;
var $305=$304;
$56=$305;
var $306=$56;
var $307=(($306)|0);
var $308=(($307)|0);
var $309=$308;
var $310=(($309+4)|0);
HEAP32[(($310)>>2)]=$302;
var $311=$75;
var $312=$__p;
var $313=(($312+($311<<2))|0);
HEAP32[(($82)>>2)]=0;
$60=$313;
$61=$82;
var $314=$61;
var $315=HEAP32[(($314)>>2)];
var $316=$60;
HEAP32[(($316)>>2)]=$315;
STACKTOP = __stackBase__;
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE5imbueERKNS_6localeE($this, $0) {
var label = 0;
var $2;
var $3;
$2=$this;
$3=$0;
var $4=$2;
return;
}
function __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6setbufEPci($this, $0, $1) {
var label = 0;
var $3;
var $4;
var $5;
$3=$this;
$4=$0;
$5=$1;
var $6=$3;
return $6;
}
function __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE4syncEv($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
return 0;
}
function __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE9showmanycEv($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
return 0;
}
function __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE9underflowEv($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
return -1;
}
function __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE9pbackfailEi($this, $0) {
var label = 0;
var $2;
var $3;
$2=$this;
$3=$0;
var $4=$2;
return -1;
}
function __ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9__grow_byEjjjjjj($this, $__old_cap, $__delta_cap, $__old_sz, $__n_copy, $__n_del, $__n_add) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 28)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $__comp_i_i=__stackBase__;
var $20;
var $21;
var $22=(__stackBase__)+(4);
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $49;
var $50;
var $51;
var $52;
var $53;
var $54=(__stackBase__)+(8);
var $55;
var $56;
var $57=(__stackBase__)+(12);
var $58=(__stackBase__)+(16);
var $59;
var $60;
var $61;
var $62;
var $__m_i;
var $63;
var $64;
var $65;
var $66;
var $67;
var $68;
var $69;
var $__ms;
var $__old_p;
var $__cap;
var $70=(__stackBase__)+(20);
var $71=(__stackBase__)+(24);
var $__p;
var $__sec_cp_sz;
$63=$this;
$64=$__old_cap;
$65=$__delta_cap;
$66=$__old_sz;
$67=$__n_copy;
$68=$__n_del;
$69=$__n_add;
var $72=$63;
$62=$72;
var $73=$62;
$61=$73;
var $74=$61;
var $75=(($74)|0);
$60=$75;
var $76=$60;
var $77=$76;
$59=$77;
var $78=$59;
var $79=$78;
$56=$79;
var $80=$58;
var $81=$56;
$55=$81;
var $82=$55;
$53=$82;
var $83=$53;
$__m_i=1073741823;
var $84=$__m_i;
var $85=((($84)-(1))|0);
$__ms=$85;
var $86=$65;
var $87=$__ms;
var $88=$64;
var $89=((($87)-($88))|0);
var $90=((($89)-(1))|0);
var $91=(($86)>>>(0)) > (($90)>>>(0));
if ($91) { label = 2; break; } else { label = 3; break; }
case 2:
var $93=$72;
__ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($93);
label = 3; break;
case 3:
$38=$72;
var $95=$38;
$37=$95;
var $96=$37;
var $97=(($96)|0);
$36=$97;
var $98=$36;
var $99=$98;
$35=$99;
var $100=$35;
var $101=(($100)|0);
var $102=(($101)|0);
var $103=$102;
var $104=(($103)|0);
var $105=$104;
var $106=HEAP8[($105)];
var $107=(($106)&(255));
var $108=$107 & 1;
var $109=(($108)|(0))!=0;
if ($109) { label = 4; break; } else { label = 5; break; }
case 4:
$31=$95;
var $111=$31;
var $112=(($111)|0);
$30=$112;
var $113=$30;
var $114=$113;
$29=$114;
var $115=$29;
var $116=(($115)|0);
var $117=(($116)|0);
var $118=$117;
var $119=(($118+8)|0);
var $120=HEAP32[(($119)>>2)];
var $132 = $120;label = 6; break;
case 5:
$34=$95;
var $122=$34;
var $123=(($122)|0);
$33=$123;
var $124=$33;
var $125=$124;
$32=$125;
var $126=$32;
var $127=(($126)|0);
var $128=(($127)|0);
var $129=$128;
var $130=(($129+4)|0);
var $131=(($130)|0);
var $132 = $131;label = 6; break;
case 6:
var $132;
$__old_p=$132;
var $133=$64;
var $134=$__ms;
var $135=Math.floor(((($134)>>>(0)))/(2));
var $136=((($135)-(16))|0);
var $137=(($133)>>>(0)) < (($136)>>>(0));
if ($137) { label = 7; break; } else { label = 14; break; }
case 7:
var $139=$64;
var $140=$65;
var $141=((($139)+($140))|0);
HEAP32[(($70)>>2)]=$141;
var $142=$64;
var $143=($142<<1);
HEAP32[(($71)>>2)]=$143;
$20=$70;
$21=$71;
var $144=$20;
var $145=$21;
$18=$144;
$19=$145;
var $146=$18;
var $147=$19;
$15=$__comp_i_i;
$16=$146;
$17=$147;
var $148=$15;
var $149=$16;
var $150=HEAP32[(($149)>>2)];
var $151=$17;
var $152=HEAP32[(($151)>>2)];
var $153=(($150)>>>(0)) < (($152)>>>(0));
if ($153) { label = 8; break; } else { label = 9; break; }
case 8:
var $155=$19;
var $158 = $155;label = 10; break;
case 9:
var $157=$18;
var $158 = $157;label = 10; break;
case 10:
var $158;
var $159=HEAP32[(($158)>>2)];
$11=$159;
var $160=$11;
var $161=(($160)>>>(0)) < 2;
if ($161) { label = 11; break; } else { label = 12; break; }
case 11:
var $169 = 2;label = 13; break;
case 12:
var $164=$11;
var $165=((($164)+(1))|0);
$10=$165;
var $166=$10;
var $167=((($166)+(3))|0);
var $168=$167 & -4;
var $169 = $168;label = 13; break;
case 13:
var $169;
var $170=((($169)-(1))|0);
var $175 = $170;label = 15; break;
case 14:
var $172=$__ms;
var $173=((($172)-(1))|0);
var $175 = $173;label = 15; break;
case 15:
var $175;
$__cap=$175;
$3=$72;
var $176=$3;
var $177=(($176)|0);
$2=$177;
var $178=$2;
var $179=$178;
$1=$179;
var $180=$1;
var $181=$180;
var $182=$__cap;
var $183=((($182)+(1))|0);
$7=$181;
$8=$183;
var $184=$7;
var $185=$8;
$4=$184;
$5=$185;
$6=0;
var $186=$4;
var $187=$5;
var $188=($187<<2);
var $189=__Znwj($188);
var $190=$189;
$__p=$190;
$9=$72;
var $191=$9;
var $192=$67;
var $193=(($192)|(0))!=0;
if ($193) { label = 16; break; } else { label = 17; break; }
case 16:
var $195=$__p;
var $196=$__old_p;
var $197=$67;
$12=$195;
$13=$196;
$14=$197;
var $198=$12;
var $199=$13;
var $200=$14;
var $201=_wmemcpy($198, $199, $200);
label = 17; break;
case 17:
var $203=$66;
var $204=$68;
var $205=((($203)-($204))|0);
var $206=$67;
var $207=((($205)-($206))|0);
$__sec_cp_sz=$207;
var $208=$__sec_cp_sz;
var $209=(($208)|(0))!=0;
if ($209) { label = 18; break; } else { label = 19; break; }
case 18:
var $211=$__p;
var $212=$67;
var $213=(($211+($212<<2))|0);
var $214=$69;
var $215=(($213+($214<<2))|0);
var $216=$__old_p;
var $217=$67;
var $218=(($216+($217<<2))|0);
var $219=$68;
var $220=(($218+($219<<2))|0);
var $221=$__sec_cp_sz;
$23=$215;
$24=$220;
$25=$221;
var $222=$23;
var $223=$24;
var $224=$25;
var $225=_wmemcpy($222, $223, $224);
label = 19; break;
case 19:
var $227=$64;
var $228=((($227)+(1))|0);
var $229=(($228)|(0))!=2;
if ($229) { label = 20; break; } else { label = 21; break; }
case 20:
$28=$72;
var $231=$28;
var $232=(($231)|0);
$27=$232;
var $233=$27;
var $234=$233;
$26=$234;
var $235=$26;
var $236=$235;
var $237=$__old_p;
var $238=$64;
var $239=((($238)+(1))|0);
$42=$236;
$43=$237;
$44=$239;
var $240=$42;
var $241=$43;
var $242=$44;
$39=$240;
$40=$241;
$41=$242;
var $243=$39;
var $244=$40;
var $245=$244;
__ZdlPv($245);
label = 21; break;
case 21:
var $247=$__p;
$47=$72;
$48=$247;
var $248=$47;
var $249=$48;
var $250=(($248)|0);
$46=$250;
var $251=$46;
var $252=$251;
$45=$252;
var $253=$45;
var $254=(($253)|0);
var $255=(($254)|0);
var $256=$255;
var $257=(($256+8)|0);
HEAP32[(($257)>>2)]=$249;
var $258=$__cap;
var $259=((($258)+(1))|0);
$51=$72;
$52=$259;
var $260=$51;
var $261=$52;
var $262=1 | $261;
var $263=(($260)|0);
$50=$263;
var $264=$50;
var $265=$264;
$49=$265;
var $266=$49;
var $267=(($266)|0);
var $268=(($267)|0);
var $269=$268;
var $270=(($269)|0);
HEAP32[(($270)>>2)]=$262;
STACKTOP = __stackBase__;
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__19basic_iosIcNS_11char_traitsIcEEED0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__19basic_iosIcNS_11char_traitsIcEEED1Ev($2);
var $3=$2;
__ZdlPv($3);
return;
}
function __ZNSt3__19basic_iosIcNS_11char_traitsIcEEED1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__19basic_iosIcNS_11char_traitsIcEEED2Ev($2);
return;
}
function __ZNSt3__19basic_iosIcNS_11char_traitsIcEEED2Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
__ZNSt3__18ios_baseD2Ev($3);
return;
}
function __ZNSt3__18ios_base16__call_callbacksENS0_5eventE($this, $ev) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $i;
$1=$this;
$2=$ev;
var $3=$1;
var $4=(($3+40)|0);
var $5=HEAP32[(($4)>>2)];
$i=$5;
label = 2; break;
case 2:
var $7=$i;
var $8=(($7)|(0))!=0;
if ($8) { label = 3; break; } else { label = 4; break; }
case 3:
var $10=$i;
var $11=((($10)-(1))|0);
$i=$11;
var $12=$i;
var $13=(($3+32)|0);
var $14=HEAP32[(($13)>>2)];
var $15=(($14+($12<<2))|0);
var $16=HEAP32[(($15)>>2)];
var $17=$2;
var $18=$i;
var $19=(($3+36)|0);
var $20=HEAP32[(($19)>>2)];
var $21=(($20+($18<<2))|0);
var $22=HEAP32[(($21)>>2)];
FUNCTION_TABLE[$16]($17, $3, $22);
label = 2; break;
case 4:
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNKSt3__18ios_base6getlocEv($agg_result, $this) {
var label = 0;
var $1;
var $loc_storage;
$1=$this;
var $2=$1;
var $3=(($2+28)|0);
var $4=$3;
$loc_storage=$4;
var $5=$loc_storage;
__ZNSt3__16localeC2ERKS0_($agg_result, $5);
return;
}
function __ZNSt3__18ios_base4initEPv($this, $sb) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
$1=$this;
$2=$sb;
var $3=$1;
var $4=$2;
var $5=(($3+24)|0);
HEAP32[(($5)>>2)]=$4;
var $6=(($3+24)|0);
var $7=HEAP32[(($6)>>2)];
var $8=(($7)|(0))!=0;
var $9=$8 ? 0 : 1;
var $10=(($3+16)|0);
HEAP32[(($10)>>2)]=$9;
var $11=(($3+20)|0);
HEAP32[(($11)>>2)]=0;
var $12=(($3+4)|0);
HEAP32[(($12)>>2)]=4098;
var $13=(($3+12)|0);
HEAP32[(($13)>>2)]=0;
var $14=(($3+8)|0);
HEAP32[(($14)>>2)]=6;
var $15=(($3+32)|0);
HEAP32[(($15)>>2)]=0;
var $16=(($3+36)|0);
HEAP32[(($16)>>2)]=0;
var $17=(($3+40)|0);
HEAP32[(($17)>>2)]=0;
var $18=(($3+44)|0);
HEAP32[(($18)>>2)]=0;
var $19=(($3+48)|0);
HEAP32[(($19)>>2)]=0;
var $20=(($3+52)|0);
HEAP32[(($20)>>2)]=0;
var $21=(($3+56)|0);
HEAP32[(($21)>>2)]=0;
var $22=(($3+60)|0);
HEAP32[(($22)>>2)]=0;
var $23=(($3+64)|0);
HEAP32[(($23)>>2)]=0;
var $24=(($3+68)|0);
HEAP32[(($24)>>2)]=0;
var $25=(($3+28)|0);
var $26=$25;
var $27=(($26)|(0))==0;
if ($27) { var $31 = 0;label = 3; break; } else { label = 2; break; }
case 2:
var $29=$26;
__ZNSt3__16localeC2Ev($29);
var $31 = $29;label = 3; break;
case 3:
var $31;
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__19basic_iosIwNS_11char_traitsIwEEED0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__19basic_iosIwNS_11char_traitsIwEEED1Ev($2);
var $3=$2;
__ZdlPv($3);
return;
}
function __ZNSt3__19basic_iosIwNS_11char_traitsIwEEED1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__19basic_iosIwNS_11char_traitsIwEEED2Ev($2);
return;
}
function __ZNSt3__19basic_iosIwNS_11char_traitsIwEEED2Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
__ZNSt3__18ios_baseD2Ev($3);
return;
}
function __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEED0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEED1Ev($2);
var $3=$2;
__ZdlPv($3);
return;
}
function __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEED1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__115basic_streambufIcNS_11char_traitsIcEEED2Ev($2);
return;
}
function __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEED2Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
HEAP32[(($3)>>2)]=((5249416)|0);
var $4=(($2+4)|0);
__ZNSt3__16localeD2Ev($4);
return;
}
function __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEEC2Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
HEAP32[(($3)>>2)]=((5249416)|0);
var $4=(($2+4)|0);
__ZNSt3__16localeC2Ev($4);
var $5=(($2+8)|0);
HEAP32[(($5)>>2)]=0;
var $6=(($2+12)|0);
HEAP32[(($6)>>2)]=0;
var $7=(($2+16)|0);
HEAP32[(($7)>>2)]=0;
var $8=(($2+20)|0);
HEAP32[(($8)>>2)]=0;
var $9=(($2+24)|0);
HEAP32[(($9)>>2)]=0;
var $10=(($2+28)|0);
HEAP32[(($10)>>2)]=0;
return;
}
function __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj($agg_result, $this, $0$0, $0$1, $1, $2) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 24)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
var $4;
var $5=__stackBase__;
var $6;
var $7=(__stackBase__)+(8);
var $8;
var $9=(__stackBase__)+(16);
var $10;
var $11;
$8=$this;
var $st$0$0=(($9)|0);
HEAP32[(($st$0$0)>>2)]=$0$0;
var $st$1$1=(($9+4)|0);
HEAP32[(($st$1$1)>>2)]=$0$1;
$10=$1;
$11=$2;
var $12=$8;
$6=$agg_result;
var $$etemp$2$0=-1;
var $$etemp$2$1=-1;
var $st$3$0=(($7)|0);
HEAP32[(($st$3$0)>>2)]=$$etemp$2$0;
var $st$4$1=(($7+4)|0);
HEAP32[(($st$4$1)>>2)]=$$etemp$2$1;
var $13=$6;
var $ld$5$0=(($7)|0);
var $14$0=HEAP32[(($ld$5$0)>>2)];
var $ld$6$1=(($7+4)|0);
var $14$1=HEAP32[(($ld$6$1)>>2)];
$4=$13;
var $st$7$0=(($5)|0);
HEAP32[(($st$7$0)>>2)]=$14$0;
var $st$8$1=(($5+4)|0);
HEAP32[(($st$8$1)>>2)]=$14$1;
var $15=$4;
var $16=(($15)|0);
var $17=$16;
HEAP32[(($17)>>2)]=0; HEAP32[((($17)+(4))>>2)]=0;
var $18=(($15+8)|0);
var $ld$9$0=(($5)|0);
var $19$0=HEAP32[(($ld$9$0)>>2)];
var $ld$10$1=(($5+4)|0);
var $19$1=HEAP32[(($ld$10$1)>>2)];
var $st$11$0=(($18)|0);
HEAP32[(($st$11$0)>>2)]=$19$0;
var $st$12$1=(($18+4)|0);
HEAP32[(($st$12$1)>>2)]=$19$1;
STACKTOP = __stackBase__;
return;
}
function __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE7seekposENS_4fposI10_mbstate_tEEj($agg_result, $this, $0, $1) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 16)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
var tempParam = $0; $0 = STACKTOP;STACKTOP = (STACKTOP + 16)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($0)>>2)]=HEAP32[((tempParam)>>2)];HEAP32[((($0)+(4))>>2)]=HEAP32[(((tempParam)+(4))>>2)];HEAP32[((($0)+(8))>>2)]=HEAP32[(((tempParam)+(8))>>2)];HEAP32[((($0)+(12))>>2)]=HEAP32[(((tempParam)+(12))>>2)];
var $3;
var $4=__stackBase__;
var $5;
var $6=(__stackBase__)+(8);
var $7;
var $8;
$7=$this;
$8=$1;
var $9=$7;
$5=$agg_result;
var $$etemp$0$0=-1;
var $$etemp$0$1=-1;
var $st$1$0=(($6)|0);
HEAP32[(($st$1$0)>>2)]=$$etemp$0$0;
var $st$2$1=(($6+4)|0);
HEAP32[(($st$2$1)>>2)]=$$etemp$0$1;
var $10=$5;
var $ld$3$0=(($6)|0);
var $11$0=HEAP32[(($ld$3$0)>>2)];
var $ld$4$1=(($6+4)|0);
var $11$1=HEAP32[(($ld$4$1)>>2)];
$3=$10;
var $st$5$0=(($4)|0);
HEAP32[(($st$5$0)>>2)]=$11$0;
var $st$6$1=(($4+4)|0);
HEAP32[(($st$6$1)>>2)]=$11$1;
var $12=$3;
var $13=(($12)|0);
var $14=$13;
HEAP32[(($14)>>2)]=0; HEAP32[((($14)+(4))>>2)]=0;
var $15=(($12+8)|0);
var $ld$7$0=(($4)|0);
var $16$0=HEAP32[(($ld$7$0)>>2)];
var $ld$8$1=(($4+4)|0);
var $16$1=HEAP32[(($ld$8$1)>>2)];
var $st$9$0=(($15)|0);
HEAP32[(($st$9$0)>>2)]=$16$0;
var $st$10$1=(($15+4)|0);
HEAP32[(($st$10$1)>>2)]=$16$1;
STACKTOP = __stackBase__;
return;
}
function __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6xsgetnEPci($this, $__s, $__n) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $__eof;
var $__c;
var $__i;
$2=$this;
$3=$__s;
$4=$__n;
var $5=$2;
$__eof=-1;
$__i=0;
label = 2; break;
case 2:
var $7=$__i;
var $8=$4;
var $9=(($7)|(0)) < (($8)|(0));
if ($9) { label = 3; break; } else { label = 11; break; }
case 3:
var $11=(($5+12)|0);
var $12=HEAP32[(($11)>>2)];
var $13=(($5+16)|0);
var $14=HEAP32[(($13)>>2)];
var $15=(($12)>>>(0)) < (($14)>>>(0));
if ($15) { label = 4; break; } else { label = 5; break; }
case 4:
var $17=(($5+12)|0);
var $18=HEAP32[(($17)>>2)];
var $19=(($18+1)|0);
HEAP32[(($17)>>2)]=$19;
var $20=HEAP8[($18)];
var $21=$3;
HEAP8[($21)]=$20;
label = 9; break;
case 5:
var $23=$5;
var $24=HEAP32[(($23)>>2)];
var $25=(($24+40)|0);
var $26=HEAP32[(($25)>>2)];
var $27=FUNCTION_TABLE[$26]($5);
$__c=$27;
var $28=(($27)|(0))!=-1;
if ($28) { label = 6; break; } else { label = 7; break; }
case 6:
var $30=$__c;
$1=$30;
var $31=$1;
var $32=(($31) & 255);
var $33=$3;
HEAP8[($33)]=$32;
label = 8; break;
case 7:
label = 11; break;
case 8:
label = 9; break;
case 9:
label = 10; break;
case 10:
var $38=$__i;
var $39=((($38)+(1))|0);
$__i=$39;
var $40=$3;
var $41=(($40+1)|0);
$3=$41;
label = 2; break;
case 11:
var $43=$__i;
return $43;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE5uflowEv($this) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
$3=$this;
var $4=$3;
var $5=$4;
var $6=HEAP32[(($5)>>2)];
var $7=(($6+36)|0);
var $8=HEAP32[(($7)>>2)];
var $9=FUNCTION_TABLE[$8]($4);
var $10=(($9)|(0))==-1;
if ($10) { label = 2; break; } else { label = 3; break; }
case 2:
$2=-1;
label = 4; break;
case 3:
var $13=(($4+12)|0);
var $14=HEAP32[(($13)>>2)];
var $15=(($14+1)|0);
HEAP32[(($13)>>2)]=$15;
var $16=HEAP8[($14)];
$1=$16;
var $17=$1;
var $18=(($17)&(255));
$2=$18;
label = 4; break;
case 4:
var $20=$2;
return $20;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__18ios_base5clearEj($this, $state) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 16)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11=__stackBase__;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17=(__stackBase__)+(8);
var $18;
var $19;
$15=$this;
$16=$state;
var $20=$15;
var $21=(($20+24)|0);
var $22=HEAP32[(($21)>>2)];
var $23=(($22)|(0))!=0;
if ($23) { label = 2; break; } else { label = 3; break; }
case 2:
var $25=$16;
var $26=(($20+16)|0);
HEAP32[(($26)>>2)]=$25;
label = 4; break;
case 3:
var $28=$16;
var $29=$28 | 1;
var $30=(($20+16)|0);
HEAP32[(($30)>>2)]=$29;
label = 4; break;
case 4:
var $32=$16;
var $33=(($20+24)|0);
var $34=HEAP32[(($33)>>2)];
var $35=(($34)|(0))!=0;
var $36=$35 ? 0 : 1;
var $37=$32 | $36;
var $38=(($20+20)|0);
var $39=HEAP32[(($38)>>2)];
var $40=$37 & $39;
var $41=(($40)|(0))!=0;
if ($41) { label = 5; break; } else { label = 8; break; }
case 5:
var $43=___cxa_allocate_exception(16);
var $44=$43;
$12=$17;
$13=1;
$14=0;
var $45=$12;
var $46=$13;
var $47=$14;
$8=$45;
$9=$46;
$10=$47;
var $48=$8;
var $49=$9;
$7=$49;
var $50=$7;
var $51=__ZNSt3__117iostream_categoryEv();
$4=$11;
$5=$50;
$6=$51;
var $52=$4;
var $53=$5;
var $54=$6;
$1=$52;
$2=$53;
$3=$54;
var $55=$1;
var $56=(($55)|0);
var $57=$2;
HEAP32[(($56)>>2)]=$57;
var $58=(($55+4)|0);
var $59=$3;
HEAP32[(($58)>>2)]=$59;
var $60=$48;
var $61=$11;
assert(8 % 1 === 0);HEAP32[(($60)>>2)]=HEAP32[(($61)>>2)];HEAP32[((($60)+(4))>>2)]=HEAP32[((($61)+(4))>>2)];
(function() { try { __THREW__ = 0; return __ZNSt3__18ios_base7failureC2EPKcRKNS_10error_codeE($44, ((5244120)|0), $17) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 6; break; } else { label = 7; break; }
case 6:
___cxa_throw($43, 5253732, (504));
throw "Reached an unreachable!"
case 7:
var $64$0 = ___cxa_find_matching_catch(-1, -1); $64$1 = tempRet0;
var $65=$64$0;
$18=$65;
var $66=$64$1;
$19=$66;
___cxa_free_exception($43);
label = 9; break;
case 8:
STACKTOP = __stackBase__;
return;
case 9:
var $69=$18;
var $70=$19;
var $71$0=$69;
var $71$1=0;
var $72$0=$71$0;
var $72$1=$70;
___resumeException($72$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__18ios_baseD2Ev($this) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $loc_storage;
$1=$this;
var $2=$1;
var $3=$2;
HEAP32[(($3)>>2)]=((5248376)|0);
(function() { try { __THREW__ = 0; return __ZNSt3__18ios_base16__call_callbacksENS0_5eventE($2, 0) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 2; break; } else { label = 3; break; }
case 2:
var $5=(($2+28)|0);
var $6=$5;
$loc_storage=$6;
var $7=$loc_storage;
__ZNSt3__16localeD2Ev($7);
var $8=(($2+32)|0);
var $9=HEAP32[(($8)>>2)];
var $10=$9;
_free($10);
var $11=(($2+36)|0);
var $12=HEAP32[(($11)>>2)];
var $13=$12;
_free($13);
var $14=(($2+48)|0);
var $15=HEAP32[(($14)>>2)];
var $16=$15;
_free($16);
var $17=(($2+60)|0);
var $18=HEAP32[(($17)>>2)];
var $19=$18;
_free($19);
return;
case 3:
var $21$0 = ___cxa_find_matching_catch(-1, -1,0); $21$1 = tempRet0;
__ZSt9terminatev();
throw "Reached an unreachable!"
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE8overflowEi($this, $0) {
var label = 0;
var $2;
var $3;
$2=$this;
$3=$0;
var $4=$2;
return -1;
}
function __ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE5imbueERKNS_6localeE($this, $0) {
var label = 0;
var $2;
var $3;
$2=$this;
$3=$0;
var $4=$2;
return;
}
function __ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE6setbufEPwi($this, $0, $1) {
var label = 0;
var $3;
var $4;
var $5;
$3=$this;
$4=$0;
$5=$1;
var $6=$3;
return $6;
}
function __ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE4syncEv($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
return 0;
}
function __ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE9showmanycEv($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
return 0;
}
function __ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE9underflowEv($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
return -1;
}
function __ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE9pbackfailEj($this, $0) {
var label = 0;
var $2;
var $3;
$2=$this;
$3=$0;
var $4=$2;
return -1;
}
function __ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE8overflowEj($this, $0) {
var label = 0;
var $2;
var $3;
$2=$this;
$3=$0;
var $4=$2;
return -1;
}
function __ZNSt3__113basic_istreamIcNS_11char_traitsIcEEED2Ev($this, $vtt) {
var label = 0;
var $1;
var $2;
$1=$this;
$2=$vtt;
var $3=$1;
var $4=$2;
return;
}
function __ZNSt3__113basic_istreamIwNS_11char_traitsIwEEED2Ev($this, $vtt) {
var label = 0;
var $1;
var $2;
$1=$this;
$2=$vtt;
var $3=$1;
var $4=$2;
return;
}
function __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6xsputnEPKci($this, $__s, $__n) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $__i;
var $__eof;
$2=$this;
$3=$__s;
$4=$__n;
var $5=$2;
$__i=0;
$__eof=-1;
label = 2; break;
case 2:
var $7=$__i;
var $8=$4;
var $9=(($7)|(0)) < (($8)|(0));
if ($9) { label = 3; break; } else { label = 10; break; }
case 3:
var $11=(($5+24)|0);
var $12=HEAP32[(($11)>>2)];
var $13=(($5+28)|0);
var $14=HEAP32[(($13)>>2)];
var $15=(($12)>>>(0)) < (($14)>>>(0));
if ($15) { label = 4; break; } else { label = 5; break; }
case 4:
var $17=$3;
var $18=HEAP8[($17)];
var $19=(($5+24)|0);
var $20=HEAP32[(($19)>>2)];
var $21=(($20+1)|0);
HEAP32[(($19)>>2)]=$21;
HEAP8[($20)]=$18;
label = 8; break;
case 5:
var $23=$5;
var $24=HEAP32[(($23)>>2)];
var $25=(($24+52)|0);
var $26=HEAP32[(($25)>>2)];
var $27=$3;
var $28=HEAP8[($27)];
$1=$28;
var $29=$1;
var $30=(($29)&(255));
var $31=FUNCTION_TABLE[$26]($5, $30);
var $32=$__eof;
var $33=(($31)|(0))==(($32)|(0));
if ($33) { label = 6; break; } else { label = 7; break; }
case 6:
label = 10; break;
case 7:
label = 8; break;
case 8:
label = 9; break;
case 9:
var $38=$3;
var $39=(($38+1)|0);
$3=$39;
var $40=$__i;
var $41=((($40)+(1))|0);
$__i=$41;
label = 2; break;
case 10:
var $43=$__i;
return $43;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__115basic_streambufIwNS_11char_traitsIwEEED0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__115basic_streambufIwNS_11char_traitsIwEEED1Ev($2);
var $3=$2;
__ZdlPv($3);
return;
}
function __ZNSt3__115basic_streambufIwNS_11char_traitsIwEEED1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__115basic_streambufIwNS_11char_traitsIwEEED2Ev($2);
return;
}
function __ZNSt3__115basic_streambufIwNS_11char_traitsIwEEED2Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
HEAP32[(($3)>>2)]=((5249348)|0);
var $4=(($2+4)|0);
__ZNSt3__16localeD2Ev($4);
return;
}
function __ZNSt3__115basic_streambufIwNS_11char_traitsIwEEEC2Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
HEAP32[(($3)>>2)]=((5249348)|0);
var $4=(($2+4)|0);
__ZNSt3__16localeC2Ev($4);
var $5=(($2+8)|0);
HEAP32[(($5)>>2)]=0;
var $6=(($2+12)|0);
HEAP32[(($6)>>2)]=0;
var $7=(($2+16)|0);
HEAP32[(($7)>>2)]=0;
var $8=(($2+20)|0);
HEAP32[(($8)>>2)]=0;
var $9=(($2+24)|0);
HEAP32[(($9)>>2)]=0;
var $10=(($2+28)|0);
HEAP32[(($10)>>2)]=0;
return;
}
function __ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE7seekoffExNS_8ios_base7seekdirEj($agg_result, $this, $0$0, $0$1, $1, $2) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 24)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
var $4;
var $5=__stackBase__;
var $6;
var $7=(__stackBase__)+(8);
var $8;
var $9=(__stackBase__)+(16);
var $10;
var $11;
$8=$this;
var $st$0$0=(($9)|0);
HEAP32[(($st$0$0)>>2)]=$0$0;
var $st$1$1=(($9+4)|0);
HEAP32[(($st$1$1)>>2)]=$0$1;
$10=$1;
$11=$2;
var $12=$8;
$6=$agg_result;
var $$etemp$2$0=-1;
var $$etemp$2$1=-1;
var $st$3$0=(($7)|0);
HEAP32[(($st$3$0)>>2)]=$$etemp$2$0;
var $st$4$1=(($7+4)|0);
HEAP32[(($st$4$1)>>2)]=$$etemp$2$1;
var $13=$6;
var $ld$5$0=(($7)|0);
var $14$0=HEAP32[(($ld$5$0)>>2)];
var $ld$6$1=(($7+4)|0);
var $14$1=HEAP32[(($ld$6$1)>>2)];
$4=$13;
var $st$7$0=(($5)|0);
HEAP32[(($st$7$0)>>2)]=$14$0;
var $st$8$1=(($5+4)|0);
HEAP32[(($st$8$1)>>2)]=$14$1;
var $15=$4;
var $16=(($15)|0);
var $17=$16;
HEAP32[(($17)>>2)]=0; HEAP32[((($17)+(4))>>2)]=0;
var $18=(($15+8)|0);
var $ld$9$0=(($5)|0);
var $19$0=HEAP32[(($ld$9$0)>>2)];
var $ld$10$1=(($5+4)|0);
var $19$1=HEAP32[(($ld$10$1)>>2)];
var $st$11$0=(($18)|0);
HEAP32[(($st$11$0)>>2)]=$19$0;
var $st$12$1=(($18+4)|0);
HEAP32[(($st$12$1)>>2)]=$19$1;
STACKTOP = __stackBase__;
return;
}
function __ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE7seekposENS_4fposI10_mbstate_tEEj($agg_result, $this, $0, $1) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 16)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
var tempParam = $0; $0 = STACKTOP;STACKTOP = (STACKTOP + 16)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($0)>>2)]=HEAP32[((tempParam)>>2)];HEAP32[((($0)+(4))>>2)]=HEAP32[(((tempParam)+(4))>>2)];HEAP32[((($0)+(8))>>2)]=HEAP32[(((tempParam)+(8))>>2)];HEAP32[((($0)+(12))>>2)]=HEAP32[(((tempParam)+(12))>>2)];
var $3;
var $4=__stackBase__;
var $5;
var $6=(__stackBase__)+(8);
var $7;
var $8;
$7=$this;
$8=$1;
var $9=$7;
$5=$agg_result;
var $$etemp$0$0=-1;
var $$etemp$0$1=-1;
var $st$1$0=(($6)|0);
HEAP32[(($st$1$0)>>2)]=$$etemp$0$0;
var $st$2$1=(($6+4)|0);
HEAP32[(($st$2$1)>>2)]=$$etemp$0$1;
var $10=$5;
var $ld$3$0=(($6)|0);
var $11$0=HEAP32[(($ld$3$0)>>2)];
var $ld$4$1=(($6+4)|0);
var $11$1=HEAP32[(($ld$4$1)>>2)];
$3=$10;
var $st$5$0=(($4)|0);
HEAP32[(($st$5$0)>>2)]=$11$0;
var $st$6$1=(($4+4)|0);
HEAP32[(($st$6$1)>>2)]=$11$1;
var $12=$3;
var $13=(($12)|0);
var $14=$13;
HEAP32[(($14)>>2)]=0; HEAP32[((($14)+(4))>>2)]=0;
var $15=(($12+8)|0);
var $ld$7$0=(($4)|0);
var $16$0=HEAP32[(($ld$7$0)>>2)];
var $ld$8$1=(($4+4)|0);
var $16$1=HEAP32[(($ld$8$1)>>2)];
var $st$9$0=(($15)|0);
HEAP32[(($st$9$0)>>2)]=$16$0;
var $st$10$1=(($15+4)|0);
HEAP32[(($st$10$1)>>2)]=$16$1;
STACKTOP = __stackBase__;
return;
}
function __ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE6xsgetnEPwi($this, $__s, $__n) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $__eof;
var $__c;
var $__i;
$2=$this;
$3=$__s;
$4=$__n;
var $5=$2;
$__eof=-1;
$__i=0;
label = 2; break;
case 2:
var $7=$__i;
var $8=$4;
var $9=(($7)|(0)) < (($8)|(0));
if ($9) { label = 3; break; } else { label = 11; break; }
case 3:
var $11=(($5+12)|0);
var $12=HEAP32[(($11)>>2)];
var $13=(($5+16)|0);
var $14=HEAP32[(($13)>>2)];
var $15=(($12)>>>(0)) < (($14)>>>(0));
if ($15) { label = 4; break; } else { label = 5; break; }
case 4:
var $17=(($5+12)|0);
var $18=HEAP32[(($17)>>2)];
var $19=(($18+4)|0);
HEAP32[(($17)>>2)]=$19;
var $20=HEAP32[(($18)>>2)];
var $21=$3;
HEAP32[(($21)>>2)]=$20;
label = 9; break;
case 5:
var $23=$5;
var $24=HEAP32[(($23)>>2)];
var $25=(($24+40)|0);
var $26=HEAP32[(($25)>>2)];
var $27=FUNCTION_TABLE[$26]($5);
$__c=$27;
var $28=(($27)|(0))!=-1;
if ($28) { label = 6; break; } else { label = 7; break; }
case 6:
var $30=$__c;
$1=$30;
var $31=$1;
var $32=$3;
HEAP32[(($32)>>2)]=$31;
label = 8; break;
case 7:
label = 11; break;
case 8:
label = 9; break;
case 9:
label = 10; break;
case 10:
var $37=$__i;
var $38=((($37)+(1))|0);
$__i=$38;
var $39=$3;
var $40=(($39+4)|0);
$3=$40;
label = 2; break;
case 11:
var $42=$__i;
return $42;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE5uflowEv($this) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
$3=$this;
var $4=$3;
var $5=$4;
var $6=HEAP32[(($5)>>2)];
var $7=(($6+36)|0);
var $8=HEAP32[(($7)>>2)];
var $9=FUNCTION_TABLE[$8]($4);
var $10=(($9)|(0))==-1;
if ($10) { label = 2; break; } else { label = 3; break; }
case 2:
$2=-1;
label = 4; break;
case 3:
var $13=(($4+12)|0);
var $14=HEAP32[(($13)>>2)];
var $15=(($14+4)|0);
HEAP32[(($13)>>2)]=$15;
var $16=HEAP32[(($14)>>2)];
$1=$16;
var $17=$1;
$2=$17;
label = 4; break;
case 4:
var $19=$2;
return $19;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE6xsputnEPKwi($this, $__s, $__n) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $__i;
var $__eof;
$2=$this;
$3=$__s;
$4=$__n;
var $5=$2;
$__i=0;
$__eof=-1;
label = 2; break;
case 2:
var $7=$__i;
var $8=$4;
var $9=(($7)|(0)) < (($8)|(0));
if ($9) { label = 3; break; } else { label = 10; break; }
case 3:
var $11=(($5+24)|0);
var $12=HEAP32[(($11)>>2)];
var $13=(($5+28)|0);
var $14=HEAP32[(($13)>>2)];
var $15=(($12)>>>(0)) < (($14)>>>(0));
if ($15) { label = 4; break; } else { label = 5; break; }
case 4:
var $17=$3;
var $18=HEAP32[(($17)>>2)];
var $19=(($5+24)|0);
var $20=HEAP32[(($19)>>2)];
var $21=(($20+4)|0);
HEAP32[(($19)>>2)]=$21;
HEAP32[(($20)>>2)]=$18;
label = 8; break;
case 5:
var $23=$5;
var $24=HEAP32[(($23)>>2)];
var $25=(($24+52)|0);
var $26=HEAP32[(($25)>>2)];
var $27=$3;
var $28=HEAP32[(($27)>>2)];
$1=$28;
var $29=$1;
var $30=FUNCTION_TABLE[$26]($5, $29);
var $31=$__eof;
var $32=(($30)|(0))==(($31)|(0));
if ($32) { label = 6; break; } else { label = 7; break; }
case 6:
label = 10; break;
case 7:
label = 8; break;
case 8:
label = 9; break;
case 9:
var $37=$3;
var $38=(($37+4)|0);
$3=$38;
var $39=$__i;
var $40=((($39)+(1))|0);
$__i=$40;
label = 2; break;
case 10:
var $42=$__i;
return $42;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__113basic_istreamIcNS_11char_traitsIcEEED0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__113basic_istreamIcNS_11char_traitsIcEEED1Ev($2);
var $3=$2;
__ZdlPv($3);
return;
}
function __ZNSt3__113basic_istreamIcNS_11char_traitsIcEEED1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__113basic_istreamIcNS_11char_traitsIcEEED2Ev($2, ((5250360)|0));
var $3=$2;
var $4=(($3+8)|0);
var $5=$4;
__ZNSt3__19basic_iosIcNS_11char_traitsIcEEED2Ev($5);
return;
}
function __ZTv0_n12_NSt3__113basic_istreamIcNS_11char_traitsIcEEED0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
var $4=$3;
var $5=HEAP32[(($4)>>2)];
var $6=((($5)-(12))|0);
var $7=$6;
var $8=HEAP32[(($7)>>2)];
var $9=(($3+$8)|0);
var $10=$9;
__ZNSt3__113basic_istreamIcNS_11char_traitsIcEEED0Ev($10);
return;
}
function __ZTv0_n12_NSt3__113basic_istreamIcNS_11char_traitsIcEEED1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
var $4=$3;
var $5=HEAP32[(($4)>>2)];
var $6=((($5)-(12))|0);
var $7=$6;
var $8=HEAP32[(($7)>>2)];
var $9=(($3+$8)|0);
var $10=$9;
__ZNSt3__113basic_istreamIcNS_11char_traitsIcEEED1Ev($10);
return;
}
function __ZNSt3__113basic_istreamIwNS_11char_traitsIwEEED0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__113basic_istreamIwNS_11char_traitsIwEEED1Ev($2);
var $3=$2;
__ZdlPv($3);
return;
}
function __ZNSt3__113basic_istreamIwNS_11char_traitsIwEEED1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__113basic_istreamIwNS_11char_traitsIwEEED2Ev($2, ((5250352)|0));
var $3=$2;
var $4=(($3+8)|0);
var $5=$4;
__ZNSt3__19basic_iosIwNS_11char_traitsIwEEED2Ev($5);
return;
}
function __ZTv0_n12_NSt3__113basic_istreamIwNS_11char_traitsIwEEED0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
var $4=$3;
var $5=HEAP32[(($4)>>2)];
var $6=((($5)-(12))|0);
var $7=$6;
var $8=HEAP32[(($7)>>2)];
var $9=(($3+$8)|0);
var $10=$9;
__ZNSt3__113basic_istreamIwNS_11char_traitsIwEEED0Ev($10);
return;
}
function __ZTv0_n12_NSt3__113basic_istreamIwNS_11char_traitsIwEEED1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
var $4=$3;
var $5=HEAP32[(($4)>>2)];
var $6=((($5)-(12))|0);
var $7=$6;
var $8=HEAP32[(($7)>>2)];
var $9=(($3+$8)|0);
var $10=$9;
__ZNSt3__113basic_istreamIwNS_11char_traitsIwEEED1Ev($10);
return;
}
function __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEED0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEED1Ev($2);
var $3=$2;
__ZdlPv($3);
return;
}
function __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEED1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEED2Ev($2, ((5250344)|0));
var $3=$2;
var $4=(($3+4)|0);
var $5=$4;
__ZNSt3__19basic_iosIcNS_11char_traitsIcEEED2Ev($5);
return;
}
function __ZTv0_n12_NSt3__113basic_ostreamIcNS_11char_traitsIcEEED0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
var $4=$3;
var $5=HEAP32[(($4)>>2)];
var $6=((($5)-(12))|0);
var $7=$6;
var $8=HEAP32[(($7)>>2)];
var $9=(($3+$8)|0);
var $10=$9;
__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEED0Ev($10);
return;
}
function __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE5flushEv($this) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 8)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $__s=__stackBase__;
$11=$this;
var $14=$11;
var $15=$14;
var $16=HEAP32[(($15)>>2)];
var $17=((($16)-(12))|0);
var $18=$17;
var $19=HEAP32[(($18)>>2)];
var $20=$14;
var $21=(($20+$19)|0);
var $22=$21;
$10=$22;
var $23=$10;
var $24=$23;
$9=$24;
var $25=$9;
var $26=(($25+24)|0);
var $27=HEAP32[(($26)>>2)];
var $28=$27;
label = 2; break;
case 2:
var $30=(($28)|(0))!=0;
if ($30) { label = 3; break; } else { label = 20; break; }
case 3:
(function() { try { __THREW__ = 0; return __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryC1ERS3_($__s, $14) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 4; break; } else { label = 13; break; }
case 4:
$8=$__s;
var $33=$8;
var $34=(($33)|0);
var $35=HEAP8[($34)];
var $36=(($35) & 1);
label = 5; break;
case 5:
if ($36) { label = 6; break; } else { label = 19; break; }
case 6:
var $39=$14;
var $40=HEAP32[(($39)>>2)];
var $41=((($40)-(12))|0);
var $42=$41;
var $43=HEAP32[(($42)>>2)];
var $44=$14;
var $45=(($44+$43)|0);
var $46=$45;
$7=$46;
var $47=$7;
var $48=$47;
$6=$48;
var $49=$6;
var $50=(($49+24)|0);
var $51=HEAP32[(($50)>>2)];
var $52=$51;
label = 7; break;
case 7:
$5=$52;
var $54=$5;
var $55=$54;
var $56=HEAP32[(($55)>>2)];
var $57=(($56+24)|0);
var $58=HEAP32[(($57)>>2)];
var $59 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$58]($54) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 8; break; } else { label = 14; break; }
case 8:
label = 9; break;
case 9:
var $61=(($59)|(0))==-1;
if ($61) { label = 10; break; } else { label = 18; break; }
case 10:
var $63=$14;
var $64=HEAP32[(($63)>>2)];
var $65=((($64)-(12))|0);
var $66=$65;
var $67=HEAP32[(($66)>>2)];
var $68=$14;
var $69=(($68+$67)|0);
var $70=$69;
$3=$70;
$4=1;
var $71=$3;
var $72=$71;
var $73=$4;
$1=$72;
$2=$73;
var $74=$1;
var $75=(($74+16)|0);
var $76=HEAP32[(($75)>>2)];
var $77=$2;
var $78=$76 | $77;
(function() { try { __THREW__ = 0; return __ZNSt3__18ios_base5clearEj($74, $78) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 11; break; } else { label = 14; break; }
case 11:
label = 12; break;
case 12:
label = 18; break;
case 13:
var $81$0 = ___cxa_find_matching_catch(-1, -1,0); $81$1 = tempRet0;
var $82=$81$0;
$12=$82;
var $83=$81$1;
$13=$83;
label = 15; break;
case 14:
var $85$0 = ___cxa_find_matching_catch(-1, -1,0); $85$1 = tempRet0;
var $86=$85$0;
$12=$86;
var $87=$85$1;
$13=$87;
__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryD1Ev($__s);
label = 15; break;
case 15:
var $89=$12;
var $90=___cxa_begin_catch($89);
var $91=$14;
var $92=HEAP32[(($91)>>2)];
var $93=((($92)-(12))|0);
var $94=$93;
var $95=HEAP32[(($94)>>2)];
var $96=$14;
var $97=(($96+$95)|0);
var $98=$97;
(function() { try { __THREW__ = 0; return __ZNSt3__18ios_base33__set_badbit_and_consider_rethrowEv($98) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 16; break; } else { label = 21; break; }
case 16:
___cxa_end_catch();
label = 17; break;
case 17:
STACKTOP = __stackBase__;
return $14;
case 18:
label = 19; break;
case 19:
__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryD1Ev($__s);
label = 20; break;
case 20:
label = 17; break;
case 21:
var $105$0 = ___cxa_find_matching_catch(-1, -1); $105$1 = tempRet0;
var $106=$105$0;
$12=$106;
var $107=$105$1;
$13=$107;
(function() { try { __THREW__ = 0; return ___cxa_end_catch() } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 22; break; } else { label = 24; break; }
case 22:
label = 23; break;
case 23:
var $110=$12;
var $111=$13;
var $112$0=$110;
var $112$1=0;
var $113$0=$112$0;
var $113$1=$111;
___resumeException($113$0)
case 24:
var $115$0 = ___cxa_find_matching_catch(-1, -1,0); $115$1 = tempRet0;
__ZSt9terminatev();
throw "Reached an unreachable!"
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__18ios_base33__set_badbit_and_consider_rethrowEv($this) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
$1=$this;
var $2=$1;
var $3=(($2+16)|0);
var $4=HEAP32[(($3)>>2)];
var $5=$4 | 1;
HEAP32[(($3)>>2)]=$5;
var $6=(($2+20)|0);
var $7=HEAP32[(($6)>>2)];
var $8=$7 & 1;
var $9=(($8)|(0))!=0;
if ($9) { label = 2; break; } else { label = 3; break; }
case 2:
___cxa_rethrow();
throw "Reached an unreachable!"
case 3:
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEE5flushEv($this) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 8)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $__s=__stackBase__;
$11=$this;
var $14=$11;
var $15=$14;
var $16=HEAP32[(($15)>>2)];
var $17=((($16)-(12))|0);
var $18=$17;
var $19=HEAP32[(($18)>>2)];
var $20=$14;
var $21=(($20+$19)|0);
var $22=$21;
$10=$22;
var $23=$10;
var $24=$23;
$9=$24;
var $25=$9;
var $26=(($25+24)|0);
var $27=HEAP32[(($26)>>2)];
var $28=$27;
label = 2; break;
case 2:
var $30=(($28)|(0))!=0;
if ($30) { label = 3; break; } else { label = 20; break; }
case 3:
(function() { try { __THREW__ = 0; return __ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEE6sentryC1ERS3_($__s, $14) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 4; break; } else { label = 13; break; }
case 4:
$8=$__s;
var $33=$8;
var $34=(($33)|0);
var $35=HEAP8[($34)];
var $36=(($35) & 1);
label = 5; break;
case 5:
if ($36) { label = 6; break; } else { label = 19; break; }
case 6:
var $39=$14;
var $40=HEAP32[(($39)>>2)];
var $41=((($40)-(12))|0);
var $42=$41;
var $43=HEAP32[(($42)>>2)];
var $44=$14;
var $45=(($44+$43)|0);
var $46=$45;
$7=$46;
var $47=$7;
var $48=$47;
$6=$48;
var $49=$6;
var $50=(($49+24)|0);
var $51=HEAP32[(($50)>>2)];
var $52=$51;
label = 7; break;
case 7:
$5=$52;
var $54=$5;
var $55=$54;
var $56=HEAP32[(($55)>>2)];
var $57=(($56+24)|0);
var $58=HEAP32[(($57)>>2)];
var $59 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$58]($54) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 8; break; } else { label = 14; break; }
case 8:
label = 9; break;
case 9:
var $61=(($59)|(0))==-1;
if ($61) { label = 10; break; } else { label = 18; break; }
case 10:
var $63=$14;
var $64=HEAP32[(($63)>>2)];
var $65=((($64)-(12))|0);
var $66=$65;
var $67=HEAP32[(($66)>>2)];
var $68=$14;
var $69=(($68+$67)|0);
var $70=$69;
$3=$70;
$4=1;
var $71=$3;
var $72=$71;
var $73=$4;
$1=$72;
$2=$73;
var $74=$1;
var $75=(($74+16)|0);
var $76=HEAP32[(($75)>>2)];
var $77=$2;
var $78=$76 | $77;
(function() { try { __THREW__ = 0; return __ZNSt3__18ios_base5clearEj($74, $78) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 11; break; } else { label = 14; break; }
case 11:
label = 12; break;
case 12:
label = 18; break;
case 13:
var $81$0 = ___cxa_find_matching_catch(-1, -1,0); $81$1 = tempRet0;
var $82=$81$0;
$12=$82;
var $83=$81$1;
$13=$83;
label = 15; break;
case 14:
var $85$0 = ___cxa_find_matching_catch(-1, -1,0); $85$1 = tempRet0;
var $86=$85$0;
$12=$86;
var $87=$85$1;
$13=$87;
__ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEE6sentryD1Ev($__s);
label = 15; break;
case 15:
var $89=$12;
var $90=___cxa_begin_catch($89);
var $91=$14;
var $92=HEAP32[(($91)>>2)];
var $93=((($92)-(12))|0);
var $94=$93;
var $95=HEAP32[(($94)>>2)];
var $96=$14;
var $97=(($96+$95)|0);
var $98=$97;
(function() { try { __THREW__ = 0; return __ZNSt3__18ios_base33__set_badbit_and_consider_rethrowEv($98) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 16; break; } else { label = 21; break; }
case 16:
___cxa_end_catch();
label = 17; break;
case 17:
STACKTOP = __stackBase__;
return $14;
case 18:
label = 19; break;
case 19:
__ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEE6sentryD1Ev($__s);
label = 20; break;
case 20:
label = 17; break;
case 21:
var $105$0 = ___cxa_find_matching_catch(-1, -1); $105$1 = tempRet0;
var $106=$105$0;
$12=$106;
var $107=$105$1;
$13=$107;
(function() { try { __THREW__ = 0; return ___cxa_end_catch() } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 22; break; } else { label = 24; break; }
case 22:
label = 23; break;
case 23:
var $110=$12;
var $111=$13;
var $112$0=$110;
var $112$1=0;
var $113$0=$112$0;
var $113$1=$111;
___resumeException($113$0)
case 24:
var $115$0 = ___cxa_find_matching_catch(-1, -1,0); $115$1 = tempRet0;
__ZSt9terminatev();
throw "Reached an unreachable!"
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEED2Ev($this, $vtt) {
var label = 0;
var $1;
var $2;
$1=$this;
$2=$vtt;
var $3=$1;
var $4=$2;
return;
}
function __ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEED2Ev($this, $vtt) {
var label = 0;
var $1;
var $2;
$1=$this;
$2=$vtt;
var $3=$1;
var $4=$2;
return;
}
function __ZNKSt3__119__iostream_category4nameEv($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
return ((5244156)|0);
}
function __ZNKSt3__17collateIcE10do_compareEPKcS3_S3_S3_($this, $__lo1, $__hi1, $__lo2, $__hi2) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
$2=$this;
$3=$__lo1;
$4=$__hi1;
$5=$__lo2;
$6=$__hi2;
var $7=$2;
label = 2; break;
case 2:
var $9=$5;
var $10=$6;
var $11=(($9)|(0))!=(($10)|(0));
if ($11) { label = 3; break; } else { label = 10; break; }
case 3:
var $13=$3;
var $14=$4;
var $15=(($13)|(0))==(($14)|(0));
if ($15) { label = 5; break; } else { label = 4; break; }
case 4:
var $17=$3;
var $18=HEAP8[($17)];
var $19=(($18 << 24) >> 24);
var $20=$5;
var $21=HEAP8[($20)];
var $22=(($21 << 24) >> 24);
var $23=(($19)|(0)) < (($22)|(0));
if ($23) { label = 5; break; } else { label = 6; break; }
case 5:
$1=-1;
label = 11; break;
case 6:
var $26=$5;
var $27=HEAP8[($26)];
var $28=(($27 << 24) >> 24);
var $29=$3;
var $30=HEAP8[($29)];
var $31=(($30 << 24) >> 24);
var $32=(($28)|(0)) < (($31)|(0));
if ($32) { label = 7; break; } else { label = 8; break; }
case 7:
$1=1;
label = 11; break;
case 8:
label = 9; break;
case 9:
var $36=$3;
var $37=(($36+1)|0);
$3=$37;
var $38=$5;
var $39=(($38+1)|0);
$5=$39;
label = 2; break;
case 10:
var $41=$3;
var $42=$4;
var $43=(($41)|(0))!=(($42)|(0));
var $44=(($43)&(1));
$1=$44;
label = 11; break;
case 11:
var $46=$1;
return $46;
default: assert(0, "bad label: " + label);
}
}
function __ZTv0_n12_NSt3__113basic_ostreamIcNS_11char_traitsIcEEED1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
var $4=$3;
var $5=HEAP32[(($4)>>2)];
var $6=((($5)-(12))|0);
var $7=$6;
var $8=HEAP32[(($7)>>2)];
var $9=(($3+$8)|0);
var $10=$9;
__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEED1Ev($10);
return;
}
function __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryC1ERS3_($this, $__os) {
var label = 0;
var $1;
var $2;
$1=$this;
$2=$__os;
var $3=$1;
var $4=$2;
__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryC2ERS3_($3, $4);
return;
}
function __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryC2ERS3_($this, $__os) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
$5=$this;
$6=$__os;
var $7=$5;
var $8=(($7)|0);
HEAP8[($8)]=0;
var $9=(($7+4)|0);
var $10=$6;
HEAP32[(($9)>>2)]=$10;
var $11=$6;
var $12=$11;
var $13=HEAP32[(($12)>>2)];
var $14=((($13)-(12))|0);
var $15=$14;
var $16=HEAP32[(($15)>>2)];
var $17=$11;
var $18=(($17+$16)|0);
var $19=$18;
$4=$19;
var $20=$4;
var $21=$20;
$3=$21;
var $22=$3;
var $23=(($22+16)|0);
var $24=HEAP32[(($23)>>2)];
var $25=(($24)|(0))==0;
if ($25) { label = 2; break; } else { label = 5; break; }
case 2:
var $27=$6;
var $28=$27;
var $29=HEAP32[(($28)>>2)];
var $30=((($29)-(12))|0);
var $31=$30;
var $32=HEAP32[(($31)>>2)];
var $33=$27;
var $34=(($33+$32)|0);
var $35=$34;
$2=$35;
var $36=$2;
var $37=(($36+72)|0);
var $38=HEAP32[(($37)>>2)];
var $39=(($38)|(0))!=0;
if ($39) { label = 3; break; } else { label = 4; break; }
case 3:
var $41=$6;
var $42=$41;
var $43=HEAP32[(($42)>>2)];
var $44=((($43)-(12))|0);
var $45=$44;
var $46=HEAP32[(($45)>>2)];
var $47=$41;
var $48=(($47+$46)|0);
var $49=$48;
$1=$49;
var $50=$1;
var $51=(($50+72)|0);
var $52=HEAP32[(($51)>>2)];
var $53=__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE5flushEv($52);
label = 4; break;
case 4:
var $55=(($7)|0);
HEAP8[($55)]=1;
label = 5; break;
case 5:
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryD1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryD2Ev($2);
return;
}
function __ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEED0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEED1Ev($2);
var $3=$2;
__ZdlPv($3);
return;
}
function __ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEED1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEED2Ev($2, ((5250336)|0));
var $3=$2;
var $4=(($3+4)|0);
var $5=$4;
__ZNSt3__19basic_iosIwNS_11char_traitsIwEEED2Ev($5);
return;
}
function __ZTv0_n12_NSt3__113basic_ostreamIwNS_11char_traitsIwEEED0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
var $4=$3;
var $5=HEAP32[(($4)>>2)];
var $6=((($5)-(12))|0);
var $7=$6;
var $8=HEAP32[(($7)>>2)];
var $9=(($3+$8)|0);
var $10=$9;
__ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEED0Ev($10);
return;
}
function __ZTv0_n12_NSt3__113basic_ostreamIwNS_11char_traitsIwEEED1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
var $4=$3;
var $5=HEAP32[(($4)>>2)];
var $6=((($5)-(12))|0);
var $7=$6;
var $8=HEAP32[(($7)>>2)];
var $9=(($3+$8)|0);
var $10=$9;
__ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEED1Ev($10);
return;
}
function __ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEE6sentryC1ERS3_($this, $__os) {
var label = 0;
var $1;
var $2;
$1=$this;
$2=$__os;
var $3=$1;
var $4=$2;
__ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEE6sentryC2ERS3_($3, $4);
return;
}
function __ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEE6sentryC2ERS3_($this, $__os) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
$5=$this;
$6=$__os;
var $7=$5;
var $8=(($7)|0);
HEAP8[($8)]=0;
var $9=(($7+4)|0);
var $10=$6;
HEAP32[(($9)>>2)]=$10;
var $11=$6;
var $12=$11;
var $13=HEAP32[(($12)>>2)];
var $14=((($13)-(12))|0);
var $15=$14;
var $16=HEAP32[(($15)>>2)];
var $17=$11;
var $18=(($17+$16)|0);
var $19=$18;
$4=$19;
var $20=$4;
var $21=$20;
$3=$21;
var $22=$3;
var $23=(($22+16)|0);
var $24=HEAP32[(($23)>>2)];
var $25=(($24)|(0))==0;
if ($25) { label = 2; break; } else { label = 5; break; }
case 2:
var $27=$6;
var $28=$27;
var $29=HEAP32[(($28)>>2)];
var $30=((($29)-(12))|0);
var $31=$30;
var $32=HEAP32[(($31)>>2)];
var $33=$27;
var $34=(($33+$32)|0);
var $35=$34;
$2=$35;
var $36=$2;
var $37=(($36+72)|0);
var $38=HEAP32[(($37)>>2)];
var $39=(($38)|(0))!=0;
if ($39) { label = 3; break; } else { label = 4; break; }
case 3:
var $41=$6;
var $42=$41;
var $43=HEAP32[(($42)>>2)];
var $44=((($43)-(12))|0);
var $45=$44;
var $46=HEAP32[(($45)>>2)];
var $47=$41;
var $48=(($47+$46)|0);
var $49=$48;
$1=$49;
var $50=$1;
var $51=(($50+72)|0);
var $52=HEAP32[(($51)>>2)];
var $53=__ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEE5flushEv($52);
label = 4; break;
case 4:
var $55=(($7)|0);
HEAP8[($55)]=1;
label = 5; break;
case 5:
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEE6sentryD1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEE6sentryD2Ev($2);
return;
}
function __ZNKSt3__119__iostream_category7messageEi($agg_result, $this, $ev) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
$10=$this;
$11=$ev;
var $12=$10;
var $13=$11;
var $14=(($13)|(0))!=1;
if ($14) { label = 2; break; } else { label = 3; break; }
case 2:
var $16=$12;
var $17=$11;
__ZNKSt3__112__do_message7messageEi($agg_result, $16, $17);
label = 4; break;
case 3:
$8=$agg_result;
$9=((5244368)|0);
var $19=$8;
var $20=$9;
$6=$19;
$7=$20;
var $21=$6;
var $22=$21;
var $23=(($21)|0);
$5=$23;
var $24=$5;
$4=$24;
var $25=$4;
var $26=$25;
$3=$26;
var $27=$3;
var $28=$27;
$2=$28;
var $29=$2;
var $30=(($27)|0);
var $31=$7;
var $32=$7;
$1=$32;
var $33=$1;
var $34=_strlen($33);
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcj($21, $31, $34);
label = 4; break;
case 4:
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__117iostream_categoryEv() {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1=HEAP8[(5256004)];
var $2=(($1 << 24) >> 24)==0;
if ($2) { label = 2; break; } else { label = 4; break; }
case 2:
var $4=___cxa_guard_acquire(5256004);
var $5=(($4)|(0))!=0;
if ($5) { label = 3; break; } else { label = 4; break; }
case 3:
__ZNSt3__119__iostream_categoryC1Ev(5246716);
var $7=_atexit((214), 5246716, ___dso_handle);
label = 4; break;
case 4:
return ((5246716)|0);
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__119__iostream_categoryC1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__119__iostream_categoryC2Ev($2);
return;
}
function __ZNSt3__119__iostream_categoryD1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__119__iostream_categoryD2Ev($2);
return;
}
function __ZNSt3__18ios_base7failureC2EPKcRKNS_10error_codeE($this, $msg, $ec) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 8)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
var $1;
var $2;
var $3;
var $4=__stackBase__;
$1=$this;
$2=$msg;
$3=$ec;
var $5=$1;
var $6=$5;
var $7=$3;
var $8=$4;
var $9=$7;
assert(8 % 1 === 0);HEAP32[(($8)>>2)]=HEAP32[(($9)>>2)];HEAP32[((($8)+(4))>>2)]=HEAP32[((($9)+(4))>>2)];
var $10=$2;
__ZNSt3__112system_errorC2ENS_10error_codeEPKc($6, $4, $10);
var $11=$5;
HEAP32[(($11)>>2)]=((5248396)|0);
STACKTOP = __stackBase__;
return;
}
function __ZNSt3__18ios_base7failureD0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__18ios_base7failureD2Ev($2);
var $3=$2;
__ZdlPv($3);
return;
}
function __ZNSt3__18ios_base7failureD2Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
__ZNSt3__112system_errorD2Ev($3);
return;
}
function __ZNSt3__18ios_baseD0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__18ios_baseD2Ev($2);
var $3=$2;
__ZdlPv($3);
return;
}
function __ZNSt3__119__iostream_categoryD0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__119__iostream_categoryD1Ev($2);
var $3=$2;
__ZdlPv($3);
return;
}
function __ZNSt3__119__iostream_categoryD2Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
__ZNSt3__112__do_messageD2Ev($3);
return;
}
function __ZNSt3__119__iostream_categoryC2Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
__ZNSt3__112__do_messageC2Ev($3);
var $4=$2;
HEAP32[(($4)>>2)]=((5249204)|0);
return;
}
function __ZNSt3__17collateIcED0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__17collateIcED1Ev($2);
var $3=$2;
__ZdlPv($3);
return;
}
function __ZNSt3__17collateIcED1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__17collateIcED2Ev($2);
return;
}
function __ZNSt3__17collateIcED2Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
__ZNSt3__16locale5facetD2Ev($3);
return;
}
function __ZNSt3__16locale5facetD2Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
__ZNSt3__114__shared_countD2Ev($3);
return;
}
function __ZNKSt3__17collateIcE12do_transformEPKcS3_($agg_result, $this, $__lo, $__hi) {
var label = 0;
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
$11=$this;
$12=$__lo;
$13=$__hi;
var $14=$11;
var $15=$12;
var $16=$13;
$8=$agg_result;
$9=$15;
$10=$16;
var $17=$8;
var $18=$9;
var $19=$10;
$5=$17;
$6=$18;
$7=$19;
var $20=$5;
var $21=$20;
var $22=(($20)|0);
$4=$22;
var $23=$4;
$3=$23;
var $24=$3;
var $25=$24;
$2=$25;
var $26=$2;
var $27=$26;
$1=$27;
var $28=$1;
var $29=(($26)|0);
var $30=$6;
var $31=$7;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPKcEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESA_SA_($20, $30, $31);
return;
}
function __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryD2Ev($this) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
$13=$this;
var $16=$13;
var $17=(($16+4)|0);
var $18=HEAP32[(($17)>>2)];
var $19=$18;
var $20=HEAP32[(($19)>>2)];
var $21=((($20)-(12))|0);
var $22=$21;
var $23=HEAP32[(($22)>>2)];
var $24=$18;
var $25=(($24+$23)|0);
var $26=$25;
$12=$26;
var $27=$12;
var $28=$27;
$11=$28;
var $29=$11;
var $30=(($29+24)|0);
var $31=HEAP32[(($30)>>2)];
var $32=$31;
label = 2; break;
case 2:
var $34=(($32)|(0))!=0;
if ($34) { label = 3; break; } else { label = 20; break; }
case 3:
var $36=(($16+4)|0);
var $37=HEAP32[(($36)>>2)];
var $38=$37;
var $39=HEAP32[(($38)>>2)];
var $40=((($39)-(12))|0);
var $41=$40;
var $42=HEAP32[(($41)>>2)];
var $43=$37;
var $44=(($43+$42)|0);
var $45=$44;
$6=$45;
var $46=$6;
var $47=$46;
$5=$47;
var $48=$5;
var $49=(($48+16)|0);
var $50=HEAP32[(($49)>>2)];
var $51=(($50)|(0))==0;
label = 4; break;
case 4:
if ($51) { label = 5; break; } else { label = 20; break; }
case 5:
var $54=(($16+4)|0);
var $55=HEAP32[(($54)>>2)];
var $56=$55;
var $57=HEAP32[(($56)>>2)];
var $58=((($57)-(12))|0);
var $59=$58;
var $60=HEAP32[(($59)>>2)];
var $61=$55;
var $62=(($61+$60)|0);
var $63=$62;
$3=$63;
var $64=$3;
var $65=(($64+4)|0);
var $66=HEAP32[(($65)>>2)];
label = 6; break;
case 6:
var $68=$66 & 8192;
var $69=(($68)|(0))!=0;
if ($69) { label = 7; break; } else { label = 20; break; }
case 7:
var $71=__ZSt18uncaught_exceptionv();
if ($71) { label = 20; break; } else { label = 8; break; }
case 8:
var $73=(($16+4)|0);
var $74=HEAP32[(($73)>>2)];
var $75=$74;
var $76=HEAP32[(($75)>>2)];
var $77=((($76)-(12))|0);
var $78=$77;
var $79=HEAP32[(($78)>>2)];
var $80=$74;
var $81=(($80+$79)|0);
var $82=$81;
$2=$82;
var $83=$2;
var $84=$83;
$1=$84;
var $85=$1;
var $86=(($85+24)|0);
var $87=HEAP32[(($86)>>2)];
var $88=$87;
label = 9; break;
case 9:
$4=$88;
var $90=$4;
var $91=$90;
var $92=HEAP32[(($91)>>2)];
var $93=(($92+24)|0);
var $94=HEAP32[(($93)>>2)];
var $95 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$94]($90) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 10; break; } else { label = 15; break; }
case 10:
label = 11; break;
case 11:
var $97=(($95)|(0))==-1;
if ($97) { label = 12; break; } else { label = 19; break; }
case 12:
var $99=(($16+4)|0);
var $100=HEAP32[(($99)>>2)];
var $101=$100;
var $102=HEAP32[(($101)>>2)];
var $103=((($102)-(12))|0);
var $104=$103;
var $105=HEAP32[(($104)>>2)];
var $106=$100;
var $107=(($106+$105)|0);
var $108=$107;
$9=$108;
$10=1;
var $109=$9;
var $110=$109;
var $111=$10;
$7=$110;
$8=$111;
var $112=$7;
var $113=(($112+16)|0);
var $114=HEAP32[(($113)>>2)];
var $115=$8;
var $116=$114 | $115;
(function() { try { __THREW__ = 0; return __ZNSt3__18ios_base5clearEj($112, $116) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 13; break; } else { label = 15; break; }
case 13:
label = 14; break;
case 14:
label = 19; break;
case 15:
var $119$0 = ___cxa_find_matching_catch(-1, -1,0); $119$1 = tempRet0;
var $120=$119$0;
$14=$120;
var $121=$119$1;
$15=$121;
label = 16; break;
case 16:
var $123=$14;
var $124=___cxa_begin_catch($123);
(function() { try { __THREW__ = 0; return ___cxa_end_catch() } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 17; break; } else { label = 21; break; }
case 17:
label = 18; break;
case 18:
label = 20; break;
case 19:
label = 18; break;
case 20:
return;
case 21:
var $130$0 = ___cxa_find_matching_catch(-1, -1,0); $130$1 = tempRet0;
__ZSt9terminatev();
throw "Reached an unreachable!"
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEE6sentryD2Ev($this) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
$13=$this;
var $16=$13;
var $17=(($16+4)|0);
var $18=HEAP32[(($17)>>2)];
var $19=$18;
var $20=HEAP32[(($19)>>2)];
var $21=((($20)-(12))|0);
var $22=$21;
var $23=HEAP32[(($22)>>2)];
var $24=$18;
var $25=(($24+$23)|0);
var $26=$25;
$12=$26;
var $27=$12;
var $28=$27;
$11=$28;
var $29=$11;
var $30=(($29+24)|0);
var $31=HEAP32[(($30)>>2)];
var $32=$31;
label = 2; break;
case 2:
var $34=(($32)|(0))!=0;
if ($34) { label = 3; break; } else { label = 20; break; }
case 3:
var $36=(($16+4)|0);
var $37=HEAP32[(($36)>>2)];
var $38=$37;
var $39=HEAP32[(($38)>>2)];
var $40=((($39)-(12))|0);
var $41=$40;
var $42=HEAP32[(($41)>>2)];
var $43=$37;
var $44=(($43+$42)|0);
var $45=$44;
$6=$45;
var $46=$6;
var $47=$46;
$5=$47;
var $48=$5;
var $49=(($48+16)|0);
var $50=HEAP32[(($49)>>2)];
var $51=(($50)|(0))==0;
label = 4; break;
case 4:
if ($51) { label = 5; break; } else { label = 20; break; }
case 5:
var $54=(($16+4)|0);
var $55=HEAP32[(($54)>>2)];
var $56=$55;
var $57=HEAP32[(($56)>>2)];
var $58=((($57)-(12))|0);
var $59=$58;
var $60=HEAP32[(($59)>>2)];
var $61=$55;
var $62=(($61+$60)|0);
var $63=$62;
$3=$63;
var $64=$3;
var $65=(($64+4)|0);
var $66=HEAP32[(($65)>>2)];
label = 6; break;
case 6:
var $68=$66 & 8192;
var $69=(($68)|(0))!=0;
if ($69) { label = 7; break; } else { label = 20; break; }
case 7:
var $71=__ZSt18uncaught_exceptionv();
if ($71) { label = 20; break; } else { label = 8; break; }
case 8:
var $73=(($16+4)|0);
var $74=HEAP32[(($73)>>2)];
var $75=$74;
var $76=HEAP32[(($75)>>2)];
var $77=((($76)-(12))|0);
var $78=$77;
var $79=HEAP32[(($78)>>2)];
var $80=$74;
var $81=(($80+$79)|0);
var $82=$81;
$2=$82;
var $83=$2;
var $84=$83;
$1=$84;
var $85=$1;
var $86=(($85+24)|0);
var $87=HEAP32[(($86)>>2)];
var $88=$87;
label = 9; break;
case 9:
$4=$88;
var $90=$4;
var $91=$90;
var $92=HEAP32[(($91)>>2)];
var $93=(($92+24)|0);
var $94=HEAP32[(($93)>>2)];
var $95 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$94]($90) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 10; break; } else { label = 15; break; }
case 10:
label = 11; break;
case 11:
var $97=(($95)|(0))==-1;
if ($97) { label = 12; break; } else { label = 19; break; }
case 12:
var $99=(($16+4)|0);
var $100=HEAP32[(($99)>>2)];
var $101=$100;
var $102=HEAP32[(($101)>>2)];
var $103=((($102)-(12))|0);
var $104=$103;
var $105=HEAP32[(($104)>>2)];
var $106=$100;
var $107=(($106+$105)|0);
var $108=$107;
$9=$108;
$10=1;
var $109=$9;
var $110=$109;
var $111=$10;
$7=$110;
$8=$111;
var $112=$7;
var $113=(($112+16)|0);
var $114=HEAP32[(($113)>>2)];
var $115=$8;
var $116=$114 | $115;
(function() { try { __THREW__ = 0; return __ZNSt3__18ios_base5clearEj($112, $116) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 13; break; } else { label = 15; break; }
case 13:
label = 14; break;
case 14:
label = 19; break;
case 15:
var $119$0 = ___cxa_find_matching_catch(-1, -1,0); $119$1 = tempRet0;
var $120=$119$0;
$14=$120;
var $121=$119$1;
$15=$121;
label = 16; break;
case 16:
var $123=$14;
var $124=___cxa_begin_catch($123);
(function() { try { __THREW__ = 0; return ___cxa_end_catch() } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 17; break; } else { label = 21; break; }
case 17:
label = 18; break;
case 18:
label = 20; break;
case 19:
label = 18; break;
case 20:
return;
case 21:
var $130$0 = ___cxa_find_matching_catch(-1, -1,0); $130$1 = tempRet0;
__ZSt9terminatev();
throw "Reached an unreachable!"
default: assert(0, "bad label: " + label);
}
}
function __ZNKSt3__17collateIcE7do_hashEPKcS3_($this, $__lo, $__hi) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $__h;
var $__sr;
var $__mask;
var $__p;
var $__g;
$1=$this;
$2=$__lo;
$3=$__hi;
var $4=$1;
$__h=0;
$__sr=24;
$__mask=-268435456;
var $5=$2;
$__p=$5;
label = 2; break;
case 2:
var $7=$__p;
var $8=$3;
var $9=(($7)|(0))!=(($8)|(0));
if ($9) { label = 3; break; } else { label = 5; break; }
case 3:
var $11=$__h;
var $12=$11 << 4;
var $13=$__p;
var $14=HEAP8[($13)];
var $15=(($14 << 24) >> 24);
var $16=((($12)+($15))|0);
$__h=$16;
var $17=$__h;
var $18=$17 & -268435456;
$__g=$18;
var $19=$__g;
var $20=$__g;
var $21=$20 >>> 24;
var $22=$19 | $21;
var $23=$__h;
var $24=$23 ^ $22;
$__h=$24;
label = 4; break;
case 4:
var $26=$__p;
var $27=(($26+1)|0);
$__p=$27;
label = 2; break;
case 5:
var $29=$__h;
return $29;
default: assert(0, "bad label: " + label);
}
}
function __ZNKSt3__17collateIwE10do_compareEPKwS3_S3_S3_($this, $__lo1, $__hi1, $__lo2, $__hi2) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
$2=$this;
$3=$__lo1;
$4=$__hi1;
$5=$__lo2;
$6=$__hi2;
var $7=$2;
label = 2; break;
case 2:
var $9=$5;
var $10=$6;
var $11=(($9)|(0))!=(($10)|(0));
if ($11) { label = 3; break; } else { label = 10; break; }
case 3:
var $13=$3;
var $14=$4;
var $15=(($13)|(0))==(($14)|(0));
if ($15) { label = 5; break; } else { label = 4; break; }
case 4:
var $17=$3;
var $18=HEAP32[(($17)>>2)];
var $19=$5;
var $20=HEAP32[(($19)>>2)];
var $21=(($18)|(0)) < (($20)|(0));
if ($21) { label = 5; break; } else { label = 6; break; }
case 5:
$1=-1;
label = 11; break;
case 6:
var $24=$5;
var $25=HEAP32[(($24)>>2)];
var $26=$3;
var $27=HEAP32[(($26)>>2)];
var $28=(($25)|(0)) < (($27)|(0));
if ($28) { label = 7; break; } else { label = 8; break; }
case 7:
$1=1;
label = 11; break;
case 8:
label = 9; break;
case 9:
var $32=$3;
var $33=(($32+4)|0);
$3=$33;
var $34=$5;
var $35=(($34+4)|0);
$5=$35;
label = 2; break;
case 10:
var $37=$3;
var $38=$4;
var $39=(($37)|(0))!=(($38)|(0));
var $40=(($39)&(1));
$1=$40;
label = 11; break;
case 11:
var $42=$1;
return $42;
default: assert(0, "bad label: " + label);
}
}
function __ZNKSt3__17collateIwE7do_hashEPKwS3_($this, $__lo, $__hi) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $__h;
var $__sr;
var $__mask;
var $__p;
var $__g;
$1=$this;
$2=$__lo;
$3=$__hi;
var $4=$1;
$__h=0;
$__sr=24;
$__mask=-268435456;
var $5=$2;
$__p=$5;
label = 2; break;
case 2:
var $7=$__p;
var $8=$3;
var $9=(($7)|(0))!=(($8)|(0));
if ($9) { label = 3; break; } else { label = 5; break; }
case 3:
var $11=$__h;
var $12=$11 << 4;
var $13=$__p;
var $14=HEAP32[(($13)>>2)];
var $15=((($12)+($14))|0);
$__h=$15;
var $16=$__h;
var $17=$16 & -268435456;
$__g=$17;
var $18=$__g;
var $19=$__g;
var $20=$19 >>> 24;
var $21=$18 | $20;
var $22=$__h;
var $23=$22 ^ $21;
$__h=$23;
label = 4; break;
case 4:
var $25=$__p;
var $26=(($25+4)|0);
$__p=$26;
label = 2; break;
case 5:
var $28=$__h;
return $28;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__17collateIwED0Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__17collateIwED1Ev($2);
var $3=$2;
__ZdlPv($3);
return;
}
function __ZNSt3__17collateIwED1Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
__ZNSt3__17collateIwED2Ev($2);
return;
}
function __ZNSt3__17collateIwED2Ev($this) {
var label = 0;
var $1;
$1=$this;
var $2=$1;
var $3=$2;
__ZNSt3__16locale5facetD2Ev($3);
return;
}
function __ZNKSt3__17collateIwE12do_transformEPKwS3_($agg_result, $this, $__lo, $__hi) {
var label = 0;
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
$11=$this;
$12=$__lo;
$13=$__hi;
var $14=$11;
var $15=$12;
var $16=$13;
$8=$agg_result;
$9=$15;
$10=$16;
var $17=$8;
var $18=$9;
var $19=$10;
$5=$17;
$6=$18;
$7=$19;
var $20=$5;
var $21=$20;
var $22=(($20)|0);
$4=$22;
var $23=$4;
$3=$23;
var $24=$3;
var $25=$24;
$2=$25;
var $26=$2;
var $27=$26;
$1=$27;
var $28=$1;
var $29=(($26)|0);
var $30=$6;
var $31=$7;
__ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initIPKwEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESA_SA_($20, $30, $31);
return;
}
function __ZNSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev($this) {
var label = 0;
var $1;
var $2;
var $3;
$3=$this;
var $4=$3;
$2=$4;
var $5=$2;
$1=$5;
var $6=$1;
var $7=$6;
__ZNSt3__16locale5facetD2Ev($7);
var $8=$4;
__ZdlPv($8);
return;
}
function __ZNSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED1Ev($this) {
var label = 0;
var $1;
var $2;
$2=$this;
var $3=$2;
$1=$3;
var $4=$1;
var $5=$4;
__ZNSt3__16locale5facetD2Ev($5);
return;
}
function __ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRb($agg_result, $this, $__b, $__e, $__iob, $__err, $__v) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 52)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
var tempParam = $__b; $__b = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__b)>>2)]=HEAP32[((tempParam)>>2)];
var tempParam = $__e; $__e = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__e)>>2)]=HEAP32[((tempParam)>>2)];
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $__lv=__stackBase__;
var $10=(__stackBase__)+(4);
var $11=(__stackBase__)+(8);
var $12=(__stackBase__)+(12);
var $__ct;
var $13=(__stackBase__)+(16);
var $14;
var $15;
var $__np;
var $16=(__stackBase__)+(20);
var $__names=(__stackBase__)+(24);
var $17;
var $__i;
var $18=(__stackBase__)+(48);
var $19;
$6=$this;
$7=$__iob;
$8=$__err;
$9=$__v;
var $20=$6;
var $21=$7;
$5=$21;
var $22=$5;
var $23=(($22+4)|0);
var $24=HEAP32[(($23)>>2)];
var $25=$24 & 1;
var $26=(($25)|(0))==0;
if ($26) { label = 2; break; } else { label = 7; break; }
case 2:
HEAP32[(($__lv)>>2)]=-1;
var $28=$20;
var $29=HEAP32[(($28)>>2)];
var $30=(($29+16)|0);
var $31=HEAP32[(($30)>>2)];
var $32=$11;
var $33=$__b;
assert(4 % 1 === 0);HEAP32[(($32)>>2)]=HEAP32[(($33)>>2)];
var $34=$12;
var $35=$__e;
assert(4 % 1 === 0);HEAP32[(($34)>>2)]=HEAP32[(($35)>>2)];
var $36=$7;
var $37=$8;
FUNCTION_TABLE[$31]($10, $20, $11, $12, $36, $37, $__lv);
var $38=$__b;
var $39=$10;
assert(4 % 1 === 0);HEAP32[(($38)>>2)]=HEAP32[(($39)>>2)];
var $40=HEAP32[(($__lv)>>2)];
if ((($40)|(0))==0) {
label = 3; break;
}
else if ((($40)|(0))==1) {
label = 4; break;
}
else {
label = 5; break;
}
case 3:
var $42=$9;
HEAP8[($42)]=0;
label = 6; break;
case 4:
var $44=$9;
HEAP8[($44)]=1;
label = 6; break;
case 5:
var $46=$9;
HEAP8[($46)]=1;
var $47=$8;
HEAP32[(($47)>>2)]=4;
label = 6; break;
case 6:
var $49=$agg_result;
var $50=$__b;
assert(4 % 1 === 0);HEAP32[(($49)>>2)]=HEAP32[(($50)>>2)];
label = 27; break;
case 7:
var $52=$7;
__ZNKSt3__18ios_base6getlocEv($13, $52);
$4=$13;
var $53=$4;
var $54 = (function() { try { __THREW__ = 0; return __ZNKSt3__16locale9use_facetERNS0_2idE($53, 5255420) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 8; break; } else { label = 17; break; }
case 8:
var $55=$54;
label = 9; break;
case 9:
__ZNSt3__16localeD2Ev($13);
$__ct=$55;
var $57=$7;
__ZNKSt3__18ios_base6getlocEv($16, $57);
$3=$16;
var $58=$3;
var $59 = (function() { try { __THREW__ = 0; return __ZNKSt3__16locale9use_facetERNS0_2idE($58, 5255052) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 10; break; } else { label = 18; break; }
case 10:
var $60=$59;
label = 11; break;
case 11:
__ZNSt3__16localeD2Ev($16);
$__np=$60;
var $62=(($__names)|0);
$17=$62;
var $63=$__np;
$2=$63;
var $64=$2;
var $65=$64;
var $66=HEAP32[(($65)>>2)];
var $67=(($66+24)|0);
var $68=HEAP32[(($67)>>2)];
(function() { try { __THREW__ = 0; return FUNCTION_TABLE[$68]($62, $64) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 12; break; } else { label = 19; break; }
case 12:
label = 13; break;
case 13:
var $70=(($62+12)|0);
$17=$70;
var $71=$__np;
$1=$71;
var $72=$1;
var $73=$72;
var $74=HEAP32[(($73)>>2)];
var $75=(($74+28)|0);
var $76=HEAP32[(($75)>>2)];
(function() { try { __THREW__ = 0; return FUNCTION_TABLE[$76]($70, $72) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 14; break; } else { label = 19; break; }
case 14:
label = 15; break;
case 15:
var $78=$18;
var $79=$__e;
assert(4 % 1 === 0);HEAP32[(($78)>>2)]=HEAP32[(($79)>>2)];
var $80=(($__names)|0);
var $81=(($__names)|0);
var $82=(($81+24)|0);
var $83=$__ct;
var $84=$8;
var $85 = (function() { try { __THREW__ = 0; return __ZNSt3__114__scan_keywordINS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEPKNS_12basic_stringIcS3_NS_9allocatorIcEEEENS_5ctypeIcEEEET0_RT_SE_SD_SD_RKT1_Rjb($__b, $18, $80, $82, $83, $84, 1) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 16; break; } else { label = 22; break; }
case 16:
$__i=$85;
var $87=$__i;
var $88=(($__names)|0);
var $89=(($87)|(0))==(($88)|(0));
var $90=$9;
var $91=(($89)&(1));
HEAP8[($90)]=$91;
var $92=$agg_result;
var $93=$__b;
assert(4 % 1 === 0);HEAP32[(($92)>>2)]=HEAP32[(($93)>>2)];
$19=1;
var $94=(($__names)|0);
var $95=(($94+24)|0);
var $122 = $95;label = 23; break;
case 17:
var $97$0 = ___cxa_find_matching_catch(-1, -1); $97$1 = tempRet0;
var $98=$97$0;
$14=$98;
var $99=$97$1;
$15=$99;
__ZNSt3__16localeD2Ev($13);
label = 28; break;
case 18:
var $101$0 = ___cxa_find_matching_catch(-1, -1); $101$1 = tempRet0;
var $102=$101$0;
$14=$102;
var $103=$101$1;
$15=$103;
__ZNSt3__16localeD2Ev($16);
label = 28; break;
case 19:
var $105$0 = ___cxa_find_matching_catch(-1, -1); $105$1 = tempRet0;
var $106=$105$0;
$14=$106;
var $107=$105$1;
$15=$107;
var $108=$17;
var $109=(($62)|(0))==(($108)|(0));
if ($109) { label = 21; break; } else { var $111 = $108;label = 20; break; }
case 20:
var $111;
var $112=((($111)-(12))|0);
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($112);
var $113=(($112)|(0))==(($62)|(0));
if ($113) { label = 21; break; } else { var $111 = $112;label = 20; break; }
case 21:
label = 28; break;
case 22:
var $116$0 = ___cxa_find_matching_catch(-1, -1); $116$1 = tempRet0;
var $117=$116$0;
$14=$117;
var $118=$116$1;
$15=$118;
var $119=(($__names)|0);
var $120=(($119+24)|0);
var $127 = $120;label = 25; break;
case 23:
var $122;
var $123=((($122)-(12))|0);
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($123);
var $124=(($123)|(0))==(($94)|(0));
if ($124) { label = 24; break; } else { var $122 = $123;label = 23; break; }
case 24:
label = 27; break;
case 25:
var $127;
var $128=((($127)-(12))|0);
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($128);
var $129=(($128)|(0))==(($119)|(0));
if ($129) { label = 26; break; } else { var $127 = $128;label = 25; break; }
case 26:
label = 28; break;
case 27:
STACKTOP = __stackBase__;
return;
case 28:
var $133=$14;
var $134=$15;
var $135$0=$133;
var $135$1=0;
var $136$0=$135$0;
var $136$1=$134;
___resumeException($136$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__114__scan_keywordINS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEPKNS_12basic_stringIcS3_NS_9allocatorIcEEEENS_5ctypeIcEEEET0_RT_SE_SD_SD_RKT1_Rjb($__b, $__e, $__kb, $__ke, $__ct, $__err, $__case_sensitive) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 136)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
var tempParam = $__e; $__e = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__e)>>2)]=HEAP32[((tempParam)>>2)];
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $49;
var $50;
var $51;
var $52;
var $53;
var $54;
var $55;
var $56;
var $57;
var $58;
var $59;
var $60;
var $61;
var $62;
var $63;
var $64;
var $65;
var $66;
var $67;
var $68;
var $69;
var $70;
var $71;
var $72;
var $73;
var $74;
var $75;
var $76;
var $77;
var $78;
var $79;
var $80;
var $81;
var $82;
var $83;
var $84;
var $85;
var $86;
var $87;
var $88;
var $89;
var $90;
var $91;
var $92;
var $93;
var $94;
var $95;
var $96;
var $__tmp_i;
var $97;
var $98;
var $99;
var $100;
var $101;
var $102;
var $103;
var $104;
var $__tmp_i_i_i3;
var $105;
var $106;
var $107;
var $108;
var $109;
var $110;
var $111=__stackBase__;
var $112=(__stackBase__)+(4);
var $113;
var $114;
var $115=(__stackBase__)+(8);
var $116=(__stackBase__)+(12);
var $117;
var $118;
var $119;
var $120;
var $121;
var $122;
var $123;
var $124;
var $125;
var $126;
var $127;
var $128;
var $129;
var $130;
var $131;
var $132;
var $133;
var $134;
var $__tmp_i_i_i;
var $135;
var $136;
var $137;
var $138;
var $139=(__stackBase__)+(16);
var $140;
var $141;
var $142=(__stackBase__)+(20);
var $143;
var $144;
var $145;
var $146;
var $147;
var $148;
var $__nkw;
var $__doesnt_match;
var $__might_match;
var $__does_match;
var $__statbuf=(__stackBase__)+(24);
var $__status;
var $__stat_hold=(__stackBase__)+(124);
var $149=(__stackBase__)+(132);
var $150;
var $151;
var $__n_might_match;
var $__n_does_match;
var $__st;
var $__ky;
var $__indx;
var $__c;
var $__consume;
var $__ky1;
var $__kc;
var $__ky2;
var $152;
$143=$__b;
$144=$__kb;
$145=$__ke;
$146=$__ct;
$147=$__err;
var $153=(($__case_sensitive)&(1));
$148=$153;
var $154=$144;
var $155=$145;
$140=$154;
$141=$155;
var $156=$140;
var $157=$141;
$137=$156;
$138=$157;
var $158=$138;
var $159=$137;
var $160=$158;
var $161=$159;
var $162=((($160)-($161))|0);
var $163=((((($162)|(0)))/(12))&-1);
$__nkw=$163;
$__doesnt_match=0;
$__might_match=1;
$__does_match=2;
var $164=(($__statbuf)|0);
$__status=$164;
HEAP32[(($149)>>2)]=260;
$124=$__stat_hold;
$125=0;
$126=$149;
var $165=$124;
var $166=$125;
var $167=$126;
$121=$165;
$122=$166;
$123=$167;
var $168=$121;
var $169=(($168)|0);
var $170=$122;
var $171=$123;
$120=$171;
var $172=$120;
var $173=HEAP32[(($172)>>2)];
$117=$169;
$118=$170;
$119=$173;
var $174=$117;
var $175=$118;
var $176=$119;
$114=$174;
HEAP32[(($115)>>2)]=$175;
HEAP32[(($116)>>2)]=$176;
var $177=$114;
var $178=$177;
$113=$115;
var $179=$113;
var $180=HEAP32[(($179)>>2)];
$107=$116;
var $181=$107;
var $182=HEAP32[(($181)>>2)];
$110=$178;
HEAP32[(($111)>>2)]=$180;
HEAP32[(($112)>>2)]=$182;
var $183=$110;
var $184=(($183)|0);
$109=$111;
var $185=$109;
var $186=HEAP32[(($185)>>2)];
HEAP32[(($184)>>2)]=$186;
var $187=(($183+4)|0);
$108=$112;
var $188=$108;
var $189=HEAP32[(($188)>>2)];
HEAP32[(($187)>>2)]=$189;
var $190=$__nkw;
var $191=(($190)>>>(0)) > 100;
if ($191) { label = 2; break; } else { label = 15; break; }
case 2:
var $193=$__nkw;
var $194=_malloc($193);
$__status=$194;
var $195=$__status;
var $196=(($195)|(0))==0;
if ($196) { label = 3; break; } else { label = 10; break; }
case 3:
(function() { try { __THREW__ = 0; return __ZSt17__throw_bad_allocv() } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 4; break; } else { label = 5; break; }
case 4:
label = 10; break;
case 5:
var $200$0 = ___cxa_find_matching_catch(-1, -1); $200$1 = tempRet0;
var $201=$200$0;
$150=$201;
var $202=$200$1;
$151=$202;
$106=$__stat_hold;
var $203=$106;
$105=$203;
var $204=$105;
$103=$204;
$104=0;
var $205=$103;
var $206=(($205)|0);
$102=$206;
var $207=$102;
var $208=$207;
$101=$208;
var $209=$101;
var $210=(($209)|0);
var $211=HEAP32[(($210)>>2)];
$__tmp_i_i_i3=$211;
var $212=$104;
var $213=(($205)|0);
$100=$213;
var $214=$100;
var $215=$214;
$99=$215;
var $216=$99;
var $217=(($216)|0);
HEAP32[(($217)>>2)]=$212;
var $218=$__tmp_i_i_i3;
var $219=(($218)|(0))!=0;
if ($219) { label = 6; break; } else { label = 9; break; }
case 6:
var $221=(($205)|0);
$98=$221;
var $222=$98;
var $223=$222;
$97=$223;
var $224=$97;
var $225=(($224+4)|0);
var $226=HEAP32[(($225)>>2)];
var $227=$__tmp_i_i_i3;
(function() { try { __THREW__ = 0; return FUNCTION_TABLE[$226]($227) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 7; break; } else { label = 8; break; }
case 7:
label = 9; break;
case 8:
var $230$0 = ___cxa_find_matching_catch(-1, -1,0); $230$1 = tempRet0;
__ZSt9terminatev();
throw "Reached an unreachable!"
case 9:
label = 126; break;
case 10:
var $232=$__status;
$95=$__stat_hold;
$96=$232;
var $233=$95;
var $234=(($233)|0);
$94=$234;
var $235=$94;
var $236=$235;
$93=$236;
var $237=$93;
var $238=(($237)|0);
var $239=HEAP32[(($238)>>2)];
$__tmp_i=$239;
var $240=$96;
var $241=(($233)|0);
$92=$241;
var $242=$92;
var $243=$242;
$91=$243;
var $244=$91;
var $245=(($244)|0);
HEAP32[(($245)>>2)]=$240;
var $246=$__tmp_i;
var $247=(($246)|(0))!=0;
if ($247) { label = 11; break; } else { label = 14; break; }
case 11:
var $249=(($233)|0);
$90=$249;
var $250=$90;
var $251=$250;
$89=$251;
var $252=$89;
var $253=(($252+4)|0);
var $254=HEAP32[(($253)>>2)];
var $255=$__tmp_i;
(function() { try { __THREW__ = 0; return FUNCTION_TABLE[$254]($255) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 12; break; } else { label = 13; break; }
case 12:
label = 14; break;
case 13:
var $258$0 = ___cxa_find_matching_catch(-1, -1,0); $258$1 = tempRet0;
__ZSt9terminatev();
throw "Reached an unreachable!"
case 14:
label = 15; break;
case 15:
var $260=$__nkw;
$__n_might_match=$260;
$__n_does_match=0;
var $261=$__status;
$__st=$261;
var $262=$144;
$__ky=$262;
label = 16; break;
case 16:
var $264=$__ky;
var $265=$145;
var $266=(($264)|(0))!=(($265)|(0));
if ($266) { label = 17; break; } else { label = 25; break; }
case 17:
var $268=$__ky;
$88=$268;
var $269=$88;
$87=$269;
var $270=$87;
$86=$270;
var $271=$86;
var $272=(($271)|0);
$85=$272;
var $273=$85;
var $274=$273;
$84=$274;
var $275=$84;
var $276=(($275)|0);
var $277=(($276)|0);
var $278=$277;
var $279=(($278)|0);
var $280=$279;
var $281=HEAP8[($280)];
var $282=(($281)&(255));
var $283=$282 & 1;
var $284=(($283)|(0))!=0;
if ($284) { label = 18; break; } else { label = 19; break; }
case 18:
$80=$270;
var $286=$80;
var $287=(($286)|0);
$79=$287;
var $288=$79;
var $289=$288;
$78=$289;
var $290=$78;
var $291=(($290)|0);
var $292=(($291)|0);
var $293=$292;
var $294=(($293+4)|0);
var $295=HEAP32[(($294)>>2)];
var $310 = $295;label = 20; break;
case 19:
$83=$270;
var $297=$83;
var $298=(($297)|0);
$82=$298;
var $299=$82;
var $300=$299;
$81=$300;
var $301=$81;
var $302=(($301)|0);
var $303=(($302)|0);
var $304=$303;
var $305=(($304)|0);
var $306=$305;
var $307=HEAP8[($306)];
var $308=(($307)&(255));
var $309=$308 >> 1;
var $310 = $309;label = 20; break;
case 20:
var $310;
var $311=(($310)|(0))==0;
if ($311) { label = 22; break; } else { label = 21; break; }
case 21:
var $313=$__st;
HEAP8[($313)]=1;
label = 23; break;
case 22:
var $315=$__st;
HEAP8[($315)]=2;
var $316=$__n_might_match;
var $317=((($316)-(1))|0);
$__n_might_match=$317;
var $318=$__n_does_match;
var $319=((($318)+(1))|0);
$__n_does_match=$319;
label = 23; break;
case 23:
label = 24; break;
case 24:
var $322=$__ky;
var $323=(($322+12)|0);
$__ky=$323;
var $324=$__st;
var $325=(($324+1)|0);
$__st=$325;
label = 16; break;
case 25:
$__indx=0;
label = 26; break;
case 26:
var $328=$143;
$76=$328;
$77=$__e;
var $329=$76;
var $330=$77;
$74=$329;
$75=$330;
var $331=$74;
$73=$331;
var $332=$73;
var $333=(($332)|0);
var $334=HEAP32[(($333)>>2)];
var $335=(($334)|(0))!=0;
if ($335) { label = 27; break; } else { label = 33; break; }
case 27:
var $337=(($332)|0);
var $338=HEAP32[(($337)>>2)];
$72=$338;
var $339=$72;
var $340=(($339+12)|0);
var $341=HEAP32[(($340)>>2)];
var $342=(($339+16)|0);
var $343=HEAP32[(($342)>>2)];
var $344=(($341)|(0))==(($343)|(0));
if ($344) { label = 28; break; } else { label = 30; break; }
case 28:
var $346=$339;
var $347=HEAP32[(($346)>>2)];
var $348=(($347+36)|0);
var $349=HEAP32[(($348)>>2)];
var $350 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$349]($339) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 29; break; } else { label = 5; break; }
case 29:
$71=$350;
label = 31; break;
case 30:
var $352=(($339+12)|0);
var $353=HEAP32[(($352)>>2)];
var $354=HEAP8[($353)];
$70=$354;
var $355=$70;
var $356=(($355)&(255));
$71=$356;
label = 31; break;
case 31:
var $357=$71;
$68=$357;
$69=-1;
var $358=$68;
var $359=$69;
var $360=(($358)|(0))==(($359)|(0));
if ($360) { label = 32; break; } else { label = 33; break; }
case 32:
var $362=(($332)|0);
HEAP32[(($362)>>2)]=0;
label = 33; break;
case 33:
var $363=(($332)|0);
var $364=HEAP32[(($363)>>2)];
var $365=(($364)|(0))==0;
var $366=(($365)&(1));
var $367=$75;
$67=$367;
var $368=$67;
var $369=(($368)|0);
var $370=HEAP32[(($369)>>2)];
var $371=(($370)|(0))!=0;
if ($371) { label = 34; break; } else { label = 40; break; }
case 34:
var $373=(($368)|0);
var $374=HEAP32[(($373)>>2)];
$66=$374;
var $375=$66;
var $376=(($375+12)|0);
var $377=HEAP32[(($376)>>2)];
var $378=(($375+16)|0);
var $379=HEAP32[(($378)>>2)];
var $380=(($377)|(0))==(($379)|(0));
if ($380) { label = 35; break; } else { label = 37; break; }
case 35:
var $382=$375;
var $383=HEAP32[(($382)>>2)];
var $384=(($383+36)|0);
var $385=HEAP32[(($384)>>2)];
var $386 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$385]($375) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 36; break; } else { label = 5; break; }
case 36:
$65=$386;
label = 38; break;
case 37:
var $388=(($375+12)|0);
var $389=HEAP32[(($388)>>2)];
var $390=HEAP8[($389)];
$64=$390;
var $391=$64;
var $392=(($391)&(255));
$65=$392;
label = 38; break;
case 38:
var $393=$65;
$62=$393;
$63=-1;
var $394=$62;
var $395=$63;
var $396=(($394)|(0))==(($395)|(0));
if ($396) { label = 39; break; } else { label = 40; break; }
case 39:
var $398=(($368)|0);
HEAP32[(($398)>>2)]=0;
label = 40; break;
case 40:
var $399=(($368)|0);
var $400=HEAP32[(($399)>>2)];
var $401=(($400)|(0))==0;
var $402=(($401)&(1));
var $403=(($366)|(0))==(($402)|(0));
var $404=$403 ^ 1;
label = 41; break;
case 41:
if ($404) { label = 42; break; } else { var $410 = 0;label = 43; break; }
case 42:
var $407=$__n_might_match;
var $408=(($407)>>>(0)) > 0;
var $410 = $408;label = 43; break;
case 43:
var $410;
if ($410) { label = 44; break; } else { label = 96; break; }
case 44:
var $412=$143;
$61=$412;
var $413=$61;
var $414=(($413)|0);
var $415=HEAP32[(($414)>>2)];
$60=$415;
var $416=$60;
var $417=(($416+12)|0);
var $418=HEAP32[(($417)>>2)];
var $419=(($416+16)|0);
var $420=HEAP32[(($419)>>2)];
var $421=(($418)|(0))==(($420)|(0));
if ($421) { label = 45; break; } else { label = 47; break; }
case 45:
var $423=$416;
var $424=HEAP32[(($423)>>2)];
var $425=(($424+36)|0);
var $426=HEAP32[(($425)>>2)];
var $427 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$426]($416) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 46; break; } else { label = 5; break; }
case 46:
$59=$427;
label = 48; break;
case 47:
var $429=(($416+12)|0);
var $430=HEAP32[(($429)>>2)];
var $431=HEAP8[($430)];
$58=$431;
var $432=$58;
var $433=(($432)&(255));
$59=$433;
label = 48; break;
case 48:
var $434=$59;
var $435=(($434) & 255);
label = 49; break;
case 49:
$__c=$435;
var $437=$148;
var $438=(($437) & 1);
if ($438) { label = 53; break; } else { label = 50; break; }
case 50:
var $440=$146;
var $441=$__c;
$56=$440;
$57=$441;
var $442=$56;
var $443=$442;
var $444=HEAP32[(($443)>>2)];
var $445=(($444+12)|0);
var $446=HEAP32[(($445)>>2)];
var $447=$57;
var $448 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$446]($442, $447) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 51; break; } else { label = 5; break; }
case 51:
label = 52; break;
case 52:
$__c=$448;
label = 53; break;
case 53:
$__consume=0;
var $451=$__status;
$__st=$451;
var $452=$144;
$__ky1=$452;
label = 54; break;
case 54:
var $454=$__ky1;
var $455=$145;
var $456=(($454)|(0))!=(($455)|(0));
if ($456) { label = 55; break; } else { label = 75; break; }
case 55:
var $458=$__st;
var $459=HEAP8[($458)];
var $460=(($459)&(255));
var $461=(($460)|(0))==1;
if ($461) { label = 56; break; } else { label = 73; break; }
case 56:
var $463=$__ky1;
var $464=$__indx;
$54=$463;
$55=$464;
var $465=$54;
$53=$465;
var $466=$53;
$52=$466;
var $467=$52;
$51=$467;
var $468=$51;
var $469=(($468)|0);
$50=$469;
var $470=$50;
var $471=$470;
$49=$471;
var $472=$49;
var $473=(($472)|0);
var $474=(($473)|0);
var $475=$474;
var $476=(($475)|0);
var $477=$476;
var $478=HEAP8[($477)];
var $479=(($478)&(255));
var $480=$479 & 1;
var $481=(($480)|(0))!=0;
if ($481) { label = 57; break; } else { label = 58; break; }
case 57:
$45=$467;
var $483=$45;
var $484=(($483)|0);
$44=$484;
var $485=$44;
var $486=$485;
$43=$486;
var $487=$43;
var $488=(($487)|0);
var $489=(($488)|0);
var $490=$489;
var $491=(($490+8)|0);
var $492=HEAP32[(($491)>>2)];
var $504 = $492;label = 59; break;
case 58:
$48=$467;
var $494=$48;
var $495=(($494)|0);
$47=$495;
var $496=$47;
var $497=$496;
$46=$497;
var $498=$46;
var $499=(($498)|0);
var $500=(($499)|0);
var $501=$500;
var $502=(($501+1)|0);
var $503=(($502)|0);
var $504 = $503;label = 59; break;
case 59:
var $504;
var $505=$55;
var $506=(($504+$505)|0);
label = 60; break;
case 60:
var $508=HEAP8[($506)];
$__kc=$508;
var $509=$148;
var $510=(($509) & 1);
if ($510) { label = 64; break; } else { label = 61; break; }
case 61:
var $512=$146;
var $513=$__kc;
$41=$512;
$42=$513;
var $514=$41;
var $515=$514;
var $516=HEAP32[(($515)>>2)];
var $517=(($516+12)|0);
var $518=HEAP32[(($517)>>2)];
var $519=$42;
var $520 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$518]($514, $519) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 62; break; } else { label = 5; break; }
case 62:
label = 63; break;
case 63:
$__kc=$520;
label = 64; break;
case 64:
var $523=$__c;
var $524=(($523 << 24) >> 24);
var $525=$__kc;
var $526=(($525 << 24) >> 24);
var $527=(($524)|(0))==(($526)|(0));
if ($527) { label = 65; break; } else { label = 71; break; }
case 65:
$__consume=1;
var $529=$__ky1;
$40=$529;
var $530=$40;
$39=$530;
var $531=$39;
var $532=(($531)|0);
$38=$532;
var $533=$38;
var $534=$533;
$37=$534;
var $535=$37;
var $536=(($535)|0);
var $537=(($536)|0);
var $538=$537;
var $539=(($538)|0);
var $540=$539;
var $541=HEAP8[($540)];
var $542=(($541)&(255));
var $543=$542 & 1;
var $544=(($543)|(0))!=0;
if ($544) { label = 66; break; } else { label = 67; break; }
case 66:
$33=$530;
var $546=$33;
var $547=(($546)|0);
$32=$547;
var $548=$32;
var $549=$548;
$31=$549;
var $550=$31;
var $551=(($550)|0);
var $552=(($551)|0);
var $553=$552;
var $554=(($553+4)|0);
var $555=HEAP32[(($554)>>2)];
var $570 = $555;label = 68; break;
case 67:
$36=$530;
var $557=$36;
var $558=(($557)|0);
$35=$558;
var $559=$35;
var $560=$559;
$34=$560;
var $561=$34;
var $562=(($561)|0);
var $563=(($562)|0);
var $564=$563;
var $565=(($564)|0);
var $566=$565;
var $567=HEAP8[($566)];
var $568=(($567)&(255));
var $569=$568 >> 1;
var $570 = $569;label = 68; break;
case 68:
var $570;
var $571=$__indx;
var $572=((($571)+(1))|0);
var $573=(($570)|(0))==(($572)|(0));
if ($573) { label = 69; break; } else { label = 70; break; }
case 69:
var $575=$__st;
HEAP8[($575)]=2;
var $576=$__n_might_match;
var $577=((($576)-(1))|0);
$__n_might_match=$577;
var $578=$__n_does_match;
var $579=((($578)+(1))|0);
$__n_does_match=$579;
label = 70; break;
case 70:
label = 72; break;
case 71:
var $582=$__st;
HEAP8[($582)]=0;
var $583=$__n_might_match;
var $584=((($583)-(1))|0);
$__n_might_match=$584;
label = 72; break;
case 72:
label = 73; break;
case 73:
label = 74; break;
case 74:
var $588=$__ky1;
var $589=(($588+12)|0);
$__ky1=$589;
var $590=$__st;
var $591=(($590+1)|0);
$__st=$591;
label = 54; break;
case 75:
var $593=$__consume;
var $594=(($593) & 1);
if ($594) { label = 76; break; } else { label = 94; break; }
case 76:
var $596=$143;
$30=$596;
var $597=$30;
var $598=(($597)|0);
var $599=HEAP32[(($598)>>2)];
$29=$599;
var $600=$29;
var $601=(($600+12)|0);
var $602=HEAP32[(($601)>>2)];
var $603=(($600+16)|0);
var $604=HEAP32[(($603)>>2)];
var $605=(($602)|(0))==(($604)|(0));
if ($605) { label = 77; break; } else { label = 79; break; }
case 77:
var $607=$600;
var $608=HEAP32[(($607)>>2)];
var $609=(($608+40)|0);
var $610=HEAP32[(($609)>>2)];
var $611 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$610]($600) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 78; break; } else { label = 5; break; }
case 78:
$28=$611;
label = 80; break;
case 79:
var $613=(($600+12)|0);
var $614=HEAP32[(($613)>>2)];
var $615=(($614+1)|0);
HEAP32[(($613)>>2)]=$615;
var $616=HEAP8[($614)];
$27=$616;
var $617=$27;
var $618=(($617)&(255));
$28=$618;
label = 80; break;
case 80:
var $619=$28;
label = 81; break;
case 81:
var $621=$__n_might_match;
var $622=$__n_does_match;
var $623=((($621)+($622))|0);
var $624=(($623)>>>(0)) > 1;
if ($624) { label = 82; break; } else { label = 93; break; }
case 82:
var $626=$__status;
$__st=$626;
var $627=$144;
$__ky2=$627;
label = 83; break;
case 83:
var $629=$__ky2;
var $630=$145;
var $631=(($629)|(0))!=(($630)|(0));
if ($631) { label = 84; break; } else { label = 92; break; }
case 84:
var $633=$__st;
var $634=HEAP8[($633)];
var $635=(($634)&(255));
var $636=(($635)|(0))==2;
if ($636) { label = 85; break; } else { label = 90; break; }
case 85:
var $638=$__ky2;
$26=$638;
var $639=$26;
$25=$639;
var $640=$25;
var $641=(($640)|0);
$24=$641;
var $642=$24;
var $643=$642;
$23=$643;
var $644=$23;
var $645=(($644)|0);
var $646=(($645)|0);
var $647=$646;
var $648=(($647)|0);
var $649=$648;
var $650=HEAP8[($649)];
var $651=(($650)&(255));
var $652=$651 & 1;
var $653=(($652)|(0))!=0;
if ($653) { label = 86; break; } else { label = 87; break; }
case 86:
$19=$639;
var $655=$19;
var $656=(($655)|0);
$18=$656;
var $657=$18;
var $658=$657;
$17=$658;
var $659=$17;
var $660=(($659)|0);
var $661=(($660)|0);
var $662=$661;
var $663=(($662+4)|0);
var $664=HEAP32[(($663)>>2)];
var $679 = $664;label = 88; break;
case 87:
$22=$639;
var $666=$22;
var $667=(($666)|0);
$21=$667;
var $668=$21;
var $669=$668;
$20=$669;
var $670=$20;
var $671=(($670)|0);
var $672=(($671)|0);
var $673=$672;
var $674=(($673)|0);
var $675=$674;
var $676=HEAP8[($675)];
var $677=(($676)&(255));
var $678=$677 >> 1;
var $679 = $678;label = 88; break;
case 88:
var $679;
var $680=$__indx;
var $681=((($680)+(1))|0);
var $682=(($679)|(0))!=(($681)|(0));
if ($682) { label = 89; break; } else { label = 90; break; }
case 89:
var $684=$__st;
HEAP8[($684)]=0;
var $685=$__n_does_match;
var $686=((($685)-(1))|0);
$__n_does_match=$686;
label = 90; break;
case 90:
label = 91; break;
case 91:
var $689=$__ky2;
var $690=(($689+12)|0);
$__ky2=$690;
var $691=$__st;
var $692=(($691+1)|0);
$__st=$692;
label = 83; break;
case 92:
label = 93; break;
case 93:
label = 94; break;
case 94:
label = 95; break;
case 95:
var $697=$__indx;
var $698=((($697)+(1))|0);
$__indx=$698;
label = 26; break;
case 96:
var $700=$143;
$15=$700;
$16=$__e;
var $701=$15;
var $702=$16;
$13=$701;
$14=$702;
var $703=$13;
$12=$703;
var $704=$12;
var $705=(($704)|0);
var $706=HEAP32[(($705)>>2)];
var $707=(($706)|(0))!=0;
if ($707) { label = 97; break; } else { label = 103; break; }
case 97:
var $709=(($704)|0);
var $710=HEAP32[(($709)>>2)];
$11=$710;
var $711=$11;
var $712=(($711+12)|0);
var $713=HEAP32[(($712)>>2)];
var $714=(($711+16)|0);
var $715=HEAP32[(($714)>>2)];
var $716=(($713)|(0))==(($715)|(0));
if ($716) { label = 98; break; } else { label = 100; break; }
case 98:
var $718=$711;
var $719=HEAP32[(($718)>>2)];
var $720=(($719+36)|0);
var $721=HEAP32[(($720)>>2)];
var $722 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$721]($711) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 99; break; } else { label = 5; break; }
case 99:
$10=$722;
label = 101; break;
case 100:
var $724=(($711+12)|0);
var $725=HEAP32[(($724)>>2)];
var $726=HEAP8[($725)];
$9=$726;
var $727=$9;
var $728=(($727)&(255));
$10=$728;
label = 101; break;
case 101:
var $729=$10;
$7=$729;
$8=-1;
var $730=$7;
var $731=$8;
var $732=(($730)|(0))==(($731)|(0));
if ($732) { label = 102; break; } else { label = 103; break; }
case 102:
var $734=(($704)|0);
HEAP32[(($734)>>2)]=0;
label = 103; break;
case 103:
var $735=(($704)|0);
var $736=HEAP32[(($735)>>2)];
var $737=(($736)|(0))==0;
var $738=(($737)&(1));
var $739=$14;
$6=$739;
var $740=$6;
var $741=(($740)|0);
var $742=HEAP32[(($741)>>2)];
var $743=(($742)|(0))!=0;
if ($743) { label = 104; break; } else { label = 110; break; }
case 104:
var $745=(($740)|0);
var $746=HEAP32[(($745)>>2)];
$5=$746;
var $747=$5;
var $748=(($747+12)|0);
var $749=HEAP32[(($748)>>2)];
var $750=(($747+16)|0);
var $751=HEAP32[(($750)>>2)];
var $752=(($749)|(0))==(($751)|(0));
if ($752) { label = 105; break; } else { label = 107; break; }
case 105:
var $754=$747;
var $755=HEAP32[(($754)>>2)];
var $756=(($755+36)|0);
var $757=HEAP32[(($756)>>2)];
var $758 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$757]($747) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 106; break; } else { label = 5; break; }
case 106:
$4=$758;
label = 108; break;
case 107:
var $760=(($747+12)|0);
var $761=HEAP32[(($760)>>2)];
var $762=HEAP8[($761)];
$3=$762;
var $763=$3;
var $764=(($763)&(255));
$4=$764;
label = 108; break;
case 108:
var $765=$4;
$1=$765;
$2=-1;
var $766=$1;
var $767=$2;
var $768=(($766)|(0))==(($767)|(0));
if ($768) { label = 109; break; } else { label = 110; break; }
case 109:
var $770=(($740)|0);
HEAP32[(($770)>>2)]=0;
label = 110; break;
case 110:
var $771=(($740)|0);
var $772=HEAP32[(($771)>>2)];
var $773=(($772)|(0))==0;
var $774=(($773)&(1));
var $775=(($738)|(0))==(($774)|(0));
label = 111; break;
case 111:
if ($775) { label = 112; break; } else { label = 113; break; }
case 112:
var $778=$147;
var $779=HEAP32[(($778)>>2)];
var $780=$779 | 2;
HEAP32[(($778)>>2)]=$780;
label = 113; break;
case 113:
var $782=$__status;
$__st=$782;
label = 114; break;
case 114:
var $784=$144;
var $785=$145;
var $786=(($784)|(0))!=(($785)|(0));
if ($786) { label = 115; break; } else { label = 119; break; }
case 115:
var $788=$__st;
var $789=HEAP8[($788)];
var $790=(($789)&(255));
var $791=(($790)|(0))==2;
if ($791) { label = 116; break; } else { label = 117; break; }
case 116:
label = 119; break;
case 117:
label = 118; break;
case 118:
var $795=$144;
var $796=(($795+12)|0);
$144=$796;
var $797=$__st;
var $798=(($797+1)|0);
$__st=$798;
label = 114; break;
case 119:
var $800=$144;
var $801=$145;
var $802=(($800)|(0))==(($801)|(0));
if ($802) { label = 120; break; } else { label = 121; break; }
case 120:
var $804=$147;
var $805=HEAP32[(($804)>>2)];
var $806=$805 | 4;
HEAP32[(($804)>>2)]=$806;
label = 121; break;
case 121:
var $808=$144;
$152=1;
$136=$__stat_hold;
var $809=$136;
$135=$809;
var $810=$135;
$133=$810;
$134=0;
var $811=$133;
var $812=(($811)|0);
$132=$812;
var $813=$132;
var $814=$813;
$131=$814;
var $815=$131;
var $816=(($815)|0);
var $817=HEAP32[(($816)>>2)];
$__tmp_i_i_i=$817;
var $818=$134;
var $819=(($811)|0);
$130=$819;
var $820=$130;
var $821=$820;
$129=$821;
var $822=$129;
var $823=(($822)|0);
HEAP32[(($823)>>2)]=$818;
var $824=$__tmp_i_i_i;
var $825=(($824)|(0))!=0;
if ($825) { label = 122; break; } else { label = 125; break; }
case 122:
var $827=(($811)|0);
$128=$827;
var $828=$128;
var $829=$828;
$127=$829;
var $830=$127;
var $831=(($830+4)|0);
var $832=HEAP32[(($831)>>2)];
var $833=$__tmp_i_i_i;
(function() { try { __THREW__ = 0; return FUNCTION_TABLE[$832]($833) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 123; break; } else { label = 124; break; }
case 123:
label = 125; break;
case 124:
var $836$0 = ___cxa_find_matching_catch(-1, -1,0); $836$1 = tempRet0;
__ZSt9terminatev();
throw "Reached an unreachable!"
case 125:
STACKTOP = __stackBase__;
return $808;
case 126:
var $838=$150;
var $839=$151;
var $840$0=$838;
var $840$1=0;
var $841$0=$840$0;
var $841$1=$839;
___resumeException($841$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__114__num_get_base10__get_baseERNS_8ios_baseE($iob) {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $__basefield;
$3=$iob;
var $4=$3;
$1=$4;
var $5=$1;
var $6=(($5+4)|0);
var $7=HEAP32[(($6)>>2)];
var $8=$7 & 74;
$__basefield=$8;
var $9=$__basefield;
var $10=(($9)|(0))==64;
if ($10) { label = 2; break; } else { label = 3; break; }
case 2:
$2=8;
label = 10; break;
case 3:
var $13=$__basefield;
var $14=(($13)|(0))==8;
if ($14) { label = 4; break; } else { label = 5; break; }
case 4:
$2=16;
label = 10; break;
case 5:
var $17=$__basefield;
var $18=(($17)|(0))==0;
if ($18) { label = 6; break; } else { label = 7; break; }
case 6:
$2=0;
label = 10; break;
case 7:
label = 8; break;
case 8:
label = 9; break;
case 9:
$2=10;
label = 10; break;
case 10:
var $24=$2;
return $24;
default: assert(0, "bad label: " + label);
}
}
function __ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRl($agg_result, $this, $__b, $__e, $__iob, $__err, $__v) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 256)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
var tempParam = $__b; $__b = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__b)>>2)]=HEAP32[((tempParam)>>2)];
var tempParam = $__e; $__e = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__e)>>2)]=HEAP32[((tempParam)>>2)];
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $49;
var $50;
var $51;
var $52;
var $53;
var $54;
var $__base;
var $__atoms=__stackBase__;
var $__thousands_sep=(__stackBase__)+(28);
var $__grouping=(__stackBase__)+(32);
var $__a=(__stackBase__)+(44);
var $__a_end=(__stackBase__)+(84);
var $__g=(__stackBase__)+(88);
var $__g_end=(__stackBase__)+(248);
var $__dc=(__stackBase__)+(252);
var $55;
var $56;
var $57;
$51=$this;
$52=$__iob;
$53=$__err;
$54=$__v;
var $58=$51;
var $59=$52;
var $60=__ZNSt3__114__num_get_base10__get_baseERNS_8ios_baseE($59);
$__base=$60;
var $61=$52;
var $62=(($__atoms)|0);
__ZNSt3__19__num_getIcE17__stage2_int_prepERNS_8ios_baseEPcRc($__grouping, $61, $62, $__thousands_sep);
var $63=$__a;
_memset($63, 0, 40);
var $64=(($__a)|0);
HEAP32[(($__a_end)>>2)]=$64;
var $65=(($__g)|0);
HEAP32[(($__g_end)>>2)]=$65;
HEAP32[(($__dc)>>2)]=0;
label = 2; break;
case 2:
$49=$__b;
$50=$__e;
var $67=$49;
var $68=$50;
$47=$67;
$48=$68;
var $69=$47;
$46=$69;
var $70=$46;
var $71=(($70)|0);
var $72=HEAP32[(($71)>>2)];
var $73=(($72)|(0))!=0;
if ($73) { label = 3; break; } else { label = 9; break; }
case 3:
var $75=(($70)|0);
var $76=HEAP32[(($75)>>2)];
$45=$76;
var $77=$45;
var $78=(($77+12)|0);
var $79=HEAP32[(($78)>>2)];
var $80=(($77+16)|0);
var $81=HEAP32[(($80)>>2)];
var $82=(($79)|(0))==(($81)|(0));
if ($82) { label = 4; break; } else { label = 6; break; }
case 4:
var $84=$77;
var $85=HEAP32[(($84)>>2)];
var $86=(($85+36)|0);
var $87=HEAP32[(($86)>>2)];
var $88 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$87]($77) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 5; break; } else { label = 26; break; }
case 5:
$44=$88;
label = 7; break;
case 6:
var $90=(($77+12)|0);
var $91=HEAP32[(($90)>>2)];
var $92=HEAP8[($91)];
$43=$92;
var $93=$43;
var $94=(($93)&(255));
$44=$94;
label = 7; break;
case 7:
var $95=$44;
$41=$95;
$42=-1;
var $96=$41;
var $97=$42;
var $98=(($96)|(0))==(($97)|(0));
if ($98) { label = 8; break; } else { label = 9; break; }
case 8:
var $100=(($70)|0);
HEAP32[(($100)>>2)]=0;
label = 9; break;
case 9:
var $101=(($70)|0);
var $102=HEAP32[(($101)>>2)];
var $103=(($102)|(0))==0;
var $104=(($103)&(1));
var $105=$48;
$40=$105;
var $106=$40;
var $107=(($106)|0);
var $108=HEAP32[(($107)>>2)];
var $109=(($108)|(0))!=0;
if ($109) { label = 10; break; } else { label = 16; break; }
case 10:
var $111=(($106)|0);
var $112=HEAP32[(($111)>>2)];
$39=$112;
var $113=$39;
var $114=(($113+12)|0);
var $115=HEAP32[(($114)>>2)];
var $116=(($113+16)|0);
var $117=HEAP32[(($116)>>2)];
var $118=(($115)|(0))==(($117)|(0));
if ($118) { label = 11; break; } else { label = 13; break; }
case 11:
var $120=$113;
var $121=HEAP32[(($120)>>2)];
var $122=(($121+36)|0);
var $123=HEAP32[(($122)>>2)];
var $124 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$123]($113) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 12; break; } else { label = 26; break; }
case 12:
$38=$124;
label = 14; break;
case 13:
var $126=(($113+12)|0);
var $127=HEAP32[(($126)>>2)];
var $128=HEAP8[($127)];
$37=$128;
var $129=$37;
var $130=(($129)&(255));
$38=$130;
label = 14; break;
case 14:
var $131=$38;
$35=$131;
$36=-1;
var $132=$35;
var $133=$36;
var $134=(($132)|(0))==(($133)|(0));
if ($134) { label = 15; break; } else { label = 16; break; }
case 15:
var $136=(($106)|0);
HEAP32[(($136)>>2)]=0;
label = 16; break;
case 16:
var $137=(($106)|0);
var $138=HEAP32[(($137)>>2)];
var $139=(($138)|(0))==0;
var $140=(($139)&(1));
var $141=(($104)|(0))==(($140)|(0));
var $142=$141 ^ 1;
label = 17; break;
case 17:
if ($142) { label = 18; break; } else { label = 34; break; }
case 18:
$34=$__b;
var $145=$34;
var $146=(($145)|0);
var $147=HEAP32[(($146)>>2)];
$33=$147;
var $148=$33;
var $149=(($148+12)|0);
var $150=HEAP32[(($149)>>2)];
var $151=(($148+16)|0);
var $152=HEAP32[(($151)>>2)];
var $153=(($150)|(0))==(($152)|(0));
if ($153) { label = 19; break; } else { label = 21; break; }
case 19:
var $155=$148;
var $156=HEAP32[(($155)>>2)];
var $157=(($156+36)|0);
var $158=HEAP32[(($157)>>2)];
var $159 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$158]($148) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 20; break; } else { label = 26; break; }
case 20:
$32=$159;
label = 22; break;
case 21:
var $161=(($148+12)|0);
var $162=HEAP32[(($161)>>2)];
var $163=HEAP8[($162)];
$31=$163;
var $164=$31;
var $165=(($164)&(255));
$32=$165;
label = 22; break;
case 22:
var $166=$32;
var $167=(($166) & 255);
label = 23; break;
case 23:
var $169=$__base;
var $170=(($__a)|0);
var $171=HEAP8[($__thousands_sep)];
var $172=(($__g)|0);
var $173=(($__atoms)|0);
var $174 = (function() { try { __THREW__ = 0; return __ZNSt3__19__num_getIcE17__stage2_int_loopEciPcRS2_RjcRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_S2_($167, $169, $170, $__a_end, $__dc, $171, $__grouping, $172, $__g_end, $173) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 24; break; } else { label = 26; break; }
case 24:
var $176=(($174)|(0))!=0;
if ($176) { label = 25; break; } else { label = 27; break; }
case 25:
label = 34; break;
case 26:
var $179$0 = ___cxa_find_matching_catch(-1, -1); $179$1 = tempRet0;
var $180=$179$0;
$55=$180;
var $181=$179$1;
$56=$181;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__grouping);
label = 60; break;
case 27:
label = 28; break;
case 28:
$30=$__b;
var $184=$30;
var $185=(($184)|0);
var $186=HEAP32[(($185)>>2)];
$29=$186;
var $187=$29;
var $188=(($187+12)|0);
var $189=HEAP32[(($188)>>2)];
var $190=(($187+16)|0);
var $191=HEAP32[(($190)>>2)];
var $192=(($189)|(0))==(($191)|(0));
if ($192) { label = 29; break; } else { label = 31; break; }
case 29:
var $194=$187;
var $195=HEAP32[(($194)>>2)];
var $196=(($195+40)|0);
var $197=HEAP32[(($196)>>2)];
var $198 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$197]($187) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 30; break; } else { label = 26; break; }
case 30:
$28=$198;
label = 32; break;
case 31:
var $200=(($187+12)|0);
var $201=HEAP32[(($200)>>2)];
var $202=(($201+1)|0);
HEAP32[(($200)>>2)]=$202;
var $203=HEAP8[($201)];
$27=$203;
var $204=$27;
var $205=(($204)&(255));
$28=$205;
label = 32; break;
case 32:
var $206=$28;
label = 33; break;
case 33:
label = 2; break;
case 34:
$26=$__grouping;
var $209=$26;
$25=$209;
var $210=$25;
var $211=(($210)|0);
$24=$211;
var $212=$24;
var $213=$212;
$23=$213;
var $214=$23;
var $215=(($214)|0);
var $216=(($215)|0);
var $217=$216;
var $218=(($217)|0);
var $219=$218;
var $220=HEAP8[($219)];
var $221=(($220)&(255));
var $222=$221 & 1;
var $223=(($222)|(0))!=0;
if ($223) { label = 35; break; } else { label = 36; break; }
case 35:
$19=$209;
var $225=$19;
var $226=(($225)|0);
$18=$226;
var $227=$18;
var $228=$227;
$17=$228;
var $229=$17;
var $230=(($229)|0);
var $231=(($230)|0);
var $232=$231;
var $233=(($232+4)|0);
var $234=HEAP32[(($233)>>2)];
var $249 = $234;label = 37; break;
case 36:
$22=$209;
var $236=$22;
var $237=(($236)|0);
$21=$237;
var $238=$21;
var $239=$238;
$20=$239;
var $240=$20;
var $241=(($240)|0);
var $242=(($241)|0);
var $243=$242;
var $244=(($243)|0);
var $245=$244;
var $246=HEAP8[($245)];
var $247=(($246)&(255));
var $248=$247 >> 1;
var $249 = $248;label = 37; break;
case 37:
var $249;
var $250=(($249)|(0))!=0;
if ($250) { label = 38; break; } else { label = 40; break; }
case 38:
var $252=HEAP32[(($__g_end)>>2)];
var $253=(($__g)|0);
var $254=$252;
var $255=$253;
var $256=((($254)-($255))|0);
var $257=((((($256)|(0)))/(4))&-1);
var $258=(($257)|(0)) < 40;
if ($258) { label = 39; break; } else { label = 40; break; }
case 39:
var $260=HEAP32[(($__dc)>>2)];
var $261=HEAP32[(($__g_end)>>2)];
var $262=(($261+4)|0);
HEAP32[(($__g_end)>>2)]=$262;
HEAP32[(($261)>>2)]=$260;
label = 40; break;
case 40:
var $264=(($__a)|0);
var $265=HEAP32[(($__a_end)>>2)];
var $266=$53;
var $267=$__base;
var $268 = (function() { try { __THREW__ = 0; return __ZNSt3__125__num_get_signed_integralIlEET_PKcS3_Rji($264, $265, $266, $267) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 41; break; } else { label = 26; break; }
case 41:
var $270=$54;
HEAP32[(($270)>>2)]=$268;
var $271=(($__g)|0);
var $272=HEAP32[(($__g_end)>>2)];
var $273=$53;
(function() { try { __THREW__ = 0; return __ZNSt3__116__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($__grouping, $271, $272, $273) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 42; break; } else { label = 26; break; }
case 42:
$15=$__b;
$16=$__e;
var $275=$15;
var $276=$16;
$13=$275;
$14=$276;
var $277=$13;
$12=$277;
var $278=$12;
var $279=(($278)|0);
var $280=HEAP32[(($279)>>2)];
var $281=(($280)|(0))!=0;
if ($281) { label = 43; break; } else { label = 49; break; }
case 43:
var $283=(($278)|0);
var $284=HEAP32[(($283)>>2)];
$11=$284;
var $285=$11;
var $286=(($285+12)|0);
var $287=HEAP32[(($286)>>2)];
var $288=(($285+16)|0);
var $289=HEAP32[(($288)>>2)];
var $290=(($287)|(0))==(($289)|(0));
if ($290) { label = 44; break; } else { label = 46; break; }
case 44:
var $292=$285;
var $293=HEAP32[(($292)>>2)];
var $294=(($293+36)|0);
var $295=HEAP32[(($294)>>2)];
var $296 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$295]($285) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 45; break; } else { label = 26; break; }
case 45:
$10=$296;
label = 47; break;
case 46:
var $298=(($285+12)|0);
var $299=HEAP32[(($298)>>2)];
var $300=HEAP8[($299)];
$9=$300;
var $301=$9;
var $302=(($301)&(255));
$10=$302;
label = 47; break;
case 47:
var $303=$10;
$7=$303;
$8=-1;
var $304=$7;
var $305=$8;
var $306=(($304)|(0))==(($305)|(0));
if ($306) { label = 48; break; } else { label = 49; break; }
case 48:
var $308=(($278)|0);
HEAP32[(($308)>>2)]=0;
label = 49; break;
case 49:
var $309=(($278)|0);
var $310=HEAP32[(($309)>>2)];
var $311=(($310)|(0))==0;
var $312=(($311)&(1));
var $313=$14;
$6=$313;
var $314=$6;
var $315=(($314)|0);
var $316=HEAP32[(($315)>>2)];
var $317=(($316)|(0))!=0;
if ($317) { label = 50; break; } else { label = 56; break; }
case 50:
var $319=(($314)|0);
var $320=HEAP32[(($319)>>2)];
$5=$320;
var $321=$5;
var $322=(($321+12)|0);
var $323=HEAP32[(($322)>>2)];
var $324=(($321+16)|0);
var $325=HEAP32[(($324)>>2)];
var $326=(($323)|(0))==(($325)|(0));
if ($326) { label = 51; break; } else { label = 53; break; }
case 51:
var $328=$321;
var $329=HEAP32[(($328)>>2)];
var $330=(($329+36)|0);
var $331=HEAP32[(($330)>>2)];
var $332 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$331]($321) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 52; break; } else { label = 26; break; }
case 52:
$4=$332;
label = 54; break;
case 53:
var $334=(($321+12)|0);
var $335=HEAP32[(($334)>>2)];
var $336=HEAP8[($335)];
$3=$336;
var $337=$3;
var $338=(($337)&(255));
$4=$338;
label = 54; break;
case 54:
var $339=$4;
$1=$339;
$2=-1;
var $340=$1;
var $341=$2;
var $342=(($340)|(0))==(($341)|(0));
if ($342) { label = 55; break; } else { label = 56; break; }
case 55:
var $344=(($314)|0);
HEAP32[(($344)>>2)]=0;
label = 56; break;
case 56:
var $345=(($314)|0);
var $346=HEAP32[(($345)>>2)];
var $347=(($346)|(0))==0;
var $348=(($347)&(1));
var $349=(($312)|(0))==(($348)|(0));
label = 57; break;
case 57:
if ($349) { label = 58; break; } else { label = 59; break; }
case 58:
var $352=$53;
var $353=HEAP32[(($352)>>2)];
var $354=$353 | 2;
HEAP32[(($352)>>2)]=$354;
label = 59; break;
case 59:
var $356=$agg_result;
var $357=$__b;
assert(4 % 1 === 0);HEAP32[(($356)>>2)]=HEAP32[(($357)>>2)];
$57=1;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__grouping);
STACKTOP = __stackBase__;
return;
case 60:
var $359=$55;
var $360=$56;
var $361$0=$359;
var $361$1=0;
var $362$0=$361$0;
var $362$1=$360;
___resumeException($362$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__19__num_getIcE17__stage2_int_prepERNS_8ios_baseEPcRc($agg_result, $__iob, $__atoms, $__thousands_sep) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 4)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $__loc=__stackBase__;
var $12;
var $13;
var $__np;
var $14;
$9=$__iob;
$10=$__atoms;
$11=$__thousands_sep;
var $15=$9;
__ZNKSt3__18ios_base6getlocEv($__loc, $15);
$8=$__loc;
var $16=$8;
var $17 = (function() { try { __THREW__ = 0; return __ZNKSt3__16locale9use_facetERNS0_2idE($16, 5255420) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 2; break; } else { label = 12; break; }
case 2:
var $18=$17;
label = 3; break;
case 3:
var $20=$10;
$4=$18;
$5=((5255860)|0);
$6=((5255886)|0);
$7=$20;
var $21=$4;
var $22=$21;
var $23=HEAP32[(($22)>>2)];
var $24=(($23+32)|0);
var $25=HEAP32[(($24)>>2)];
var $26=$5;
var $27=$6;
var $28=$7;
var $29 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$25]($21, $26, $27, $28) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 4; break; } else { label = 12; break; }
case 4:
label = 5; break;
case 5:
$3=$__loc;
var $31=$3;
var $32 = (function() { try { __THREW__ = 0; return __ZNKSt3__16locale9use_facetERNS0_2idE($31, 5255052) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 6; break; } else { label = 12; break; }
case 6:
var $33=$32;
label = 7; break;
case 7:
$__np=$33;
var $35=$__np;
$2=$35;
var $36=$2;
var $37=$36;
var $38=HEAP32[(($37)>>2)];
var $39=(($38+16)|0);
var $40=HEAP32[(($39)>>2)];
var $41 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$40]($36) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 8; break; } else { label = 12; break; }
case 8:
label = 9; break;
case 9:
var $43=$11;
HEAP8[($43)]=$41;
var $44=$__np;
$1=$44;
var $45=$1;
var $46=$45;
var $47=HEAP32[(($46)>>2)];
var $48=(($47+20)|0);
var $49=HEAP32[(($48)>>2)];
(function() { try { __THREW__ = 0; return FUNCTION_TABLE[$49]($agg_result, $45) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 10; break; } else { label = 12; break; }
case 10:
label = 11; break;
case 11:
$14=1;
__ZNSt3__16localeD2Ev($__loc);
STACKTOP = __stackBase__;
return;
case 12:
var $52$0 = ___cxa_find_matching_catch(-1, -1); $52$1 = tempRet0;
var $53=$52$0;
$12=$53;
var $54=$52$1;
$13=$54;
__ZNSt3__16localeD2Ev($__loc);
label = 13; break;
case 13:
var $56=$12;
var $57=$13;
var $58$0=$56;
var $58$1=0;
var $59$0=$58$0;
var $59$1=$57;
___resumeException($59$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__19__num_getIcE17__stage2_int_loopEciPcRS2_RjcRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_S2_($__ct, $__base, $__a, $__a_end, $__dc, $__thousands_sep, $__grouping, $__g, $__g_end, $__atoms) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 4)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15=__stackBase__;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $__f;
HEAP8[($15)]=$__ct;
$16=$__base;
$17=$__a;
$18=$__a_end;
$19=$__dc;
$20=$__thousands_sep;
$21=$__grouping;
$22=$__g;
$23=$__g_end;
$24=$__atoms;
var $25=$18;
var $26=HEAP32[(($25)>>2)];
var $27=$17;
var $28=(($26)|(0))==(($27)|(0));
if ($28) { label = 2; break; } else { label = 5; break; }
case 2:
var $30=HEAP8[($15)];
var $31=(($30 << 24) >> 24);
var $32=$24;
var $33=(($32+24)|0);
var $34=HEAP8[($33)];
var $35=(($34 << 24) >> 24);
var $36=(($31)|(0))==(($35)|(0));
if ($36) { label = 4; break; } else { label = 3; break; }
case 3:
var $38=HEAP8[($15)];
var $39=(($38 << 24) >> 24);
var $40=$24;
var $41=(($40+25)|0);
var $42=HEAP8[($41)];
var $43=(($42 << 24) >> 24);
var $44=(($39)|(0))==(($43)|(0));
if ($44) { label = 4; break; } else { label = 5; break; }
case 4:
var $46=HEAP8[($15)];
var $47=(($46 << 24) >> 24);
var $48=$24;
var $49=(($48+24)|0);
var $50=HEAP8[($49)];
var $51=(($50 << 24) >> 24);
var $52=(($47)|(0))==(($51)|(0));
var $53=$52 ? 43 : 45;
var $54=$18;
var $55=HEAP32[(($54)>>2)];
var $56=(($55+1)|0);
HEAP32[(($54)>>2)]=$56;
HEAP8[($55)]=$53;
var $57=$19;
HEAP32[(($57)>>2)]=0;
$14=0;
label = 34; break;
case 5:
var $59=$21;
$13=$59;
var $60=$13;
$12=$60;
var $61=$12;
var $62=(($61)|0);
$11=$62;
var $63=$11;
var $64=$63;
$10=$64;
var $65=$10;
var $66=(($65)|0);
var $67=(($66)|0);
var $68=$67;
var $69=(($68)|0);
var $70=$69;
var $71=HEAP8[($70)];
var $72=(($71)&(255));
var $73=$72 & 1;
var $74=(($73)|(0))!=0;
if ($74) { label = 6; break; } else { label = 7; break; }
case 6:
$6=$60;
var $76=$6;
var $77=(($76)|0);
$5=$77;
var $78=$5;
var $79=$78;
$4=$79;
var $80=$4;
var $81=(($80)|0);
var $82=(($81)|0);
var $83=$82;
var $84=(($83+4)|0);
var $85=HEAP32[(($84)>>2)];
var $100 = $85;label = 8; break;
case 7:
$9=$60;
var $87=$9;
var $88=(($87)|0);
$8=$88;
var $89=$8;
var $90=$89;
$7=$90;
var $91=$7;
var $92=(($91)|0);
var $93=(($92)|0);
var $94=$93;
var $95=(($94)|0);
var $96=$95;
var $97=HEAP8[($96)];
var $98=(($97)&(255));
var $99=$98 >> 1;
var $100 = $99;label = 8; break;
case 8:
var $100;
var $101=(($100)|(0))!=0;
if ($101) { label = 9; break; } else { label = 13; break; }
case 9:
var $103=HEAP8[($15)];
var $104=(($103 << 24) >> 24);
var $105=$20;
var $106=(($105 << 24) >> 24);
var $107=(($104)|(0))==(($106)|(0));
if ($107) { label = 10; break; } else { label = 13; break; }
case 10:
var $109=$23;
var $110=HEAP32[(($109)>>2)];
var $111=$22;
var $112=$110;
var $113=$111;
var $114=((($112)-($113))|0);
var $115=((((($114)|(0)))/(4))&-1);
var $116=(($115)|(0)) < 40;
if ($116) { label = 11; break; } else { label = 12; break; }
case 11:
var $118=$19;
var $119=HEAP32[(($118)>>2)];
var $120=$23;
var $121=HEAP32[(($120)>>2)];
var $122=(($121+4)|0);
HEAP32[(($120)>>2)]=$122;
HEAP32[(($121)>>2)]=$119;
var $123=$19;
HEAP32[(($123)>>2)]=0;
label = 12; break;
case 12:
$14=0;
label = 34; break;
case 13:
var $126=$24;
var $127=$24;
var $128=(($127+26)|0);
$1=$126;
$2=$128;
$3=$15;
label = 14; break;
case 14:
var $130=$1;
var $131=$2;
var $132=(($130)|(0))!=(($131)|(0));
if ($132) { label = 15; break; } else { label = 18; break; }
case 15:
var $134=$1;
var $135=HEAP8[($134)];
var $136=(($135 << 24) >> 24);
var $137=$3;
var $138=HEAP8[($137)];
var $139=(($138 << 24) >> 24);
var $140=(($136)|(0))==(($139)|(0));
if ($140) { label = 16; break; } else { label = 17; break; }
case 16:
label = 18; break;
case 17:
var $143=$1;
var $144=(($143+1)|0);
$1=$144;
label = 14; break;
case 18:
var $145=$1;
var $146=$24;
var $147=$145;
var $148=$146;
var $149=((($147)-($148))|0);
$__f=$149;
var $150=$__f;
var $151=(($150)|(0)) >= 24;
if ($151) { label = 19; break; } else { label = 20; break; }
case 19:
$14=-1;
label = 34; break;
case 20:
var $154=$16;
if ((($154)|(0))==8 | (($154)|(0))==10) {
label = 21; break;
}
else if ((($154)|(0))==16) {
label = 24; break;
}
else {
label = 31; break;
}
case 21:
var $156=$__f;
var $157=$16;
var $158=(($156)|(0)) >= (($157)|(0));
if ($158) { label = 22; break; } else { label = 23; break; }
case 22:
$14=-1;
label = 34; break;
case 23:
label = 31; break;
case 24:
var $162=$__f;
var $163=(($162)|(0)) < 22;
if ($163) { label = 25; break; } else { label = 26; break; }
case 25:
label = 31; break;
case 26:
var $166=$18;
var $167=HEAP32[(($166)>>2)];
var $168=$17;
var $169=(($167)|(0))!=(($168)|(0));
if ($169) { label = 27; break; } else { label = 30; break; }
case 27:
var $171=$18;
var $172=HEAP32[(($171)>>2)];
var $173=$17;
var $174=$172;
var $175=$173;
var $176=((($174)-($175))|0);
var $177=(($176)|(0)) <= 2;
if ($177) { label = 28; break; } else { label = 30; break; }
case 28:
var $179=$18;
var $180=HEAP32[(($179)>>2)];
var $181=((($180)-(1))|0);
var $182=HEAP8[($181)];
var $183=(($182 << 24) >> 24);
var $184=(($183)|(0))==48;
if ($184) { label = 29; break; } else { label = 30; break; }
case 29:
var $186=$19;
HEAP32[(($186)>>2)]=0;
var $187=$__f;
var $188=((5255860+$187)|0);
var $189=HEAP8[($188)];
var $190=$18;
var $191=HEAP32[(($190)>>2)];
var $192=(($191+1)|0);
HEAP32[(($190)>>2)]=$192;
HEAP8[($191)]=$189;
$14=0;
label = 34; break;
case 30:
$14=-1;
label = 34; break;
case 31:
var $195=$18;
var $196=HEAP32[(($195)>>2)];
var $197=$17;
var $198=$196;
var $199=$197;
var $200=((($198)-($199))|0);
var $201=(($200)|(0)) < 39;
if ($201) { label = 32; break; } else { label = 33; break; }
case 32:
var $203=$__f;
var $204=((5255860+$203)|0);
var $205=HEAP8[($204)];
var $206=$18;
var $207=HEAP32[(($206)>>2)];
var $208=(($207+1)|0);
HEAP32[(($206)>>2)]=$208;
HEAP8[($207)]=$205;
label = 33; break;
case 33:
var $210=$19;
var $211=HEAP32[(($210)>>2)];
var $212=((($211)+(1))|0);
HEAP32[(($210)>>2)]=$212;
$14=0;
label = 34; break;
case 34:
var $214=$14;
STACKTOP = __stackBase__;
return $214;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__116__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($__grouping, $__g, $__g_end, $__err) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 12)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $__t_i_i_i=__stackBase__;
var $6;
var $7;
var $8=(__stackBase__)+(4);
var $9;
var $10;
var $11=(__stackBase__)+(8);
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $__ig;
var $__eg;
var $__r;
$43=$__grouping;
$44=$__g;
$45=$__g_end;
$46=$__err;
var $47=$43;
$42=$47;
var $48=$42;
$41=$48;
var $49=$41;
var $50=(($49)|0);
$40=$50;
var $51=$40;
var $52=$51;
$39=$52;
var $53=$39;
var $54=(($53)|0);
var $55=(($54)|0);
var $56=$55;
var $57=(($56)|0);
var $58=$57;
var $59=HEAP8[($58)];
var $60=(($59)&(255));
var $61=$60 & 1;
var $62=(($61)|(0))!=0;
if ($62) { label = 2; break; } else { label = 3; break; }
case 2:
$35=$48;
var $64=$35;
var $65=(($64)|0);
$34=$65;
var $66=$34;
var $67=$66;
$33=$67;
var $68=$33;
var $69=(($68)|0);
var $70=(($69)|0);
var $71=$70;
var $72=(($71+4)|0);
var $73=HEAP32[(($72)>>2)];
var $88 = $73;label = 4; break;
case 3:
$38=$48;
var $75=$38;
var $76=(($75)|0);
$37=$76;
var $77=$37;
var $78=$77;
$36=$78;
var $79=$36;
var $80=(($79)|0);
var $81=(($80)|0);
var $82=$81;
var $83=(($82)|0);
var $84=$83;
var $85=HEAP8[($84)];
var $86=(($85)&(255));
var $87=$86 >> 1;
var $88 = $87;label = 4; break;
case 4:
var $88;
var $89=(($88)|(0))!=0;
if ($89) { label = 5; break; } else { label = 34; break; }
case 5:
var $91=$44;
var $92=$45;
$9=$91;
$10=$92;
var $93=$9;
var $94=$10;
$6=$93;
$7=$94;
var $95=$6;
var $96=$7;
var $97=(($95)|(0))!=(($96)|(0));
if ($97) { label = 6; break; } else { label = 10; break; }
case 6:
label = 7; break;
case 7:
var $100=$6;
var $101=$7;
var $102=((($101)-(4))|0);
$7=$102;
var $103=(($100)>>>(0)) < (($102)>>>(0));
if ($103) { label = 8; break; } else { label = 9; break; }
case 8:
var $105=$6;
var $106=$7;
$4=$105;
$5=$106;
var $107=$4;
$3=$107;
var $108=$3;
var $109=HEAP32[(($108)>>2)];
HEAP32[(($__t_i_i_i)>>2)]=$109;
var $110=$5;
$1=$110;
var $111=$1;
var $112=HEAP32[(($111)>>2)];
var $113=$4;
HEAP32[(($113)>>2)]=$112;
$2=$__t_i_i_i;
var $114=$2;
var $115=HEAP32[(($114)>>2)];
var $116=$5;
HEAP32[(($116)>>2)]=$115;
var $117=$6;
var $118=(($117+4)|0);
$6=$118;
label = 7; break;
case 9:
label = 10; break;
case 10:
var $120=$43;
$22=$120;
var $121=$22;
$21=$121;
var $122=$21;
$20=$122;
var $123=$20;
var $124=(($123)|0);
$19=$124;
var $125=$19;
var $126=$125;
$18=$126;
var $127=$18;
var $128=(($127)|0);
var $129=(($128)|0);
var $130=$129;
var $131=(($130)|0);
var $132=$131;
var $133=HEAP8[($132)];
var $134=(($133)&(255));
var $135=$134 & 1;
var $136=(($135)|(0))!=0;
if ($136) { label = 11; break; } else { label = 12; break; }
case 11:
$14=$122;
var $138=$14;
var $139=(($138)|0);
$13=$139;
var $140=$13;
var $141=$140;
$12=$141;
var $142=$12;
var $143=(($142)|0);
var $144=(($143)|0);
var $145=$144;
var $146=(($145+8)|0);
var $147=HEAP32[(($146)>>2)];
var $159 = $147;label = 13; break;
case 12:
$17=$122;
var $149=$17;
var $150=(($149)|0);
$16=$150;
var $151=$16;
var $152=$151;
$15=$152;
var $153=$15;
var $154=(($153)|0);
var $155=(($154)|0);
var $156=$155;
var $157=(($156+1)|0);
var $158=(($157)|0);
var $159 = $158;label = 13; break;
case 13:
var $159;
$__ig=$159;
var $160=$__ig;
var $161=$43;
$32=$161;
var $162=$32;
$31=$162;
var $163=$31;
var $164=(($163)|0);
$30=$164;
var $165=$30;
var $166=$165;
$29=$166;
var $167=$29;
var $168=(($167)|0);
var $169=(($168)|0);
var $170=$169;
var $171=(($170)|0);
var $172=$171;
var $173=HEAP8[($172)];
var $174=(($173)&(255));
var $175=$174 & 1;
var $176=(($175)|(0))!=0;
if ($176) { label = 14; break; } else { label = 15; break; }
case 14:
$25=$162;
var $178=$25;
var $179=(($178)|0);
$24=$179;
var $180=$24;
var $181=$180;
$23=$181;
var $182=$23;
var $183=(($182)|0);
var $184=(($183)|0);
var $185=$184;
var $186=(($185+4)|0);
var $187=HEAP32[(($186)>>2)];
var $202 = $187;label = 16; break;
case 15:
$28=$162;
var $189=$28;
var $190=(($189)|0);
$27=$190;
var $191=$27;
var $192=$191;
$26=$192;
var $193=$26;
var $194=(($193)|0);
var $195=(($194)|0);
var $196=$195;
var $197=(($196)|0);
var $198=$197;
var $199=HEAP8[($198)];
var $200=(($199)&(255));
var $201=$200 >> 1;
var $202 = $201;label = 16; break;
case 16:
var $202;
var $203=(($160+$202)|0);
$__eg=$203;
var $204=$44;
$__r=$204;
label = 17; break;
case 17:
var $206=$__r;
var $207=$45;
var $208=((($207)-(4))|0);
var $209=(($206)>>>(0)) < (($208)>>>(0));
if ($209) { label = 18; break; } else { label = 27; break; }
case 18:
var $211=$__ig;
var $212=HEAP8[($211)];
var $213=(($212 << 24) >> 24);
var $214=0 < (($213)|(0));
if ($214) { label = 19; break; } else { label = 23; break; }
case 19:
var $216=$__ig;
var $217=HEAP8[($216)];
var $218=(($217 << 24) >> 24);
var $219=127;
var $220=(($218)|(0)) < (($219)|(0));
if ($220) { label = 20; break; } else { label = 23; break; }
case 20:
var $222=$__ig;
var $223=HEAP8[($222)];
var $224=(($223 << 24) >> 24);
var $225=$__r;
var $226=HEAP32[(($225)>>2)];
var $227=(($224)|(0))!=(($226)|(0));
if ($227) { label = 21; break; } else { label = 22; break; }
case 21:
var $229=$46;
HEAP32[(($229)>>2)]=4;
label = 34; break;
case 22:
label = 23; break;
case 23:
var $232=$__eg;
var $233=$__ig;
var $234=$232;
var $235=$233;
var $236=((($234)-($235))|0);
var $237=(($236)|(0)) > 1;
if ($237) { label = 24; break; } else { label = 25; break; }
case 24:
var $239=$__ig;
var $240=(($239+1)|0);
$__ig=$240;
label = 25; break;
case 25:
label = 26; break;
case 26:
var $243=$__r;
var $244=(($243+4)|0);
$__r=$244;
label = 17; break;
case 27:
var $246=$__ig;
var $247=HEAP8[($246)];
var $248=(($247 << 24) >> 24);
var $249=0 < (($248)|(0));
if ($249) { label = 28; break; } else { label = 33; break; }
case 28:
var $251=$__ig;
var $252=HEAP8[($251)];
var $253=(($252 << 24) >> 24);
var $254=127;
var $255=(($253)|(0)) < (($254)|(0));
if ($255) { label = 29; break; } else { label = 33; break; }
case 29:
var $257=$__ig;
var $258=HEAP8[($257)];
var $259=(($258 << 24) >> 24);
var $260=$45;
var $261=((($260)-(4))|0);
var $262=HEAP32[(($261)>>2)];
var $263=(($259)>>>(0)) < (($262)>>>(0));
if ($263) { label = 31; break; } else { label = 30; break; }
case 30:
var $265=$45;
var $266=((($265)-(4))|0);
var $267=HEAP32[(($266)>>2)];
var $268=(($267)|(0))==0;
if ($268) { label = 31; break; } else { label = 32; break; }
case 31:
var $270=$46;
HEAP32[(($270)>>2)]=4;
label = 32; break;
case 32:
label = 33; break;
case 33:
label = 34; break;
case 34:
STACKTOP = __stackBase__;
return;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__125__num_get_signed_integralIlEET_PKcS3_Rji($__a, $__a_end, $__err, $__base) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 12)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $__save_errno;
var $__p2=__stackBase__;
var $__ll=(__stackBase__)+(4);
var $__current_errno;
$2=$__a;
$3=$__a_end;
$4=$__err;
$5=$__base;
var $6=$2;
var $7=$3;
var $8=(($6)|(0))!=(($7)|(0));
if ($8) { label = 2; break; } else { label = 14; break; }
case 2:
var $10=___errno_location();
var $11=HEAP32[(($10)>>2)];
$__save_errno=$11;
var $12=___errno_location();
HEAP32[(($12)>>2)]=0;
var $13=$2;
var $14=$5;
var $15=__ZNSt3__16__clocEv();
var $16$0=_strtoll($13, $__p2, $14, $15);
var $16$1=tempRet0;
var $st$0$0=(($__ll)|0);
HEAP32[(($st$0$0)>>2)]=$16$0;
var $st$1$1=(($__ll+4)|0);
HEAP32[(($st$1$1)>>2)]=$16$1;
var $17=___errno_location();
var $18=HEAP32[(($17)>>2)];
$__current_errno=$18;
var $19=$__current_errno;
var $20=(($19)|(0))==0;
if ($20) { label = 3; break; } else { label = 4; break; }
case 3:
var $22=$__save_errno;
var $23=___errno_location();
HEAP32[(($23)>>2)]=$22;
label = 4; break;
case 4:
var $25=HEAP32[(($__p2)>>2)];
var $26=$3;
var $27=(($25)|(0))!=(($26)|(0));
if ($27) { label = 5; break; } else { label = 6; break; }
case 5:
var $29=$4;
HEAP32[(($29)>>2)]=4;
$1=0;
label = 15; break;
case 6:
var $31=$__current_errno;
var $32=(($31)|(0))==34;
if ($32) { label = 9; break; } else { label = 7; break; }
case 7:
var $ld$2$0=(($__ll)|0);
var $34$0=HEAP32[(($ld$2$0)>>2)];
var $ld$3$1=(($__ll+4)|0);
var $34$1=HEAP32[(($ld$3$1)>>2)];
var $35$0=-2147483648;
var $35$1=(-2147483648 < 0 ? -1 : 0);
var $36=(($34$1|0) < ($35$1|0)) | (((($34$1|0) == ($35$1|0) & ($34$0>>>0) < ($35$0>>>0))));
if ($36) { label = 9; break; } else { label = 8; break; }
case 8:
var $38$0=2147483647;
var $38$1=(2147483647 < 0 ? -1 : 0);
var $ld$4$0=(($__ll)|0);
var $39$0=HEAP32[(($ld$4$0)>>2)];
var $ld$5$1=(($__ll+4)|0);
var $39$1=HEAP32[(($ld$5$1)>>2)];
var $40=(($38$1|0) < ($39$1|0)) | (((($38$1|0) == ($39$1|0) & ($38$0>>>0) < ($39$0>>>0))));
if ($40) { label = 9; break; } else { label = 12; break; }
case 9:
var $42=$4;
HEAP32[(($42)>>2)]=4;
var $ld$6$0=(($__ll)|0);
var $43$0=HEAP32[(($ld$6$0)>>2)];
var $ld$7$1=(($__ll+4)|0);
var $43$1=HEAP32[(($ld$7$1)>>2)];
var $$etemp$8$0=0;
var $$etemp$8$1=0;
var $44=(($43$1|0) > ($$etemp$8$1|0)) | (((($43$1|0) == ($$etemp$8$1|0) & ($43$0>>>0) > ($$etemp$8$0>>>0))));
if ($44) { label = 10; break; } else { label = 11; break; }
case 10:
$1=2147483647;
label = 15; break;
case 11:
$1=-2147483648;
label = 15; break;
case 12:
label = 13; break;
case 13:
var $ld$9$0=(($__ll)|0);
var $49$0=HEAP32[(($ld$9$0)>>2)];
var $ld$10$1=(($__ll+4)|0);
var $49$1=HEAP32[(($ld$10$1)>>2)];
var $50$0=$49$0;
var $50=$50$0;
$1=$50;
label = 15; break;
case 14:
var $52=$4;
HEAP32[(($52)>>2)]=4;
$1=0;
label = 15; break;
case 15:
var $54=$1;
STACKTOP = __stackBase__;
return $54;
default: assert(0, "bad label: " + label);
}
}
function __ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRx($agg_result, $this, $__b, $__e, $__iob, $__err, $__v) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 256)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
var tempParam = $__b; $__b = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__b)>>2)]=HEAP32[((tempParam)>>2)];
var tempParam = $__e; $__e = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__e)>>2)]=HEAP32[((tempParam)>>2)];
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $49;
var $50;
var $51;
var $52;
var $53;
var $54;
var $__base;
var $__atoms=__stackBase__;
var $__thousands_sep=(__stackBase__)+(28);
var $__grouping=(__stackBase__)+(32);
var $__a=(__stackBase__)+(44);
var $__a_end=(__stackBase__)+(84);
var $__g=(__stackBase__)+(88);
var $__g_end=(__stackBase__)+(248);
var $__dc=(__stackBase__)+(252);
var $55;
var $56;
var $57;
$51=$this;
$52=$__iob;
$53=$__err;
$54=$__v;
var $58=$51;
var $59=$52;
var $60=__ZNSt3__114__num_get_base10__get_baseERNS_8ios_baseE($59);
$__base=$60;
var $61=$52;
var $62=(($__atoms)|0);
__ZNSt3__19__num_getIcE17__stage2_int_prepERNS_8ios_baseEPcRc($__grouping, $61, $62, $__thousands_sep);
var $63=$__a;
_memset($63, 0, 40);
var $64=(($__a)|0);
HEAP32[(($__a_end)>>2)]=$64;
var $65=(($__g)|0);
HEAP32[(($__g_end)>>2)]=$65;
HEAP32[(($__dc)>>2)]=0;
label = 2; break;
case 2:
$49=$__b;
$50=$__e;
var $67=$49;
var $68=$50;
$47=$67;
$48=$68;
var $69=$47;
$46=$69;
var $70=$46;
var $71=(($70)|0);
var $72=HEAP32[(($71)>>2)];
var $73=(($72)|(0))!=0;
if ($73) { label = 3; break; } else { label = 9; break; }
case 3:
var $75=(($70)|0);
var $76=HEAP32[(($75)>>2)];
$45=$76;
var $77=$45;
var $78=(($77+12)|0);
var $79=HEAP32[(($78)>>2)];
var $80=(($77+16)|0);
var $81=HEAP32[(($80)>>2)];
var $82=(($79)|(0))==(($81)|(0));
if ($82) { label = 4; break; } else { label = 6; break; }
case 4:
var $84=$77;
var $85=HEAP32[(($84)>>2)];
var $86=(($85+36)|0);
var $87=HEAP32[(($86)>>2)];
var $88 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$87]($77) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 5; break; } else { label = 26; break; }
case 5:
$44=$88;
label = 7; break;
case 6:
var $90=(($77+12)|0);
var $91=HEAP32[(($90)>>2)];
var $92=HEAP8[($91)];
$43=$92;
var $93=$43;
var $94=(($93)&(255));
$44=$94;
label = 7; break;
case 7:
var $95=$44;
$41=$95;
$42=-1;
var $96=$41;
var $97=$42;
var $98=(($96)|(0))==(($97)|(0));
if ($98) { label = 8; break; } else { label = 9; break; }
case 8:
var $100=(($70)|0);
HEAP32[(($100)>>2)]=0;
label = 9; break;
case 9:
var $101=(($70)|0);
var $102=HEAP32[(($101)>>2)];
var $103=(($102)|(0))==0;
var $104=(($103)&(1));
var $105=$48;
$40=$105;
var $106=$40;
var $107=(($106)|0);
var $108=HEAP32[(($107)>>2)];
var $109=(($108)|(0))!=0;
if ($109) { label = 10; break; } else { label = 16; break; }
case 10:
var $111=(($106)|0);
var $112=HEAP32[(($111)>>2)];
$39=$112;
var $113=$39;
var $114=(($113+12)|0);
var $115=HEAP32[(($114)>>2)];
var $116=(($113+16)|0);
var $117=HEAP32[(($116)>>2)];
var $118=(($115)|(0))==(($117)|(0));
if ($118) { label = 11; break; } else { label = 13; break; }
case 11:
var $120=$113;
var $121=HEAP32[(($120)>>2)];
var $122=(($121+36)|0);
var $123=HEAP32[(($122)>>2)];
var $124 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$123]($113) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 12; break; } else { label = 26; break; }
case 12:
$38=$124;
label = 14; break;
case 13:
var $126=(($113+12)|0);
var $127=HEAP32[(($126)>>2)];
var $128=HEAP8[($127)];
$37=$128;
var $129=$37;
var $130=(($129)&(255));
$38=$130;
label = 14; break;
case 14:
var $131=$38;
$35=$131;
$36=-1;
var $132=$35;
var $133=$36;
var $134=(($132)|(0))==(($133)|(0));
if ($134) { label = 15; break; } else { label = 16; break; }
case 15:
var $136=(($106)|0);
HEAP32[(($136)>>2)]=0;
label = 16; break;
case 16:
var $137=(($106)|0);
var $138=HEAP32[(($137)>>2)];
var $139=(($138)|(0))==0;
var $140=(($139)&(1));
var $141=(($104)|(0))==(($140)|(0));
var $142=$141 ^ 1;
label = 17; break;
case 17:
if ($142) { label = 18; break; } else { label = 34; break; }
case 18:
$34=$__b;
var $145=$34;
var $146=(($145)|0);
var $147=HEAP32[(($146)>>2)];
$33=$147;
var $148=$33;
var $149=(($148+12)|0);
var $150=HEAP32[(($149)>>2)];
var $151=(($148+16)|0);
var $152=HEAP32[(($151)>>2)];
var $153=(($150)|(0))==(($152)|(0));
if ($153) { label = 19; break; } else { label = 21; break; }
case 19:
var $155=$148;
var $156=HEAP32[(($155)>>2)];
var $157=(($156+36)|0);
var $158=HEAP32[(($157)>>2)];
var $159 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$158]($148) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 20; break; } else { label = 26; break; }
case 20:
$32=$159;
label = 22; break;
case 21:
var $161=(($148+12)|0);
var $162=HEAP32[(($161)>>2)];
var $163=HEAP8[($162)];
$31=$163;
var $164=$31;
var $165=(($164)&(255));
$32=$165;
label = 22; break;
case 22:
var $166=$32;
var $167=(($166) & 255);
label = 23; break;
case 23:
var $169=$__base;
var $170=(($__a)|0);
var $171=HEAP8[($__thousands_sep)];
var $172=(($__g)|0);
var $173=(($__atoms)|0);
var $174 = (function() { try { __THREW__ = 0; return __ZNSt3__19__num_getIcE17__stage2_int_loopEciPcRS2_RjcRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_S2_($167, $169, $170, $__a_end, $__dc, $171, $__grouping, $172, $__g_end, $173) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 24; break; } else { label = 26; break; }
case 24:
var $176=(($174)|(0))!=0;
if ($176) { label = 25; break; } else { label = 27; break; }
case 25:
label = 34; break;
case 26:
var $179$0 = ___cxa_find_matching_catch(-1, -1); $179$1 = tempRet0;
var $180=$179$0;
$55=$180;
var $181=$179$1;
$56=$181;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__grouping);
label = 60; break;
case 27:
label = 28; break;
case 28:
$30=$__b;
var $184=$30;
var $185=(($184)|0);
var $186=HEAP32[(($185)>>2)];
$29=$186;
var $187=$29;
var $188=(($187+12)|0);
var $189=HEAP32[(($188)>>2)];
var $190=(($187+16)|0);
var $191=HEAP32[(($190)>>2)];
var $192=(($189)|(0))==(($191)|(0));
if ($192) { label = 29; break; } else { label = 31; break; }
case 29:
var $194=$187;
var $195=HEAP32[(($194)>>2)];
var $196=(($195+40)|0);
var $197=HEAP32[(($196)>>2)];
var $198 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$197]($187) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 30; break; } else { label = 26; break; }
case 30:
$28=$198;
label = 32; break;
case 31:
var $200=(($187+12)|0);
var $201=HEAP32[(($200)>>2)];
var $202=(($201+1)|0);
HEAP32[(($200)>>2)]=$202;
var $203=HEAP8[($201)];
$27=$203;
var $204=$27;
var $205=(($204)&(255));
$28=$205;
label = 32; break;
case 32:
var $206=$28;
label = 33; break;
case 33:
label = 2; break;
case 34:
$26=$__grouping;
var $209=$26;
$25=$209;
var $210=$25;
var $211=(($210)|0);
$24=$211;
var $212=$24;
var $213=$212;
$23=$213;
var $214=$23;
var $215=(($214)|0);
var $216=(($215)|0);
var $217=$216;
var $218=(($217)|0);
var $219=$218;
var $220=HEAP8[($219)];
var $221=(($220)&(255));
var $222=$221 & 1;
var $223=(($222)|(0))!=0;
if ($223) { label = 35; break; } else { label = 36; break; }
case 35:
$19=$209;
var $225=$19;
var $226=(($225)|0);
$18=$226;
var $227=$18;
var $228=$227;
$17=$228;
var $229=$17;
var $230=(($229)|0);
var $231=(($230)|0);
var $232=$231;
var $233=(($232+4)|0);
var $234=HEAP32[(($233)>>2)];
var $249 = $234;label = 37; break;
case 36:
$22=$209;
var $236=$22;
var $237=(($236)|0);
$21=$237;
var $238=$21;
var $239=$238;
$20=$239;
var $240=$20;
var $241=(($240)|0);
var $242=(($241)|0);
var $243=$242;
var $244=(($243)|0);
var $245=$244;
var $246=HEAP8[($245)];
var $247=(($246)&(255));
var $248=$247 >> 1;
var $249 = $248;label = 37; break;
case 37:
var $249;
var $250=(($249)|(0))!=0;
if ($250) { label = 38; break; } else { label = 40; break; }
case 38:
var $252=HEAP32[(($__g_end)>>2)];
var $253=(($__g)|0);
var $254=$252;
var $255=$253;
var $256=((($254)-($255))|0);
var $257=((((($256)|(0)))/(4))&-1);
var $258=(($257)|(0)) < 40;
if ($258) { label = 39; break; } else { label = 40; break; }
case 39:
var $260=HEAP32[(($__dc)>>2)];
var $261=HEAP32[(($__g_end)>>2)];
var $262=(($261+4)|0);
HEAP32[(($__g_end)>>2)]=$262;
HEAP32[(($261)>>2)]=$260;
label = 40; break;
case 40:
var $264=(($__a)|0);
var $265=HEAP32[(($__a_end)>>2)];
var $266=$53;
var $267=$__base;
var $268 = (function() { try { __THREW__ = 0; return __ZNSt3__125__num_get_signed_integralIxEET_PKcS3_Rji($264, $265, $266, $267) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();var $268$0 = $268;var $268$1 = tempRet0;if (!__THREW__) { label = 41; break; } else { label = 26; break; }
case 41:
var $270=$54;
var $st$0$0=(($270)|0);
HEAP32[(($st$0$0)>>2)]=$268$0;
var $st$1$1=(($270+4)|0);
HEAP32[(($st$1$1)>>2)]=$268$1;
var $271=(($__g)|0);
var $272=HEAP32[(($__g_end)>>2)];
var $273=$53;
(function() { try { __THREW__ = 0; return __ZNSt3__116__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($__grouping, $271, $272, $273) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 42; break; } else { label = 26; break; }
case 42:
$15=$__b;
$16=$__e;
var $275=$15;
var $276=$16;
$13=$275;
$14=$276;
var $277=$13;
$12=$277;
var $278=$12;
var $279=(($278)|0);
var $280=HEAP32[(($279)>>2)];
var $281=(($280)|(0))!=0;
if ($281) { label = 43; break; } else { label = 49; break; }
case 43:
var $283=(($278)|0);
var $284=HEAP32[(($283)>>2)];
$11=$284;
var $285=$11;
var $286=(($285+12)|0);
var $287=HEAP32[(($286)>>2)];
var $288=(($285+16)|0);
var $289=HEAP32[(($288)>>2)];
var $290=(($287)|(0))==(($289)|(0));
if ($290) { label = 44; break; } else { label = 46; break; }
case 44:
var $292=$285;
var $293=HEAP32[(($292)>>2)];
var $294=(($293+36)|0);
var $295=HEAP32[(($294)>>2)];
var $296 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$295]($285) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 45; break; } else { label = 26; break; }
case 45:
$10=$296;
label = 47; break;
case 46:
var $298=(($285+12)|0);
var $299=HEAP32[(($298)>>2)];
var $300=HEAP8[($299)];
$9=$300;
var $301=$9;
var $302=(($301)&(255));
$10=$302;
label = 47; break;
case 47:
var $303=$10;
$7=$303;
$8=-1;
var $304=$7;
var $305=$8;
var $306=(($304)|(0))==(($305)|(0));
if ($306) { label = 48; break; } else { label = 49; break; }
case 48:
var $308=(($278)|0);
HEAP32[(($308)>>2)]=0;
label = 49; break;
case 49:
var $309=(($278)|0);
var $310=HEAP32[(($309)>>2)];
var $311=(($310)|(0))==0;
var $312=(($311)&(1));
var $313=$14;
$6=$313;
var $314=$6;
var $315=(($314)|0);
var $316=HEAP32[(($315)>>2)];
var $317=(($316)|(0))!=0;
if ($317) { label = 50; break; } else { label = 56; break; }
case 50:
var $319=(($314)|0);
var $320=HEAP32[(($319)>>2)];
$5=$320;
var $321=$5;
var $322=(($321+12)|0);
var $323=HEAP32[(($322)>>2)];
var $324=(($321+16)|0);
var $325=HEAP32[(($324)>>2)];
var $326=(($323)|(0))==(($325)|(0));
if ($326) { label = 51; break; } else { label = 53; break; }
case 51:
var $328=$321;
var $329=HEAP32[(($328)>>2)];
var $330=(($329+36)|0);
var $331=HEAP32[(($330)>>2)];
var $332 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$331]($321) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 52; break; } else { label = 26; break; }
case 52:
$4=$332;
label = 54; break;
case 53:
var $334=(($321+12)|0);
var $335=HEAP32[(($334)>>2)];
var $336=HEAP8[($335)];
$3=$336;
var $337=$3;
var $338=(($337)&(255));
$4=$338;
label = 54; break;
case 54:
var $339=$4;
$1=$339;
$2=-1;
var $340=$1;
var $341=$2;
var $342=(($340)|(0))==(($341)|(0));
if ($342) { label = 55; break; } else { label = 56; break; }
case 55:
var $344=(($314)|0);
HEAP32[(($344)>>2)]=0;
label = 56; break;
case 56:
var $345=(($314)|0);
var $346=HEAP32[(($345)>>2)];
var $347=(($346)|(0))==0;
var $348=(($347)&(1));
var $349=(($312)|(0))==(($348)|(0));
label = 57; break;
case 57:
if ($349) { label = 58; break; } else { label = 59; break; }
case 58:
var $352=$53;
var $353=HEAP32[(($352)>>2)];
var $354=$353 | 2;
HEAP32[(($352)>>2)]=$354;
label = 59; break;
case 59:
var $356=$agg_result;
var $357=$__b;
assert(4 % 1 === 0);HEAP32[(($356)>>2)]=HEAP32[(($357)>>2)];
$57=1;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__grouping);
STACKTOP = __stackBase__;
return;
case 60:
var $359=$55;
var $360=$56;
var $361$0=$359;
var $361$1=0;
var $362$0=$361$0;
var $362$1=$360;
___resumeException($362$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__125__num_get_signed_integralIxEET_PKcS3_Rji($__a, $__a_end, $__err, $__base) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 20)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1=__stackBase__;
var $2;
var $3;
var $4;
var $5;
var $__save_errno;
var $__p2=(__stackBase__)+(8);
var $__ll=(__stackBase__)+(12);
var $__current_errno;
$2=$__a;
$3=$__a_end;
$4=$__err;
$5=$__base;
var $6=$2;
var $7=$3;
var $8=(($6)|(0))!=(($7)|(0));
if ($8) { label = 2; break; } else { label = 14; break; }
case 2:
var $10=___errno_location();
var $11=HEAP32[(($10)>>2)];
$__save_errno=$11;
var $12=___errno_location();
HEAP32[(($12)>>2)]=0;
var $13=$2;
var $14=$5;
var $15=__ZNSt3__16__clocEv();
var $16$0=_strtoll($13, $__p2, $14, $15);
var $16$1=tempRet0;
var $st$0$0=(($__ll)|0);
HEAP32[(($st$0$0)>>2)]=$16$0;
var $st$1$1=(($__ll+4)|0);
HEAP32[(($st$1$1)>>2)]=$16$1;
var $17=___errno_location();
var $18=HEAP32[(($17)>>2)];
$__current_errno=$18;
var $19=$__current_errno;
var $20=(($19)|(0))==0;
if ($20) { label = 3; break; } else { label = 4; break; }
case 3:
var $22=$__save_errno;
var $23=___errno_location();
HEAP32[(($23)>>2)]=$22;
label = 4; break;
case 4:
var $25=HEAP32[(($__p2)>>2)];
var $26=$3;
var $27=(($25)|(0))!=(($26)|(0));
if ($27) { label = 5; break; } else { label = 6; break; }
case 5:
var $29=$4;
HEAP32[(($29)>>2)]=4;
var $$etemp$2$0=0;
var $$etemp$2$1=0;
var $st$3$0=(($1)|0);
HEAP32[(($st$3$0)>>2)]=$$etemp$2$0;
var $st$4$1=(($1+4)|0);
HEAP32[(($st$4$1)>>2)]=$$etemp$2$1;
label = 15; break;
case 6:
var $31=$__current_errno;
var $32=(($31)|(0))==34;
if ($32) { label = 9; break; } else { label = 7; break; }
case 7:
var $ld$5$0=(($__ll)|0);
var $34$0=HEAP32[(($ld$5$0)>>2)];
var $ld$6$1=(($__ll+4)|0);
var $34$1=HEAP32[(($ld$6$1)>>2)];
var $$etemp$7$0=0;
var $$etemp$7$1=-2147483648;
var $35=(($34$1|0) < ($$etemp$7$1|0)) | (((($34$1|0) == ($$etemp$7$1|0) & ($34$0>>>0) < ($$etemp$7$0>>>0))));
if ($35) { label = 9; break; } else { label = 8; break; }
case 8:
var $ld$8$0=(($__ll)|0);
var $37$0=HEAP32[(($ld$8$0)>>2)];
var $ld$9$1=(($__ll+4)|0);
var $37$1=HEAP32[(($ld$9$1)>>2)];
var $$etemp$10$0=-1;
var $$etemp$10$1=2147483647;
var $38=(($$etemp$10$1|0) < ($37$1|0)) | (((($$etemp$10$1|0) == ($37$1|0) & ($$etemp$10$0>>>0) < ($37$0>>>0))));
if ($38) { label = 9; break; } else { label = 12; break; }
case 9:
var $40=$4;
HEAP32[(($40)>>2)]=4;
var $ld$11$0=(($__ll)|0);
var $41$0=HEAP32[(($ld$11$0)>>2)];
var $ld$12$1=(($__ll+4)|0);
var $41$1=HEAP32[(($ld$12$1)>>2)];
var $$etemp$13$0=0;
var $$etemp$13$1=0;
var $42=(($41$1|0) > ($$etemp$13$1|0)) | (((($41$1|0) == ($$etemp$13$1|0) & ($41$0>>>0) > ($$etemp$13$0>>>0))));
if ($42) { label = 10; break; } else { label = 11; break; }
case 10:
var $$etemp$14$0=-1;
var $$etemp$14$1=2147483647;
var $st$15$0=(($1)|0);
HEAP32[(($st$15$0)>>2)]=$$etemp$14$0;
var $st$16$1=(($1+4)|0);
HEAP32[(($st$16$1)>>2)]=$$etemp$14$1;
label = 15; break;
case 11:
var $$etemp$17$0=0;
var $$etemp$17$1=-2147483648;
var $st$18$0=(($1)|0);
HEAP32[(($st$18$0)>>2)]=$$etemp$17$0;
var $st$19$1=(($1+4)|0);
HEAP32[(($st$19$1)>>2)]=$$etemp$17$1;
label = 15; break;
case 12:
label = 13; break;
case 13:
var $ld$20$0=(($__ll)|0);
var $47$0=HEAP32[(($ld$20$0)>>2)];
var $ld$21$1=(($__ll+4)|0);
var $47$1=HEAP32[(($ld$21$1)>>2)];
var $st$22$0=(($1)|0);
HEAP32[(($st$22$0)>>2)]=$47$0;
var $st$23$1=(($1+4)|0);
HEAP32[(($st$23$1)>>2)]=$47$1;
label = 15; break;
case 14:
var $49=$4;
HEAP32[(($49)>>2)]=4;
var $$etemp$24$0=0;
var $$etemp$24$1=0;
var $st$25$0=(($1)|0);
HEAP32[(($st$25$0)>>2)]=$$etemp$24$0;
var $st$26$1=(($1+4)|0);
HEAP32[(($st$26$1)>>2)]=$$etemp$24$1;
label = 15; break;
case 15:
var $ld$27$0=(($1)|0);
var $51$0=HEAP32[(($ld$27$0)>>2)];
var $ld$28$1=(($1+4)|0);
var $51$1=HEAP32[(($ld$28$1)>>2)];
STACKTOP = __stackBase__;
return (tempRet0=$51$1,$51$0);
default: assert(0, "bad label: " + label);
}
}
function __ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRt($agg_result, $this, $__b, $__e, $__iob, $__err, $__v) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 256)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
var tempParam = $__b; $__b = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__b)>>2)]=HEAP32[((tempParam)>>2)];
var tempParam = $__e; $__e = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__e)>>2)]=HEAP32[((tempParam)>>2)];
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $49;
var $50;
var $51;
var $52;
var $53;
var $54;
var $__base;
var $__atoms=__stackBase__;
var $__thousands_sep=(__stackBase__)+(28);
var $__grouping=(__stackBase__)+(32);
var $__a=(__stackBase__)+(44);
var $__a_end=(__stackBase__)+(84);
var $__g=(__stackBase__)+(88);
var $__g_end=(__stackBase__)+(248);
var $__dc=(__stackBase__)+(252);
var $55;
var $56;
var $57;
$51=$this;
$52=$__iob;
$53=$__err;
$54=$__v;
var $58=$51;
var $59=$52;
var $60=__ZNSt3__114__num_get_base10__get_baseERNS_8ios_baseE($59);
$__base=$60;
var $61=$52;
var $62=(($__atoms)|0);
__ZNSt3__19__num_getIcE17__stage2_int_prepERNS_8ios_baseEPcRc($__grouping, $61, $62, $__thousands_sep);
var $63=$__a;
_memset($63, 0, 40);
var $64=(($__a)|0);
HEAP32[(($__a_end)>>2)]=$64;
var $65=(($__g)|0);
HEAP32[(($__g_end)>>2)]=$65;
HEAP32[(($__dc)>>2)]=0;
label = 2; break;
case 2:
$49=$__b;
$50=$__e;
var $67=$49;
var $68=$50;
$47=$67;
$48=$68;
var $69=$47;
$46=$69;
var $70=$46;
var $71=(($70)|0);
var $72=HEAP32[(($71)>>2)];
var $73=(($72)|(0))!=0;
if ($73) { label = 3; break; } else { label = 9; break; }
case 3:
var $75=(($70)|0);
var $76=HEAP32[(($75)>>2)];
$45=$76;
var $77=$45;
var $78=(($77+12)|0);
var $79=HEAP32[(($78)>>2)];
var $80=(($77+16)|0);
var $81=HEAP32[(($80)>>2)];
var $82=(($79)|(0))==(($81)|(0));
if ($82) { label = 4; break; } else { label = 6; break; }
case 4:
var $84=$77;
var $85=HEAP32[(($84)>>2)];
var $86=(($85+36)|0);
var $87=HEAP32[(($86)>>2)];
var $88 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$87]($77) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 5; break; } else { label = 26; break; }
case 5:
$44=$88;
label = 7; break;
case 6:
var $90=(($77+12)|0);
var $91=HEAP32[(($90)>>2)];
var $92=HEAP8[($91)];
$43=$92;
var $93=$43;
var $94=(($93)&(255));
$44=$94;
label = 7; break;
case 7:
var $95=$44;
$41=$95;
$42=-1;
var $96=$41;
var $97=$42;
var $98=(($96)|(0))==(($97)|(0));
if ($98) { label = 8; break; } else { label = 9; break; }
case 8:
var $100=(($70)|0);
HEAP32[(($100)>>2)]=0;
label = 9; break;
case 9:
var $101=(($70)|0);
var $102=HEAP32[(($101)>>2)];
var $103=(($102)|(0))==0;
var $104=(($103)&(1));
var $105=$48;
$40=$105;
var $106=$40;
var $107=(($106)|0);
var $108=HEAP32[(($107)>>2)];
var $109=(($108)|(0))!=0;
if ($109) { label = 10; break; } else { label = 16; break; }
case 10:
var $111=(($106)|0);
var $112=HEAP32[(($111)>>2)];
$39=$112;
var $113=$39;
var $114=(($113+12)|0);
var $115=HEAP32[(($114)>>2)];
var $116=(($113+16)|0);
var $117=HEAP32[(($116)>>2)];
var $118=(($115)|(0))==(($117)|(0));
if ($118) { label = 11; break; } else { label = 13; break; }
case 11:
var $120=$113;
var $121=HEAP32[(($120)>>2)];
var $122=(($121+36)|0);
var $123=HEAP32[(($122)>>2)];
var $124 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$123]($113) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 12; break; } else { label = 26; break; }
case 12:
$38=$124;
label = 14; break;
case 13:
var $126=(($113+12)|0);
var $127=HEAP32[(($126)>>2)];
var $128=HEAP8[($127)];
$37=$128;
var $129=$37;
var $130=(($129)&(255));
$38=$130;
label = 14; break;
case 14:
var $131=$38;
$35=$131;
$36=-1;
var $132=$35;
var $133=$36;
var $134=(($132)|(0))==(($133)|(0));
if ($134) { label = 15; break; } else { label = 16; break; }
case 15:
var $136=(($106)|0);
HEAP32[(($136)>>2)]=0;
label = 16; break;
case 16:
var $137=(($106)|0);
var $138=HEAP32[(($137)>>2)];
var $139=(($138)|(0))==0;
var $140=(($139)&(1));
var $141=(($104)|(0))==(($140)|(0));
var $142=$141 ^ 1;
label = 17; break;
case 17:
if ($142) { label = 18; break; } else { label = 34; break; }
case 18:
$34=$__b;
var $145=$34;
var $146=(($145)|0);
var $147=HEAP32[(($146)>>2)];
$33=$147;
var $148=$33;
var $149=(($148+12)|0);
var $150=HEAP32[(($149)>>2)];
var $151=(($148+16)|0);
var $152=HEAP32[(($151)>>2)];
var $153=(($150)|(0))==(($152)|(0));
if ($153) { label = 19; break; } else { label = 21; break; }
case 19:
var $155=$148;
var $156=HEAP32[(($155)>>2)];
var $157=(($156+36)|0);
var $158=HEAP32[(($157)>>2)];
var $159 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$158]($148) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 20; break; } else { label = 26; break; }
case 20:
$32=$159;
label = 22; break;
case 21:
var $161=(($148+12)|0);
var $162=HEAP32[(($161)>>2)];
var $163=HEAP8[($162)];
$31=$163;
var $164=$31;
var $165=(($164)&(255));
$32=$165;
label = 22; break;
case 22:
var $166=$32;
var $167=(($166) & 255);
label = 23; break;
case 23:
var $169=$__base;
var $170=(($__a)|0);
var $171=HEAP8[($__thousands_sep)];
var $172=(($__g)|0);
var $173=(($__atoms)|0);
var $174 = (function() { try { __THREW__ = 0; return __ZNSt3__19__num_getIcE17__stage2_int_loopEciPcRS2_RjcRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_S2_($167, $169, $170, $__a_end, $__dc, $171, $__grouping, $172, $__g_end, $173) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 24; break; } else { label = 26; break; }
case 24:
var $176=(($174)|(0))!=0;
if ($176) { label = 25; break; } else { label = 27; break; }
case 25:
label = 34; break;
case 26:
var $179$0 = ___cxa_find_matching_catch(-1, -1); $179$1 = tempRet0;
var $180=$179$0;
$55=$180;
var $181=$179$1;
$56=$181;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__grouping);
label = 60; break;
case 27:
label = 28; break;
case 28:
$30=$__b;
var $184=$30;
var $185=(($184)|0);
var $186=HEAP32[(($185)>>2)];
$29=$186;
var $187=$29;
var $188=(($187+12)|0);
var $189=HEAP32[(($188)>>2)];
var $190=(($187+16)|0);
var $191=HEAP32[(($190)>>2)];
var $192=(($189)|(0))==(($191)|(0));
if ($192) { label = 29; break; } else { label = 31; break; }
case 29:
var $194=$187;
var $195=HEAP32[(($194)>>2)];
var $196=(($195+40)|0);
var $197=HEAP32[(($196)>>2)];
var $198 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$197]($187) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 30; break; } else { label = 26; break; }
case 30:
$28=$198;
label = 32; break;
case 31:
var $200=(($187+12)|0);
var $201=HEAP32[(($200)>>2)];
var $202=(($201+1)|0);
HEAP32[(($200)>>2)]=$202;
var $203=HEAP8[($201)];
$27=$203;
var $204=$27;
var $205=(($204)&(255));
$28=$205;
label = 32; break;
case 32:
var $206=$28;
label = 33; break;
case 33:
label = 2; break;
case 34:
$26=$__grouping;
var $209=$26;
$25=$209;
var $210=$25;
var $211=(($210)|0);
$24=$211;
var $212=$24;
var $213=$212;
$23=$213;
var $214=$23;
var $215=(($214)|0);
var $216=(($215)|0);
var $217=$216;
var $218=(($217)|0);
var $219=$218;
var $220=HEAP8[($219)];
var $221=(($220)&(255));
var $222=$221 & 1;
var $223=(($222)|(0))!=0;
if ($223) { label = 35; break; } else { label = 36; break; }
case 35:
$19=$209;
var $225=$19;
var $226=(($225)|0);
$18=$226;
var $227=$18;
var $228=$227;
$17=$228;
var $229=$17;
var $230=(($229)|0);
var $231=(($230)|0);
var $232=$231;
var $233=(($232+4)|0);
var $234=HEAP32[(($233)>>2)];
var $249 = $234;label = 37; break;
case 36:
$22=$209;
var $236=$22;
var $237=(($236)|0);
$21=$237;
var $238=$21;
var $239=$238;
$20=$239;
var $240=$20;
var $241=(($240)|0);
var $242=(($241)|0);
var $243=$242;
var $244=(($243)|0);
var $245=$244;
var $246=HEAP8[($245)];
var $247=(($246)&(255));
var $248=$247 >> 1;
var $249 = $248;label = 37; break;
case 37:
var $249;
var $250=(($249)|(0))!=0;
if ($250) { label = 38; break; } else { label = 40; break; }
case 38:
var $252=HEAP32[(($__g_end)>>2)];
var $253=(($__g)|0);
var $254=$252;
var $255=$253;
var $256=((($254)-($255))|0);
var $257=((((($256)|(0)))/(4))&-1);
var $258=(($257)|(0)) < 40;
if ($258) { label = 39; break; } else { label = 40; break; }
case 39:
var $260=HEAP32[(($__dc)>>2)];
var $261=HEAP32[(($__g_end)>>2)];
var $262=(($261+4)|0);
HEAP32[(($__g_end)>>2)]=$262;
HEAP32[(($261)>>2)]=$260;
label = 40; break;
case 40:
var $264=(($__a)|0);
var $265=HEAP32[(($__a_end)>>2)];
var $266=$53;
var $267=$__base;
var $268 = (function() { try { __THREW__ = 0; return __ZNSt3__127__num_get_unsigned_integralItEET_PKcS3_Rji($264, $265, $266, $267) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 41; break; } else { label = 26; break; }
case 41:
var $270=$54;
HEAP16[(($270)>>1)]=$268;
var $271=(($__g)|0);
var $272=HEAP32[(($__g_end)>>2)];
var $273=$53;
(function() { try { __THREW__ = 0; return __ZNSt3__116__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($__grouping, $271, $272, $273) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 42; break; } else { label = 26; break; }
case 42:
$15=$__b;
$16=$__e;
var $275=$15;
var $276=$16;
$13=$275;
$14=$276;
var $277=$13;
$12=$277;
var $278=$12;
var $279=(($278)|0);
var $280=HEAP32[(($279)>>2)];
var $281=(($280)|(0))!=0;
if ($281) { label = 43; break; } else { label = 49; break; }
case 43:
var $283=(($278)|0);
var $284=HEAP32[(($283)>>2)];
$11=$284;
var $285=$11;
var $286=(($285+12)|0);
var $287=HEAP32[(($286)>>2)];
var $288=(($285+16)|0);
var $289=HEAP32[(($288)>>2)];
var $290=(($287)|(0))==(($289)|(0));
if ($290) { label = 44; break; } else { label = 46; break; }
case 44:
var $292=$285;
var $293=HEAP32[(($292)>>2)];
var $294=(($293+36)|0);
var $295=HEAP32[(($294)>>2)];
var $296 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$295]($285) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 45; break; } else { label = 26; break; }
case 45:
$10=$296;
label = 47; break;
case 46:
var $298=(($285+12)|0);
var $299=HEAP32[(($298)>>2)];
var $300=HEAP8[($299)];
$9=$300;
var $301=$9;
var $302=(($301)&(255));
$10=$302;
label = 47; break;
case 47:
var $303=$10;
$7=$303;
$8=-1;
var $304=$7;
var $305=$8;
var $306=(($304)|(0))==(($305)|(0));
if ($306) { label = 48; break; } else { label = 49; break; }
case 48:
var $308=(($278)|0);
HEAP32[(($308)>>2)]=0;
label = 49; break;
case 49:
var $309=(($278)|0);
var $310=HEAP32[(($309)>>2)];
var $311=(($310)|(0))==0;
var $312=(($311)&(1));
var $313=$14;
$6=$313;
var $314=$6;
var $315=(($314)|0);
var $316=HEAP32[(($315)>>2)];
var $317=(($316)|(0))!=0;
if ($317) { label = 50; break; } else { label = 56; break; }
case 50:
var $319=(($314)|0);
var $320=HEAP32[(($319)>>2)];
$5=$320;
var $321=$5;
var $322=(($321+12)|0);
var $323=HEAP32[(($322)>>2)];
var $324=(($321+16)|0);
var $325=HEAP32[(($324)>>2)];
var $326=(($323)|(0))==(($325)|(0));
if ($326) { label = 51; break; } else { label = 53; break; }
case 51:
var $328=$321;
var $329=HEAP32[(($328)>>2)];
var $330=(($329+36)|0);
var $331=HEAP32[(($330)>>2)];
var $332 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$331]($321) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 52; break; } else { label = 26; break; }
case 52:
$4=$332;
label = 54; break;
case 53:
var $334=(($321+12)|0);
var $335=HEAP32[(($334)>>2)];
var $336=HEAP8[($335)];
$3=$336;
var $337=$3;
var $338=(($337)&(255));
$4=$338;
label = 54; break;
case 54:
var $339=$4;
$1=$339;
$2=-1;
var $340=$1;
var $341=$2;
var $342=(($340)|(0))==(($341)|(0));
if ($342) { label = 55; break; } else { label = 56; break; }
case 55:
var $344=(($314)|0);
HEAP32[(($344)>>2)]=0;
label = 56; break;
case 56:
var $345=(($314)|0);
var $346=HEAP32[(($345)>>2)];
var $347=(($346)|(0))==0;
var $348=(($347)&(1));
var $349=(($312)|(0))==(($348)|(0));
label = 57; break;
case 57:
if ($349) { label = 58; break; } else { label = 59; break; }
case 58:
var $352=$53;
var $353=HEAP32[(($352)>>2)];
var $354=$353 | 2;
HEAP32[(($352)>>2)]=$354;
label = 59; break;
case 59:
var $356=$agg_result;
var $357=$__b;
assert(4 % 1 === 0);HEAP32[(($356)>>2)]=HEAP32[(($357)>>2)];
$57=1;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__grouping);
STACKTOP = __stackBase__;
return;
case 60:
var $359=$55;
var $360=$56;
var $361$0=$359;
var $361$1=0;
var $362$0=$361$0;
var $362$1=$360;
___resumeException($362$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__127__num_get_unsigned_integralItEET_PKcS3_Rji($__a, $__a_end, $__err, $__base) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 12)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $__save_errno;
var $__p2=__stackBase__;
var $__ll=(__stackBase__)+(4);
var $__current_errno;
$2=$__a;
$3=$__a_end;
$4=$__err;
$5=$__base;
var $6=$2;
var $7=$3;
var $8=(($6)|(0))!=(($7)|(0));
if ($8) { label = 2; break; } else { label = 13; break; }
case 2:
var $10=$2;
var $11=HEAP8[($10)];
var $12=(($11 << 24) >> 24);
var $13=(($12)|(0))==45;
if ($13) { label = 3; break; } else { label = 4; break; }
case 3:
var $15=$4;
HEAP32[(($15)>>2)]=4;
$1=0;
label = 14; break;
case 4:
var $17=___errno_location();
var $18=HEAP32[(($17)>>2)];
$__save_errno=$18;
var $19=___errno_location();
HEAP32[(($19)>>2)]=0;
var $20=$2;
var $21=$5;
var $22=__ZNSt3__16__clocEv();
var $23$0=_strtoull($20, $__p2, $21, $22);
var $23$1=tempRet0;
var $st$0$0=(($__ll)|0);
HEAP32[(($st$0$0)>>2)]=$23$0;
var $st$1$1=(($__ll+4)|0);
HEAP32[(($st$1$1)>>2)]=$23$1;
var $24=___errno_location();
var $25=HEAP32[(($24)>>2)];
$__current_errno=$25;
var $26=$__current_errno;
var $27=(($26)|(0))==0;
if ($27) { label = 5; break; } else { label = 6; break; }
case 5:
var $29=$__save_errno;
var $30=___errno_location();
HEAP32[(($30)>>2)]=$29;
label = 6; break;
case 6:
var $32=HEAP32[(($__p2)>>2)];
var $33=$3;
var $34=(($32)|(0))!=(($33)|(0));
if ($34) { label = 7; break; } else { label = 8; break; }
case 7:
var $36=$4;
HEAP32[(($36)>>2)]=4;
$1=0;
label = 14; break;
case 8:
var $38=$__current_errno;
var $39=(($38)|(0))==34;
if ($39) { label = 10; break; } else { label = 9; break; }
case 9:
var $41$0=65535;
var $41$1=0;
var $ld$2$0=(($__ll)|0);
var $42$0=HEAP32[(($ld$2$0)>>2)];
var $ld$3$1=(($__ll+4)|0);
var $42$1=HEAP32[(($ld$3$1)>>2)];
var $43=(($41$1>>>0) < ($42$1>>>0)) | (((($41$1>>>0) == ($42$1>>>0) & ($41$0>>>0) < ($42$0>>>0))));
if ($43) { label = 10; break; } else { label = 11; break; }
case 10:
var $45=$4;
HEAP32[(($45)>>2)]=4;
$1=-1;
label = 14; break;
case 11:
label = 12; break;
case 12:
var $ld$4$0=(($__ll)|0);
var $48$0=HEAP32[(($ld$4$0)>>2)];
var $ld$5$1=(($__ll+4)|0);
var $48$1=HEAP32[(($ld$5$1)>>2)];
var $49$0=$48$0;
var $49=$49$0&65535;
$1=$49;
label = 14; break;
case 13:
var $51=$4;
HEAP32[(($51)>>2)]=4;
$1=0;
label = 14; break;
case 14:
var $53=$1;
STACKTOP = __stackBase__;
return $53;
default: assert(0, "bad label: " + label);
}
}
function __ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjS8_($agg_result, $this, $__b, $__e, $__iob, $__err, $__v) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 256)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
var tempParam = $__b; $__b = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__b)>>2)]=HEAP32[((tempParam)>>2)];
var tempParam = $__e; $__e = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__e)>>2)]=HEAP32[((tempParam)>>2)];
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $49;
var $50;
var $51;
var $52;
var $53;
var $54;
var $__base;
var $__atoms=__stackBase__;
var $__thousands_sep=(__stackBase__)+(28);
var $__grouping=(__stackBase__)+(32);
var $__a=(__stackBase__)+(44);
var $__a_end=(__stackBase__)+(84);
var $__g=(__stackBase__)+(88);
var $__g_end=(__stackBase__)+(248);
var $__dc=(__stackBase__)+(252);
var $55;
var $56;
var $57;
$51=$this;
$52=$__iob;
$53=$__err;
$54=$__v;
var $58=$51;
var $59=$52;
var $60=__ZNSt3__114__num_get_base10__get_baseERNS_8ios_baseE($59);
$__base=$60;
var $61=$52;
var $62=(($__atoms)|0);
__ZNSt3__19__num_getIcE17__stage2_int_prepERNS_8ios_baseEPcRc($__grouping, $61, $62, $__thousands_sep);
var $63=$__a;
_memset($63, 0, 40);
var $64=(($__a)|0);
HEAP32[(($__a_end)>>2)]=$64;
var $65=(($__g)|0);
HEAP32[(($__g_end)>>2)]=$65;
HEAP32[(($__dc)>>2)]=0;
label = 2; break;
case 2:
$49=$__b;
$50=$__e;
var $67=$49;
var $68=$50;
$47=$67;
$48=$68;
var $69=$47;
$46=$69;
var $70=$46;
var $71=(($70)|0);
var $72=HEAP32[(($71)>>2)];
var $73=(($72)|(0))!=0;
if ($73) { label = 3; break; } else { label = 9; break; }
case 3:
var $75=(($70)|0);
var $76=HEAP32[(($75)>>2)];
$45=$76;
var $77=$45;
var $78=(($77+12)|0);
var $79=HEAP32[(($78)>>2)];
var $80=(($77+16)|0);
var $81=HEAP32[(($80)>>2)];
var $82=(($79)|(0))==(($81)|(0));
if ($82) { label = 4; break; } else { label = 6; break; }
case 4:
var $84=$77;
var $85=HEAP32[(($84)>>2)];
var $86=(($85+36)|0);
var $87=HEAP32[(($86)>>2)];
var $88 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$87]($77) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 5; break; } else { label = 26; break; }
case 5:
$44=$88;
label = 7; break;
case 6:
var $90=(($77+12)|0);
var $91=HEAP32[(($90)>>2)];
var $92=HEAP8[($91)];
$43=$92;
var $93=$43;
var $94=(($93)&(255));
$44=$94;
label = 7; break;
case 7:
var $95=$44;
$41=$95;
$42=-1;
var $96=$41;
var $97=$42;
var $98=(($96)|(0))==(($97)|(0));
if ($98) { label = 8; break; } else { label = 9; break; }
case 8:
var $100=(($70)|0);
HEAP32[(($100)>>2)]=0;
label = 9; break;
case 9:
var $101=(($70)|0);
var $102=HEAP32[(($101)>>2)];
var $103=(($102)|(0))==0;
var $104=(($103)&(1));
var $105=$48;
$40=$105;
var $106=$40;
var $107=(($106)|0);
var $108=HEAP32[(($107)>>2)];
var $109=(($108)|(0))!=0;
if ($109) { label = 10; break; } else { label = 16; break; }
case 10:
var $111=(($106)|0);
var $112=HEAP32[(($111)>>2)];
$39=$112;
var $113=$39;
var $114=(($113+12)|0);
var $115=HEAP32[(($114)>>2)];
var $116=(($113+16)|0);
var $117=HEAP32[(($116)>>2)];
var $118=(($115)|(0))==(($117)|(0));
if ($118) { label = 11; break; } else { label = 13; break; }
case 11:
var $120=$113;
var $121=HEAP32[(($120)>>2)];
var $122=(($121+36)|0);
var $123=HEAP32[(($122)>>2)];
var $124 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$123]($113) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 12; break; } else { label = 26; break; }
case 12:
$38=$124;
label = 14; break;
case 13:
var $126=(($113+12)|0);
var $127=HEAP32[(($126)>>2)];
var $128=HEAP8[($127)];
$37=$128;
var $129=$37;
var $130=(($129)&(255));
$38=$130;
label = 14; break;
case 14:
var $131=$38;
$35=$131;
$36=-1;
var $132=$35;
var $133=$36;
var $134=(($132)|(0))==(($133)|(0));
if ($134) { label = 15; break; } else { label = 16; break; }
case 15:
var $136=(($106)|0);
HEAP32[(($136)>>2)]=0;
label = 16; break;
case 16:
var $137=(($106)|0);
var $138=HEAP32[(($137)>>2)];
var $139=(($138)|(0))==0;
var $140=(($139)&(1));
var $141=(($104)|(0))==(($140)|(0));
var $142=$141 ^ 1;
label = 17; break;
case 17:
if ($142) { label = 18; break; } else { label = 34; break; }
case 18:
$34=$__b;
var $145=$34;
var $146=(($145)|0);
var $147=HEAP32[(($146)>>2)];
$33=$147;
var $148=$33;
var $149=(($148+12)|0);
var $150=HEAP32[(($149)>>2)];
var $151=(($148+16)|0);
var $152=HEAP32[(($151)>>2)];
var $153=(($150)|(0))==(($152)|(0));
if ($153) { label = 19; break; } else { label = 21; break; }
case 19:
var $155=$148;
var $156=HEAP32[(($155)>>2)];
var $157=(($156+36)|0);
var $158=HEAP32[(($157)>>2)];
var $159 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$158]($148) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 20; break; } else { label = 26; break; }
case 20:
$32=$159;
label = 22; break;
case 21:
var $161=(($148+12)|0);
var $162=HEAP32[(($161)>>2)];
var $163=HEAP8[($162)];
$31=$163;
var $164=$31;
var $165=(($164)&(255));
$32=$165;
label = 22; break;
case 22:
var $166=$32;
var $167=(($166) & 255);
label = 23; break;
case 23:
var $169=$__base;
var $170=(($__a)|0);
var $171=HEAP8[($__thousands_sep)];
var $172=(($__g)|0);
var $173=(($__atoms)|0);
var $174 = (function() { try { __THREW__ = 0; return __ZNSt3__19__num_getIcE17__stage2_int_loopEciPcRS2_RjcRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_S2_($167, $169, $170, $__a_end, $__dc, $171, $__grouping, $172, $__g_end, $173) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 24; break; } else { label = 26; break; }
case 24:
var $176=(($174)|(0))!=0;
if ($176) { label = 25; break; } else { label = 27; break; }
case 25:
label = 34; break;
case 26:
var $179$0 = ___cxa_find_matching_catch(-1, -1); $179$1 = tempRet0;
var $180=$179$0;
$55=$180;
var $181=$179$1;
$56=$181;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__grouping);
label = 60; break;
case 27:
label = 28; break;
case 28:
$30=$__b;
var $184=$30;
var $185=(($184)|0);
var $186=HEAP32[(($185)>>2)];
$29=$186;
var $187=$29;
var $188=(($187+12)|0);
var $189=HEAP32[(($188)>>2)];
var $190=(($187+16)|0);
var $191=HEAP32[(($190)>>2)];
var $192=(($189)|(0))==(($191)|(0));
if ($192) { label = 29; break; } else { label = 31; break; }
case 29:
var $194=$187;
var $195=HEAP32[(($194)>>2)];
var $196=(($195+40)|0);
var $197=HEAP32[(($196)>>2)];
var $198 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$197]($187) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 30; break; } else { label = 26; break; }
case 30:
$28=$198;
label = 32; break;
case 31:
var $200=(($187+12)|0);
var $201=HEAP32[(($200)>>2)];
var $202=(($201+1)|0);
HEAP32[(($200)>>2)]=$202;
var $203=HEAP8[($201)];
$27=$203;
var $204=$27;
var $205=(($204)&(255));
$28=$205;
label = 32; break;
case 32:
var $206=$28;
label = 33; break;
case 33:
label = 2; break;
case 34:
$26=$__grouping;
var $209=$26;
$25=$209;
var $210=$25;
var $211=(($210)|0);
$24=$211;
var $212=$24;
var $213=$212;
$23=$213;
var $214=$23;
var $215=(($214)|0);
var $216=(($215)|0);
var $217=$216;
var $218=(($217)|0);
var $219=$218;
var $220=HEAP8[($219)];
var $221=(($220)&(255));
var $222=$221 & 1;
var $223=(($222)|(0))!=0;
if ($223) { label = 35; break; } else { label = 36; break; }
case 35:
$19=$209;
var $225=$19;
var $226=(($225)|0);
$18=$226;
var $227=$18;
var $228=$227;
$17=$228;
var $229=$17;
var $230=(($229)|0);
var $231=(($230)|0);
var $232=$231;
var $233=(($232+4)|0);
var $234=HEAP32[(($233)>>2)];
var $249 = $234;label = 37; break;
case 36:
$22=$209;
var $236=$22;
var $237=(($236)|0);
$21=$237;
var $238=$21;
var $239=$238;
$20=$239;
var $240=$20;
var $241=(($240)|0);
var $242=(($241)|0);
var $243=$242;
var $244=(($243)|0);
var $245=$244;
var $246=HEAP8[($245)];
var $247=(($246)&(255));
var $248=$247 >> 1;
var $249 = $248;label = 37; break;
case 37:
var $249;
var $250=(($249)|(0))!=0;
if ($250) { label = 38; break; } else { label = 40; break; }
case 38:
var $252=HEAP32[(($__g_end)>>2)];
var $253=(($__g)|0);
var $254=$252;
var $255=$253;
var $256=((($254)-($255))|0);
var $257=((((($256)|(0)))/(4))&-1);
var $258=(($257)|(0)) < 40;
if ($258) { label = 39; break; } else { label = 40; break; }
case 39:
var $260=HEAP32[(($__dc)>>2)];
var $261=HEAP32[(($__g_end)>>2)];
var $262=(($261+4)|0);
HEAP32[(($__g_end)>>2)]=$262;
HEAP32[(($261)>>2)]=$260;
label = 40; break;
case 40:
var $264=(($__a)|0);
var $265=HEAP32[(($__a_end)>>2)];
var $266=$53;
var $267=$__base;
var $268 = (function() { try { __THREW__ = 0; return __ZNSt3__127__num_get_unsigned_integralIjEET_PKcS3_Rji($264, $265, $266, $267) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 41; break; } else { label = 26; break; }
case 41:
var $270=$54;
HEAP32[(($270)>>2)]=$268;
var $271=(($__g)|0);
var $272=HEAP32[(($__g_end)>>2)];
var $273=$53;
(function() { try { __THREW__ = 0; return __ZNSt3__116__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($__grouping, $271, $272, $273) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 42; break; } else { label = 26; break; }
case 42:
$15=$__b;
$16=$__e;
var $275=$15;
var $276=$16;
$13=$275;
$14=$276;
var $277=$13;
$12=$277;
var $278=$12;
var $279=(($278)|0);
var $280=HEAP32[(($279)>>2)];
var $281=(($280)|(0))!=0;
if ($281) { label = 43; break; } else { label = 49; break; }
case 43:
var $283=(($278)|0);
var $284=HEAP32[(($283)>>2)];
$11=$284;
var $285=$11;
var $286=(($285+12)|0);
var $287=HEAP32[(($286)>>2)];
var $288=(($285+16)|0);
var $289=HEAP32[(($288)>>2)];
var $290=(($287)|(0))==(($289)|(0));
if ($290) { label = 44; break; } else { label = 46; break; }
case 44:
var $292=$285;
var $293=HEAP32[(($292)>>2)];
var $294=(($293+36)|0);
var $295=HEAP32[(($294)>>2)];
var $296 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$295]($285) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 45; break; } else { label = 26; break; }
case 45:
$10=$296;
label = 47; break;
case 46:
var $298=(($285+12)|0);
var $299=HEAP32[(($298)>>2)];
var $300=HEAP8[($299)];
$9=$300;
var $301=$9;
var $302=(($301)&(255));
$10=$302;
label = 47; break;
case 47:
var $303=$10;
$7=$303;
$8=-1;
var $304=$7;
var $305=$8;
var $306=(($304)|(0))==(($305)|(0));
if ($306) { label = 48; break; } else { label = 49; break; }
case 48:
var $308=(($278)|0);
HEAP32[(($308)>>2)]=0;
label = 49; break;
case 49:
var $309=(($278)|0);
var $310=HEAP32[(($309)>>2)];
var $311=(($310)|(0))==0;
var $312=(($311)&(1));
var $313=$14;
$6=$313;
var $314=$6;
var $315=(($314)|0);
var $316=HEAP32[(($315)>>2)];
var $317=(($316)|(0))!=0;
if ($317) { label = 50; break; } else { label = 56; break; }
case 50:
var $319=(($314)|0);
var $320=HEAP32[(($319)>>2)];
$5=$320;
var $321=$5;
var $322=(($321+12)|0);
var $323=HEAP32[(($322)>>2)];
var $324=(($321+16)|0);
var $325=HEAP32[(($324)>>2)];
var $326=(($323)|(0))==(($325)|(0));
if ($326) { label = 51; break; } else { label = 53; break; }
case 51:
var $328=$321;
var $329=HEAP32[(($328)>>2)];
var $330=(($329+36)|0);
var $331=HEAP32[(($330)>>2)];
var $332 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$331]($321) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 52; break; } else { label = 26; break; }
case 52:
$4=$332;
label = 54; break;
case 53:
var $334=(($321+12)|0);
var $335=HEAP32[(($334)>>2)];
var $336=HEAP8[($335)];
$3=$336;
var $337=$3;
var $338=(($337)&(255));
$4=$338;
label = 54; break;
case 54:
var $339=$4;
$1=$339;
$2=-1;
var $340=$1;
var $341=$2;
var $342=(($340)|(0))==(($341)|(0));
if ($342) { label = 55; break; } else { label = 56; break; }
case 55:
var $344=(($314)|0);
HEAP32[(($344)>>2)]=0;
label = 56; break;
case 56:
var $345=(($314)|0);
var $346=HEAP32[(($345)>>2)];
var $347=(($346)|(0))==0;
var $348=(($347)&(1));
var $349=(($312)|(0))==(($348)|(0));
label = 57; break;
case 57:
if ($349) { label = 58; break; } else { label = 59; break; }
case 58:
var $352=$53;
var $353=HEAP32[(($352)>>2)];
var $354=$353 | 2;
HEAP32[(($352)>>2)]=$354;
label = 59; break;
case 59:
var $356=$agg_result;
var $357=$__b;
assert(4 % 1 === 0);HEAP32[(($356)>>2)]=HEAP32[(($357)>>2)];
$57=1;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__grouping);
STACKTOP = __stackBase__;
return;
case 60:
var $359=$55;
var $360=$56;
var $361$0=$359;
var $361$1=0;
var $362$0=$361$0;
var $362$1=$360;
___resumeException($362$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__127__num_get_unsigned_integralIjEET_PKcS3_Rji($__a, $__a_end, $__err, $__base) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 12)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $__save_errno;
var $__p2=__stackBase__;
var $__ll=(__stackBase__)+(4);
var $__current_errno;
$2=$__a;
$3=$__a_end;
$4=$__err;
$5=$__base;
var $6=$2;
var $7=$3;
var $8=(($6)|(0))!=(($7)|(0));
if ($8) { label = 2; break; } else { label = 13; break; }
case 2:
var $10=$2;
var $11=HEAP8[($10)];
var $12=(($11 << 24) >> 24);
var $13=(($12)|(0))==45;
if ($13) { label = 3; break; } else { label = 4; break; }
case 3:
var $15=$4;
HEAP32[(($15)>>2)]=4;
$1=0;
label = 14; break;
case 4:
var $17=___errno_location();
var $18=HEAP32[(($17)>>2)];
$__save_errno=$18;
var $19=___errno_location();
HEAP32[(($19)>>2)]=0;
var $20=$2;
var $21=$5;
var $22=__ZNSt3__16__clocEv();
var $23$0=_strtoull($20, $__p2, $21, $22);
var $23$1=tempRet0;
var $st$0$0=(($__ll)|0);
HEAP32[(($st$0$0)>>2)]=$23$0;
var $st$1$1=(($__ll+4)|0);
HEAP32[(($st$1$1)>>2)]=$23$1;
var $24=___errno_location();
var $25=HEAP32[(($24)>>2)];
$__current_errno=$25;
var $26=$__current_errno;
var $27=(($26)|(0))==0;
if ($27) { label = 5; break; } else { label = 6; break; }
case 5:
var $29=$__save_errno;
var $30=___errno_location();
HEAP32[(($30)>>2)]=$29;
label = 6; break;
case 6:
var $32=HEAP32[(($__p2)>>2)];
var $33=$3;
var $34=(($32)|(0))!=(($33)|(0));
if ($34) { label = 7; break; } else { label = 8; break; }
case 7:
var $36=$4;
HEAP32[(($36)>>2)]=4;
$1=0;
label = 14; break;
case 8:
var $38=$__current_errno;
var $39=(($38)|(0))==34;
if ($39) { label = 10; break; } else { label = 9; break; }
case 9:
var $41$0=-1;
var $41$1=0;
var $ld$2$0=(($__ll)|0);
var $42$0=HEAP32[(($ld$2$0)>>2)];
var $ld$3$1=(($__ll+4)|0);
var $42$1=HEAP32[(($ld$3$1)>>2)];
var $43=(($41$1>>>0) < ($42$1>>>0)) | (((($41$1>>>0) == ($42$1>>>0) & ($41$0>>>0) < ($42$0>>>0))));
if ($43) { label = 10; break; } else { label = 11; break; }
case 10:
var $45=$4;
HEAP32[(($45)>>2)]=4;
$1=-1;
label = 14; break;
case 11:
label = 12; break;
case 12:
var $ld$4$0=(($__ll)|0);
var $48$0=HEAP32[(($ld$4$0)>>2)];
var $ld$5$1=(($__ll+4)|0);
var $48$1=HEAP32[(($ld$5$1)>>2)];
var $49$0=$48$0;
var $49=$49$0;
$1=$49;
label = 14; break;
case 13:
var $51=$4;
HEAP32[(($51)>>2)]=4;
$1=0;
label = 14; break;
case 14:
var $53=$1;
STACKTOP = __stackBase__;
return $53;
default: assert(0, "bad label: " + label);
}
}
function __ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRm($agg_result, $this, $__b, $__e, $__iob, $__err, $__v) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 256)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
var tempParam = $__b; $__b = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__b)>>2)]=HEAP32[((tempParam)>>2)];
var tempParam = $__e; $__e = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__e)>>2)]=HEAP32[((tempParam)>>2)];
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $49;
var $50;
var $51;
var $52;
var $53;
var $54;
var $__base;
var $__atoms=__stackBase__;
var $__thousands_sep=(__stackBase__)+(28);
var $__grouping=(__stackBase__)+(32);
var $__a=(__stackBase__)+(44);
var $__a_end=(__stackBase__)+(84);
var $__g=(__stackBase__)+(88);
var $__g_end=(__stackBase__)+(248);
var $__dc=(__stackBase__)+(252);
var $55;
var $56;
var $57;
$51=$this;
$52=$__iob;
$53=$__err;
$54=$__v;
var $58=$51;
var $59=$52;
var $60=__ZNSt3__114__num_get_base10__get_baseERNS_8ios_baseE($59);
$__base=$60;
var $61=$52;
var $62=(($__atoms)|0);
__ZNSt3__19__num_getIcE17__stage2_int_prepERNS_8ios_baseEPcRc($__grouping, $61, $62, $__thousands_sep);
var $63=$__a;
_memset($63, 0, 40);
var $64=(($__a)|0);
HEAP32[(($__a_end)>>2)]=$64;
var $65=(($__g)|0);
HEAP32[(($__g_end)>>2)]=$65;
HEAP32[(($__dc)>>2)]=0;
label = 2; break;
case 2:
$49=$__b;
$50=$__e;
var $67=$49;
var $68=$50;
$47=$67;
$48=$68;
var $69=$47;
$46=$69;
var $70=$46;
var $71=(($70)|0);
var $72=HEAP32[(($71)>>2)];
var $73=(($72)|(0))!=0;
if ($73) { label = 3; break; } else { label = 9; break; }
case 3:
var $75=(($70)|0);
var $76=HEAP32[(($75)>>2)];
$45=$76;
var $77=$45;
var $78=(($77+12)|0);
var $79=HEAP32[(($78)>>2)];
var $80=(($77+16)|0);
var $81=HEAP32[(($80)>>2)];
var $82=(($79)|(0))==(($81)|(0));
if ($82) { label = 4; break; } else { label = 6; break; }
case 4:
var $84=$77;
var $85=HEAP32[(($84)>>2)];
var $86=(($85+36)|0);
var $87=HEAP32[(($86)>>2)];
var $88 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$87]($77) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 5; break; } else { label = 26; break; }
case 5:
$44=$88;
label = 7; break;
case 6:
var $90=(($77+12)|0);
var $91=HEAP32[(($90)>>2)];
var $92=HEAP8[($91)];
$43=$92;
var $93=$43;
var $94=(($93)&(255));
$44=$94;
label = 7; break;
case 7:
var $95=$44;
$41=$95;
$42=-1;
var $96=$41;
var $97=$42;
var $98=(($96)|(0))==(($97)|(0));
if ($98) { label = 8; break; } else { label = 9; break; }
case 8:
var $100=(($70)|0);
HEAP32[(($100)>>2)]=0;
label = 9; break;
case 9:
var $101=(($70)|0);
var $102=HEAP32[(($101)>>2)];
var $103=(($102)|(0))==0;
var $104=(($103)&(1));
var $105=$48;
$40=$105;
var $106=$40;
var $107=(($106)|0);
var $108=HEAP32[(($107)>>2)];
var $109=(($108)|(0))!=0;
if ($109) { label = 10; break; } else { label = 16; break; }
case 10:
var $111=(($106)|0);
var $112=HEAP32[(($111)>>2)];
$39=$112;
var $113=$39;
var $114=(($113+12)|0);
var $115=HEAP32[(($114)>>2)];
var $116=(($113+16)|0);
var $117=HEAP32[(($116)>>2)];
var $118=(($115)|(0))==(($117)|(0));
if ($118) { label = 11; break; } else { label = 13; break; }
case 11:
var $120=$113;
var $121=HEAP32[(($120)>>2)];
var $122=(($121+36)|0);
var $123=HEAP32[(($122)>>2)];
var $124 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$123]($113) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 12; break; } else { label = 26; break; }
case 12:
$38=$124;
label = 14; break;
case 13:
var $126=(($113+12)|0);
var $127=HEAP32[(($126)>>2)];
var $128=HEAP8[($127)];
$37=$128;
var $129=$37;
var $130=(($129)&(255));
$38=$130;
label = 14; break;
case 14:
var $131=$38;
$35=$131;
$36=-1;
var $132=$35;
var $133=$36;
var $134=(($132)|(0))==(($133)|(0));
if ($134) { label = 15; break; } else { label = 16; break; }
case 15:
var $136=(($106)|0);
HEAP32[(($136)>>2)]=0;
label = 16; break;
case 16:
var $137=(($106)|0);
var $138=HEAP32[(($137)>>2)];
var $139=(($138)|(0))==0;
var $140=(($139)&(1));
var $141=(($104)|(0))==(($140)|(0));
var $142=$141 ^ 1;
label = 17; break;
case 17:
if ($142) { label = 18; break; } else { label = 34; break; }
case 18:
$34=$__b;
var $145=$34;
var $146=(($145)|0);
var $147=HEAP32[(($146)>>2)];
$33=$147;
var $148=$33;
var $149=(($148+12)|0);
var $150=HEAP32[(($149)>>2)];
var $151=(($148+16)|0);
var $152=HEAP32[(($151)>>2)];
var $153=(($150)|(0))==(($152)|(0));
if ($153) { label = 19; break; } else { label = 21; break; }
case 19:
var $155=$148;
var $156=HEAP32[(($155)>>2)];
var $157=(($156+36)|0);
var $158=HEAP32[(($157)>>2)];
var $159 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$158]($148) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 20; break; } else { label = 26; break; }
case 20:
$32=$159;
label = 22; break;
case 21:
var $161=(($148+12)|0);
var $162=HEAP32[(($161)>>2)];
var $163=HEAP8[($162)];
$31=$163;
var $164=$31;
var $165=(($164)&(255));
$32=$165;
label = 22; break;
case 22:
var $166=$32;
var $167=(($166) & 255);
label = 23; break;
case 23:
var $169=$__base;
var $170=(($__a)|0);
var $171=HEAP8[($__thousands_sep)];
var $172=(($__g)|0);
var $173=(($__atoms)|0);
var $174 = (function() { try { __THREW__ = 0; return __ZNSt3__19__num_getIcE17__stage2_int_loopEciPcRS2_RjcRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_S2_($167, $169, $170, $__a_end, $__dc, $171, $__grouping, $172, $__g_end, $173) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 24; break; } else { label = 26; break; }
case 24:
var $176=(($174)|(0))!=0;
if ($176) { label = 25; break; } else { label = 27; break; }
case 25:
label = 34; break;
case 26:
var $179$0 = ___cxa_find_matching_catch(-1, -1); $179$1 = tempRet0;
var $180=$179$0;
$55=$180;
var $181=$179$1;
$56=$181;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__grouping);
label = 60; break;
case 27:
label = 28; break;
case 28:
$30=$__b;
var $184=$30;
var $185=(($184)|0);
var $186=HEAP32[(($185)>>2)];
$29=$186;
var $187=$29;
var $188=(($187+12)|0);
var $189=HEAP32[(($188)>>2)];
var $190=(($187+16)|0);
var $191=HEAP32[(($190)>>2)];
var $192=(($189)|(0))==(($191)|(0));
if ($192) { label = 29; break; } else { label = 31; break; }
case 29:
var $194=$187;
var $195=HEAP32[(($194)>>2)];
var $196=(($195+40)|0);
var $197=HEAP32[(($196)>>2)];
var $198 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$197]($187) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 30; break; } else { label = 26; break; }
case 30:
$28=$198;
label = 32; break;
case 31:
var $200=(($187+12)|0);
var $201=HEAP32[(($200)>>2)];
var $202=(($201+1)|0);
HEAP32[(($200)>>2)]=$202;
var $203=HEAP8[($201)];
$27=$203;
var $204=$27;
var $205=(($204)&(255));
$28=$205;
label = 32; break;
case 32:
var $206=$28;
label = 33; break;
case 33:
label = 2; break;
case 34:
$26=$__grouping;
var $209=$26;
$25=$209;
var $210=$25;
var $211=(($210)|0);
$24=$211;
var $212=$24;
var $213=$212;
$23=$213;
var $214=$23;
var $215=(($214)|0);
var $216=(($215)|0);
var $217=$216;
var $218=(($217)|0);
var $219=$218;
var $220=HEAP8[($219)];
var $221=(($220)&(255));
var $222=$221 & 1;
var $223=(($222)|(0))!=0;
if ($223) { label = 35; break; } else { label = 36; break; }
case 35:
$19=$209;
var $225=$19;
var $226=(($225)|0);
$18=$226;
var $227=$18;
var $228=$227;
$17=$228;
var $229=$17;
var $230=(($229)|0);
var $231=(($230)|0);
var $232=$231;
var $233=(($232+4)|0);
var $234=HEAP32[(($233)>>2)];
var $249 = $234;label = 37; break;
case 36:
$22=$209;
var $236=$22;
var $237=(($236)|0);
$21=$237;
var $238=$21;
var $239=$238;
$20=$239;
var $240=$20;
var $241=(($240)|0);
var $242=(($241)|0);
var $243=$242;
var $244=(($243)|0);
var $245=$244;
var $246=HEAP8[($245)];
var $247=(($246)&(255));
var $248=$247 >> 1;
var $249 = $248;label = 37; break;
case 37:
var $249;
var $250=(($249)|(0))!=0;
if ($250) { label = 38; break; } else { label = 40; break; }
case 38:
var $252=HEAP32[(($__g_end)>>2)];
var $253=(($__g)|0);
var $254=$252;
var $255=$253;
var $256=((($254)-($255))|0);
var $257=((((($256)|(0)))/(4))&-1);
var $258=(($257)|(0)) < 40;
if ($258) { label = 39; break; } else { label = 40; break; }
case 39:
var $260=HEAP32[(($__dc)>>2)];
var $261=HEAP32[(($__g_end)>>2)];
var $262=(($261+4)|0);
HEAP32[(($__g_end)>>2)]=$262;
HEAP32[(($261)>>2)]=$260;
label = 40; break;
case 40:
var $264=(($__a)|0);
var $265=HEAP32[(($__a_end)>>2)];
var $266=$53;
var $267=$__base;
var $268 = (function() { try { __THREW__ = 0; return __ZNSt3__127__num_get_unsigned_integralImEET_PKcS3_Rji($264, $265, $266, $267) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 41; break; } else { label = 26; break; }
case 41:
var $270=$54;
HEAP32[(($270)>>2)]=$268;
var $271=(($__g)|0);
var $272=HEAP32[(($__g_end)>>2)];
var $273=$53;
(function() { try { __THREW__ = 0; return __ZNSt3__116__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($__grouping, $271, $272, $273) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 42; break; } else { label = 26; break; }
case 42:
$15=$__b;
$16=$__e;
var $275=$15;
var $276=$16;
$13=$275;
$14=$276;
var $277=$13;
$12=$277;
var $278=$12;
var $279=(($278)|0);
var $280=HEAP32[(($279)>>2)];
var $281=(($280)|(0))!=0;
if ($281) { label = 43; break; } else { label = 49; break; }
case 43:
var $283=(($278)|0);
var $284=HEAP32[(($283)>>2)];
$11=$284;
var $285=$11;
var $286=(($285+12)|0);
var $287=HEAP32[(($286)>>2)];
var $288=(($285+16)|0);
var $289=HEAP32[(($288)>>2)];
var $290=(($287)|(0))==(($289)|(0));
if ($290) { label = 44; break; } else { label = 46; break; }
case 44:
var $292=$285;
var $293=HEAP32[(($292)>>2)];
var $294=(($293+36)|0);
var $295=HEAP32[(($294)>>2)];
var $296 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$295]($285) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 45; break; } else { label = 26; break; }
case 45:
$10=$296;
label = 47; break;
case 46:
var $298=(($285+12)|0);
var $299=HEAP32[(($298)>>2)];
var $300=HEAP8[($299)];
$9=$300;
var $301=$9;
var $302=(($301)&(255));
$10=$302;
label = 47; break;
case 47:
var $303=$10;
$7=$303;
$8=-1;
var $304=$7;
var $305=$8;
var $306=(($304)|(0))==(($305)|(0));
if ($306) { label = 48; break; } else { label = 49; break; }
case 48:
var $308=(($278)|0);
HEAP32[(($308)>>2)]=0;
label = 49; break;
case 49:
var $309=(($278)|0);
var $310=HEAP32[(($309)>>2)];
var $311=(($310)|(0))==0;
var $312=(($311)&(1));
var $313=$14;
$6=$313;
var $314=$6;
var $315=(($314)|0);
var $316=HEAP32[(($315)>>2)];
var $317=(($316)|(0))!=0;
if ($317) { label = 50; break; } else { label = 56; break; }
case 50:
var $319=(($314)|0);
var $320=HEAP32[(($319)>>2)];
$5=$320;
var $321=$5;
var $322=(($321+12)|0);
var $323=HEAP32[(($322)>>2)];
var $324=(($321+16)|0);
var $325=HEAP32[(($324)>>2)];
var $326=(($323)|(0))==(($325)|(0));
if ($326) { label = 51; break; } else { label = 53; break; }
case 51:
var $328=$321;
var $329=HEAP32[(($328)>>2)];
var $330=(($329+36)|0);
var $331=HEAP32[(($330)>>2)];
var $332 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$331]($321) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 52; break; } else { label = 26; break; }
case 52:
$4=$332;
label = 54; break;
case 53:
var $334=(($321+12)|0);
var $335=HEAP32[(($334)>>2)];
var $336=HEAP8[($335)];
$3=$336;
var $337=$3;
var $338=(($337)&(255));
$4=$338;
label = 54; break;
case 54:
var $339=$4;
$1=$339;
$2=-1;
var $340=$1;
var $341=$2;
var $342=(($340)|(0))==(($341)|(0));
if ($342) { label = 55; break; } else { label = 56; break; }
case 55:
var $344=(($314)|0);
HEAP32[(($344)>>2)]=0;
label = 56; break;
case 56:
var $345=(($314)|0);
var $346=HEAP32[(($345)>>2)];
var $347=(($346)|(0))==0;
var $348=(($347)&(1));
var $349=(($312)|(0))==(($348)|(0));
label = 57; break;
case 57:
if ($349) { label = 58; break; } else { label = 59; break; }
case 58:
var $352=$53;
var $353=HEAP32[(($352)>>2)];
var $354=$353 | 2;
HEAP32[(($352)>>2)]=$354;
label = 59; break;
case 59:
var $356=$agg_result;
var $357=$__b;
assert(4 % 1 === 0);HEAP32[(($356)>>2)]=HEAP32[(($357)>>2)];
$57=1;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__grouping);
STACKTOP = __stackBase__;
return;
case 60:
var $359=$55;
var $360=$56;
var $361$0=$359;
var $361$1=0;
var $362$0=$361$0;
var $362$1=$360;
___resumeException($362$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__127__num_get_unsigned_integralImEET_PKcS3_Rji($__a, $__a_end, $__err, $__base) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 12)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $__save_errno;
var $__p2=__stackBase__;
var $__ll=(__stackBase__)+(4);
var $__current_errno;
$2=$__a;
$3=$__a_end;
$4=$__err;
$5=$__base;
var $6=$2;
var $7=$3;
var $8=(($6)|(0))!=(($7)|(0));
if ($8) { label = 2; break; } else { label = 13; break; }
case 2:
var $10=$2;
var $11=HEAP8[($10)];
var $12=(($11 << 24) >> 24);
var $13=(($12)|(0))==45;
if ($13) { label = 3; break; } else { label = 4; break; }
case 3:
var $15=$4;
HEAP32[(($15)>>2)]=4;
$1=0;
label = 14; break;
case 4:
var $17=___errno_location();
var $18=HEAP32[(($17)>>2)];
$__save_errno=$18;
var $19=___errno_location();
HEAP32[(($19)>>2)]=0;
var $20=$2;
var $21=$5;
var $22=__ZNSt3__16__clocEv();
var $23$0=_strtoull($20, $__p2, $21, $22);
var $23$1=tempRet0;
var $st$0$0=(($__ll)|0);
HEAP32[(($st$0$0)>>2)]=$23$0;
var $st$1$1=(($__ll+4)|0);
HEAP32[(($st$1$1)>>2)]=$23$1;
var $24=___errno_location();
var $25=HEAP32[(($24)>>2)];
$__current_errno=$25;
var $26=$__current_errno;
var $27=(($26)|(0))==0;
if ($27) { label = 5; break; } else { label = 6; break; }
case 5:
var $29=$__save_errno;
var $30=___errno_location();
HEAP32[(($30)>>2)]=$29;
label = 6; break;
case 6:
var $32=HEAP32[(($__p2)>>2)];
var $33=$3;
var $34=(($32)|(0))!=(($33)|(0));
if ($34) { label = 7; break; } else { label = 8; break; }
case 7:
var $36=$4;
HEAP32[(($36)>>2)]=4;
$1=0;
label = 14; break;
case 8:
var $38=$__current_errno;
var $39=(($38)|(0))==34;
if ($39) { label = 10; break; } else { label = 9; break; }
case 9:
var $41$0=-1;
var $41$1=0;
var $ld$2$0=(($__ll)|0);
var $42$0=HEAP32[(($ld$2$0)>>2)];
var $ld$3$1=(($__ll+4)|0);
var $42$1=HEAP32[(($ld$3$1)>>2)];
var $43=(($41$1>>>0) < ($42$1>>>0)) | (((($41$1>>>0) == ($42$1>>>0) & ($41$0>>>0) < ($42$0>>>0))));
if ($43) { label = 10; break; } else { label = 11; break; }
case 10:
var $45=$4;
HEAP32[(($45)>>2)]=4;
$1=-1;
label = 14; break;
case 11:
label = 12; break;
case 12:
var $ld$4$0=(($__ll)|0);
var $48$0=HEAP32[(($ld$4$0)>>2)];
var $ld$5$1=(($__ll+4)|0);
var $48$1=HEAP32[(($ld$5$1)>>2)];
var $49$0=$48$0;
var $49=$49$0;
$1=$49;
label = 14; break;
case 13:
var $51=$4;
HEAP32[(($51)>>2)]=4;
$1=0;
label = 14; break;
case 14:
var $53=$1;
STACKTOP = __stackBase__;
return $53;
default: assert(0, "bad label: " + label);
}
}
function __ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRy($agg_result, $this, $__b, $__e, $__iob, $__err, $__v) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 256)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
var tempParam = $__b; $__b = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__b)>>2)]=HEAP32[((tempParam)>>2)];
var tempParam = $__e; $__e = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__e)>>2)]=HEAP32[((tempParam)>>2)];
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $49;
var $50;
var $51;
var $52;
var $53;
var $54;
var $__base;
var $__atoms=__stackBase__;
var $__thousands_sep=(__stackBase__)+(28);
var $__grouping=(__stackBase__)+(32);
var $__a=(__stackBase__)+(44);
var $__a_end=(__stackBase__)+(84);
var $__g=(__stackBase__)+(88);
var $__g_end=(__stackBase__)+(248);
var $__dc=(__stackBase__)+(252);
var $55;
var $56;
var $57;
$51=$this;
$52=$__iob;
$53=$__err;
$54=$__v;
var $58=$51;
var $59=$52;
var $60=__ZNSt3__114__num_get_base10__get_baseERNS_8ios_baseE($59);
$__base=$60;
var $61=$52;
var $62=(($__atoms)|0);
__ZNSt3__19__num_getIcE17__stage2_int_prepERNS_8ios_baseEPcRc($__grouping, $61, $62, $__thousands_sep);
var $63=$__a;
_memset($63, 0, 40);
var $64=(($__a)|0);
HEAP32[(($__a_end)>>2)]=$64;
var $65=(($__g)|0);
HEAP32[(($__g_end)>>2)]=$65;
HEAP32[(($__dc)>>2)]=0;
label = 2; break;
case 2:
$49=$__b;
$50=$__e;
var $67=$49;
var $68=$50;
$47=$67;
$48=$68;
var $69=$47;
$46=$69;
var $70=$46;
var $71=(($70)|0);
var $72=HEAP32[(($71)>>2)];
var $73=(($72)|(0))!=0;
if ($73) { label = 3; break; } else { label = 9; break; }
case 3:
var $75=(($70)|0);
var $76=HEAP32[(($75)>>2)];
$45=$76;
var $77=$45;
var $78=(($77+12)|0);
var $79=HEAP32[(($78)>>2)];
var $80=(($77+16)|0);
var $81=HEAP32[(($80)>>2)];
var $82=(($79)|(0))==(($81)|(0));
if ($82) { label = 4; break; } else { label = 6; break; }
case 4:
var $84=$77;
var $85=HEAP32[(($84)>>2)];
var $86=(($85+36)|0);
var $87=HEAP32[(($86)>>2)];
var $88 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$87]($77) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 5; break; } else { label = 26; break; }
case 5:
$44=$88;
label = 7; break;
case 6:
var $90=(($77+12)|0);
var $91=HEAP32[(($90)>>2)];
var $92=HEAP8[($91)];
$43=$92;
var $93=$43;
var $94=(($93)&(255));
$44=$94;
label = 7; break;
case 7:
var $95=$44;
$41=$95;
$42=-1;
var $96=$41;
var $97=$42;
var $98=(($96)|(0))==(($97)|(0));
if ($98) { label = 8; break; } else { label = 9; break; }
case 8:
var $100=(($70)|0);
HEAP32[(($100)>>2)]=0;
label = 9; break;
case 9:
var $101=(($70)|0);
var $102=HEAP32[(($101)>>2)];
var $103=(($102)|(0))==0;
var $104=(($103)&(1));
var $105=$48;
$40=$105;
var $106=$40;
var $107=(($106)|0);
var $108=HEAP32[(($107)>>2)];
var $109=(($108)|(0))!=0;
if ($109) { label = 10; break; } else { label = 16; break; }
case 10:
var $111=(($106)|0);
var $112=HEAP32[(($111)>>2)];
$39=$112;
var $113=$39;
var $114=(($113+12)|0);
var $115=HEAP32[(($114)>>2)];
var $116=(($113+16)|0);
var $117=HEAP32[(($116)>>2)];
var $118=(($115)|(0))==(($117)|(0));
if ($118) { label = 11; break; } else { label = 13; break; }
case 11:
var $120=$113;
var $121=HEAP32[(($120)>>2)];
var $122=(($121+36)|0);
var $123=HEAP32[(($122)>>2)];
var $124 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$123]($113) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 12; break; } else { label = 26; break; }
case 12:
$38=$124;
label = 14; break;
case 13:
var $126=(($113+12)|0);
var $127=HEAP32[(($126)>>2)];
var $128=HEAP8[($127)];
$37=$128;
var $129=$37;
var $130=(($129)&(255));
$38=$130;
label = 14; break;
case 14:
var $131=$38;
$35=$131;
$36=-1;
var $132=$35;
var $133=$36;
var $134=(($132)|(0))==(($133)|(0));
if ($134) { label = 15; break; } else { label = 16; break; }
case 15:
var $136=(($106)|0);
HEAP32[(($136)>>2)]=0;
label = 16; break;
case 16:
var $137=(($106)|0);
var $138=HEAP32[(($137)>>2)];
var $139=(($138)|(0))==0;
var $140=(($139)&(1));
var $141=(($104)|(0))==(($140)|(0));
var $142=$141 ^ 1;
label = 17; break;
case 17:
if ($142) { label = 18; break; } else { label = 34; break; }
case 18:
$34=$__b;
var $145=$34;
var $146=(($145)|0);
var $147=HEAP32[(($146)>>2)];
$33=$147;
var $148=$33;
var $149=(($148+12)|0);
var $150=HEAP32[(($149)>>2)];
var $151=(($148+16)|0);
var $152=HEAP32[(($151)>>2)];
var $153=(($150)|(0))==(($152)|(0));
if ($153) { label = 19; break; } else { label = 21; break; }
case 19:
var $155=$148;
var $156=HEAP32[(($155)>>2)];
var $157=(($156+36)|0);
var $158=HEAP32[(($157)>>2)];
var $159 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$158]($148) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 20; break; } else { label = 26; break; }
case 20:
$32=$159;
label = 22; break;
case 21:
var $161=(($148+12)|0);
var $162=HEAP32[(($161)>>2)];
var $163=HEAP8[($162)];
$31=$163;
var $164=$31;
var $165=(($164)&(255));
$32=$165;
label = 22; break;
case 22:
var $166=$32;
var $167=(($166) & 255);
label = 23; break;
case 23:
var $169=$__base;
var $170=(($__a)|0);
var $171=HEAP8[($__thousands_sep)];
var $172=(($__g)|0);
var $173=(($__atoms)|0);
var $174 = (function() { try { __THREW__ = 0; return __ZNSt3__19__num_getIcE17__stage2_int_loopEciPcRS2_RjcRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_S2_($167, $169, $170, $__a_end, $__dc, $171, $__grouping, $172, $__g_end, $173) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 24; break; } else { label = 26; break; }
case 24:
var $176=(($174)|(0))!=0;
if ($176) { label = 25; break; } else { label = 27; break; }
case 25:
label = 34; break;
case 26:
var $179$0 = ___cxa_find_matching_catch(-1, -1); $179$1 = tempRet0;
var $180=$179$0;
$55=$180;
var $181=$179$1;
$56=$181;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__grouping);
label = 60; break;
case 27:
label = 28; break;
case 28:
$30=$__b;
var $184=$30;
var $185=(($184)|0);
var $186=HEAP32[(($185)>>2)];
$29=$186;
var $187=$29;
var $188=(($187+12)|0);
var $189=HEAP32[(($188)>>2)];
var $190=(($187+16)|0);
var $191=HEAP32[(($190)>>2)];
var $192=(($189)|(0))==(($191)|(0));
if ($192) { label = 29; break; } else { label = 31; break; }
case 29:
var $194=$187;
var $195=HEAP32[(($194)>>2)];
var $196=(($195+40)|0);
var $197=HEAP32[(($196)>>2)];
var $198 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$197]($187) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 30; break; } else { label = 26; break; }
case 30:
$28=$198;
label = 32; break;
case 31:
var $200=(($187+12)|0);
var $201=HEAP32[(($200)>>2)];
var $202=(($201+1)|0);
HEAP32[(($200)>>2)]=$202;
var $203=HEAP8[($201)];
$27=$203;
var $204=$27;
var $205=(($204)&(255));
$28=$205;
label = 32; break;
case 32:
var $206=$28;
label = 33; break;
case 33:
label = 2; break;
case 34:
$26=$__grouping;
var $209=$26;
$25=$209;
var $210=$25;
var $211=(($210)|0);
$24=$211;
var $212=$24;
var $213=$212;
$23=$213;
var $214=$23;
var $215=(($214)|0);
var $216=(($215)|0);
var $217=$216;
var $218=(($217)|0);
var $219=$218;
var $220=HEAP8[($219)];
var $221=(($220)&(255));
var $222=$221 & 1;
var $223=(($222)|(0))!=0;
if ($223) { label = 35; break; } else { label = 36; break; }
case 35:
$19=$209;
var $225=$19;
var $226=(($225)|0);
$18=$226;
var $227=$18;
var $228=$227;
$17=$228;
var $229=$17;
var $230=(($229)|0);
var $231=(($230)|0);
var $232=$231;
var $233=(($232+4)|0);
var $234=HEAP32[(($233)>>2)];
var $249 = $234;label = 37; break;
case 36:
$22=$209;
var $236=$22;
var $237=(($236)|0);
$21=$237;
var $238=$21;
var $239=$238;
$20=$239;
var $240=$20;
var $241=(($240)|0);
var $242=(($241)|0);
var $243=$242;
var $244=(($243)|0);
var $245=$244;
var $246=HEAP8[($245)];
var $247=(($246)&(255));
var $248=$247 >> 1;
var $249 = $248;label = 37; break;
case 37:
var $249;
var $250=(($249)|(0))!=0;
if ($250) { label = 38; break; } else { label = 40; break; }
case 38:
var $252=HEAP32[(($__g_end)>>2)];
var $253=(($__g)|0);
var $254=$252;
var $255=$253;
var $256=((($254)-($255))|0);
var $257=((((($256)|(0)))/(4))&-1);
var $258=(($257)|(0)) < 40;
if ($258) { label = 39; break; } else { label = 40; break; }
case 39:
var $260=HEAP32[(($__dc)>>2)];
var $261=HEAP32[(($__g_end)>>2)];
var $262=(($261+4)|0);
HEAP32[(($__g_end)>>2)]=$262;
HEAP32[(($261)>>2)]=$260;
label = 40; break;
case 40:
var $264=(($__a)|0);
var $265=HEAP32[(($__a_end)>>2)];
var $266=$53;
var $267=$__base;
var $268 = (function() { try { __THREW__ = 0; return __ZNSt3__127__num_get_unsigned_integralIyEET_PKcS3_Rji($264, $265, $266, $267) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();var $268$0 = $268;var $268$1 = tempRet0;if (!__THREW__) { label = 41; break; } else { label = 26; break; }
case 41:
var $270=$54;
var $st$0$0=(($270)|0);
HEAP32[(($st$0$0)>>2)]=$268$0;
var $st$1$1=(($270+4)|0);
HEAP32[(($st$1$1)>>2)]=$268$1;
var $271=(($__g)|0);
var $272=HEAP32[(($__g_end)>>2)];
var $273=$53;
(function() { try { __THREW__ = 0; return __ZNSt3__116__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($__grouping, $271, $272, $273) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 42; break; } else { label = 26; break; }
case 42:
$15=$__b;
$16=$__e;
var $275=$15;
var $276=$16;
$13=$275;
$14=$276;
var $277=$13;
$12=$277;
var $278=$12;
var $279=(($278)|0);
var $280=HEAP32[(($279)>>2)];
var $281=(($280)|(0))!=0;
if ($281) { label = 43; break; } else { label = 49; break; }
case 43:
var $283=(($278)|0);
var $284=HEAP32[(($283)>>2)];
$11=$284;
var $285=$11;
var $286=(($285+12)|0);
var $287=HEAP32[(($286)>>2)];
var $288=(($285+16)|0);
var $289=HEAP32[(($288)>>2)];
var $290=(($287)|(0))==(($289)|(0));
if ($290) { label = 44; break; } else { label = 46; break; }
case 44:
var $292=$285;
var $293=HEAP32[(($292)>>2)];
var $294=(($293+36)|0);
var $295=HEAP32[(($294)>>2)];
var $296 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$295]($285) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 45; break; } else { label = 26; break; }
case 45:
$10=$296;
label = 47; break;
case 46:
var $298=(($285+12)|0);
var $299=HEAP32[(($298)>>2)];
var $300=HEAP8[($299)];
$9=$300;
var $301=$9;
var $302=(($301)&(255));
$10=$302;
label = 47; break;
case 47:
var $303=$10;
$7=$303;
$8=-1;
var $304=$7;
var $305=$8;
var $306=(($304)|(0))==(($305)|(0));
if ($306) { label = 48; break; } else { label = 49; break; }
case 48:
var $308=(($278)|0);
HEAP32[(($308)>>2)]=0;
label = 49; break;
case 49:
var $309=(($278)|0);
var $310=HEAP32[(($309)>>2)];
var $311=(($310)|(0))==0;
var $312=(($311)&(1));
var $313=$14;
$6=$313;
var $314=$6;
var $315=(($314)|0);
var $316=HEAP32[(($315)>>2)];
var $317=(($316)|(0))!=0;
if ($317) { label = 50; break; } else { label = 56; break; }
case 50:
var $319=(($314)|0);
var $320=HEAP32[(($319)>>2)];
$5=$320;
var $321=$5;
var $322=(($321+12)|0);
var $323=HEAP32[(($322)>>2)];
var $324=(($321+16)|0);
var $325=HEAP32[(($324)>>2)];
var $326=(($323)|(0))==(($325)|(0));
if ($326) { label = 51; break; } else { label = 53; break; }
case 51:
var $328=$321;
var $329=HEAP32[(($328)>>2)];
var $330=(($329+36)|0);
var $331=HEAP32[(($330)>>2)];
var $332 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$331]($321) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 52; break; } else { label = 26; break; }
case 52:
$4=$332;
label = 54; break;
case 53:
var $334=(($321+12)|0);
var $335=HEAP32[(($334)>>2)];
var $336=HEAP8[($335)];
$3=$336;
var $337=$3;
var $338=(($337)&(255));
$4=$338;
label = 54; break;
case 54:
var $339=$4;
$1=$339;
$2=-1;
var $340=$1;
var $341=$2;
var $342=(($340)|(0))==(($341)|(0));
if ($342) { label = 55; break; } else { label = 56; break; }
case 55:
var $344=(($314)|0);
HEAP32[(($344)>>2)]=0;
label = 56; break;
case 56:
var $345=(($314)|0);
var $346=HEAP32[(($345)>>2)];
var $347=(($346)|(0))==0;
var $348=(($347)&(1));
var $349=(($312)|(0))==(($348)|(0));
label = 57; break;
case 57:
if ($349) { label = 58; break; } else { label = 59; break; }
case 58:
var $352=$53;
var $353=HEAP32[(($352)>>2)];
var $354=$353 | 2;
HEAP32[(($352)>>2)]=$354;
label = 59; break;
case 59:
var $356=$agg_result;
var $357=$__b;
assert(4 % 1 === 0);HEAP32[(($356)>>2)]=HEAP32[(($357)>>2)];
$57=1;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__grouping);
STACKTOP = __stackBase__;
return;
case 60:
var $359=$55;
var $360=$56;
var $361$0=$359;
var $361$1=0;
var $362$0=$361$0;
var $362$1=$360;
___resumeException($362$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__127__num_get_unsigned_integralIyEET_PKcS3_Rji($__a, $__a_end, $__err, $__base) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 20)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1=__stackBase__;
var $2;
var $3;
var $4;
var $5;
var $__save_errno;
var $__p2=(__stackBase__)+(8);
var $__ll=(__stackBase__)+(12);
var $__current_errno;
$2=$__a;
$3=$__a_end;
$4=$__err;
$5=$__base;
var $6=$2;
var $7=$3;
var $8=(($6)|(0))!=(($7)|(0));
if ($8) { label = 2; break; } else { label = 13; break; }
case 2:
var $10=$2;
var $11=HEAP8[($10)];
var $12=(($11 << 24) >> 24);
var $13=(($12)|(0))==45;
if ($13) { label = 3; break; } else { label = 4; break; }
case 3:
var $15=$4;
HEAP32[(($15)>>2)]=4;
var $$etemp$0$0=0;
var $$etemp$0$1=0;
var $st$1$0=(($1)|0);
HEAP32[(($st$1$0)>>2)]=$$etemp$0$0;
var $st$2$1=(($1+4)|0);
HEAP32[(($st$2$1)>>2)]=$$etemp$0$1;
label = 14; break;
case 4:
var $17=___errno_location();
var $18=HEAP32[(($17)>>2)];
$__save_errno=$18;
var $19=___errno_location();
HEAP32[(($19)>>2)]=0;
var $20=$2;
var $21=$5;
var $22=__ZNSt3__16__clocEv();
var $23$0=_strtoull($20, $__p2, $21, $22);
var $23$1=tempRet0;
var $st$3$0=(($__ll)|0);
HEAP32[(($st$3$0)>>2)]=$23$0;
var $st$4$1=(($__ll+4)|0);
HEAP32[(($st$4$1)>>2)]=$23$1;
var $24=___errno_location();
var $25=HEAP32[(($24)>>2)];
$__current_errno=$25;
var $26=$__current_errno;
var $27=(($26)|(0))==0;
if ($27) { label = 5; break; } else { label = 6; break; }
case 5:
var $29=$__save_errno;
var $30=___errno_location();
HEAP32[(($30)>>2)]=$29;
label = 6; break;
case 6:
var $32=HEAP32[(($__p2)>>2)];
var $33=$3;
var $34=(($32)|(0))!=(($33)|(0));
if ($34) { label = 7; break; } else { label = 8; break; }
case 7:
var $36=$4;
HEAP32[(($36)>>2)]=4;
var $$etemp$5$0=0;
var $$etemp$5$1=0;
var $st$6$0=(($1)|0);
HEAP32[(($st$6$0)>>2)]=$$etemp$5$0;
var $st$7$1=(($1+4)|0);
HEAP32[(($st$7$1)>>2)]=$$etemp$5$1;
label = 14; break;
case 8:
var $38=$__current_errno;
var $39=(($38)|(0))==34;
if ($39) { label = 10; break; } else { label = 9; break; }
case 9:
var $ld$8$0=(($__ll)|0);
var $41$0=HEAP32[(($ld$8$0)>>2)];
var $ld$9$1=(($__ll+4)|0);
var $41$1=HEAP32[(($ld$9$1)>>2)];
var $$etemp$10$0=-1;
var $$etemp$10$1=-1;
var $42=(($$etemp$10$1>>>0) < ($41$1>>>0)) | (((($$etemp$10$1>>>0) == ($41$1>>>0) & ($$etemp$10$0>>>0) < ($41$0>>>0))));
if ($42) { label = 10; break; } else { label = 11; break; }
case 10:
var $44=$4;
HEAP32[(($44)>>2)]=4;
var $$etemp$11$0=-1;
var $$etemp$11$1=-1;
var $st$12$0=(($1)|0);
HEAP32[(($st$12$0)>>2)]=$$etemp$11$0;
var $st$13$1=(($1+4)|0);
HEAP32[(($st$13$1)>>2)]=$$etemp$11$1;
label = 14; break;
case 11:
label = 12; break;
case 12:
var $ld$14$0=(($__ll)|0);
var $47$0=HEAP32[(($ld$14$0)>>2)];
var $ld$15$1=(($__ll+4)|0);
var $47$1=HEAP32[(($ld$15$1)>>2)];
var $st$16$0=(($1)|0);
HEAP32[(($st$16$0)>>2)]=$47$0;
var $st$17$1=(($1+4)|0);
HEAP32[(($st$17$1)>>2)]=$47$1;
label = 14; break;
case 13:
var $49=$4;
HEAP32[(($49)>>2)]=4;
var $$etemp$18$0=0;
var $$etemp$18$1=0;
var $st$19$0=(($1)|0);
HEAP32[(($st$19$0)>>2)]=$$etemp$18$0;
var $st$20$1=(($1+4)|0);
HEAP32[(($st$20$1)>>2)]=$$etemp$18$1;
label = 14; break;
case 14:
var $ld$21$0=(($1)|0);
var $51$0=HEAP32[(($ld$21$0)>>2)];
var $ld$22$1=(($1+4)|0);
var $51$1=HEAP32[(($ld$22$1)>>2)];
STACKTOP = __stackBase__;
return (tempRet0=$51$1,$51$0);
default: assert(0, "bad label: " + label);
}
}
function __ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRf($agg_result, $this, $__b, $__e, $__iob, $__err, $__v) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 272)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
var tempParam = $__b; $__b = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__b)>>2)]=HEAP32[((tempParam)>>2)];
var tempParam = $__e; $__e = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__e)>>2)]=HEAP32[((tempParam)>>2)];
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $49;
var $50;
var $51;
var $52;
var $53;
var $54;
var $__atoms=__stackBase__;
var $__decimal_point=(__stackBase__)+(32);
var $__thousands_sep=(__stackBase__)+(36);
var $__grouping=(__stackBase__)+(40);
var $__a=(__stackBase__)+(52);
var $__a_end=(__stackBase__)+(92);
var $__g=(__stackBase__)+(96);
var $__g_end=(__stackBase__)+(256);
var $__dc=(__stackBase__)+(260);
var $__in_units=(__stackBase__)+(264);
var $__exp=(__stackBase__)+(268);
var $55;
var $56;
var $57;
$51=$this;
$52=$__iob;
$53=$__err;
$54=$__v;
var $58=$51;
var $59=$52;
var $60=(($__atoms)|0);
__ZNSt3__19__num_getIcE19__stage2_float_prepERNS_8ios_baseEPcRcS5_($__grouping, $59, $60, $__decimal_point, $__thousands_sep);
var $61=$__a;
_memset($61, 0, 40);
var $62=(($__a)|0);
HEAP32[(($__a_end)>>2)]=$62;
var $63=(($__g)|0);
HEAP32[(($__g_end)>>2)]=$63;
HEAP32[(($__dc)>>2)]=0;
HEAP8[($__in_units)]=1;
HEAP8[($__exp)]=69;
label = 2; break;
case 2:
$49=$__b;
$50=$__e;
var $65=$49;
var $66=$50;
$47=$65;
$48=$66;
var $67=$47;
$46=$67;
var $68=$46;
var $69=(($68)|0);
var $70=HEAP32[(($69)>>2)];
var $71=(($70)|(0))!=0;
if ($71) { label = 3; break; } else { label = 9; break; }
case 3:
var $73=(($68)|0);
var $74=HEAP32[(($73)>>2)];
$45=$74;
var $75=$45;
var $76=(($75+12)|0);
var $77=HEAP32[(($76)>>2)];
var $78=(($75+16)|0);
var $79=HEAP32[(($78)>>2)];
var $80=(($77)|(0))==(($79)|(0));
if ($80) { label = 4; break; } else { label = 6; break; }
case 4:
var $82=$75;
var $83=HEAP32[(($82)>>2)];
var $84=(($83+36)|0);
var $85=HEAP32[(($84)>>2)];
var $86 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$85]($75) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 5; break; } else { label = 26; break; }
case 5:
$44=$86;
label = 7; break;
case 6:
var $88=(($75+12)|0);
var $89=HEAP32[(($88)>>2)];
var $90=HEAP8[($89)];
$43=$90;
var $91=$43;
var $92=(($91)&(255));
$44=$92;
label = 7; break;
case 7:
var $93=$44;
$41=$93;
$42=-1;
var $94=$41;
var $95=$42;
var $96=(($94)|(0))==(($95)|(0));
if ($96) { label = 8; break; } else { label = 9; break; }
case 8:
var $98=(($68)|0);
HEAP32[(($98)>>2)]=0;
label = 9; break;
case 9:
var $99=(($68)|0);
var $100=HEAP32[(($99)>>2)];
var $101=(($100)|(0))==0;
var $102=(($101)&(1));
var $103=$48;
$40=$103;
var $104=$40;
var $105=(($104)|0);
var $106=HEAP32[(($105)>>2)];
var $107=(($106)|(0))!=0;
if ($107) { label = 10; break; } else { label = 16; break; }
case 10:
var $109=(($104)|0);
var $110=HEAP32[(($109)>>2)];
$39=$110;
var $111=$39;
var $112=(($111+12)|0);
var $113=HEAP32[(($112)>>2)];
var $114=(($111+16)|0);
var $115=HEAP32[(($114)>>2)];
var $116=(($113)|(0))==(($115)|(0));
if ($116) { label = 11; break; } else { label = 13; break; }
case 11:
var $118=$111;
var $119=HEAP32[(($118)>>2)];
var $120=(($119+36)|0);
var $121=HEAP32[(($120)>>2)];
var $122 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$121]($111) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 12; break; } else { label = 26; break; }
case 12:
$38=$122;
label = 14; break;
case 13:
var $124=(($111+12)|0);
var $125=HEAP32[(($124)>>2)];
var $126=HEAP8[($125)];
$37=$126;
var $127=$37;
var $128=(($127)&(255));
$38=$128;
label = 14; break;
case 14:
var $129=$38;
$35=$129;
$36=-1;
var $130=$35;
var $131=$36;
var $132=(($130)|(0))==(($131)|(0));
if ($132) { label = 15; break; } else { label = 16; break; }
case 15:
var $134=(($104)|0);
HEAP32[(($134)>>2)]=0;
label = 16; break;
case 16:
var $135=(($104)|0);
var $136=HEAP32[(($135)>>2)];
var $137=(($136)|(0))==0;
var $138=(($137)&(1));
var $139=(($102)|(0))==(($138)|(0));
var $140=$139 ^ 1;
label = 17; break;
case 17:
if ($140) { label = 18; break; } else { label = 34; break; }
case 18:
$34=$__b;
var $143=$34;
var $144=(($143)|0);
var $145=HEAP32[(($144)>>2)];
$33=$145;
var $146=$33;
var $147=(($146+12)|0);
var $148=HEAP32[(($147)>>2)];
var $149=(($146+16)|0);
var $150=HEAP32[(($149)>>2)];
var $151=(($148)|(0))==(($150)|(0));
if ($151) { label = 19; break; } else { label = 21; break; }
case 19:
var $153=$146;
var $154=HEAP32[(($153)>>2)];
var $155=(($154+36)|0);
var $156=HEAP32[(($155)>>2)];
var $157 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$156]($146) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 20; break; } else { label = 26; break; }
case 20:
$32=$157;
label = 22; break;
case 21:
var $159=(($146+12)|0);
var $160=HEAP32[(($159)>>2)];
var $161=HEAP8[($160)];
$31=$161;
var $162=$31;
var $163=(($162)&(255));
$32=$163;
label = 22; break;
case 22:
var $164=$32;
var $165=(($164) & 255);
label = 23; break;
case 23:
var $167=(($__a)|0);
var $168=HEAP8[($__decimal_point)];
var $169=HEAP8[($__thousands_sep)];
var $170=(($__g)|0);
var $171=(($__atoms)|0);
var $172 = (function() { try { __THREW__ = 0; return __ZNSt3__19__num_getIcE19__stage2_float_loopEcRbRcPcRS4_ccRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSE_RjS4_($165, $__in_units, $__exp, $167, $__a_end, $168, $169, $__grouping, $170, $__g_end, $__dc, $171) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 24; break; } else { label = 26; break; }
case 24:
var $174=(($172)|(0))!=0;
if ($174) { label = 25; break; } else { label = 27; break; }
case 25:
label = 34; break;
case 26:
var $177$0 = ___cxa_find_matching_catch(-1, -1); $177$1 = tempRet0;
var $178=$177$0;
$55=$178;
var $179=$177$1;
$56=$179;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__grouping);
label = 61; break;
case 27:
label = 28; break;
case 28:
$30=$__b;
var $182=$30;
var $183=(($182)|0);
var $184=HEAP32[(($183)>>2)];
$29=$184;
var $185=$29;
var $186=(($185+12)|0);
var $187=HEAP32[(($186)>>2)];
var $188=(($185+16)|0);
var $189=HEAP32[(($188)>>2)];
var $190=(($187)|(0))==(($189)|(0));
if ($190) { label = 29; break; } else { label = 31; break; }
case 29:
var $192=$185;
var $193=HEAP32[(($192)>>2)];
var $194=(($193+40)|0);
var $195=HEAP32[(($194)>>2)];
var $196 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$195]($185) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 30; break; } else { label = 26; break; }
case 30:
$28=$196;
label = 32; break;
case 31:
var $198=(($185+12)|0);
var $199=HEAP32[(($198)>>2)];
var $200=(($199+1)|0);
HEAP32[(($198)>>2)]=$200;
var $201=HEAP8[($199)];
$27=$201;
var $202=$27;
var $203=(($202)&(255));
$28=$203;
label = 32; break;
case 32:
var $204=$28;
label = 33; break;
case 33:
label = 2; break;
case 34:
$26=$__grouping;
var $207=$26;
$25=$207;
var $208=$25;
var $209=(($208)|0);
$24=$209;
var $210=$24;
var $211=$210;
$23=$211;
var $212=$23;
var $213=(($212)|0);
var $214=(($213)|0);
var $215=$214;
var $216=(($215)|0);
var $217=$216;
var $218=HEAP8[($217)];
var $219=(($218)&(255));
var $220=$219 & 1;
var $221=(($220)|(0))!=0;
if ($221) { label = 35; break; } else { label = 36; break; }
case 35:
$19=$207;
var $223=$19;
var $224=(($223)|0);
$18=$224;
var $225=$18;
var $226=$225;
$17=$226;
var $227=$17;
var $228=(($227)|0);
var $229=(($228)|0);
var $230=$229;
var $231=(($230+4)|0);
var $232=HEAP32[(($231)>>2)];
var $247 = $232;label = 37; break;
case 36:
$22=$207;
var $234=$22;
var $235=(($234)|0);
$21=$235;
var $236=$21;
var $237=$236;
$20=$237;
var $238=$20;
var $239=(($238)|0);
var $240=(($239)|0);
var $241=$240;
var $242=(($241)|0);
var $243=$242;
var $244=HEAP8[($243)];
var $245=(($244)&(255));
var $246=$245 >> 1;
var $247 = $246;label = 37; break;
case 37:
var $247;
var $248=(($247)|(0))!=0;
if ($248) { label = 38; break; } else { label = 41; break; }
case 38:
var $250=HEAP8[($__in_units)];
var $251=(($250) & 1);
if ($251) { label = 39; break; } else { label = 41; break; }
case 39:
var $253=HEAP32[(($__g_end)>>2)];
var $254=(($__g)|0);
var $255=$253;
var $256=$254;
var $257=((($255)-($256))|0);
var $258=((((($257)|(0)))/(4))&-1);
var $259=(($258)|(0)) < 40;
if ($259) { label = 40; break; } else { label = 41; break; }
case 40:
var $261=HEAP32[(($__dc)>>2)];
var $262=HEAP32[(($__g_end)>>2)];
var $263=(($262+4)|0);
HEAP32[(($__g_end)>>2)]=$263;
HEAP32[(($262)>>2)]=$261;
label = 41; break;
case 41:
var $265=(($__a)|0);
var $266=HEAP32[(($__a_end)>>2)];
var $267=$53;
var $268 = (function() { try { __THREW__ = 0; return __ZNSt3__115__num_get_floatIfEET_PKcS3_Rj($265, $266, $267) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 42; break; } else { label = 26; break; }
case 42:
var $270=$54;
HEAPF32[(($270)>>2)]=$268;
var $271=(($__g)|0);
var $272=HEAP32[(($__g_end)>>2)];
var $273=$53;
(function() { try { __THREW__ = 0; return __ZNSt3__116__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($__grouping, $271, $272, $273) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 43; break; } else { label = 26; break; }
case 43:
$15=$__b;
$16=$__e;
var $275=$15;
var $276=$16;
$13=$275;
$14=$276;
var $277=$13;
$12=$277;
var $278=$12;
var $279=(($278)|0);
var $280=HEAP32[(($279)>>2)];
var $281=(($280)|(0))!=0;
if ($281) { label = 44; break; } else { label = 50; break; }
case 44:
var $283=(($278)|0);
var $284=HEAP32[(($283)>>2)];
$11=$284;
var $285=$11;
var $286=(($285+12)|0);
var $287=HEAP32[(($286)>>2)];
var $288=(($285+16)|0);
var $289=HEAP32[(($288)>>2)];
var $290=(($287)|(0))==(($289)|(0));
if ($290) { label = 45; break; } else { label = 47; break; }
case 45:
var $292=$285;
var $293=HEAP32[(($292)>>2)];
var $294=(($293+36)|0);
var $295=HEAP32[(($294)>>2)];
var $296 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$295]($285) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 46; break; } else { label = 26; break; }
case 46:
$10=$296;
label = 48; break;
case 47:
var $298=(($285+12)|0);
var $299=HEAP32[(($298)>>2)];
var $300=HEAP8[($299)];
$9=$300;
var $301=$9;
var $302=(($301)&(255));
$10=$302;
label = 48; break;
case 48:
var $303=$10;
$7=$303;
$8=-1;
var $304=$7;
var $305=$8;
var $306=(($304)|(0))==(($305)|(0));
if ($306) { label = 49; break; } else { label = 50; break; }
case 49:
var $308=(($278)|0);
HEAP32[(($308)>>2)]=0;
label = 50; break;
case 50:
var $309=(($278)|0);
var $310=HEAP32[(($309)>>2)];
var $311=(($310)|(0))==0;
var $312=(($311)&(1));
var $313=$14;
$6=$313;
var $314=$6;
var $315=(($314)|0);
var $316=HEAP32[(($315)>>2)];
var $317=(($316)|(0))!=0;
if ($317) { label = 51; break; } else { label = 57; break; }
case 51:
var $319=(($314)|0);
var $320=HEAP32[(($319)>>2)];
$5=$320;
var $321=$5;
var $322=(($321+12)|0);
var $323=HEAP32[(($322)>>2)];
var $324=(($321+16)|0);
var $325=HEAP32[(($324)>>2)];
var $326=(($323)|(0))==(($325)|(0));
if ($326) { label = 52; break; } else { label = 54; break; }
case 52:
var $328=$321;
var $329=HEAP32[(($328)>>2)];
var $330=(($329+36)|0);
var $331=HEAP32[(($330)>>2)];
var $332 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$331]($321) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 53; break; } else { label = 26; break; }
case 53:
$4=$332;
label = 55; break;
case 54:
var $334=(($321+12)|0);
var $335=HEAP32[(($334)>>2)];
var $336=HEAP8[($335)];
$3=$336;
var $337=$3;
var $338=(($337)&(255));
$4=$338;
label = 55; break;
case 55:
var $339=$4;
$1=$339;
$2=-1;
var $340=$1;
var $341=$2;
var $342=(($340)|(0))==(($341)|(0));
if ($342) { label = 56; break; } else { label = 57; break; }
case 56:
var $344=(($314)|0);
HEAP32[(($344)>>2)]=0;
label = 57; break;
case 57:
var $345=(($314)|0);
var $346=HEAP32[(($345)>>2)];
var $347=(($346)|(0))==0;
var $348=(($347)&(1));
var $349=(($312)|(0))==(($348)|(0));
label = 58; break;
case 58:
if ($349) { label = 59; break; } else { label = 60; break; }
case 59:
var $352=$53;
var $353=HEAP32[(($352)>>2)];
var $354=$353 | 2;
HEAP32[(($352)>>2)]=$354;
label = 60; break;
case 60:
var $356=$agg_result;
var $357=$__b;
assert(4 % 1 === 0);HEAP32[(($356)>>2)]=HEAP32[(($357)>>2)];
$57=1;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__grouping);
STACKTOP = __stackBase__;
return;
case 61:
var $359=$55;
var $360=$56;
var $361$0=$359;
var $361$1=0;
var $362$0=$361$0;
var $362$1=$360;
___resumeException($362$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__19__num_getIcE19__stage2_float_prepERNS_8ios_baseEPcRcS5_($agg_result, $__iob, $__atoms, $__decimal_point, $__thousands_sep) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 4)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $__loc=__stackBase__;
var $14;
var $15;
var $__np;
var $16;
$10=$__iob;
$11=$__atoms;
$12=$__decimal_point;
$13=$__thousands_sep;
var $17=$10;
__ZNKSt3__18ios_base6getlocEv($__loc, $17);
$9=$__loc;
var $18=$9;
var $19 = (function() { try { __THREW__ = 0; return __ZNKSt3__16locale9use_facetERNS0_2idE($18, 5255420) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 2; break; } else { label = 14; break; }
case 2:
var $20=$19;
label = 3; break;
case 3:
var $22=$11;
$5=$20;
$6=((5255860)|0);
$7=((5255892)|0);
$8=$22;
var $23=$5;
var $24=$23;
var $25=HEAP32[(($24)>>2)];
var $26=(($25+32)|0);
var $27=HEAP32[(($26)>>2)];
var $28=$6;
var $29=$7;
var $30=$8;
var $31 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$27]($23, $28, $29, $30) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 4; break; } else { label = 14; break; }
case 4:
label = 5; break;
case 5:
$4=$__loc;
var $33=$4;
var $34 = (function() { try { __THREW__ = 0; return __ZNKSt3__16locale9use_facetERNS0_2idE($33, 5255052) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 6; break; } else { label = 14; break; }
case 6:
var $35=$34;
label = 7; break;
case 7:
$__np=$35;
var $37=$__np;
$3=$37;
var $38=$3;
var $39=$38;
var $40=HEAP32[(($39)>>2)];
var $41=(($40+12)|0);
var $42=HEAP32[(($41)>>2)];
var $43 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$42]($38) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 8; break; } else { label = 14; break; }
case 8:
label = 9; break;
case 9:
var $45=$12;
HEAP8[($45)]=$43;
var $46=$__np;
$2=$46;
var $47=$2;
var $48=$47;
var $49=HEAP32[(($48)>>2)];
var $50=(($49+16)|0);
var $51=HEAP32[(($50)>>2)];
var $52 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$51]($47) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 10; break; } else { label = 14; break; }
case 10:
label = 11; break;
case 11:
var $54=$13;
HEAP8[($54)]=$52;
var $55=$__np;
$1=$55;
var $56=$1;
var $57=$56;
var $58=HEAP32[(($57)>>2)];
var $59=(($58+20)|0);
var $60=HEAP32[(($59)>>2)];
(function() { try { __THREW__ = 0; return FUNCTION_TABLE[$60]($agg_result, $56) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 12; break; } else { label = 14; break; }
case 12:
label = 13; break;
case 13:
$16=1;
__ZNSt3__16localeD2Ev($__loc);
STACKTOP = __stackBase__;
return;
case 14:
var $63$0 = ___cxa_find_matching_catch(-1, -1); $63$1 = tempRet0;
var $64=$63$0;
$14=$64;
var $65=$63$1;
$15=$65;
__ZNSt3__16localeD2Ev($__loc);
label = 15; break;
case 15:
var $67=$14;
var $68=$15;
var $69$0=$67;
var $69$1=0;
var $70$0=$69$0;
var $70$1=$68;
___resumeException($70$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__19__num_getIcE19__stage2_float_loopEcRbRcPcRS4_ccRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSE_RjS4_($__ct, $__in_units, $__exp, $__a, $__a_end, $__decimal_point, $__thousands_sep, $__grouping, $__g, $__g_end, $__dc, $__atoms) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 4)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35=__stackBase__;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $__f;
var $__x;
HEAP8[($35)]=$__ct;
$36=$__in_units;
$37=$__exp;
$38=$__a;
$39=$__a_end;
$40=$__decimal_point;
$41=$__thousands_sep;
$42=$__grouping;
$43=$__g;
$44=$__g_end;
$45=$__dc;
$46=$__atoms;
var $47=$39;
var $48=HEAP32[(($47)>>2)];
var $49=$38;
var $50=$48;
var $51=$49;
var $52=((($50)-($51))|0);
var $53=(($52)|(0)) >= 39;
if ($53) { label = 2; break; } else { label = 3; break; }
case 2:
$34=-1;
label = 55; break;
case 3:
var $56=HEAP8[($35)];
var $57=(($56 << 24) >> 24);
var $58=$40;
var $59=(($58 << 24) >> 24);
var $60=(($57)|(0))==(($59)|(0));
if ($60) { label = 4; break; } else { label = 13; break; }
case 4:
var $62=$36;
var $63=HEAP8[($62)];
var $64=(($63) & 1);
if ($64) { label = 6; break; } else { label = 5; break; }
case 5:
$34=-1;
label = 55; break;
case 6:
var $67=$36;
HEAP8[($67)]=0;
var $68=$39;
var $69=HEAP32[(($68)>>2)];
var $70=(($69+1)|0);
HEAP32[(($68)>>2)]=$70;
HEAP8[($69)]=46;
var $71=$42;
$33=$71;
var $72=$33;
$32=$72;
var $73=$32;
var $74=(($73)|0);
$31=$74;
var $75=$31;
var $76=$75;
$30=$76;
var $77=$30;
var $78=(($77)|0);
var $79=(($78)|0);
var $80=$79;
var $81=(($80)|0);
var $82=$81;
var $83=HEAP8[($82)];
var $84=(($83)&(255));
var $85=$84 & 1;
var $86=(($85)|(0))!=0;
if ($86) { label = 7; break; } else { label = 8; break; }
case 7:
$26=$72;
var $88=$26;
var $89=(($88)|0);
$25=$89;
var $90=$25;
var $91=$90;
$24=$91;
var $92=$24;
var $93=(($92)|0);
var $94=(($93)|0);
var $95=$94;
var $96=(($95+4)|0);
var $97=HEAP32[(($96)>>2)];
var $112 = $97;label = 9; break;
case 8:
$29=$72;
var $99=$29;
var $100=(($99)|0);
$28=$100;
var $101=$28;
var $102=$101;
$27=$102;
var $103=$27;
var $104=(($103)|0);
var $105=(($104)|0);
var $106=$105;
var $107=(($106)|0);
var $108=$107;
var $109=HEAP8[($108)];
var $110=(($109)&(255));
var $111=$110 >> 1;
var $112 = $111;label = 9; break;
case 9:
var $112;
var $113=(($112)|(0))!=0;
if ($113) { label = 10; break; } else { label = 12; break; }
case 10:
var $115=$44;
var $116=HEAP32[(($115)>>2)];
var $117=$43;
var $118=$116;
var $119=$117;
var $120=((($118)-($119))|0);
var $121=((((($120)|(0)))/(4))&-1);
var $122=(($121)|(0)) < 40;
if ($122) { label = 11; break; } else { label = 12; break; }
case 11:
var $124=$45;
var $125=HEAP32[(($124)>>2)];
var $126=$44;
var $127=HEAP32[(($126)>>2)];
var $128=(($127+4)|0);
HEAP32[(($126)>>2)]=$128;
HEAP32[(($127)>>2)]=$125;
label = 12; break;
case 12:
$34=0;
label = 55; break;
case 13:
var $131=HEAP8[($35)];
var $132=(($131 << 24) >> 24);
var $133=$41;
var $134=(($133 << 24) >> 24);
var $135=(($132)|(0))==(($134)|(0));
if ($135) { label = 14; break; } else { label = 23; break; }
case 14:
var $137=$42;
$10=$137;
var $138=$10;
$9=$138;
var $139=$9;
var $140=(($139)|0);
$8=$140;
var $141=$8;
var $142=$141;
$7=$142;
var $143=$7;
var $144=(($143)|0);
var $145=(($144)|0);
var $146=$145;
var $147=(($146)|0);
var $148=$147;
var $149=HEAP8[($148)];
var $150=(($149)&(255));
var $151=$150 & 1;
var $152=(($151)|(0))!=0;
if ($152) { label = 15; break; } else { label = 16; break; }
case 15:
$3=$138;
var $154=$3;
var $155=(($154)|0);
$2=$155;
var $156=$2;
var $157=$156;
$1=$157;
var $158=$1;
var $159=(($158)|0);
var $160=(($159)|0);
var $161=$160;
var $162=(($161+4)|0);
var $163=HEAP32[(($162)>>2)];
var $178 = $163;label = 17; break;
case 16:
$6=$138;
var $165=$6;
var $166=(($165)|0);
$5=$166;
var $167=$5;
var $168=$167;
$4=$168;
var $169=$4;
var $170=(($169)|0);
var $171=(($170)|0);
var $172=$171;
var $173=(($172)|0);
var $174=$173;
var $175=HEAP8[($174)];
var $176=(($175)&(255));
var $177=$176 >> 1;
var $178 = $177;label = 17; break;
case 17:
var $178;
var $179=(($178)|(0))!=0;
if ($179) { label = 18; break; } else { label = 23; break; }
case 18:
var $181=$36;
var $182=HEAP8[($181)];
var $183=(($182) & 1);
if ($183) { label = 20; break; } else { label = 19; break; }
case 19:
$34=-1;
label = 55; break;
case 20:
var $186=$44;
var $187=HEAP32[(($186)>>2)];
var $188=$43;
var $189=$187;
var $190=$188;
var $191=((($189)-($190))|0);
var $192=((((($191)|(0)))/(4))&-1);
var $193=(($192)|(0)) < 40;
if ($193) { label = 21; break; } else { label = 22; break; }
case 21:
var $195=$45;
var $196=HEAP32[(($195)>>2)];
var $197=$44;
var $198=HEAP32[(($197)>>2)];
var $199=(($198+4)|0);
HEAP32[(($197)>>2)]=$199;
HEAP32[(($198)>>2)]=$196;
var $200=$45;
HEAP32[(($200)>>2)]=0;
label = 22; break;
case 22:
$34=0;
label = 55; break;
case 23:
var $203=$46;
var $204=$46;
var $205=(($204+32)|0);
$11=$203;
$12=$205;
$13=$35;
label = 24; break;
case 24:
var $207=$11;
var $208=$12;
var $209=(($207)|(0))!=(($208)|(0));
if ($209) { label = 25; break; } else { label = 28; break; }
case 25:
var $211=$11;
var $212=HEAP8[($211)];
var $213=(($212 << 24) >> 24);
var $214=$13;
var $215=HEAP8[($214)];
var $216=(($215 << 24) >> 24);
var $217=(($213)|(0))==(($216)|(0));
if ($217) { label = 26; break; } else { label = 27; break; }
case 26:
label = 28; break;
case 27:
var $220=$11;
var $221=(($220+1)|0);
$11=$221;
label = 24; break;
case 28:
var $222=$11;
var $223=$46;
var $224=$222;
var $225=$223;
var $226=((($224)-($225))|0);
$__f=$226;
var $227=$__f;
var $228=(($227)|(0)) >= 32;
if ($228) { label = 29; break; } else { label = 30; break; }
case 29:
$34=-1;
label = 55; break;
case 30:
var $231=$__f;
var $232=((5255860+$231)|0);
var $233=HEAP8[($232)];
$__x=$233;
var $234=$__x;
var $235=(($234 << 24) >> 24);
var $236=(($235)|(0))==45;
if ($236) { label = 32; break; } else { label = 31; break; }
case 31:
var $238=$__x;
var $239=(($238 << 24) >> 24);
var $240=(($239)|(0))==43;
if ($240) { label = 32; break; } else { label = 36; break; }
case 32:
var $242=$39;
var $243=HEAP32[(($242)>>2)];
var $244=$38;
var $245=(($243)|(0))==(($244)|(0));
if ($245) { label = 34; break; } else { label = 33; break; }
case 33:
var $247=$39;
var $248=HEAP32[(($247)>>2)];
var $249=((($248)-(1))|0);
var $250=HEAP8[($249)];
var $251=(($250 << 24) >> 24);
var $252=$251 & 95;
var $253=$37;
var $254=HEAP8[($253)];
var $255=(($254 << 24) >> 24);
var $256=$255 & 127;
var $257=(($252)|(0))==(($256)|(0));
if ($257) { label = 34; break; } else { label = 35; break; }
case 34:
var $259=$__x;
var $260=$39;
var $261=HEAP32[(($260)>>2)];
var $262=(($261+1)|0);
HEAP32[(($260)>>2)]=$262;
HEAP8[($261)]=$259;
$34=0;
label = 55; break;
case 35:
$34=-1;
label = 55; break;
case 36:
var $265=$__x;
var $266=(($265 << 24) >> 24);
var $267=(($266)|(0))==120;
if ($267) { label = 38; break; } else { label = 37; break; }
case 37:
var $269=$__x;
var $270=(($269 << 24) >> 24);
var $271=(($270)|(0))==88;
if ($271) { label = 38; break; } else { label = 39; break; }
case 38:
var $273=$37;
HEAP8[($273)]=80;
label = 50; break;
case 39:
var $275=$__x;
var $276=(($275 << 24) >> 24);
var $277=$276 & 95;
var $278=$37;
var $279=HEAP8[($278)];
var $280=(($279 << 24) >> 24);
var $281=(($277)|(0))==(($280)|(0));
if ($281) { label = 40; break; } else { label = 49; break; }
case 40:
var $283=$37;
var $284=HEAP8[($283)];
var $285=(($284 << 24) >> 24);
var $286=$285 | 128;
var $287=(($286) & 255);
HEAP8[($283)]=$287;
var $288=$36;
var $289=HEAP8[($288)];
var $290=(($289) & 1);
if ($290) { label = 41; break; } else { label = 48; break; }
case 41:
var $292=$36;
HEAP8[($292)]=0;
var $293=$42;
$23=$293;
var $294=$23;
$22=$294;
var $295=$22;
var $296=(($295)|0);
$21=$296;
var $297=$21;
var $298=$297;
$20=$298;
var $299=$20;
var $300=(($299)|0);
var $301=(($300)|0);
var $302=$301;
var $303=(($302)|0);
var $304=$303;
var $305=HEAP8[($304)];
var $306=(($305)&(255));
var $307=$306 & 1;
var $308=(($307)|(0))!=0;
if ($308) { label = 42; break; } else { label = 43; break; }
case 42:
$16=$294;
var $310=$16;
var $311=(($310)|0);
$15=$311;
var $312=$15;
var $313=$312;
$14=$313;
var $314=$14;
var $315=(($314)|0);
var $316=(($315)|0);
var $317=$316;
var $318=(($317+4)|0);
var $319=HEAP32[(($318)>>2)];
var $334 = $319;label = 44; break;
case 43:
$19=$294;
var $321=$19;
var $322=(($321)|0);
$18=$322;
var $323=$18;
var $324=$323;
$17=$324;
var $325=$17;
var $326=(($325)|0);
var $327=(($326)|0);
var $328=$327;
var $329=(($328)|0);
var $330=$329;
var $331=HEAP8[($330)];
var $332=(($331)&(255));
var $333=$332 >> 1;
var $334 = $333;label = 44; break;
case 44:
var $334;
var $335=(($334)|(0))!=0;
if ($335) { label = 45; break; } else { label = 47; break; }
case 45:
var $337=$44;
var $338=HEAP32[(($337)>>2)];
var $339=$43;
var $340=$338;
var $341=$339;
var $342=((($340)-($341))|0);
var $343=((((($342)|(0)))/(4))&-1);
var $344=(($343)|(0)) < 40;
if ($344) { label = 46; break; } else { label = 47; break; }
case 46:
var $346=$45;
var $347=HEAP32[(($346)>>2)];
var $348=$44;
var $349=HEAP32[(($348)>>2)];
var $350=(($349+4)|0);
HEAP32[(($348)>>2)]=$350;
HEAP32[(($349)>>2)]=$347;
label = 47; break;
case 47:
label = 48; break;
case 48:
label = 49; break;
case 49:
label = 50; break;
case 50:
var $355=$39;
var $356=HEAP32[(($355)>>2)];
var $357=$38;
var $358=$356;
var $359=$357;
var $360=((($358)-($359))|0);
var $361=$37;
var $362=HEAP8[($361)];
var $363=(($362 << 24) >> 24);
var $364=$363 & 128;
var $365=(($364)|(0))!=0;
var $366=$365 ? 1 : 11;
var $367=(((40)-($366))|0);
var $368=(($360)|(0)) < (($367)|(0));
if ($368) { label = 51; break; } else { label = 52; break; }
case 51:
var $370=$__x;
var $371=$39;
var $372=HEAP32[(($371)>>2)];
var $373=(($372+1)|0);
HEAP32[(($371)>>2)]=$373;
HEAP8[($372)]=$370;
label = 52; break;
case 52:
var $375=$__f;
var $376=(($375)|(0)) >= 22;
if ($376) { label = 53; break; } else { label = 54; break; }
case 53:
$34=0;
label = 55; break;
case 54:
var $379=$45;
var $380=HEAP32[(($379)>>2)];
var $381=((($380)+(1))|0);
HEAP32[(($379)>>2)]=$381;
$34=0;
label = 55; break;
case 55:
var $383=$34;
STACKTOP = __stackBase__;
return $383;
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__115__num_get_floatIfEET_PKcS3_Rj($__a, $__a_end, $__err) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 4)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $__p2=__stackBase__;
var $__ld;
$2=$__a;
$3=$__a_end;
$4=$__err;
var $5=$2;
var $6=$3;
var $7=(($5)|(0))!=(($6)|(0));
if ($7) { label = 2; break; } else { label = 5; break; }
case 2:
var $9=$2;
var $10=__ZNSt3__16__clocEv();
var $11=_strtold_l($9, $__p2, $10);
var $12=$11;
$__ld=$12;
var $13=HEAP32[(($__p2)>>2)];
var $14=$3;
var $15=(($13)|(0))!=(($14)|(0));
if ($15) { label = 3; break; } else { label = 4; break; }
case 3:
var $17=$4;
HEAP32[(($17)>>2)]=4;
$1=0;
label = 6; break;
case 4:
var $19=$__ld;
var $20=$19;
$1=$20;
label = 6; break;
case 5:
var $22=$4;
HEAP32[(($22)>>2)]=4;
$1=0;
label = 6; break;
case 6:
var $24=$1;
STACKTOP = __stackBase__;
return $24;
default: assert(0, "bad label: " + label);
}
}
function __ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRd($agg_result, $this, $__b, $__e, $__iob, $__err, $__v) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 272)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
var tempParam = $__b; $__b = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__b)>>2)]=HEAP32[((tempParam)>>2)];
var tempParam = $__e; $__e = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__e)>>2)]=HEAP32[((tempParam)>>2)];
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $49;
var $50;
var $51;
var $52;
var $53;
var $54;
var $__atoms=__stackBase__;
var $__decimal_point=(__stackBase__)+(32);
var $__thousands_sep=(__stackBase__)+(36);
var $__grouping=(__stackBase__)+(40);
var $__a=(__stackBase__)+(52);
var $__a_end=(__stackBase__)+(92);
var $__g=(__stackBase__)+(96);
var $__g_end=(__stackBase__)+(256);
var $__dc=(__stackBase__)+(260);
var $__in_units=(__stackBase__)+(264);
var $__exp=(__stackBase__)+(268);
var $55;
var $56;
var $57;
$51=$this;
$52=$__iob;
$53=$__err;
$54=$__v;
var $58=$51;
var $59=$52;
var $60=(($__atoms)|0);
__ZNSt3__19__num_getIcE19__stage2_float_prepERNS_8ios_baseEPcRcS5_($__grouping, $59, $60, $__decimal_point, $__thousands_sep);
var $61=$__a;
_memset($61, 0, 40);
var $62=(($__a)|0);
HEAP32[(($__a_end)>>2)]=$62;
var $63=(($__g)|0);
HEAP32[(($__g_end)>>2)]=$63;
HEAP32[(($__dc)>>2)]=0;
HEAP8[($__in_units)]=1;
HEAP8[($__exp)]=69;
label = 2; break;
case 2:
$49=$__b;
$50=$__e;
var $65=$49;
var $66=$50;
$47=$65;
$48=$66;
var $67=$47;
$46=$67;
var $68=$46;
var $69=(($68)|0);
var $70=HEAP32[(($69)>>2)];
var $71=(($70)|(0))!=0;
if ($71) { label = 3; break; } else { label = 9; break; }
case 3:
var $73=(($68)|0);
var $74=HEAP32[(($73)>>2)];
$45=$74;
var $75=$45;
var $76=(($75+12)|0);
var $77=HEAP32[(($76)>>2)];
var $78=(($75+16)|0);
var $79=HEAP32[(($78)>>2)];
var $80=(($77)|(0))==(($79)|(0));
if ($80) { label = 4; break; } else { label = 6; break; }
case 4:
var $82=$75;
var $83=HEAP32[(($82)>>2)];
var $84=(($83+36)|0);
var $85=HEAP32[(($84)>>2)];
var $86 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$85]($75) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 5; break; } else { label = 26; break; }
case 5:
$44=$86;
label = 7; break;
case 6:
var $88=(($75+12)|0);
var $89=HEAP32[(($88)>>2)];
var $90=HEAP8[($89)];
$43=$90;
var $91=$43;
var $92=(($91)&(255));
$44=$92;
label = 7; break;
case 7:
var $93=$44;
$41=$93;
$42=-1;
var $94=$41;
var $95=$42;
var $96=(($94)|(0))==(($95)|(0));
if ($96) { label = 8; break; } else { label = 9; break; }
case 8:
var $98=(($68)|0);
HEAP32[(($98)>>2)]=0;
label = 9; break;
case 9:
var $99=(($68)|0);
var $100=HEAP32[(($99)>>2)];
var $101=(($100)|(0))==0;
var $102=(($101)&(1));
var $103=$48;
$40=$103;
var $104=$40;
var $105=(($104)|0);
var $106=HEAP32[(($105)>>2)];
var $107=(($106)|(0))!=0;
if ($107) { label = 10; break; } else { label = 16; break; }
case 10:
var $109=(($104)|0);
var $110=HEAP32[(($109)>>2)];
$39=$110;
var $111=$39;
var $112=(($111+12)|0);
var $113=HEAP32[(($112)>>2)];
var $114=(($111+16)|0);
var $115=HEAP32[(($114)>>2)];
var $116=(($113)|(0))==(($115)|(0));
if ($116) { label = 11; break; } else { label = 13; break; }
case 11:
var $118=$111;
var $119=HEAP32[(($118)>>2)];
var $120=(($119+36)|0);
var $121=HEAP32[(($120)>>2)];
var $122 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$121]($111) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 12; break; } else { label = 26; break; }
case 12:
$38=$122;
label = 14; break;
case 13:
var $124=(($111+12)|0);
var $125=HEAP32[(($124)>>2)];
var $126=HEAP8[($125)];
$37=$126;
var $127=$37;
var $128=(($127)&(255));
$38=$128;
label = 14; break;
case 14:
var $129=$38;
$35=$129;
$36=-1;
var $130=$35;
var $131=$36;
var $132=(($130)|(0))==(($131)|(0));
if ($132) { label = 15; break; } else { label = 16; break; }
case 15:
var $134=(($104)|0);
HEAP32[(($134)>>2)]=0;
label = 16; break;
case 16:
var $135=(($104)|0);
var $136=HEAP32[(($135)>>2)];
var $137=(($136)|(0))==0;
var $138=(($137)&(1));
var $139=(($102)|(0))==(($138)|(0));
var $140=$139 ^ 1;
label = 17; break;
case 17:
if ($140) { label = 18; break; } else { label = 34; break; }
case 18:
$34=$__b;
var $143=$34;
var $144=(($143)|0);
var $145=HEAP32[(($144)>>2)];
$33=$145;
var $146=$33;
var $147=(($146+12)|0);
var $148=HEAP32[(($147)>>2)];
var $149=(($146+16)|0);
var $150=HEAP32[(($149)>>2)];
var $151=(($148)|(0))==(($150)|(0));
if ($151) { label = 19; break; } else { label = 21; break; }
case 19:
var $153=$146;
var $154=HEAP32[(($153)>>2)];
var $155=(($154+36)|0);
var $156=HEAP32[(($155)>>2)];
var $157 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$156]($146) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 20; break; } else { label = 26; break; }
case 20:
$32=$157;
label = 22; break;
case 21:
var $159=(($146+12)|0);
var $160=HEAP32[(($159)>>2)];
var $161=HEAP8[($160)];
$31=$161;
var $162=$31;
var $163=(($162)&(255));
$32=$163;
label = 22; break;
case 22:
var $164=$32;
var $165=(($164) & 255);
label = 23; break;
case 23:
var $167=(($__a)|0);
var $168=HEAP8[($__decimal_point)];
var $169=HEAP8[($__thousands_sep)];
var $170=(($__g)|0);
var $171=(($__atoms)|0);
var $172 = (function() { try { __THREW__ = 0; return __ZNSt3__19__num_getIcE19__stage2_float_loopEcRbRcPcRS4_ccRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSE_RjS4_($165, $__in_units, $__exp, $167, $__a_end, $168, $169, $__grouping, $170, $__g_end, $__dc, $171) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 24; break; } else { label = 26; break; }
case 24:
var $174=(($172)|(0))!=0;
if ($174) { label = 25; break; } else { label = 27; break; }
case 25:
label = 34; break;
case 26:
var $177$0 = ___cxa_find_matching_catch(-1, -1); $177$1 = tempRet0;
var $178=$177$0;
$55=$178;
var $179=$177$1;
$56=$179;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__grouping);
label = 61; break;
case 27:
label = 28; break;
case 28:
$30=$__b;
var $182=$30;
var $183=(($182)|0);
var $184=HEAP32[(($183)>>2)];
$29=$184;
var $185=$29;
var $186=(($185+12)|0);
var $187=HEAP32[(($186)>>2)];
var $188=(($185+16)|0);
var $189=HEAP32[(($188)>>2)];
var $190=(($187)|(0))==(($189)|(0));
if ($190) { label = 29; break; } else { label = 31; break; }
case 29:
var $192=$185;
var $193=HEAP32[(($192)>>2)];
var $194=(($193+40)|0);
var $195=HEAP32[(($194)>>2)];
var $196 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$195]($185) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 30; break; } else { label = 26; break; }
case 30:
$28=$196;
label = 32; break;
case 31:
var $198=(($185+12)|0);
var $199=HEAP32[(($198)>>2)];
var $200=(($199+1)|0);
HEAP32[(($198)>>2)]=$200;
var $201=HEAP8[($199)];
$27=$201;
var $202=$27;
var $203=(($202)&(255));
$28=$203;
label = 32; break;
case 32:
var $204=$28;
label = 33; break;
case 33:
label = 2; break;
case 34:
$26=$__grouping;
var $207=$26;
$25=$207;
var $208=$25;
var $209=(($208)|0);
$24=$209;
var $210=$24;
var $211=$210;
$23=$211;
var $212=$23;
var $213=(($212)|0);
var $214=(($213)|0);
var $215=$214;
var $216=(($215)|0);
var $217=$216;
var $218=HEAP8[($217)];
var $219=(($218)&(255));
var $220=$219 & 1;
var $221=(($220)|(0))!=0;
if ($221) { label = 35; break; } else { label = 36; break; }
case 35:
$19=$207;
var $223=$19;
var $224=(($223)|0);
$18=$224;
var $225=$18;
var $226=$225;
$17=$226;
var $227=$17;
var $228=(($227)|0);
var $229=(($228)|0);
var $230=$229;
var $231=(($230+4)|0);
var $232=HEAP32[(($231)>>2)];
var $247 = $232;label = 37; break;
case 36:
$22=$207;
var $234=$22;
var $235=(($234)|0);
$21=$235;
var $236=$21;
var $237=$236;
$20=$237;
var $238=$20;
var $239=(($238)|0);
var $240=(($239)|0);
var $241=$240;
var $242=(($241)|0);
var $243=$242;
var $244=HEAP8[($243)];
var $245=(($244)&(255));
var $246=$245 >> 1;
var $247 = $246;label = 37; break;
case 37:
var $247;
var $248=(($247)|(0))!=0;
if ($248) { label = 38; break; } else { label = 41; break; }
case 38:
var $250=HEAP8[($__in_units)];
var $251=(($250) & 1);
if ($251) { label = 39; break; } else { label = 41; break; }
case 39:
var $253=HEAP32[(($__g_end)>>2)];
var $254=(($__g)|0);
var $255=$253;
var $256=$254;
var $257=((($255)-($256))|0);
var $258=((((($257)|(0)))/(4))&-1);
var $259=(($258)|(0)) < 40;
if ($259) { label = 40; break; } else { label = 41; break; }
case 40:
var $261=HEAP32[(($__dc)>>2)];
var $262=HEAP32[(($__g_end)>>2)];
var $263=(($262+4)|0);
HEAP32[(($__g_end)>>2)]=$263;
HEAP32[(($262)>>2)]=$261;
label = 41; break;
case 41:
var $265=(($__a)|0);
var $266=HEAP32[(($__a_end)>>2)];
var $267=$53;
var $268 = (function() { try { __THREW__ = 0; return __ZNSt3__115__num_get_floatIdEET_PKcS3_Rj($265, $266, $267) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 42; break; } else { label = 26; break; }
case 42:
var $270=$54;
(HEAPF64[(tempDoublePtr)>>3]=$268,HEAP32[(($270)>>2)]=HEAP32[((tempDoublePtr)>>2)],HEAP32[((($270)+(4))>>2)]=HEAP32[(((tempDoublePtr)+(4))>>2)]);
var $271=(($__g)|0);
var $272=HEAP32[(($__g_end)>>2)];
var $273=$53;
(function() { try { __THREW__ = 0; return __ZNSt3__116__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($__grouping, $271, $272, $273) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 43; break; } else { label = 26; break; }
case 43:
$15=$__b;
$16=$__e;
var $275=$15;
var $276=$16;
$13=$275;
$14=$276;
var $277=$13;
$12=$277;
var $278=$12;
var $279=(($278)|0);
var $280=HEAP32[(($279)>>2)];
var $281=(($280)|(0))!=0;
if ($281) { label = 44; break; } else { label = 50; break; }
case 44:
var $283=(($278)|0);
var $284=HEAP32[(($283)>>2)];
$11=$284;
var $285=$11;
var $286=(($285+12)|0);
var $287=HEAP32[(($286)>>2)];
var $288=(($285+16)|0);
var $289=HEAP32[(($288)>>2)];
var $290=(($287)|(0))==(($289)|(0));
if ($290) { label = 45; break; } else { label = 47; break; }
case 45:
var $292=$285;
var $293=HEAP32[(($292)>>2)];
var $294=(($293+36)|0);
var $295=HEAP32[(($294)>>2)];
var $296 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$295]($285) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 46; break; } else { label = 26; break; }
case 46:
$10=$296;
label = 48; break;
case 47:
var $298=(($285+12)|0);
var $299=HEAP32[(($298)>>2)];
var $300=HEAP8[($299)];
$9=$300;
var $301=$9;
var $302=(($301)&(255));
$10=$302;
label = 48; break;
case 48:
var $303=$10;
$7=$303;
$8=-1;
var $304=$7;
var $305=$8;
var $306=(($304)|(0))==(($305)|(0));
if ($306) { label = 49; break; } else { label = 50; break; }
case 49:
var $308=(($278)|0);
HEAP32[(($308)>>2)]=0;
label = 50; break;
case 50:
var $309=(($278)|0);
var $310=HEAP32[(($309)>>2)];
var $311=(($310)|(0))==0;
var $312=(($311)&(1));
var $313=$14;
$6=$313;
var $314=$6;
var $315=(($314)|0);
var $316=HEAP32[(($315)>>2)];
var $317=(($316)|(0))!=0;
if ($317) { label = 51; break; } else { label = 57; break; }
case 51:
var $319=(($314)|0);
var $320=HEAP32[(($319)>>2)];
$5=$320;
var $321=$5;
var $322=(($321+12)|0);
var $323=HEAP32[(($322)>>2)];
var $324=(($321+16)|0);
var $325=HEAP32[(($324)>>2)];
var $326=(($323)|(0))==(($325)|(0));
if ($326) { label = 52; break; } else { label = 54; break; }
case 52:
var $328=$321;
var $329=HEAP32[(($328)>>2)];
var $330=(($329+36)|0);
var $331=HEAP32[(($330)>>2)];
var $332 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$331]($321) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 53; break; } else { label = 26; break; }
case 53:
$4=$332;
label = 55; break;
case 54:
var $334=(($321+12)|0);
var $335=HEAP32[(($334)>>2)];
var $336=HEAP8[($335)];
$3=$336;
var $337=$3;
var $338=(($337)&(255));
$4=$338;
label = 55; break;
case 55:
var $339=$4;
$1=$339;
$2=-1;
var $340=$1;
var $341=$2;
var $342=(($340)|(0))==(($341)|(0));
if ($342) { label = 56; break; } else { label = 57; break; }
case 56:
var $344=(($314)|0);
HEAP32[(($344)>>2)]=0;
label = 57; break;
case 57:
var $345=(($314)|0);
var $346=HEAP32[(($345)>>2)];
var $347=(($346)|(0))==0;
var $348=(($347)&(1));
var $349=(($312)|(0))==(($348)|(0));
label = 58; break;
case 58:
if ($349) { label = 59; break; } else { label = 60; break; }
case 59:
var $352=$53;
var $353=HEAP32[(($352)>>2)];
var $354=$353 | 2;
HEAP32[(($352)>>2)]=$354;
label = 60; break;
case 60:
var $356=$agg_result;
var $357=$__b;
assert(4 % 1 === 0);HEAP32[(($356)>>2)]=HEAP32[(($357)>>2)];
$57=1;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__grouping);
STACKTOP = __stackBase__;
return;
case 61:
var $359=$55;
var $360=$56;
var $361$0=$359;
var $361$1=0;
var $362$0=$361$0;
var $362$1=$360;
___resumeException($362$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__115__num_get_floatIdEET_PKcS3_Rj($__a, $__a_end, $__err) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 4)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $__p2=__stackBase__;
var $__ld;
$2=$__a;
$3=$__a_end;
$4=$__err;
var $5=$2;
var $6=$3;
var $7=(($5)|(0))!=(($6)|(0));
if ($7) { label = 2; break; } else { label = 5; break; }
case 2:
var $9=$2;
var $10=__ZNSt3__16__clocEv();
var $11=_strtold_l($9, $__p2, $10);
var $12=$11;
$__ld=$12;
var $13=HEAP32[(($__p2)>>2)];
var $14=$3;
var $15=(($13)|(0))!=(($14)|(0));
if ($15) { label = 3; break; } else { label = 4; break; }
case 3:
var $17=$4;
HEAP32[(($17)>>2)]=4;
$1=0;
label = 6; break;
case 4:
var $19=$__ld;
var $20=$19;
$1=$20;
label = 6; break;
case 5:
var $22=$4;
HEAP32[(($22)>>2)]=4;
$1=0;
label = 6; break;
case 6:
var $24=$1;
STACKTOP = __stackBase__;
return $24;
default: assert(0, "bad label: " + label);
}
}
function __ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRe($agg_result, $this, $__b, $__e, $__iob, $__err, $__v) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 272)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
var tempParam = $__b; $__b = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__b)>>2)]=HEAP32[((tempParam)>>2)];
var tempParam = $__e; $__e = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__e)>>2)]=HEAP32[((tempParam)>>2)];
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $49;
var $50;
var $51;
var $52;
var $53;
var $54;
var $__atoms=__stackBase__;
var $__decimal_point=(__stackBase__)+(32);
var $__thousands_sep=(__stackBase__)+(36);
var $__grouping=(__stackBase__)+(40);
var $__a=(__stackBase__)+(52);
var $__a_end=(__stackBase__)+(92);
var $__g=(__stackBase__)+(96);
var $__g_end=(__stackBase__)+(256);
var $__dc=(__stackBase__)+(260);
var $__in_units=(__stackBase__)+(264);
var $__exp=(__stackBase__)+(268);
var $55;
var $56;
var $57;
$51=$this;
$52=$__iob;
$53=$__err;
$54=$__v;
var $58=$51;
var $59=$52;
var $60=(($__atoms)|0);
__ZNSt3__19__num_getIcE19__stage2_float_prepERNS_8ios_baseEPcRcS5_($__grouping, $59, $60, $__decimal_point, $__thousands_sep);
var $61=$__a;
_memset($61, 0, 40);
var $62=(($__a)|0);
HEAP32[(($__a_end)>>2)]=$62;
var $63=(($__g)|0);
HEAP32[(($__g_end)>>2)]=$63;
HEAP32[(($__dc)>>2)]=0;
HEAP8[($__in_units)]=1;
HEAP8[($__exp)]=69;
label = 2; break;
case 2:
$49=$__b;
$50=$__e;
var $65=$49;
var $66=$50;
$47=$65;
$48=$66;
var $67=$47;
$46=$67;
var $68=$46;
var $69=(($68)|0);
var $70=HEAP32[(($69)>>2)];
var $71=(($70)|(0))!=0;
if ($71) { label = 3; break; } else { label = 9; break; }
case 3:
var $73=(($68)|0);
var $74=HEAP32[(($73)>>2)];
$45=$74;
var $75=$45;
var $76=(($75+12)|0);
var $77=HEAP32[(($76)>>2)];
var $78=(($75+16)|0);
var $79=HEAP32[(($78)>>2)];
var $80=(($77)|(0))==(($79)|(0));
if ($80) { label = 4; break; } else { label = 6; break; }
case 4:
var $82=$75;
var $83=HEAP32[(($82)>>2)];
var $84=(($83+36)|0);
var $85=HEAP32[(($84)>>2)];
var $86 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$85]($75) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 5; break; } else { label = 26; break; }
case 5:
$44=$86;
label = 7; break;
case 6:
var $88=(($75+12)|0);
var $89=HEAP32[(($88)>>2)];
var $90=HEAP8[($89)];
$43=$90;
var $91=$43;
var $92=(($91)&(255));
$44=$92;
label = 7; break;
case 7:
var $93=$44;
$41=$93;
$42=-1;
var $94=$41;
var $95=$42;
var $96=(($94)|(0))==(($95)|(0));
if ($96) { label = 8; break; } else { label = 9; break; }
case 8:
var $98=(($68)|0);
HEAP32[(($98)>>2)]=0;
label = 9; break;
case 9:
var $99=(($68)|0);
var $100=HEAP32[(($99)>>2)];
var $101=(($100)|(0))==0;
var $102=(($101)&(1));
var $103=$48;
$40=$103;
var $104=$40;
var $105=(($104)|0);
var $106=HEAP32[(($105)>>2)];
var $107=(($106)|(0))!=0;
if ($107) { label = 10; break; } else { label = 16; break; }
case 10:
var $109=(($104)|0);
var $110=HEAP32[(($109)>>2)];
$39=$110;
var $111=$39;
var $112=(($111+12)|0);
var $113=HEAP32[(($112)>>2)];
var $114=(($111+16)|0);
var $115=HEAP32[(($114)>>2)];
var $116=(($113)|(0))==(($115)|(0));
if ($116) { label = 11; break; } else { label = 13; break; }
case 11:
var $118=$111;
var $119=HEAP32[(($118)>>2)];
var $120=(($119+36)|0);
var $121=HEAP32[(($120)>>2)];
var $122 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$121]($111) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 12; break; } else { label = 26; break; }
case 12:
$38=$122;
label = 14; break;
case 13:
var $124=(($111+12)|0);
var $125=HEAP32[(($124)>>2)];
var $126=HEAP8[($125)];
$37=$126;
var $127=$37;
var $128=(($127)&(255));
$38=$128;
label = 14; break;
case 14:
var $129=$38;
$35=$129;
$36=-1;
var $130=$35;
var $131=$36;
var $132=(($130)|(0))==(($131)|(0));
if ($132) { label = 15; break; } else { label = 16; break; }
case 15:
var $134=(($104)|0);
HEAP32[(($134)>>2)]=0;
label = 16; break;
case 16:
var $135=(($104)|0);
var $136=HEAP32[(($135)>>2)];
var $137=(($136)|(0))==0;
var $138=(($137)&(1));
var $139=(($102)|(0))==(($138)|(0));
var $140=$139 ^ 1;
label = 17; break;
case 17:
if ($140) { label = 18; break; } else { label = 34; break; }
case 18:
$34=$__b;
var $143=$34;
var $144=(($143)|0);
var $145=HEAP32[(($144)>>2)];
$33=$145;
var $146=$33;
var $147=(($146+12)|0);
var $148=HEAP32[(($147)>>2)];
var $149=(($146+16)|0);
var $150=HEAP32[(($149)>>2)];
var $151=(($148)|(0))==(($150)|(0));
if ($151) { label = 19; break; } else { label = 21; break; }
case 19:
var $153=$146;
var $154=HEAP32[(($153)>>2)];
var $155=(($154+36)|0);
var $156=HEAP32[(($155)>>2)];
var $157 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$156]($146) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 20; break; } else { label = 26; break; }
case 20:
$32=$157;
label = 22; break;
case 21:
var $159=(($146+12)|0);
var $160=HEAP32[(($159)>>2)];
var $161=HEAP8[($160)];
$31=$161;
var $162=$31;
var $163=(($162)&(255));
$32=$163;
label = 22; break;
case 22:
var $164=$32;
var $165=(($164) & 255);
label = 23; break;
case 23:
var $167=(($__a)|0);
var $168=HEAP8[($__decimal_point)];
var $169=HEAP8[($__thousands_sep)];
var $170=(($__g)|0);
var $171=(($__atoms)|0);
var $172 = (function() { try { __THREW__ = 0; return __ZNSt3__19__num_getIcE19__stage2_float_loopEcRbRcPcRS4_ccRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSE_RjS4_($165, $__in_units, $__exp, $167, $__a_end, $168, $169, $__grouping, $170, $__g_end, $__dc, $171) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 24; break; } else { label = 26; break; }
case 24:
var $174=(($172)|(0))!=0;
if ($174) { label = 25; break; } else { label = 27; break; }
case 25:
label = 34; break;
case 26:
var $177$0 = ___cxa_find_matching_catch(-1, -1); $177$1 = tempRet0;
var $178=$177$0;
$55=$178;
var $179=$177$1;
$56=$179;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__grouping);
label = 61; break;
case 27:
label = 28; break;
case 28:
$30=$__b;
var $182=$30;
var $183=(($182)|0);
var $184=HEAP32[(($183)>>2)];
$29=$184;
var $185=$29;
var $186=(($185+12)|0);
var $187=HEAP32[(($186)>>2)];
var $188=(($185+16)|0);
var $189=HEAP32[(($188)>>2)];
var $190=(($187)|(0))==(($189)|(0));
if ($190) { label = 29; break; } else { label = 31; break; }
case 29:
var $192=$185;
var $193=HEAP32[(($192)>>2)];
var $194=(($193+40)|0);
var $195=HEAP32[(($194)>>2)];
var $196 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$195]($185) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 30; break; } else { label = 26; break; }
case 30:
$28=$196;
label = 32; break;
case 31:
var $198=(($185+12)|0);
var $199=HEAP32[(($198)>>2)];
var $200=(($199+1)|0);
HEAP32[(($198)>>2)]=$200;
var $201=HEAP8[($199)];
$27=$201;
var $202=$27;
var $203=(($202)&(255));
$28=$203;
label = 32; break;
case 32:
var $204=$28;
label = 33; break;
case 33:
label = 2; break;
case 34:
$26=$__grouping;
var $207=$26;
$25=$207;
var $208=$25;
var $209=(($208)|0);
$24=$209;
var $210=$24;
var $211=$210;
$23=$211;
var $212=$23;
var $213=(($212)|0);
var $214=(($213)|0);
var $215=$214;
var $216=(($215)|0);
var $217=$216;
var $218=HEAP8[($217)];
var $219=(($218)&(255));
var $220=$219 & 1;
var $221=(($220)|(0))!=0;
if ($221) { label = 35; break; } else { label = 36; break; }
case 35:
$19=$207;
var $223=$19;
var $224=(($223)|0);
$18=$224;
var $225=$18;
var $226=$225;
$17=$226;
var $227=$17;
var $228=(($227)|0);
var $229=(($228)|0);
var $230=$229;
var $231=(($230+4)|0);
var $232=HEAP32[(($231)>>2)];
var $247 = $232;label = 37; break;
case 36:
$22=$207;
var $234=$22;
var $235=(($234)|0);
$21=$235;
var $236=$21;
var $237=$236;
$20=$237;
var $238=$20;
var $239=(($238)|0);
var $240=(($239)|0);
var $241=$240;
var $242=(($241)|0);
var $243=$242;
var $244=HEAP8[($243)];
var $245=(($244)&(255));
var $246=$245 >> 1;
var $247 = $246;label = 37; break;
case 37:
var $247;
var $248=(($247)|(0))!=0;
if ($248) { label = 38; break; } else { label = 41; break; }
case 38:
var $250=HEAP8[($__in_units)];
var $251=(($250) & 1);
if ($251) { label = 39; break; } else { label = 41; break; }
case 39:
var $253=HEAP32[(($__g_end)>>2)];
var $254=(($__g)|0);
var $255=$253;
var $256=$254;
var $257=((($255)-($256))|0);
var $258=((((($257)|(0)))/(4))&-1);
var $259=(($258)|(0)) < 40;
if ($259) { label = 40; break; } else { label = 41; break; }
case 40:
var $261=HEAP32[(($__dc)>>2)];
var $262=HEAP32[(($__g_end)>>2)];
var $263=(($262+4)|0);
HEAP32[(($__g_end)>>2)]=$263;
HEAP32[(($262)>>2)]=$261;
label = 41; break;
case 41:
var $265=(($__a)|0);
var $266=HEAP32[(($__a_end)>>2)];
var $267=$53;
var $268 = (function() { try { __THREW__ = 0; return __ZNSt3__115__num_get_floatIeEET_PKcS3_Rj($265, $266, $267) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 42; break; } else { label = 26; break; }
case 42:
var $270=$54;
(HEAPF64[(tempDoublePtr)>>3]=$268,HEAP32[(($270)>>2)]=HEAP32[((tempDoublePtr)>>2)],HEAP32[((($270)+(4))>>2)]=HEAP32[(((tempDoublePtr)+(4))>>2)]);
var $271=(($__g)|0);
var $272=HEAP32[(($__g_end)>>2)];
var $273=$53;
(function() { try { __THREW__ = 0; return __ZNSt3__116__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($__grouping, $271, $272, $273) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 43; break; } else { label = 26; break; }
case 43:
$15=$__b;
$16=$__e;
var $275=$15;
var $276=$16;
$13=$275;
$14=$276;
var $277=$13;
$12=$277;
var $278=$12;
var $279=(($278)|0);
var $280=HEAP32[(($279)>>2)];
var $281=(($280)|(0))!=0;
if ($281) { label = 44; break; } else { label = 50; break; }
case 44:
var $283=(($278)|0);
var $284=HEAP32[(($283)>>2)];
$11=$284;
var $285=$11;
var $286=(($285+12)|0);
var $287=HEAP32[(($286)>>2)];
var $288=(($285+16)|0);
var $289=HEAP32[(($288)>>2)];
var $290=(($287)|(0))==(($289)|(0));
if ($290) { label = 45; break; } else { label = 47; break; }
case 45:
var $292=$285;
var $293=HEAP32[(($292)>>2)];
var $294=(($293+36)|0);
var $295=HEAP32[(($294)>>2)];
var $296 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$295]($285) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 46; break; } else { label = 26; break; }
case 46:
$10=$296;
label = 48; break;
case 47:
var $298=(($285+12)|0);
var $299=HEAP32[(($298)>>2)];
var $300=HEAP8[($299)];
$9=$300;
var $301=$9;
var $302=(($301)&(255));
$10=$302;
label = 48; break;
case 48:
var $303=$10;
$7=$303;
$8=-1;
var $304=$7;
var $305=$8;
var $306=(($304)|(0))==(($305)|(0));
if ($306) { label = 49; break; } else { label = 50; break; }
case 49:
var $308=(($278)|0);
HEAP32[(($308)>>2)]=0;
label = 50; break;
case 50:
var $309=(($278)|0);
var $310=HEAP32[(($309)>>2)];
var $311=(($310)|(0))==0;
var $312=(($311)&(1));
var $313=$14;
$6=$313;
var $314=$6;
var $315=(($314)|0);
var $316=HEAP32[(($315)>>2)];
var $317=(($316)|(0))!=0;
if ($317) { label = 51; break; } else { label = 57; break; }
case 51:
var $319=(($314)|0);
var $320=HEAP32[(($319)>>2)];
$5=$320;
var $321=$5;
var $322=(($321+12)|0);
var $323=HEAP32[(($322)>>2)];
var $324=(($321+16)|0);
var $325=HEAP32[(($324)>>2)];
var $326=(($323)|(0))==(($325)|(0));
if ($326) { label = 52; break; } else { label = 54; break; }
case 52:
var $328=$321;
var $329=HEAP32[(($328)>>2)];
var $330=(($329+36)|0);
var $331=HEAP32[(($330)>>2)];
var $332 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$331]($321) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 53; break; } else { label = 26; break; }
case 53:
$4=$332;
label = 55; break;
case 54:
var $334=(($321+12)|0);
var $335=HEAP32[(($334)>>2)];
var $336=HEAP8[($335)];
$3=$336;
var $337=$3;
var $338=(($337)&(255));
$4=$338;
label = 55; break;
case 55:
var $339=$4;
$1=$339;
$2=-1;
var $340=$1;
var $341=$2;
var $342=(($340)|(0))==(($341)|(0));
if ($342) { label = 56; break; } else { label = 57; break; }
case 56:
var $344=(($314)|0);
HEAP32[(($344)>>2)]=0;
label = 57; break;
case 57:
var $345=(($314)|0);
var $346=HEAP32[(($345)>>2)];
var $347=(($346)|(0))==0;
var $348=(($347)&(1));
var $349=(($312)|(0))==(($348)|(0));
label = 58; break;
case 58:
if ($349) { label = 59; break; } else { label = 60; break; }
case 59:
var $352=$53;
var $353=HEAP32[(($352)>>2)];
var $354=$353 | 2;
HEAP32[(($352)>>2)]=$354;
label = 60; break;
case 60:
var $356=$agg_result;
var $357=$__b;
assert(4 % 1 === 0);HEAP32[(($356)>>2)]=HEAP32[(($357)>>2)];
$57=1;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__grouping);
STACKTOP = __stackBase__;
return;
case 61:
var $359=$55;
var $360=$56;
var $361$0=$359;
var $361$1=0;
var $362$0=$361$0;
var $362$1=$360;
___resumeException($362$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__115__num_get_floatIeEET_PKcS3_Rj($__a, $__a_end, $__err) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 4)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $__p2=__stackBase__;
var $__ld;
$2=$__a;
$3=$__a_end;
$4=$__err;
var $5=$2;
var $6=$3;
var $7=(($5)|(0))!=(($6)|(0));
if ($7) { label = 2; break; } else { label = 5; break; }
case 2:
var $9=$2;
var $10=__ZNSt3__16__clocEv();
var $11=_strtold_l($9, $__p2, $10);
var $12=$11;
$__ld=$12;
var $13=HEAP32[(($__p2)>>2)];
var $14=$3;
var $15=(($13)|(0))!=(($14)|(0));
if ($15) { label = 3; break; } else { label = 4; break; }
case 3:
var $17=$4;
HEAP32[(($17)>>2)]=4;
$1=1.1125369292536007e-308;
label = 6; break;
case 4:
var $19=$__ld;
$1=$19;
label = 6; break;
case 5:
var $21=$4;
HEAP32[(($21)>>2)]=4;
$1=1.1125369292536007e-308;
label = 6; break;
case 6:
var $23=$1;
STACKTOP = __stackBase__;
return $23;
default: assert(0, "bad label: " + label);
}
}
function __ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRPv($agg_result, $this, $__b, $__e, $__iob, $__err, $__v) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 256)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
var tempParam = $__b; $__b = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__b)>>2)]=HEAP32[((tempParam)>>2)];
var tempParam = $__e; $__e = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__e)>>2)]=HEAP32[((tempParam)>>2)];
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $__a_i_i_i;
var $__i_i_i_i;
var $49;
var $50;
var $51;
var $52;
var $53;
var $54;
var $55;
var $56;
var $57;
var $58;
var $__base;
var $__atoms=__stackBase__;
var $__thousands_sep;
var $__grouping=(__stackBase__)+(28);
var $59=(__stackBase__)+(40);
var $60;
var $61;
var $__a=(__stackBase__)+(44);
var $__a_end=(__stackBase__)+(84);
var $__g=(__stackBase__)+(88);
var $__g_end=(__stackBase__)+(248);
var $__dc=(__stackBase__)+(252);
var $62;
$55=$this;
$56=$__iob;
$57=$__err;
$58=$__v;
var $63=$55;
$__base=16;
$__thousands_sep=0;
$54=$__grouping;
var $64=$54;
$53=$64;
var $65=$53;
var $66=$65;
var $67=(($65)|0);
$52=$67;
var $68=$52;
$51=$68;
var $69=$51;
var $70=$69;
$50=$70;
var $71=$50;
var $72=$71;
$49=$72;
var $73=$49;
var $74=(($71)|0);
$48=$65;
var $75=$48;
var $76=(($75)|0);
$47=$76;
var $77=$47;
var $78=$77;
$46=$78;
var $79=$46;
var $80=(($79)|0);
var $81=(($80)|0);
var $82=$81;
var $83=(($82)|0);
$__a_i_i_i=$83;
$__i_i_i_i=0;
label = 2; break;
case 2:
var $85=$__i_i_i_i;
var $86=(($85)>>>(0)) < 3;
if ($86) { label = 3; break; } else { label = 4; break; }
case 3:
var $88=$__i_i_i_i;
var $89=$__a_i_i_i;
var $90=(($89+($88<<2))|0);
HEAP32[(($90)>>2)]=0;
var $91=$__i_i_i_i;
var $92=((($91)+(1))|0);
$__i_i_i_i=$92;
label = 2; break;
case 4:
var $93=$56;
(function() { try { __THREW__ = 0; return __ZNKSt3__18ios_base6getlocEv($59, $93) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 5; break; } else { label = 34; break; }
case 5:
$29=$59;
var $95=$29;
var $96 = (function() { try { __THREW__ = 0; return __ZNKSt3__16locale9use_facetERNS0_2idE($95, 5255420) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 6; break; } else { label = 35; break; }
case 6:
var $97=$96;
label = 7; break;
case 7:
var $99=(($__atoms)|0);
$25=$97;
$26=((5255860)|0);
$27=((5255886)|0);
$28=$99;
var $100=$25;
var $101=$100;
var $102=HEAP32[(($101)>>2)];
var $103=(($102+32)|0);
var $104=HEAP32[(($103)>>2)];
var $105=$26;
var $106=$27;
var $107=$28;
var $108 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$104]($100, $105, $106, $107) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 8; break; } else { label = 35; break; }
case 8:
label = 9; break;
case 9:
__ZNSt3__16localeD2Ev($59);
var $110=$__a;
_memset($110, 0, 40);
var $111=(($__a)|0);
HEAP32[(($__a_end)>>2)]=$111;
var $112=(($__g)|0);
HEAP32[(($__g_end)>>2)]=$112;
HEAP32[(($__dc)>>2)]=0;
label = 10; break;
case 10:
$23=$__b;
$24=$__e;
var $114=$23;
var $115=$24;
$21=$114;
$22=$115;
var $116=$21;
$20=$116;
var $117=$20;
var $118=(($117)|0);
var $119=HEAP32[(($118)>>2)];
var $120=(($119)|(0))!=0;
if ($120) { label = 11; break; } else { label = 17; break; }
case 11:
var $122=(($117)|0);
var $123=HEAP32[(($122)>>2)];
$19=$123;
var $124=$19;
var $125=(($124+12)|0);
var $126=HEAP32[(($125)>>2)];
var $127=(($124+16)|0);
var $128=HEAP32[(($127)>>2)];
var $129=(($126)|(0))==(($128)|(0));
if ($129) { label = 12; break; } else { label = 14; break; }
case 12:
var $131=$124;
var $132=HEAP32[(($131)>>2)];
var $133=(($132+36)|0);
var $134=HEAP32[(($133)>>2)];
var $135 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$134]($124) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 13; break; } else { label = 34; break; }
case 13:
$18=$135;
label = 15; break;
case 14:
var $137=(($124+12)|0);
var $138=HEAP32[(($137)>>2)];
var $139=HEAP8[($138)];
$17=$139;
var $140=$17;
var $141=(($140)&(255));
$18=$141;
label = 15; break;
case 15:
var $142=$18;
$15=$142;
$16=-1;
var $143=$15;
var $144=$16;
var $145=(($143)|(0))==(($144)|(0));
if ($145) { label = 16; break; } else { label = 17; break; }
case 16:
var $147=(($117)|0);
HEAP32[(($147)>>2)]=0;
label = 17; break;
case 17:
var $148=(($117)|0);
var $149=HEAP32[(($148)>>2)];
var $150=(($149)|(0))==0;
var $151=(($150)&(1));
var $152=$22;
$14=$152;
var $153=$14;
var $154=(($153)|0);
var $155=HEAP32[(($154)>>2)];
var $156=(($155)|(0))!=0;
if ($156) { label = 18; break; } else { label = 24; break; }
case 18:
var $158=(($153)|0);
var $159=HEAP32[(($158)>>2)];
$13=$159;
var $160=$13;
var $161=(($160+12)|0);
var $162=HEAP32[(($161)>>2)];
var $163=(($160+16)|0);
var $164=HEAP32[(($163)>>2)];
var $165=(($162)|(0))==(($164)|(0));
if ($165) { label = 19; break; } else { label = 21; break; }
case 19:
var $167=$160;
var $168=HEAP32[(($167)>>2)];
var $169=(($168+36)|0);
var $170=HEAP32[(($169)>>2)];
var $171 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$170]($160) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 20; break; } else { label = 34; break; }
case 20:
$12=$171;
label = 22; break;
case 21:
var $173=(($160+12)|0);
var $174=HEAP32[(($173)>>2)];
var $175=HEAP8[($174)];
$11=$175;
var $176=$11;
var $177=(($176)&(255));
$12=$177;
label = 22; break;
case 22:
var $178=$12;
$9=$178;
$10=-1;
var $179=$9;
var $180=$10;
var $181=(($179)|(0))==(($180)|(0));
if ($181) { label = 23; break; } else { label = 24; break; }
case 23:
var $183=(($153)|0);
HEAP32[(($183)>>2)]=0;
label = 24; break;
case 24:
var $184=(($153)|0);
var $185=HEAP32[(($184)>>2)];
var $186=(($185)|(0))==0;
var $187=(($186)&(1));
var $188=(($151)|(0))==(($187)|(0));
var $189=$188 ^ 1;
label = 25; break;
case 25:
if ($189) { label = 26; break; } else { label = 43; break; }
case 26:
$8=$__b;
var $192=$8;
var $193=(($192)|0);
var $194=HEAP32[(($193)>>2)];
$7=$194;
var $195=$7;
var $196=(($195+12)|0);
var $197=HEAP32[(($196)>>2)];
var $198=(($195+16)|0);
var $199=HEAP32[(($198)>>2)];
var $200=(($197)|(0))==(($199)|(0));
if ($200) { label = 27; break; } else { label = 29; break; }
case 27:
var $202=$195;
var $203=HEAP32[(($202)>>2)];
var $204=(($203+36)|0);
var $205=HEAP32[(($204)>>2)];
var $206 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$205]($195) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 28; break; } else { label = 34; break; }
case 28:
$6=$206;
label = 30; break;
case 29:
var $208=(($195+12)|0);
var $209=HEAP32[(($208)>>2)];
var $210=HEAP8[($209)];
$5=$210;
var $211=$5;
var $212=(($211)&(255));
$6=$212;
label = 30; break;
case 30:
var $213=$6;
var $214=(($213) & 255);
label = 31; break;
case 31:
var $216=$__base;
var $217=(($__a)|0);
var $218=$__thousands_sep;
var $219=(($__g)|0);
var $220=(($__atoms)|0);
var $221 = (function() { try { __THREW__ = 0; return __ZNSt3__19__num_getIcE17__stage2_int_loopEciPcRS2_RjcRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_S2_($214, $216, $217, $__a_end, $__dc, $218, $__grouping, $219, $__g_end, $220) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 32; break; } else { label = 34; break; }
case 32:
var $223=(($221)|(0))!=0;
if ($223) { label = 33; break; } else { label = 36; break; }
case 33:
label = 43; break;
case 34:
var $226$0 = ___cxa_find_matching_catch(-1, -1); $226$1 = tempRet0;
var $227=$226$0;
$60=$227;
var $228=$226$1;
$61=$228;
label = 65; break;
case 35:
var $230$0 = ___cxa_find_matching_catch(-1, -1); $230$1 = tempRet0;
var $231=$230$0;
$60=$231;
var $232=$230$1;
$61=$232;
__ZNSt3__16localeD2Ev($59);
label = 65; break;
case 36:
label = 37; break;
case 37:
$4=$__b;
var $235=$4;
var $236=(($235)|0);
var $237=HEAP32[(($236)>>2)];
$3=$237;
var $238=$3;
var $239=(($238+12)|0);
var $240=HEAP32[(($239)>>2)];
var $241=(($238+16)|0);
var $242=HEAP32[(($241)>>2)];
var $243=(($240)|(0))==(($242)|(0));
if ($243) { label = 38; break; } else { label = 40; break; }
case 38:
var $245=$238;
var $246=HEAP32[(($245)>>2)];
var $247=(($246+40)|0);
var $248=HEAP32[(($247)>>2)];
var $249 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$248]($238) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 39; break; } else { label = 34; break; }
case 39:
$2=$249;
label = 41; break;
case 40:
var $251=(($238+12)|0);
var $252=HEAP32[(($251)>>2)];
var $253=(($252+1)|0);
HEAP32[(($251)>>2)]=$253;
var $254=HEAP8[($252)];
$1=$254;
var $255=$1;
var $256=(($255)&(255));
$2=$256;
label = 41; break;
case 41:
var $257=$2;
label = 42; break;
case 42:
label = 10; break;
case 43:
var $260=(($__a+39)|0);
HEAP8[($260)]=0;
var $261=(($__a)|0);
var $262 = (function() { try { __THREW__ = 0; return __ZNSt3__16__clocEv() } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 44; break; } else { label = 34; break; }
case 44:
var $264=$58;
var $265 = (function() { try { __THREW__ = 0; return __ZNSt3__110__sscanf_lEPKcPvS1_z($261, $262, ((5244116)|0), (tempInt=STACKTOP,STACKTOP = (STACKTOP + 4)|0,assert((STACKTOP|0) < (STACK_MAX|0)),HEAP32[((tempInt)>>2)]=$264,tempInt)) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 45; break; } else { label = 34; break; }
case 45:
var $267=(($265)|(0))!=1;
if ($267) { label = 46; break; } else { label = 47; break; }
case 46:
var $269=$57;
HEAP32[(($269)>>2)]=4;
label = 47; break;
case 47:
$44=$__b;
$45=$__e;
var $271=$44;
var $272=$45;
$42=$271;
$43=$272;
var $273=$42;
$41=$273;
var $274=$41;
var $275=(($274)|0);
var $276=HEAP32[(($275)>>2)];
var $277=(($276)|(0))!=0;
if ($277) { label = 48; break; } else { label = 54; break; }
case 48:
var $279=(($274)|0);
var $280=HEAP32[(($279)>>2)];
$40=$280;
var $281=$40;
var $282=(($281+12)|0);
var $283=HEAP32[(($282)>>2)];
var $284=(($281+16)|0);
var $285=HEAP32[(($284)>>2)];
var $286=(($283)|(0))==(($285)|(0));
if ($286) { label = 49; break; } else { label = 51; break; }
case 49:
var $288=$281;
var $289=HEAP32[(($288)>>2)];
var $290=(($289+36)|0);
var $291=HEAP32[(($290)>>2)];
var $292 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$291]($281) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 50; break; } else { label = 34; break; }
case 50:
$39=$292;
label = 52; break;
case 51:
var $294=(($281+12)|0);
var $295=HEAP32[(($294)>>2)];
var $296=HEAP8[($295)];
$38=$296;
var $297=$38;
var $298=(($297)&(255));
$39=$298;
label = 52; break;
case 52:
var $299=$39;
$36=$299;
$37=-1;
var $300=$36;
var $301=$37;
var $302=(($300)|(0))==(($301)|(0));
if ($302) { label = 53; break; } else { label = 54; break; }
case 53:
var $304=(($274)|0);
HEAP32[(($304)>>2)]=0;
label = 54; break;
case 54:
var $305=(($274)|0);
var $306=HEAP32[(($305)>>2)];
var $307=(($306)|(0))==0;
var $308=(($307)&(1));
var $309=$43;
$35=$309;
var $310=$35;
var $311=(($310)|0);
var $312=HEAP32[(($311)>>2)];
var $313=(($312)|(0))!=0;
if ($313) { label = 55; break; } else { label = 61; break; }
case 55:
var $315=(($310)|0);
var $316=HEAP32[(($315)>>2)];
$34=$316;
var $317=$34;
var $318=(($317+12)|0);
var $319=HEAP32[(($318)>>2)];
var $320=(($317+16)|0);
var $321=HEAP32[(($320)>>2)];
var $322=(($319)|(0))==(($321)|(0));
if ($322) { label = 56; break; } else { label = 58; break; }
case 56:
var $324=$317;
var $325=HEAP32[(($324)>>2)];
var $326=(($325+36)|0);
var $327=HEAP32[(($326)>>2)];
var $328 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$327]($317) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 57; break; } else { label = 34; break; }
case 57:
$33=$328;
label = 59; break;
case 58:
var $330=(($317+12)|0);
var $331=HEAP32[(($330)>>2)];
var $332=HEAP8[($331)];
$32=$332;
var $333=$32;
var $334=(($333)&(255));
$33=$334;
label = 59; break;
case 59:
var $335=$33;
$30=$335;
$31=-1;
var $336=$30;
var $337=$31;
var $338=(($336)|(0))==(($337)|(0));
if ($338) { label = 60; break; } else { label = 61; break; }
case 60:
var $340=(($310)|0);
HEAP32[(($340)>>2)]=0;
label = 61; break;
case 61:
var $341=(($310)|0);
var $342=HEAP32[(($341)>>2)];
var $343=(($342)|(0))==0;
var $344=(($343)&(1));
var $345=(($308)|(0))==(($344)|(0));
label = 62; break;
case 62:
if ($345) { label = 63; break; } else { label = 64; break; }
case 63:
var $348=$57;
var $349=HEAP32[(($348)>>2)];
var $350=$349 | 2;
HEAP32[(($348)>>2)]=$350;
label = 64; break;
case 64:
var $352=$agg_result;
var $353=$__b;
assert(4 % 1 === 0);HEAP32[(($352)>>2)]=HEAP32[(($353)>>2)];
$62=1;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__grouping);
STACKTOP = __stackBase__;
return;
case 65:
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__grouping);
label = 66; break;
case 66:
var $356=$60;
var $357=$61;
var $358$0=$356;
var $358$1=0;
var $359$0=$358$0;
var $359$1=$357;
___resumeException($359$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__16__clocEv() {
var label = 0;
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3=HEAP8[(5255996)];
var $4=(($3 << 24) >> 24)==0;
if ($4) { label = 2; break; } else { label = 5; break; }
case 2:
var $6=___cxa_guard_acquire(5255996);
var $7=(($6)|(0))!=0;
if ($7) { label = 3; break; } else { label = 5; break; }
case 3:
var $9 = (function() { try { __THREW__ = 0; return _newlocale(1, ((5244136)|0), 0) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 4; break; } else { label = 6; break; }
case 4:
HEAP32[((5246712)>>2)]=$9;
label = 5; break;
case 5:
var $12=HEAP32[((5246712)>>2)];
return $12;
case 6:
var $14$0 = ___cxa_find_matching_catch(-1, -1); $14$1 = tempRet0;
var $15=$14$0;
$1=$15;
var $16=$14$1;
$2=$16;
label = 7; break;
case 7:
var $18=$1;
var $19=$2;
var $20$0=$18;
var $20$1=0;
var $21$0=$20$0;
var $21$1=$19;
___resumeException($21$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev($this) {
var label = 0;
var $1;
var $2;
var $3;
$3=$this;
var $4=$3;
$2=$4;
var $5=$2;
$1=$5;
var $6=$1;
var $7=$6;
__ZNSt3__16locale5facetD2Ev($7);
var $8=$4;
__ZdlPv($8);
return;
}
function __ZNSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED1Ev($this) {
var label = 0;
var $1;
var $2;
$2=$this;
var $3=$2;
$1=$3;
var $4=$1;
var $5=$4;
__ZNSt3__16locale5facetD2Ev($5);
return;
}
function __ZNSt3__110__sscanf_lEPKcPvS1_z($__s, $__l, $__format, varrp) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 32)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $__tmp_i_i_i1;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $__tmp_i_i_i;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25=__stackBase__;
var $26=(__stackBase__)+(4);
var $27;
var $28;
var $29=(__stackBase__)+(8);
var $30=(__stackBase__)+(12);
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $__va=(__stackBase__)+(16);
var $__current=(__stackBase__)+(20);
var $44=(__stackBase__)+(28);
var $__res;
var $45;
var $46;
var $47;
$41=$__s;
$42=$__l;
$43=$__format;
var $48=$__va;
HEAP32[(($48)>>2)]=varrp;
var $49=$42;
var $50=_uselocale($49);
HEAP32[(($44)>>2)]=270;
$38=$__current;
$39=$50;
$40=$44;
var $51=$38;
var $52=$39;
var $53=$40;
$35=$51;
$36=$52;
$37=$53;
var $54=$35;
var $55=(($54)|0);
var $56=$36;
var $57=$37;
$34=$57;
var $58=$34;
var $59=HEAP32[(($58)>>2)];
$31=$55;
$32=$56;
$33=$59;
var $60=$31;
var $61=$32;
var $62=$33;
$28=$60;
HEAP32[(($29)>>2)]=$61;
HEAP32[(($30)>>2)]=$62;
var $63=$28;
var $64=$63;
$27=$29;
var $65=$27;
var $66=HEAP32[(($65)>>2)];
$21=$30;
var $67=$21;
var $68=HEAP32[(($67)>>2)];
$24=$64;
HEAP32[(($25)>>2)]=$66;
HEAP32[(($26)>>2)]=$68;
var $69=$24;
var $70=(($69)|0);
$23=$25;
var $71=$23;
var $72=HEAP32[(($71)>>2)];
HEAP32[(($70)>>2)]=$72;
var $73=(($69+4)|0);
$22=$26;
var $74=$22;
var $75=HEAP32[(($74)>>2)];
HEAP32[(($73)>>2)]=$75;
var $76=$41;
var $77=$43;
var $78=HEAP32[(($__va)>>2)];
var $79 = (function() { try { __THREW__ = 0; return _sscanf($76, $77, $78) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 2; break; } else { label = 7; break; }
case 2:
$__res=$79;
var $81=$__va;
var $82=$__res;
$47=1;
$10=$__current;
var $83=$10;
$9=$83;
var $84=$9;
$7=$84;
$8=0;
var $85=$7;
var $86=(($85)|0);
$6=$86;
var $87=$6;
var $88=$87;
$5=$88;
var $89=$5;
var $90=(($89)|0);
var $91=HEAP32[(($90)>>2)];
$__tmp_i_i_i1=$91;
var $92=$8;
var $93=(($85)|0);
$4=$93;
var $94=$4;
var $95=$94;
$3=$95;
var $96=$3;
var $97=(($96)|0);
HEAP32[(($97)>>2)]=$92;
var $98=$__tmp_i_i_i1;
var $99=(($98)|(0))!=0;
if ($99) { label = 3; break; } else { label = 6; break; }
case 3:
var $101=(($85)|0);
$2=$101;
var $102=$2;
var $103=$102;
$1=$103;
var $104=$1;
var $105=(($104+4)|0);
var $106=HEAP32[(($105)>>2)];
var $107=$__tmp_i_i_i1;
var $108 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$106]($107) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 4; break; } else { label = 5; break; }
case 4:
label = 6; break;
case 5:
var $111$0 = ___cxa_find_matching_catch(-1, -1,0); $111$1 = tempRet0;
__ZSt9terminatev();
throw "Reached an unreachable!"
case 6:
STACKTOP = __stackBase__;
return $82;
case 7:
var $113$0 = ___cxa_find_matching_catch(-1, -1); $113$1 = tempRet0;
var $114=$113$0;
$45=$114;
var $115=$113$1;
$46=$115;
$20=$__current;
var $116=$20;
$19=$116;
var $117=$19;
$17=$117;
$18=0;
var $118=$17;
var $119=(($118)|0);
$16=$119;
var $120=$16;
var $121=$120;
$15=$121;
var $122=$15;
var $123=(($122)|0);
var $124=HEAP32[(($123)>>2)];
$__tmp_i_i_i=$124;
var $125=$18;
var $126=(($118)|0);
$14=$126;
var $127=$14;
var $128=$127;
$13=$128;
var $129=$13;
var $130=(($129)|0);
HEAP32[(($130)>>2)]=$125;
var $131=$__tmp_i_i_i;
var $132=(($131)|(0))!=0;
if ($132) { label = 8; break; } else { label = 11; break; }
case 8:
var $134=(($118)|0);
$12=$134;
var $135=$12;
var $136=$135;
$11=$136;
var $137=$11;
var $138=(($137+4)|0);
var $139=HEAP32[(($138)>>2)];
var $140=$__tmp_i_i_i;
var $141 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$139]($140) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 9; break; } else { label = 10; break; }
case 9:
label = 11; break;
case 10:
var $144$0 = ___cxa_find_matching_catch(-1, -1,0); $144$1 = tempRet0;
__ZSt9terminatev();
throw "Reached an unreachable!"
case 11:
label = 12; break;
case 12:
var $146=$45;
var $147=$46;
var $148$0=$146;
var $148$1=0;
var $149$0=$148$0;
var $149$1=$147;
___resumeException($149$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRb($agg_result, $this, $__b, $__e, $__iob, $__err, $__v) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 52)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
var tempParam = $__b; $__b = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__b)>>2)]=HEAP32[((tempParam)>>2)];
var tempParam = $__e; $__e = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__e)>>2)]=HEAP32[((tempParam)>>2)];
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $__lv=__stackBase__;
var $10=(__stackBase__)+(4);
var $11=(__stackBase__)+(8);
var $12=(__stackBase__)+(12);
var $__ct;
var $13=(__stackBase__)+(16);
var $14;
var $15;
var $__np;
var $16=(__stackBase__)+(20);
var $__names=(__stackBase__)+(24);
var $17;
var $__i;
var $18=(__stackBase__)+(48);
var $19;
$6=$this;
$7=$__iob;
$8=$__err;
$9=$__v;
var $20=$6;
var $21=$7;
$5=$21;
var $22=$5;
var $23=(($22+4)|0);
var $24=HEAP32[(($23)>>2)];
var $25=$24 & 1;
var $26=(($25)|(0))==0;
if ($26) { label = 2; break; } else { label = 7; break; }
case 2:
HEAP32[(($__lv)>>2)]=-1;
var $28=$20;
var $29=HEAP32[(($28)>>2)];
var $30=(($29+16)|0);
var $31=HEAP32[(($30)>>2)];
var $32=$11;
var $33=$__b;
assert(4 % 1 === 0);HEAP32[(($32)>>2)]=HEAP32[(($33)>>2)];
var $34=$12;
var $35=$__e;
assert(4 % 1 === 0);HEAP32[(($34)>>2)]=HEAP32[(($35)>>2)];
var $36=$7;
var $37=$8;
FUNCTION_TABLE[$31]($10, $20, $11, $12, $36, $37, $__lv);
var $38=$__b;
var $39=$10;
assert(4 % 1 === 0);HEAP32[(($38)>>2)]=HEAP32[(($39)>>2)];
var $40=HEAP32[(($__lv)>>2)];
if ((($40)|(0))==0) {
label = 3; break;
}
else if ((($40)|(0))==1) {
label = 4; break;
}
else {
label = 5; break;
}
case 3:
var $42=$9;
HEAP8[($42)]=0;
label = 6; break;
case 4:
var $44=$9;
HEAP8[($44)]=1;
label = 6; break;
case 5:
var $46=$9;
HEAP8[($46)]=1;
var $47=$8;
HEAP32[(($47)>>2)]=4;
label = 6; break;
case 6:
var $49=$agg_result;
var $50=$__b;
assert(4 % 1 === 0);HEAP32[(($49)>>2)]=HEAP32[(($50)>>2)];
label = 27; break;
case 7:
var $52=$7;
__ZNKSt3__18ios_base6getlocEv($13, $52);
$4=$13;
var $53=$4;
var $54 = (function() { try { __THREW__ = 0; return __ZNKSt3__16locale9use_facetERNS0_2idE($53, 5255412) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 8; break; } else { label = 17; break; }
case 8:
var $55=$54;
label = 9; break;
case 9:
__ZNSt3__16localeD2Ev($13);
$__ct=$55;
var $57=$7;
__ZNKSt3__18ios_base6getlocEv($16, $57);
$3=$16;
var $58=$3;
var $59 = (function() { try { __THREW__ = 0; return __ZNKSt3__16locale9use_facetERNS0_2idE($58, 5255044) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 10; break; } else { label = 18; break; }
case 10:
var $60=$59;
label = 11; break;
case 11:
__ZNSt3__16localeD2Ev($16);
$__np=$60;
var $62=(($__names)|0);
$17=$62;
var $63=$__np;
$2=$63;
var $64=$2;
var $65=$64;
var $66=HEAP32[(($65)>>2)];
var $67=(($66+24)|0);
var $68=HEAP32[(($67)>>2)];
(function() { try { __THREW__ = 0; return FUNCTION_TABLE[$68]($62, $64) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 12; break; } else { label = 19; break; }
case 12:
label = 13; break;
case 13:
var $70=(($62+12)|0);
$17=$70;
var $71=$__np;
$1=$71;
var $72=$1;
var $73=$72;
var $74=HEAP32[(($73)>>2)];
var $75=(($74+28)|0);
var $76=HEAP32[(($75)>>2)];
(function() { try { __THREW__ = 0; return FUNCTION_TABLE[$76]($70, $72) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 14; break; } else { label = 19; break; }
case 14:
label = 15; break;
case 15:
var $78=$18;
var $79=$__e;
assert(4 % 1 === 0);HEAP32[(($78)>>2)]=HEAP32[(($79)>>2)];
var $80=(($__names)|0);
var $81=(($__names)|0);
var $82=(($81+24)|0);
var $83=$__ct;
var $84=$8;
var $85 = (function() { try { __THREW__ = 0; return __ZNSt3__114__scan_keywordINS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEPKNS_12basic_stringIwS3_NS_9allocatorIwEEEENS_5ctypeIwEEEET0_RT_SE_SD_SD_RKT1_Rjb($__b, $18, $80, $82, $83, $84, 1) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 16; break; } else { label = 22; break; }
case 16:
$__i=$85;
var $87=$__i;
var $88=(($__names)|0);
var $89=(($87)|(0))==(($88)|(0));
var $90=$9;
var $91=(($89)&(1));
HEAP8[($90)]=$91;
var $92=$agg_result;
var $93=$__b;
assert(4 % 1 === 0);HEAP32[(($92)>>2)]=HEAP32[(($93)>>2)];
$19=1;
var $94=(($__names)|0);
var $95=(($94+24)|0);
var $122 = $95;label = 23; break;
case 17:
var $97$0 = ___cxa_find_matching_catch(-1, -1); $97$1 = tempRet0;
var $98=$97$0;
$14=$98;
var $99=$97$1;
$15=$99;
__ZNSt3__16localeD2Ev($13);
label = 28; break;
case 18:
var $101$0 = ___cxa_find_matching_catch(-1, -1); $101$1 = tempRet0;
var $102=$101$0;
$14=$102;
var $103=$101$1;
$15=$103;
__ZNSt3__16localeD2Ev($16);
label = 28; break;
case 19:
var $105$0 = ___cxa_find_matching_catch(-1, -1); $105$1 = tempRet0;
var $106=$105$0;
$14=$106;
var $107=$105$1;
$15=$107;
var $108=$17;
var $109=(($62)|(0))==(($108)|(0));
if ($109) { label = 21; break; } else { var $111 = $108;label = 20; break; }
case 20:
var $111;
var $112=((($111)-(12))|0);
__ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED1Ev($112);
var $113=(($112)|(0))==(($62)|(0));
if ($113) { label = 21; break; } else { var $111 = $112;label = 20; break; }
case 21:
label = 28; break;
case 22:
var $116$0 = ___cxa_find_matching_catch(-1, -1); $116$1 = tempRet0;
var $117=$116$0;
$14=$117;
var $118=$116$1;
$15=$118;
var $119=(($__names)|0);
var $120=(($119+24)|0);
var $127 = $120;label = 25; break;
case 23:
var $122;
var $123=((($122)-(12))|0);
__ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED1Ev($123);
var $124=(($123)|(0))==(($94)|(0));
if ($124) { label = 24; break; } else { var $122 = $123;label = 23; break; }
case 24:
label = 27; break;
case 25:
var $127;
var $128=((($127)-(12))|0);
__ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED1Ev($128);
var $129=(($128)|(0))==(($119)|(0));
if ($129) { label = 26; break; } else { var $127 = $128;label = 25; break; }
case 26:
label = 28; break;
case 27:
STACKTOP = __stackBase__;
return;
case 28:
var $133=$14;
var $134=$15;
var $135$0=$133;
var $135$1=0;
var $136$0=$135$0;
var $136$1=$134;
___resumeException($136$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__114__scan_keywordINS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEPKNS_12basic_stringIwS3_NS_9allocatorIwEEEENS_5ctypeIwEEEET0_RT_SE_SD_SD_RKT1_Rjb($__b, $__e, $__kb, $__ke, $__ct, $__err, $__case_sensitive) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 136)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
var tempParam = $__e; $__e = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__e)>>2)]=HEAP32[((tempParam)>>2)];
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $49;
var $50;
var $51;
var $52;
var $53;
var $54;
var $55;
var $56;
var $57;
var $58;
var $59;
var $60;
var $61;
var $62;
var $63;
var $64;
var $65;
var $66;
var $67;
var $68;
var $69;
var $70;
var $71;
var $72;
var $73;
var $74;
var $75;
var $76;
var $77;
var $78;
var $79;
var $80;
var $81;
var $82;
var $83;
var $84;
var $85;
var $86;
var $87;
var $88;
var $89;
var $90;
var $91;
var $92;
var $93;
var $94;
var $95;
var $96;
var $__tmp_i;
var $97;
var $98;
var $99;
var $100;
var $101;
var $102;
var $103;
var $104;
var $__tmp_i_i_i3;
var $105;
var $106;
var $107;
var $108;
var $109;
var $110;
var $111=__stackBase__;
var $112=(__stackBase__)+(4);
var $113;
var $114;
var $115=(__stackBase__)+(8);
var $116=(__stackBase__)+(12);
var $117;
var $118;
var $119;
var $120;
var $121;
var $122;
var $123;
var $124;
var $125;
var $126;
var $127;
var $128;
var $129;
var $130;
var $131;
var $132;
var $133;
var $134;
var $__tmp_i_i_i;
var $135;
var $136;
var $137;
var $138;
var $139=(__stackBase__)+(16);
var $140;
var $141;
var $142=(__stackBase__)+(20);
var $143;
var $144;
var $145;
var $146;
var $147;
var $148;
var $__nkw;
var $__doesnt_match;
var $__might_match;
var $__does_match;
var $__statbuf=(__stackBase__)+(24);
var $__status;
var $__stat_hold=(__stackBase__)+(124);
var $149=(__stackBase__)+(132);
var $150;
var $151;
var $__n_might_match;
var $__n_does_match;
var $__st;
var $__ky;
var $__indx;
var $__c;
var $__consume;
var $__ky1;
var $__kc;
var $__ky2;
var $152;
$143=$__b;
$144=$__kb;
$145=$__ke;
$146=$__ct;
$147=$__err;
var $153=(($__case_sensitive)&(1));
$148=$153;
var $154=$144;
var $155=$145;
$140=$154;
$141=$155;
var $156=$140;
var $157=$141;
$137=$156;
$138=$157;
var $158=$138;
var $159=$137;
var $160=$158;
var $161=$159;
var $162=((($160)-($161))|0);
var $163=((((($162)|(0)))/(12))&-1);
$__nkw=$163;
$__doesnt_match=0;
$__might_match=1;
$__does_match=2;
var $164=(($__statbuf)|0);
$__status=$164;
HEAP32[(($149)>>2)]=260;
$124=$__stat_hold;
$125=0;
$126=$149;
var $165=$124;
var $166=$125;
var $167=$126;
$121=$165;
$122=$166;
$123=$167;
var $168=$121;
var $169=(($168)|0);
var $170=$122;
var $171=$123;
$120=$171;
var $172=$120;
var $173=HEAP32[(($172)>>2)];
$117=$169;
$118=$170;
$119=$173;
var $174=$117;
var $175=$118;
var $176=$119;
$114=$174;
HEAP32[(($115)>>2)]=$175;
HEAP32[(($116)>>2)]=$176;
var $177=$114;
var $178=$177;
$113=$115;
var $179=$113;
var $180=HEAP32[(($179)>>2)];
$107=$116;
var $181=$107;
var $182=HEAP32[(($181)>>2)];
$110=$178;
HEAP32[(($111)>>2)]=$180;
HEAP32[(($112)>>2)]=$182;
var $183=$110;
var $184=(($183)|0);
$109=$111;
var $185=$109;
var $186=HEAP32[(($185)>>2)];
HEAP32[(($184)>>2)]=$186;
var $187=(($183+4)|0);
$108=$112;
var $188=$108;
var $189=HEAP32[(($188)>>2)];
HEAP32[(($187)>>2)]=$189;
var $190=$__nkw;
var $191=(($190)>>>(0)) > 100;
if ($191) { label = 2; break; } else { label = 15; break; }
case 2:
var $193=$__nkw;
var $194=_malloc($193);
$__status=$194;
var $195=$__status;
var $196=(($195)|(0))==0;
if ($196) { label = 3; break; } else { label = 10; break; }
case 3:
(function() { try { __THREW__ = 0; return __ZSt17__throw_bad_allocv() } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 4; break; } else { label = 5; break; }
case 4:
label = 10; break;
case 5:
var $200$0 = ___cxa_find_matching_catch(-1, -1); $200$1 = tempRet0;
var $201=$200$0;
$150=$201;
var $202=$200$1;
$151=$202;
$106=$__stat_hold;
var $203=$106;
$105=$203;
var $204=$105;
$103=$204;
$104=0;
var $205=$103;
var $206=(($205)|0);
$102=$206;
var $207=$102;
var $208=$207;
$101=$208;
var $209=$101;
var $210=(($209)|0);
var $211=HEAP32[(($210)>>2)];
$__tmp_i_i_i3=$211;
var $212=$104;
var $213=(($205)|0);
$100=$213;
var $214=$100;
var $215=$214;
$99=$215;
var $216=$99;
var $217=(($216)|0);
HEAP32[(($217)>>2)]=$212;
var $218=$__tmp_i_i_i3;
var $219=(($218)|(0))!=0;
if ($219) { label = 6; break; } else { label = 9; break; }
case 6:
var $221=(($205)|0);
$98=$221;
var $222=$98;
var $223=$222;
$97=$223;
var $224=$97;
var $225=(($224+4)|0);
var $226=HEAP32[(($225)>>2)];
var $227=$__tmp_i_i_i3;
(function() { try { __THREW__ = 0; return FUNCTION_TABLE[$226]($227) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 7; break; } else { label = 8; break; }
case 7:
label = 9; break;
case 8:
var $230$0 = ___cxa_find_matching_catch(-1, -1,0); $230$1 = tempRet0;
__ZSt9terminatev();
throw "Reached an unreachable!"
case 9:
label = 126; break;
case 10:
var $232=$__status;
$95=$__stat_hold;
$96=$232;
var $233=$95;
var $234=(($233)|0);
$94=$234;
var $235=$94;
var $236=$235;
$93=$236;
var $237=$93;
var $238=(($237)|0);
var $239=HEAP32[(($238)>>2)];
$__tmp_i=$239;
var $240=$96;
var $241=(($233)|0);
$92=$241;
var $242=$92;
var $243=$242;
$91=$243;
var $244=$91;
var $245=(($244)|0);
HEAP32[(($245)>>2)]=$240;
var $246=$__tmp_i;
var $247=(($246)|(0))!=0;
if ($247) { label = 11; break; } else { label = 14; break; }
case 11:
var $249=(($233)|0);
$90=$249;
var $250=$90;
var $251=$250;
$89=$251;
var $252=$89;
var $253=(($252+4)|0);
var $254=HEAP32[(($253)>>2)];
var $255=$__tmp_i;
(function() { try { __THREW__ = 0; return FUNCTION_TABLE[$254]($255) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 12; break; } else { label = 13; break; }
case 12:
label = 14; break;
case 13:
var $258$0 = ___cxa_find_matching_catch(-1, -1,0); $258$1 = tempRet0;
__ZSt9terminatev();
throw "Reached an unreachable!"
case 14:
label = 15; break;
case 15:
var $260=$__nkw;
$__n_might_match=$260;
$__n_does_match=0;
var $261=$__status;
$__st=$261;
var $262=$144;
$__ky=$262;
label = 16; break;
case 16:
var $264=$__ky;
var $265=$145;
var $266=(($264)|(0))!=(($265)|(0));
if ($266) { label = 17; break; } else { label = 25; break; }
case 17:
var $268=$__ky;
$88=$268;
var $269=$88;
$87=$269;
var $270=$87;
$86=$270;
var $271=$86;
var $272=(($271)|0);
$85=$272;
var $273=$85;
var $274=$273;
$84=$274;
var $275=$84;
var $276=(($275)|0);
var $277=(($276)|0);
var $278=$277;
var $279=(($278)|0);
var $280=$279;
var $281=HEAP8[($280)];
var $282=(($281)&(255));
var $283=$282 & 1;
var $284=(($283)|(0))!=0;
if ($284) { label = 18; break; } else { label = 19; break; }
case 18:
$80=$270;
var $286=$80;
var $287=(($286)|0);
$79=$287;
var $288=$79;
var $289=$288;
$78=$289;
var $290=$78;
var $291=(($290)|0);
var $292=(($291)|0);
var $293=$292;
var $294=(($293+4)|0);
var $295=HEAP32[(($294)>>2)];
var $310 = $295;label = 20; break;
case 19:
$83=$270;
var $297=$83;
var $298=(($297)|0);
$82=$298;
var $299=$82;
var $300=$299;
$81=$300;
var $301=$81;
var $302=(($301)|0);
var $303=(($302)|0);
var $304=$303;
var $305=(($304)|0);
var $306=$305;
var $307=HEAP8[($306)];
var $308=(($307)&(255));
var $309=$308 >> 1;
var $310 = $309;label = 20; break;
case 20:
var $310;
var $311=(($310)|(0))==0;
if ($311) { label = 22; break; } else { label = 21; break; }
case 21:
var $313=$__st;
HEAP8[($313)]=1;
label = 23; break;
case 22:
var $315=$__st;
HEAP8[($315)]=2;
var $316=$__n_might_match;
var $317=((($316)-(1))|0);
$__n_might_match=$317;
var $318=$__n_does_match;
var $319=((($318)+(1))|0);
$__n_does_match=$319;
label = 23; break;
case 23:
label = 24; break;
case 24:
var $322=$__ky;
var $323=(($322+12)|0);
$__ky=$323;
var $324=$__st;
var $325=(($324+1)|0);
$__st=$325;
label = 16; break;
case 25:
$__indx=0;
label = 26; break;
case 26:
var $328=$143;
$76=$328;
$77=$__e;
var $329=$76;
var $330=$77;
$74=$329;
$75=$330;
var $331=$74;
$73=$331;
var $332=$73;
var $333=(($332)|0);
var $334=HEAP32[(($333)>>2)];
var $335=(($334)|(0))!=0;
if ($335) { label = 27; break; } else { label = 33; break; }
case 27:
var $337=(($332)|0);
var $338=HEAP32[(($337)>>2)];
$72=$338;
var $339=$72;
var $340=(($339+12)|0);
var $341=HEAP32[(($340)>>2)];
var $342=(($339+16)|0);
var $343=HEAP32[(($342)>>2)];
var $344=(($341)|(0))==(($343)|(0));
if ($344) { label = 28; break; } else { label = 30; break; }
case 28:
var $346=$339;
var $347=HEAP32[(($346)>>2)];
var $348=(($347+36)|0);
var $349=HEAP32[(($348)>>2)];
var $350 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$349]($339) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 29; break; } else { label = 5; break; }
case 29:
$71=$350;
label = 31; break;
case 30:
var $352=(($339+12)|0);
var $353=HEAP32[(($352)>>2)];
var $354=HEAP32[(($353)>>2)];
$70=$354;
var $355=$70;
$71=$355;
label = 31; break;
case 31:
var $356=$71;
$68=$356;
$69=-1;
var $357=$68;
var $358=$69;
var $359=(($357)|(0))==(($358)|(0));
if ($359) { label = 32; break; } else { label = 33; break; }
case 32:
var $361=(($332)|0);
HEAP32[(($361)>>2)]=0;
label = 33; break;
case 33:
var $362=(($332)|0);
var $363=HEAP32[(($362)>>2)];
var $364=(($363)|(0))==0;
var $365=(($364)&(1));
var $366=$75;
$67=$366;
var $367=$67;
var $368=(($367)|0);
var $369=HEAP32[(($368)>>2)];
var $370=(($369)|(0))!=0;
if ($370) { label = 34; break; } else { label = 40; break; }
case 34:
var $372=(($367)|0);
var $373=HEAP32[(($372)>>2)];
$66=$373;
var $374=$66;
var $375=(($374+12)|0);
var $376=HEAP32[(($375)>>2)];
var $377=(($374+16)|0);
var $378=HEAP32[(($377)>>2)];
var $379=(($376)|(0))==(($378)|(0));
if ($379) { label = 35; break; } else { label = 37; break; }
case 35:
var $381=$374;
var $382=HEAP32[(($381)>>2)];
var $383=(($382+36)|0);
var $384=HEAP32[(($383)>>2)];
var $385 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$384]($374) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 36; break; } else { label = 5; break; }
case 36:
$65=$385;
label = 38; break;
case 37:
var $387=(($374+12)|0);
var $388=HEAP32[(($387)>>2)];
var $389=HEAP32[(($388)>>2)];
$64=$389;
var $390=$64;
$65=$390;
label = 38; break;
case 38:
var $391=$65;
$62=$391;
$63=-1;
var $392=$62;
var $393=$63;
var $394=(($392)|(0))==(($393)|(0));
if ($394) { label = 39; break; } else { label = 40; break; }
case 39:
var $396=(($367)|0);
HEAP32[(($396)>>2)]=0;
label = 40; break;
case 40:
var $397=(($367)|0);
var $398=HEAP32[(($397)>>2)];
var $399=(($398)|(0))==0;
var $400=(($399)&(1));
var $401=(($365)|(0))==(($400)|(0));
var $402=$401 ^ 1;
label = 41; break;
case 41:
if ($402) { label = 42; break; } else { var $408 = 0;label = 43; break; }
case 42:
var $405=$__n_might_match;
var $406=(($405)>>>(0)) > 0;
var $408 = $406;label = 43; break;
case 43:
var $408;
if ($408) { label = 44; break; } else { label = 96; break; }
case 44:
var $410=$143;
$61=$410;
var $411=$61;
var $412=(($411)|0);
var $413=HEAP32[(($412)>>2)];
$60=$413;
var $414=$60;
var $415=(($414+12)|0);
var $416=HEAP32[(($415)>>2)];
var $417=(($414+16)|0);
var $418=HEAP32[(($417)>>2)];
var $419=(($416)|(0))==(($418)|(0));
if ($419) { label = 45; break; } else { label = 47; break; }
case 45:
var $421=$414;
var $422=HEAP32[(($421)>>2)];
var $423=(($422+36)|0);
var $424=HEAP32[(($423)>>2)];
var $425 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$424]($414) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 46; break; } else { label = 5; break; }
case 46:
$59=$425;
label = 48; break;
case 47:
var $427=(($414+12)|0);
var $428=HEAP32[(($427)>>2)];
var $429=HEAP32[(($428)>>2)];
$58=$429;
var $430=$58;
$59=$430;
label = 48; break;
case 48:
var $431=$59;
label = 49; break;
case 49:
$__c=$431;
var $433=$148;
var $434=(($433) & 1);
if ($434) { label = 53; break; } else { label = 50; break; }
case 50:
var $436=$146;
var $437=$__c;
$56=$436;
$57=$437;
var $438=$56;
var $439=$438;
var $440=HEAP32[(($439)>>2)];
var $441=(($440+28)|0);
var $442=HEAP32[(($441)>>2)];
var $443=$57;
var $444 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$442]($438, $443) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 51; break; } else { label = 5; break; }
case 51:
label = 52; break;
case 52:
$__c=$444;
label = 53; break;
case 53:
$__consume=0;
var $447=$__status;
$__st=$447;
var $448=$144;
$__ky1=$448;
label = 54; break;
case 54:
var $450=$__ky1;
var $451=$145;
var $452=(($450)|(0))!=(($451)|(0));
if ($452) { label = 55; break; } else { label = 75; break; }
case 55:
var $454=$__st;
var $455=HEAP8[($454)];
var $456=(($455)&(255));
var $457=(($456)|(0))==1;
if ($457) { label = 56; break; } else { label = 73; break; }
case 56:
var $459=$__ky1;
var $460=$__indx;
$54=$459;
$55=$460;
var $461=$54;
$53=$461;
var $462=$53;
$52=$462;
var $463=$52;
$51=$463;
var $464=$51;
var $465=(($464)|0);
$50=$465;
var $466=$50;
var $467=$466;
$49=$467;
var $468=$49;
var $469=(($468)|0);
var $470=(($469)|0);
var $471=$470;
var $472=(($471)|0);
var $473=$472;
var $474=HEAP8[($473)];
var $475=(($474)&(255));
var $476=$475 & 1;
var $477=(($476)|(0))!=0;
if ($477) { label = 57; break; } else { label = 58; break; }
case 57:
$45=$463;
var $479=$45;
var $480=(($479)|0);
$44=$480;
var $481=$44;
var $482=$481;
$43=$482;
var $483=$43;
var $484=(($483)|0);
var $485=(($484)|0);
var $486=$485;
var $487=(($486+8)|0);
var $488=HEAP32[(($487)>>2)];
var $500 = $488;label = 59; break;
case 58:
$48=$463;
var $490=$48;
var $491=(($490)|0);
$47=$491;
var $492=$47;
var $493=$492;
$46=$493;
var $494=$46;
var $495=(($494)|0);
var $496=(($495)|0);
var $497=$496;
var $498=(($497+4)|0);
var $499=(($498)|0);
var $500 = $499;label = 59; break;
case 59:
var $500;
var $501=$55;
var $502=(($500+($501<<2))|0);
label = 60; break;
case 60:
var $504=HEAP32[(($502)>>2)];
$__kc=$504;
var $505=$148;
var $506=(($505) & 1);
if ($506) { label = 64; break; } else { label = 61; break; }
case 61:
var $508=$146;
var $509=$__kc;
$41=$508;
$42=$509;
var $510=$41;
var $511=$510;
var $512=HEAP32[(($511)>>2)];
var $513=(($512+28)|0);
var $514=HEAP32[(($513)>>2)];
var $515=$42;
var $516 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$514]($510, $515) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 62; break; } else { label = 5; break; }
case 62:
label = 63; break;
case 63:
$__kc=$516;
label = 64; break;
case 64:
var $519=$__c;
var $520=$__kc;
var $521=(($519)|(0))==(($520)|(0));
if ($521) { label = 65; break; } else { label = 71; break; }
case 65:
$__consume=1;
var $523=$__ky1;
$40=$523;
var $524=$40;
$39=$524;
var $525=$39;
var $526=(($525)|0);
$38=$526;
var $527=$38;
var $528=$527;
$37=$528;
var $529=$37;
var $530=(($529)|0);
var $531=(($530)|0);
var $532=$531;
var $533=(($532)|0);
var $534=$533;
var $535=HEAP8[($534)];
var $536=(($535)&(255));
var $537=$536 & 1;
var $538=(($537)|(0))!=0;
if ($538) { label = 66; break; } else { label = 67; break; }
case 66:
$33=$524;
var $540=$33;
var $541=(($540)|0);
$32=$541;
var $542=$32;
var $543=$542;
$31=$543;
var $544=$31;
var $545=(($544)|0);
var $546=(($545)|0);
var $547=$546;
var $548=(($547+4)|0);
var $549=HEAP32[(($548)>>2)];
var $564 = $549;label = 68; break;
case 67:
$36=$524;
var $551=$36;
var $552=(($551)|0);
$35=$552;
var $553=$35;
var $554=$553;
$34=$554;
var $555=$34;
var $556=(($555)|0);
var $557=(($556)|0);
var $558=$557;
var $559=(($558)|0);
var $560=$559;
var $561=HEAP8[($560)];
var $562=(($561)&(255));
var $563=$562 >> 1;
var $564 = $563;label = 68; break;
case 68:
var $564;
var $565=$__indx;
var $566=((($565)+(1))|0);
var $567=(($564)|(0))==(($566)|(0));
if ($567) { label = 69; break; } else { label = 70; break; }
case 69:
var $569=$__st;
HEAP8[($569)]=2;
var $570=$__n_might_match;
var $571=((($570)-(1))|0);
$__n_might_match=$571;
var $572=$__n_does_match;
var $573=((($572)+(1))|0);
$__n_does_match=$573;
label = 70; break;
case 70:
label = 72; break;
case 71:
var $576=$__st;
HEAP8[($576)]=0;
var $577=$__n_might_match;
var $578=((($577)-(1))|0);
$__n_might_match=$578;
label = 72; break;
case 72:
label = 73; break;
case 73:
label = 74; break;
case 74:
var $582=$__ky1;
var $583=(($582+12)|0);
$__ky1=$583;
var $584=$__st;
var $585=(($584+1)|0);
$__st=$585;
label = 54; break;
case 75:
var $587=$__consume;
var $588=(($587) & 1);
if ($588) { label = 76; break; } else { label = 94; break; }
case 76:
var $590=$143;
$30=$590;
var $591=$30;
var $592=(($591)|0);
var $593=HEAP32[(($592)>>2)];
$29=$593;
var $594=$29;
var $595=(($594+12)|0);
var $596=HEAP32[(($595)>>2)];
var $597=(($594+16)|0);
var $598=HEAP32[(($597)>>2)];
var $599=(($596)|(0))==(($598)|(0));
if ($599) { label = 77; break; } else { label = 79; break; }
case 77:
var $601=$594;
var $602=HEAP32[(($601)>>2)];
var $603=(($602+40)|0);
var $604=HEAP32[(($603)>>2)];
var $605 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$604]($594) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 78; break; } else { label = 5; break; }
case 78:
$28=$605;
label = 80; break;
case 79:
var $607=(($594+12)|0);
var $608=HEAP32[(($607)>>2)];
var $609=(($608+4)|0);
HEAP32[(($607)>>2)]=$609;
var $610=HEAP32[(($608)>>2)];
$27=$610;
var $611=$27;
$28=$611;
label = 80; break;
case 80:
var $612=$28;
label = 81; break;
case 81:
var $614=$__n_might_match;
var $615=$__n_does_match;
var $616=((($614)+($615))|0);
var $617=(($616)>>>(0)) > 1;
if ($617) { label = 82; break; } else { label = 93; break; }
case 82:
var $619=$__status;
$__st=$619;
var $620=$144;
$__ky2=$620;
label = 83; break;
case 83:
var $622=$__ky2;
var $623=$145;
var $624=(($622)|(0))!=(($623)|(0));
if ($624) { label = 84; break; } else { label = 92; break; }
case 84:
var $626=$__st;
var $627=HEAP8[($626)];
var $628=(($627)&(255));
var $629=(($628)|(0))==2;
if ($629) { label = 85; break; } else { label = 90; break; }
case 85:
var $631=$__ky2;
$26=$631;
var $632=$26;
$25=$632;
var $633=$25;
var $634=(($633)|0);
$24=$634;
var $635=$24;
var $636=$635;
$23=$636;
var $637=$23;
var $638=(($637)|0);
var $639=(($638)|0);
var $640=$639;
var $641=(($640)|0);
var $642=$641;
var $643=HEAP8[($642)];
var $644=(($643)&(255));
var $645=$644 & 1;
var $646=(($645)|(0))!=0;
if ($646) { label = 86; break; } else { label = 87; break; }
case 86:
$19=$632;
var $648=$19;
var $649=(($648)|0);
$18=$649;
var $650=$18;
var $651=$650;
$17=$651;
var $652=$17;
var $653=(($652)|0);
var $654=(($653)|0);
var $655=$654;
var $656=(($655+4)|0);
var $657=HEAP32[(($656)>>2)];
var $672 = $657;label = 88; break;
case 87:
$22=$632;
var $659=$22;
var $660=(($659)|0);
$21=$660;
var $661=$21;
var $662=$661;
$20=$662;
var $663=$20;
var $664=(($663)|0);
var $665=(($664)|0);
var $666=$665;
var $667=(($666)|0);
var $668=$667;
var $669=HEAP8[($668)];
var $670=(($669)&(255));
var $671=$670 >> 1;
var $672 = $671;label = 88; break;
case 88:
var $672;
var $673=$__indx;
var $674=((($673)+(1))|0);
var $675=(($672)|(0))!=(($674)|(0));
if ($675) { label = 89; break; } else { label = 90; break; }
case 89:
var $677=$__st;
HEAP8[($677)]=0;
var $678=$__n_does_match;
var $679=((($678)-(1))|0);
$__n_does_match=$679;
label = 90; break;
case 90:
label = 91; break;
case 91:
var $682=$__ky2;
var $683=(($682+12)|0);
$__ky2=$683;
var $684=$__st;
var $685=(($684+1)|0);
$__st=$685;
label = 83; break;
case 92:
label = 93; break;
case 93:
label = 94; break;
case 94:
label = 95; break;
case 95:
var $690=$__indx;
var $691=((($690)+(1))|0);
$__indx=$691;
label = 26; break;
case 96:
var $693=$143;
$15=$693;
$16=$__e;
var $694=$15;
var $695=$16;
$13=$694;
$14=$695;
var $696=$13;
$12=$696;
var $697=$12;
var $698=(($697)|0);
var $699=HEAP32[(($698)>>2)];
var $700=(($699)|(0))!=0;
if ($700) { label = 97; break; } else { label = 103; break; }
case 97:
var $702=(($697)|0);
var $703=HEAP32[(($702)>>2)];
$11=$703;
var $704=$11;
var $705=(($704+12)|0);
var $706=HEAP32[(($705)>>2)];
var $707=(($704+16)|0);
var $708=HEAP32[(($707)>>2)];
var $709=(($706)|(0))==(($708)|(0));
if ($709) { label = 98; break; } else { label = 100; break; }
case 98:
var $711=$704;
var $712=HEAP32[(($711)>>2)];
var $713=(($712+36)|0);
var $714=HEAP32[(($713)>>2)];
var $715 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$714]($704) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 99; break; } else { label = 5; break; }
case 99:
$10=$715;
label = 101; break;
case 100:
var $717=(($704+12)|0);
var $718=HEAP32[(($717)>>2)];
var $719=HEAP32[(($718)>>2)];
$9=$719;
var $720=$9;
$10=$720;
label = 101; break;
case 101:
var $721=$10;
$7=$721;
$8=-1;
var $722=$7;
var $723=$8;
var $724=(($722)|(0))==(($723)|(0));
if ($724) { label = 102; break; } else { label = 103; break; }
case 102:
var $726=(($697)|0);
HEAP32[(($726)>>2)]=0;
label = 103; break;
case 103:
var $727=(($697)|0);
var $728=HEAP32[(($727)>>2)];
var $729=(($728)|(0))==0;
var $730=(($729)&(1));
var $731=$14;
$6=$731;
var $732=$6;
var $733=(($732)|0);
var $734=HEAP32[(($733)>>2)];
var $735=(($734)|(0))!=0;
if ($735) { label = 104; break; } else { label = 110; break; }
case 104:
var $737=(($732)|0);
var $738=HEAP32[(($737)>>2)];
$5=$738;
var $739=$5;
var $740=(($739+12)|0);
var $741=HEAP32[(($740)>>2)];
var $742=(($739+16)|0);
var $743=HEAP32[(($742)>>2)];
var $744=(($741)|(0))==(($743)|(0));
if ($744) { label = 105; break; } else { label = 107; break; }
case 105:
var $746=$739;
var $747=HEAP32[(($746)>>2)];
var $748=(($747+36)|0);
var $749=HEAP32[(($748)>>2)];
var $750 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$749]($739) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 106; break; } else { label = 5; break; }
case 106:
$4=$750;
label = 108; break;
case 107:
var $752=(($739+12)|0);
var $753=HEAP32[(($752)>>2)];
var $754=HEAP32[(($753)>>2)];
$3=$754;
var $755=$3;
$4=$755;
label = 108; break;
case 108:
var $756=$4;
$1=$756;
$2=-1;
var $757=$1;
var $758=$2;
var $759=(($757)|(0))==(($758)|(0));
if ($759) { label = 109; break; } else { label = 110; break; }
case 109:
var $761=(($732)|0);
HEAP32[(($761)>>2)]=0;
label = 110; break;
case 110:
var $762=(($732)|0);
var $763=HEAP32[(($762)>>2)];
var $764=(($763)|(0))==0;
var $765=(($764)&(1));
var $766=(($730)|(0))==(($765)|(0));
label = 111; break;
case 111:
if ($766) { label = 112; break; } else { label = 113; break; }
case 112:
var $769=$147;
var $770=HEAP32[(($769)>>2)];
var $771=$770 | 2;
HEAP32[(($769)>>2)]=$771;
label = 113; break;
case 113:
var $773=$__status;
$__st=$773;
label = 114; break;
case 114:
var $775=$144;
var $776=$145;
var $777=(($775)|(0))!=(($776)|(0));
if ($777) { label = 115; break; } else { label = 119; break; }
case 115:
var $779=$__st;
var $780=HEAP8[($779)];
var $781=(($780)&(255));
var $782=(($781)|(0))==2;
if ($782) { label = 116; break; } else { label = 117; break; }
case 116:
label = 119; break;
case 117:
label = 118; break;
case 118:
var $786=$144;
var $787=(($786+12)|0);
$144=$787;
var $788=$__st;
var $789=(($788+1)|0);
$__st=$789;
label = 114; break;
case 119:
var $791=$144;
var $792=$145;
var $793=(($791)|(0))==(($792)|(0));
if ($793) { label = 120; break; } else { label = 121; break; }
case 120:
var $795=$147;
var $796=HEAP32[(($795)>>2)];
var $797=$796 | 4;
HEAP32[(($795)>>2)]=$797;
label = 121; break;
case 121:
var $799=$144;
$152=1;
$136=$__stat_hold;
var $800=$136;
$135=$800;
var $801=$135;
$133=$801;
$134=0;
var $802=$133;
var $803=(($802)|0);
$132=$803;
var $804=$132;
var $805=$804;
$131=$805;
var $806=$131;
var $807=(($806)|0);
var $808=HEAP32[(($807)>>2)];
$__tmp_i_i_i=$808;
var $809=$134;
var $810=(($802)|0);
$130=$810;
var $811=$130;
var $812=$811;
$129=$812;
var $813=$129;
var $814=(($813)|0);
HEAP32[(($814)>>2)]=$809;
var $815=$__tmp_i_i_i;
var $816=(($815)|(0))!=0;
if ($816) { label = 122; break; } else { label = 125; break; }
case 122:
var $818=(($802)|0);
$128=$818;
var $819=$128;
var $820=$819;
$127=$820;
var $821=$127;
var $822=(($821+4)|0);
var $823=HEAP32[(($822)>>2)];
var $824=$__tmp_i_i_i;
(function() { try { __THREW__ = 0; return FUNCTION_TABLE[$823]($824) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 123; break; } else { label = 124; break; }
case 123:
label = 125; break;
case 124:
var $827$0 = ___cxa_find_matching_catch(-1, -1,0); $827$1 = tempRet0;
__ZSt9terminatev();
throw "Reached an unreachable!"
case 125:
STACKTOP = __stackBase__;
return $799;
case 126:
var $829=$150;
var $830=$151;
var $831$0=$829;
var $831$1=0;
var $832$0=$831$0;
var $832$1=$830;
___resumeException($832$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRl($agg_result, $this, $__b, $__e, $__iob, $__err, $__v) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 332)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
var tempParam = $__b; $__b = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__b)>>2)]=HEAP32[((tempParam)>>2)];
var tempParam = $__e; $__e = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__e)>>2)]=HEAP32[((tempParam)>>2)];
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $49;
var $50;
var $51;
var $52;
var $53;
var $54;
var $__base;
var $__atoms=__stackBase__;
var $__thousands_sep=(__stackBase__)+(104);
var $__grouping=(__stackBase__)+(108);
var $__a=(__stackBase__)+(120);
var $__a_end=(__stackBase__)+(160);
var $__g=(__stackBase__)+(164);
var $__g_end=(__stackBase__)+(324);
var $__dc=(__stackBase__)+(328);
var $55;
var $56;
var $57;
$51=$this;
$52=$__iob;
$53=$__err;
$54=$__v;
var $58=$51;
var $59=$52;
var $60=__ZNSt3__114__num_get_base10__get_baseERNS_8ios_baseE($59);
$__base=$60;
var $61=$52;
var $62=(($__atoms)|0);
__ZNSt3__19__num_getIwE17__stage2_int_prepERNS_8ios_baseEPwRw($__grouping, $61, $62, $__thousands_sep);
var $63=$__a;
_memset($63, 0, 40);
var $64=(($__a)|0);
HEAP32[(($__a_end)>>2)]=$64;
var $65=(($__g)|0);
HEAP32[(($__g_end)>>2)]=$65;
HEAP32[(($__dc)>>2)]=0;
label = 2; break;
case 2:
$49=$__b;
$50=$__e;
var $67=$49;
var $68=$50;
$47=$67;
$48=$68;
var $69=$47;
$46=$69;
var $70=$46;
var $71=(($70)|0);
var $72=HEAP32[(($71)>>2)];
var $73=(($72)|(0))!=0;
if ($73) { label = 3; break; } else { label = 9; break; }
case 3:
var $75=(($70)|0);
var $76=HEAP32[(($75)>>2)];
$45=$76;
var $77=$45;
var $78=(($77+12)|0);
var $79=HEAP32[(($78)>>2)];
var $80=(($77+16)|0);
var $81=HEAP32[(($80)>>2)];
var $82=(($79)|(0))==(($81)|(0));
if ($82) { label = 4; break; } else { label = 6; break; }
case 4:
var $84=$77;
var $85=HEAP32[(($84)>>2)];
var $86=(($85+36)|0);
var $87=HEAP32[(($86)>>2)];
var $88 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$87]($77) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 5; break; } else { label = 26; break; }
case 5:
$44=$88;
label = 7; break;
case 6:
var $90=(($77+12)|0);
var $91=HEAP32[(($90)>>2)];
var $92=HEAP32[(($91)>>2)];
$43=$92;
var $93=$43;
$44=$93;
label = 7; break;
case 7:
var $94=$44;
$41=$94;
$42=-1;
var $95=$41;
var $96=$42;
var $97=(($95)|(0))==(($96)|(0));
if ($97) { label = 8; break; } else { label = 9; break; }
case 8:
var $99=(($70)|0);
HEAP32[(($99)>>2)]=0;
label = 9; break;
case 9:
var $100=(($70)|0);
var $101=HEAP32[(($100)>>2)];
var $102=(($101)|(0))==0;
var $103=(($102)&(1));
var $104=$48;
$40=$104;
var $105=$40;
var $106=(($105)|0);
var $107=HEAP32[(($106)>>2)];
var $108=(($107)|(0))!=0;
if ($108) { label = 10; break; } else { label = 16; break; }
case 10:
var $110=(($105)|0);
var $111=HEAP32[(($110)>>2)];
$39=$111;
var $112=$39;
var $113=(($112+12)|0);
var $114=HEAP32[(($113)>>2)];
var $115=(($112+16)|0);
var $116=HEAP32[(($115)>>2)];
var $117=(($114)|(0))==(($116)|(0));
if ($117) { label = 11; break; } else { label = 13; break; }
case 11:
var $119=$112;
var $120=HEAP32[(($119)>>2)];
var $121=(($120+36)|0);
var $122=HEAP32[(($121)>>2)];
var $123 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$122]($112) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 12; break; } else { label = 26; break; }
case 12:
$38=$123;
label = 14; break;
case 13:
var $125=(($112+12)|0);
var $126=HEAP32[(($125)>>2)];
var $127=HEAP32[(($126)>>2)];
$37=$127;
var $128=$37;
$38=$128;
label = 14; break;
case 14:
var $129=$38;
$35=$129;
$36=-1;
var $130=$35;
var $131=$36;
var $132=(($130)|(0))==(($131)|(0));
if ($132) { label = 15; break; } else { label = 16; break; }
case 15:
var $134=(($105)|0);
HEAP32[(($134)>>2)]=0;
label = 16; break;
case 16:
var $135=(($105)|0);
var $136=HEAP32[(($135)>>2)];
var $137=(($136)|(0))==0;
var $138=(($137)&(1));
var $139=(($103)|(0))==(($138)|(0));
var $140=$139 ^ 1;
label = 17; break;
case 17:
if ($140) { label = 18; break; } else { label = 34; break; }
case 18:
$34=$__b;
var $143=$34;
var $144=(($143)|0);
var $145=HEAP32[(($144)>>2)];
$33=$145;
var $146=$33;
var $147=(($146+12)|0);
var $148=HEAP32[(($147)>>2)];
var $149=(($146+16)|0);
var $150=HEAP32[(($149)>>2)];
var $151=(($148)|(0))==(($150)|(0));
if ($151) { label = 19; break; } else { label = 21; break; }
case 19:
var $153=$146;
var $154=HEAP32[(($153)>>2)];
var $155=(($154+36)|0);
var $156=HEAP32[(($155)>>2)];
var $157 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$156]($146) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 20; break; } else { label = 26; break; }
case 20:
$32=$157;
label = 22; break;
case 21:
var $159=(($146+12)|0);
var $160=HEAP32[(($159)>>2)];
var $161=HEAP32[(($160)>>2)];
$31=$161;
var $162=$31;
$32=$162;
label = 22; break;
case 22:
var $163=$32;
label = 23; break;
case 23:
var $165=$__base;
var $166=(($__a)|0);
var $167=HEAP32[(($__thousands_sep)>>2)];
var $168=(($__g)|0);
var $169=(($__atoms)|0);
var $170 = (function() { try { __THREW__ = 0; return __ZNSt3__19__num_getIwE17__stage2_int_loopEwiPcRS2_RjwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_Pw($163, $165, $166, $__a_end, $__dc, $167, $__grouping, $168, $__g_end, $169) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 24; break; } else { label = 26; break; }
case 24:
var $172=(($170)|(0))!=0;
if ($172) { label = 25; break; } else { label = 27; break; }
case 25:
label = 34; break;
case 26:
var $175$0 = ___cxa_find_matching_catch(-1, -1); $175$1 = tempRet0;
var $176=$175$0;
$55=$176;
var $177=$175$1;
$56=$177;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__grouping);
label = 60; break;
case 27:
label = 28; break;
case 28:
$30=$__b;
var $180=$30;
var $181=(($180)|0);
var $182=HEAP32[(($181)>>2)];
$29=$182;
var $183=$29;
var $184=(($183+12)|0);
var $185=HEAP32[(($184)>>2)];
var $186=(($183+16)|0);
var $187=HEAP32[(($186)>>2)];
var $188=(($185)|(0))==(($187)|(0));
if ($188) { label = 29; break; } else { label = 31; break; }
case 29:
var $190=$183;
var $191=HEAP32[(($190)>>2)];
var $192=(($191+40)|0);
var $193=HEAP32[(($192)>>2)];
var $194 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$193]($183) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 30; break; } else { label = 26; break; }
case 30:
$28=$194;
label = 32; break;
case 31:
var $196=(($183+12)|0);
var $197=HEAP32[(($196)>>2)];
var $198=(($197+4)|0);
HEAP32[(($196)>>2)]=$198;
var $199=HEAP32[(($197)>>2)];
$27=$199;
var $200=$27;
$28=$200;
label = 32; break;
case 32:
var $201=$28;
label = 33; break;
case 33:
label = 2; break;
case 34:
$26=$__grouping;
var $204=$26;
$25=$204;
var $205=$25;
var $206=(($205)|0);
$24=$206;
var $207=$24;
var $208=$207;
$23=$208;
var $209=$23;
var $210=(($209)|0);
var $211=(($210)|0);
var $212=$211;
var $213=(($212)|0);
var $214=$213;
var $215=HEAP8[($214)];
var $216=(($215)&(255));
var $217=$216 & 1;
var $218=(($217)|(0))!=0;
if ($218) { label = 35; break; } else { label = 36; break; }
case 35:
$19=$204;
var $220=$19;
var $221=(($220)|0);
$18=$221;
var $222=$18;
var $223=$222;
$17=$223;
var $224=$17;
var $225=(($224)|0);
var $226=(($225)|0);
var $227=$226;
var $228=(($227+4)|0);
var $229=HEAP32[(($228)>>2)];
var $244 = $229;label = 37; break;
case 36:
$22=$204;
var $231=$22;
var $232=(($231)|0);
$21=$232;
var $233=$21;
var $234=$233;
$20=$234;
var $235=$20;
var $236=(($235)|0);
var $237=(($236)|0);
var $238=$237;
var $239=(($238)|0);
var $240=$239;
var $241=HEAP8[($240)];
var $242=(($241)&(255));
var $243=$242 >> 1;
var $244 = $243;label = 37; break;
case 37:
var $244;
var $245=(($244)|(0))!=0;
if ($245) { label = 38; break; } else { label = 40; break; }
case 38:
var $247=HEAP32[(($__g_end)>>2)];
var $248=(($__g)|0);
var $249=$247;
var $250=$248;
var $251=((($249)-($250))|0);
var $252=((((($251)|(0)))/(4))&-1);
var $253=(($252)|(0)) < 40;
if ($253) { label = 39; break; } else { label = 40; break; }
case 39:
var $255=HEAP32[(($__dc)>>2)];
var $256=HEAP32[(($__g_end)>>2)];
var $257=(($256+4)|0);
HEAP32[(($__g_end)>>2)]=$257;
HEAP32[(($256)>>2)]=$255;
label = 40; break;
case 40:
var $259=(($__a)|0);
var $260=HEAP32[(($__a_end)>>2)];
var $261=$53;
var $262=$__base;
var $263 = (function() { try { __THREW__ = 0; return __ZNSt3__125__num_get_signed_integralIlEET_PKcS3_Rji($259, $260, $261, $262) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 41; break; } else { label = 26; break; }
case 41:
var $265=$54;
HEAP32[(($265)>>2)]=$263;
var $266=(($__g)|0);
var $267=HEAP32[(($__g_end)>>2)];
var $268=$53;
(function() { try { __THREW__ = 0; return __ZNSt3__116__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($__grouping, $266, $267, $268) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 42; break; } else { label = 26; break; }
case 42:
$15=$__b;
$16=$__e;
var $270=$15;
var $271=$16;
$13=$270;
$14=$271;
var $272=$13;
$12=$272;
var $273=$12;
var $274=(($273)|0);
var $275=HEAP32[(($274)>>2)];
var $276=(($275)|(0))!=0;
if ($276) { label = 43; break; } else { label = 49; break; }
case 43:
var $278=(($273)|0);
var $279=HEAP32[(($278)>>2)];
$11=$279;
var $280=$11;
var $281=(($280+12)|0);
var $282=HEAP32[(($281)>>2)];
var $283=(($280+16)|0);
var $284=HEAP32[(($283)>>2)];
var $285=(($282)|(0))==(($284)|(0));
if ($285) { label = 44; break; } else { label = 46; break; }
case 44:
var $287=$280;
var $288=HEAP32[(($287)>>2)];
var $289=(($288+36)|0);
var $290=HEAP32[(($289)>>2)];
var $291 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$290]($280) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 45; break; } else { label = 26; break; }
case 45:
$10=$291;
label = 47; break;
case 46:
var $293=(($280+12)|0);
var $294=HEAP32[(($293)>>2)];
var $295=HEAP32[(($294)>>2)];
$9=$295;
var $296=$9;
$10=$296;
label = 47; break;
case 47:
var $297=$10;
$7=$297;
$8=-1;
var $298=$7;
var $299=$8;
var $300=(($298)|(0))==(($299)|(0));
if ($300) { label = 48; break; } else { label = 49; break; }
case 48:
var $302=(($273)|0);
HEAP32[(($302)>>2)]=0;
label = 49; break;
case 49:
var $303=(($273)|0);
var $304=HEAP32[(($303)>>2)];
var $305=(($304)|(0))==0;
var $306=(($305)&(1));
var $307=$14;
$6=$307;
var $308=$6;
var $309=(($308)|0);
var $310=HEAP32[(($309)>>2)];
var $311=(($310)|(0))!=0;
if ($311) { label = 50; break; } else { label = 56; break; }
case 50:
var $313=(($308)|0);
var $314=HEAP32[(($313)>>2)];
$5=$314;
var $315=$5;
var $316=(($315+12)|0);
var $317=HEAP32[(($316)>>2)];
var $318=(($315+16)|0);
var $319=HEAP32[(($318)>>2)];
var $320=(($317)|(0))==(($319)|(0));
if ($320) { label = 51; break; } else { label = 53; break; }
case 51:
var $322=$315;
var $323=HEAP32[(($322)>>2)];
var $324=(($323+36)|0);
var $325=HEAP32[(($324)>>2)];
var $326 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$325]($315) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 52; break; } else { label = 26; break; }
case 52:
$4=$326;
label = 54; break;
case 53:
var $328=(($315+12)|0);
var $329=HEAP32[(($328)>>2)];
var $330=HEAP32[(($329)>>2)];
$3=$330;
var $331=$3;
$4=$331;
label = 54; break;
case 54:
var $332=$4;
$1=$332;
$2=-1;
var $333=$1;
var $334=$2;
var $335=(($333)|(0))==(($334)|(0));
if ($335) { label = 55; break; } else { label = 56; break; }
case 55:
var $337=(($308)|0);
HEAP32[(($337)>>2)]=0;
label = 56; break;
case 56:
var $338=(($308)|0);
var $339=HEAP32[(($338)>>2)];
var $340=(($339)|(0))==0;
var $341=(($340)&(1));
var $342=(($306)|(0))==(($341)|(0));
label = 57; break;
case 57:
if ($342) { label = 58; break; } else { label = 59; break; }
case 58:
var $345=$53;
var $346=HEAP32[(($345)>>2)];
var $347=$346 | 2;
HEAP32[(($345)>>2)]=$347;
label = 59; break;
case 59:
var $349=$agg_result;
var $350=$__b;
assert(4 % 1 === 0);HEAP32[(($349)>>2)]=HEAP32[(($350)>>2)];
$57=1;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__grouping);
STACKTOP = __stackBase__;
return;
case 60:
var $352=$55;
var $353=$56;
var $354$0=$352;
var $354$1=0;
var $355$0=$354$0;
var $355$1=$353;
___resumeException($355$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__19__num_getIwE17__stage2_int_prepERNS_8ios_baseEPwRw($agg_result, $__iob, $__atoms, $__thousands_sep) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 4)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $__loc=__stackBase__;
var $12;
var $13;
var $__np;
var $14;
$9=$__iob;
$10=$__atoms;
$11=$__thousands_sep;
var $15=$9;
__ZNKSt3__18ios_base6getlocEv($__loc, $15);
$8=$__loc;
var $16=$8;
var $17 = (function() { try { __THREW__ = 0; return __ZNKSt3__16locale9use_facetERNS0_2idE($16, 5255412) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 2; break; } else { label = 12; break; }
case 2:
var $18=$17;
label = 3; break;
case 3:
var $20=$10;
$4=$18;
$5=((5255860)|0);
$6=((5255886)|0);
$7=$20;
var $21=$4;
var $22=$21;
var $23=HEAP32[(($22)>>2)];
var $24=(($23+48)|0);
var $25=HEAP32[(($24)>>2)];
var $26=$5;
var $27=$6;
var $28=$7;
var $29 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$25]($21, $26, $27, $28) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 4; break; } else { label = 12; break; }
case 4:
label = 5; break;
case 5:
$3=$__loc;
var $31=$3;
var $32 = (function() { try { __THREW__ = 0; return __ZNKSt3__16locale9use_facetERNS0_2idE($31, 5255044) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 6; break; } else { label = 12; break; }
case 6:
var $33=$32;
label = 7; break;
case 7:
$__np=$33;
var $35=$__np;
$2=$35;
var $36=$2;
var $37=$36;
var $38=HEAP32[(($37)>>2)];
var $39=(($38+16)|0);
var $40=HEAP32[(($39)>>2)];
var $41 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$40]($36) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 8; break; } else { label = 12; break; }
case 8:
label = 9; break;
case 9:
var $43=$11;
HEAP32[(($43)>>2)]=$41;
var $44=$__np;
$1=$44;
var $45=$1;
var $46=$45;
var $47=HEAP32[(($46)>>2)];
var $48=(($47+20)|0);
var $49=HEAP32[(($48)>>2)];
(function() { try { __THREW__ = 0; return FUNCTION_TABLE[$49]($agg_result, $45) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 10; break; } else { label = 12; break; }
case 10:
label = 11; break;
case 11:
$14=1;
__ZNSt3__16localeD2Ev($__loc);
STACKTOP = __stackBase__;
return;
case 12:
var $52$0 = ___cxa_find_matching_catch(-1, -1); $52$1 = tempRet0;
var $53=$52$0;
$12=$53;
var $54=$52$1;
$13=$54;
__ZNSt3__16localeD2Ev($__loc);
label = 13; break;
case 13:
var $56=$12;
var $57=$13;
var $58$0=$56;
var $58$1=0;
var $59$0=$58$0;
var $59$1=$57;
___resumeException($59$0)
default: assert(0, "bad label: " + label);
}
}
function __ZNSt3__19__num_getIwE17__stage2_int_loopEwiPcRS2_RjwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_Pw($__ct, $__base, $__a, $__a_end, $__dc, $__thousands_sep, $__grouping, $__g, $__g_end, $__atoms) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 4)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15=__stackBase__;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $__f;
HEAP32[(($15)>>2)]=$__ct;
$16=$__base;
$17=$__a;
$18=$__a_end;
$19=$__dc;
$20=$__thousands_sep;
$21=$__grouping;
$22=$__g;
$23=$__g_end;
$24=$__atoms;
var $25=$18;
var $26=HEAP32[(($25)>>2)];
var $27=$17;
var $28=(($26)|(0))==(($27)|(0));
if ($28) { label = 2; break; } else { label = 5; break; }
case 2:
var $30=HEAP32[(($15)>>2)];
var $31=$24;
var $32=(($31+96)|0);
var $33=HEAP32[(($32)>>2)];
var $34=(($30)|(0))==(($33)|(0));
if ($34) { label = 4; break; } else { label = 3; break; }
case 3:
var $36=HEAP32[(($15)>>2)];
var $37=$24;
var $38=(($37+100)|0);
var $39=HEAP32[(($38)>>2)];
var $40=(($36)|(0))==(($39)|(0));
if ($40) { label = 4; break; } else { label = 5; break; }
case 4:
var $42=HEAP32[(($15)>>2)];
var $43=$24;
var $44=(($43+96)|0);
var $45=HEAP32[(($44)>>2)];
var $46=(($42)|(0))==(($45)|(0));
var $47=$46 ? 43 : 45;
var $48=$18;
var $49=HEAP32[(($48)>>2)];
var $50=(($49+1)|0);
HEAP32[(($48)>>2)]=$50;
HEAP8[($49)]=$47;
var $51=$19;
HEAP32[(($51)>>2)]=0;
$14=0;
label = 34; break;
case 5:
var $53=$21;
$13=$53;
var $54=$13;
$12=$54;
var $55=$12;
var $56=(($55)|0);
$11=$56;
var $57=$11;
var $58=$57;
$10=$58;
var $59=$10;
var $60=(($59)|0);
var $61=(($60)|0);
var $62=$61;
var $63=(($62)|0);
var $64=$63;
var $65=HEAP8[($64)];
var $66=(($65)&(255));
var $67=$66 & 1;
var $68=(($67)|(0))!=0;
if ($68) { label = 6; break; } else { label = 7; break; }
case 6:
$6=$54;
var $70=$6;
var $71=(($70)|0);
$5=$71;
var $72=$5;
var $73=$72;
$4=$73;
var $74=$4;
var $75=(($74)|0);
var $76=(($75)|0);
var $77=$76;
var $78=(($77+4)|0);
var $79=HEAP32[(($78)>>2)];
var $94 = $79;label = 8; break;
case 7:
$9=$54;
var $81=$9;
var $82=(($81)|0);
$8=$82;
var $83=$8;
var $84=$83;
$7=$84;
var $85=$7;
var $86=(($85)|0);
var $87=(($86)|0);
var $88=$87;
var $89=(($88)|0);
var $90=$89;
var $91=HEAP8[($90)];
var $92=(($91)&(255));
var $93=$92 >> 1;
var $94 = $93;label = 8; break;
case 8:
var $94;
var $95=(($94)|(0))!=0;
if ($95) { label = 9; break; } else { label = 13; break; }
case 9:
var $97=HEAP32[(($15)>>2)];
var $98=$20;
var $99=(($97)|(0))==(($98)|(0));
if ($99) { label = 10; break; } else { label = 13; break; }
case 10:
var $101=$23;
var $102=HEAP32[(($101)>>2)];
var $103=$22;
var $104=$102;
var $105=$103;
var $106=((($104)-($105))|0);
var $107=((((($106)|(0)))/(4))&-1);
var $108=(($107)|(0)) < 40;
if ($108) { label = 11; break; } else { label = 12; break; }
case 11:
var $110=$19;
var $111=HEAP32[(($110)>>2)];
var $112=$23;
var $113=HEAP32[(($112)>>2)];
var $114=(($113+4)|0);
HEAP32[(($112)>>2)]=$114;
HEAP32[(($113)>>2)]=$111;
var $115=$19;
HEAP32[(($115)>>2)]=0;
label = 12; break;
case 12:
$14=0;
label = 34; break;
case 13:
var $118=$24;
var $119=$24;
var $120=(($119+104)|0);
$1=$118;
$2=$120;
$3=$15;
label = 14; break;
case 14:
var $122=$1;
var $123=$2;
var $124=(($122)|(0))!=(($123)|(0));
if ($124) { label = 15; break; } else { label = 18; break; }
case 15:
var $126=$1;
var $127=HEAP32[(($126)>>2)];
var $128=$3;
var $129=HEAP32[(($128)>>2)];
var $130=(($127)|(0))==(($129)|(0));
if ($130) { label = 16; break; } else { label = 17; break; }
case 16:
label = 18; break;
case 17:
var $133=$1;
var $134=(($133+4)|0);
$1=$134;
label = 14; break;
case 18:
var $135=$1;
var $136=$24;
var $137=$135;
var $138=$136;
var $139=((($137)-($138))|0);
var $140=((((($139)|(0)))/(4))&-1);
$__f=$140;
var $141=$__f;
var $142=(($141)|(0)) >= 24;
if ($142) { label = 19; break; } else { label = 20; break; }
case 19:
$14=-1;
label = 34; break;
case 20:
var $145=$16;
if ((($145)|(0))==8 | (($145)|(0))==10) {
label = 21; break;
}
else if ((($145)|(0))==16) {
label = 24; break;
}
else {
label = 31; break;
}
case 21:
var $147=$__f;
var $148=$16;
var $149=(($147)|(0)) >= (($148)|(0));
if ($149) { label = 22; break; } else { label = 23; break; }
case 22:
$14=-1;
label = 34; break;
case 23:
label = 31; break;
case 24:
var $153=$__f;
var $154=(($153)|(0)) < 22;
if ($154) { label = 25; break; } else { label = 26; break; }
case 25:
label = 31; break;
case 26:
var $157=$18;
var $158=HEAP32[(($157)>>2)];
var $159=$17;
var $160=(($158)|(0))!=(($159)|(0));
if ($160) { label = 27; break; } else { label = 30; break; }
case 27:
var $162=$18;
var $163=HEAP32[(($162)>>2)];
var $164=$17;
var $165=$163;
var $166=$164;
var $167=((($165)-($166))|0);
var $168=(($167)|(0)) <= 2;
if ($168) { label = 28; break; } else { label = 30; break; }
case 28:
var $170=$18;
var $171=HEAP32[(($170)>>2)];
var $172=((($171)-(1))|0);
var $173=HEAP8[($172)];
var $174=(($173 << 24) >> 24);
var $175=(($174)|(0))==48;
if ($175) { label = 29; break; } else { label = 30; break; }
case 29:
var $177=$19;
HEAP32[(($177)>>2)]=0;
var $178=$__f;
var $179=((5255860+$178)|0);
var $180=HEAP8[($179)];
var $181=$18;
var $182=HEAP32[(($181)>>2)];
var $183=(($182+1)|0);
HEAP32[(($181)>>2)]=$183;
HEAP8[($182)]=$180;
$14=0;
label = 34; break;
case 30:
$14=-1;
label = 34; break;
case 31:
var $186=$18;
var $187=HEAP32[(($186)>>2)];
var $188=$17;
var $189=$187;
var $190=$188;
var $191=((($189)-($190))|0);
var $192=(($191)|(0)) < 39;
if ($192) { label = 32; break; } else { label = 33; break; }
case 32:
var $194=$__f;
var $195=((5255860+$194)|0);
var $196=HEAP8[($195)];
var $197=$18;
var $198=HEAP32[(($197)>>2)];
var $199=(($198+1)|0);
HEAP32[(($197)>>2)]=$199;
HEAP8[($198)]=$196;
label = 33; break;
case 33:
var $201=$19;
var $202=HEAP32[(($201)>>2)];
var $203=((($202)+(1))|0);
HEAP32[(($201)>>2)]=$203;
$14=0;
label = 34; break;
case 34:
var $205=$14;
STACKTOP = __stackBase__;
return $205;
default: assert(0, "bad label: " + label);
}
}
function __ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRx($agg_result, $this, $__b, $__e, $__iob, $__err, $__v) {
var label = 0;
var __stackBase__ = STACKTOP; STACKTOP = (STACKTOP + 332)|0; assert(!(STACKTOP&3)); assert((STACKTOP|0) < (STACK_MAX|0));
var tempParam = $__b; $__b = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__b)>>2)]=HEAP32[((tempParam)>>2)];
var tempParam = $__e; $__e = STACKTOP;STACKTOP = (STACKTOP + 4)|0;assert((STACKTOP|0) < (STACK_MAX|0));HEAP32[(($__e)>>2)]=HEAP32[((tempParam)>>2)];
label = 1;
while(1) switch(label) {
case 1:
var $1;
var $2;
var $3;
var $4;
var $5;
var $6;
var $7;
var $8;
var $9;
var $10;
var $11;
var $12;
var $13;
var $14;
var $15;
var $16;
var $17;
var $18;
var $19;
var $20;
var $21;
var $22;
var $23;
var $24;
var $25;
var $26;
var $27;
var $28;
var $29;
var $30;
var $31;
var $32;
var $33;
var $34;
var $35;
var $36;
var $37;
var $38;
var $39;
var $40;
var $41;
var $42;
var $43;
var $44;
var $45;
var $46;
var $47;
var $48;
var $49;
var $50;
var $51;
var $52;
var $53;
var $54;
var $__base;
var $__atoms=__stackBase__;
var $__thousands_sep=(__stackBase__)+(104);
var $__grouping=(__stackBase__)+(108);
var $__a=(__stackBase__)+(120);
var $__a_end=(__stackBase__)+(160);
var $__g=(__stackBase__)+(164);
var $__g_end=(__stackBase__)+(324);
var $__dc=(__stackBase__)+(328);
var $55;
var $56;
var $57;
$51=$this;
$52=$__iob;
$53=$__err;
$54=$__v;
var $58=$51;
var $59=$52;
var $60=__ZNSt3__114__num_get_base10__get_baseERNS_8ios_baseE($59);
$__base=$60;
var $61=$52;
var $62=(($__atoms)|0);
__ZNSt3__19__num_getIwE17__stage2_int_prepERNS_8ios_baseEPwRw($__grouping, $61, $62, $__thousands_sep);
var $63=$__a;
_memset($63, 0, 40);
var $64=(($__a)|0);
HEAP32[(($__a_end)>>2)]=$64;
var $65=(($__g)|0);
HEAP32[(($__g_end)>>2)]=$65;
HEAP32[(($__dc)>>2)]=0;
label = 2; break;
case 2:
$49=$__b;
$50=$__e;
var $67=$49;
var $68=$50;
$47=$67;
$48=$68;
var $69=$47;
$46=$69;
var $70=$46;
var $71=(($70)|0);
var $72=HEAP32[(($71)>>2)];
var $73=(($72)|(0))!=0;
if ($73) { label = 3; break; } else { label = 9; break; }
case 3:
var $75=(($70)|0);
var $76=HEAP32[(($75)>>2)];
$45=$76;
var $77=$45;
var $78=(($77+12)|0);
var $79=HEAP32[(($78)>>2)];
var $80=(($77+16)|0);
var $81=HEAP32[(($80)>>2)];
var $82=(($79)|(0))==(($81)|(0));
if ($82) { label = 4; break; } else { label = 6; break; }
case 4:
var $84=$77;
var $85=HEAP32[(($84)>>2)];
var $86=(($85+36)|0);
var $87=HEAP32[(($86)>>2)];
var $88 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$87]($77) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 5; break; } else { label = 26; break; }
case 5:
$44=$88;
label = 7; break;
case 6:
var $90=(($77+12)|0);
var $91=HEAP32[(($90)>>2)];
var $92=HEAP32[(($91)>>2)];
$43=$92;
var $93=$43;
$44=$93;
label = 7; break;
case 7:
var $94=$44;
$41=$94;
$42=-1;
var $95=$41;
var $96=$42;
var $97=(($95)|(0))==(($96)|(0));
if ($97) { label = 8; break; } else { label = 9; break; }
case 8:
var $99=(($70)|0);
HEAP32[(($99)>>2)]=0;
label = 9; break;
case 9:
var $100=(($70)|0);
var $101=HEAP32[(($100)>>2)];
var $102=(($101)|(0))==0;
var $103=(($102)&(1));
var $104=$48;
$40=$104;
var $105=$40;
var $106=(($105)|0);
var $107=HEAP32[(($106)>>2)];
var $108=(($107)|(0))!=0;
if ($108) { label = 10; break; } else { label = 16; break; }
case 10:
var $110=(($105)|0);
var $111=HEAP32[(($110)>>2)];
$39=$111;
var $112=$39;
var $113=(($112+12)|0);
var $114=HEAP32[(($113)>>2)];
var $115=(($112+16)|0);
var $116=HEAP32[(($115)>>2)];
var $117=(($114)|(0))==(($116)|(0));
if ($117) { label = 11; break; } else { label = 13; break; }
case 11:
var $119=$112;
var $120=HEAP32[(($119)>>2)];
var $121=(($120+36)|0);
var $122=HEAP32[(($121)>>2)];
var $123 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$122]($112) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 12; break; } else { label = 26; break; }
case 12:
$38=$123;
label = 14; break;
case 13:
var $125=(($112+12)|0);
var $126=HEAP32[(($125)>>2)];
var $127=HEAP32[(($126)>>2)];
$37=$127;
var $128=$37;
$38=$128;
label = 14; break;
case 14:
var $129=$38;
$35=$129;
$36=-1;
var $130=$35;
var $131=$36;
var $132=(($130)|(0))==(($131)|(0));
if ($132) { label = 15; break; } else { label = 16; break; }
case 15:
var $134=(($105)|0);
HEAP32[(($134)>>2)]=0;
label = 16; break;
case 16:
var $135=(($105)|0);
var $136=HEAP32[(($135)>>2)];
var $137=(($136)|(0))==0;
var $138=(($137)&(1));
var $139=(($103)|(0))==(($138)|(0));
var $140=$139 ^ 1;
label = 17; break;
case 17:
if ($140) { label = 18; break; } else { label = 34; break; }
case 18:
$34=$__b;
var $143=$34;
var $144=(($143)|0);
var $145=HEAP32[(($144)>>2)];
$33=$145;
var $146=$33;
var $147=(($146+12)|0);
var $148=HEAP32[(($147)>>2)];
var $149=(($146+16)|0);
var $150=HEAP32[(($149)>>2)];
var $151=(($148)|(0))==(($150)|(0));
if ($151) { label = 19; break; } else { label = 21; break; }
case 19:
var $153=$146;
var $154=HEAP32[(($153)>>2)];
var $155=(($154+36)|0);
var $156=HEAP32[(($155)>>2)];
var $157 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$156]($146) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 20; break; } else { label = 26; break; }
case 20:
$32=$157;
label = 22; break;
case 21:
var $159=(($146+12)|0);
var $160=HEAP32[(($159)>>2)];
var $161=HEAP32[(($160)>>2)];
$31=$161;
var $162=$31;
$32=$162;
label = 22; break;
case 22:
var $163=$32;
label = 23; break;
case 23:
var $165=$__base;
var $166=(($__a)|0);
var $167=HEAP32[(($__thousands_sep)>>2)];
var $168=(($__g)|0);
var $169=(($__atoms)|0);
var $170 = (function() { try { __THREW__ = 0; return __ZNSt3__19__num_getIwE17__stage2_int_loopEwiPcRS2_RjwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_Pw($163, $165, $166, $__a_end, $__dc, $167, $__grouping, $168, $__g_end, $169) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 24; break; } else { label = 26; break; }
case 24:
var $172=(($170)|(0))!=0;
if ($172) { label = 25; break; } else { label = 27; break; }
case 25:
label = 34; break;
case 26:
var $175$0 = ___cxa_find_matching_catch(-1, -1); $175$1 = tempRet0;
var $176=$175$0;
$55=$176;
var $177=$175$1;
$56=$177;
__ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev($__grouping);
label = 60; break;
case 27:
label = 28; break;
case 28:
$30=$__b;
var $180=$30;
var $181=(($180)|0);
var $182=HEAP32[(($181)>>2)];
$29=$182;
var $183=$29;
var $184=(($183+12)|0);
var $185=HEAP32[(($184)>>2)];
var $186=(($183+16)|0);
var $187=HEAP32[(($186)>>2)];
var $188=(($185)|(0))==(($187)|(0));
if ($188) { label = 29; break; } else { label = 31; break; }
case 29:
var $190=$183;
var $191=HEAP32[(($190)>>2)];
var $192=(($191+40)|0);
var $193=HEAP32[(($192)>>2)];
var $194 = (function() { try { __THREW__ = 0; return FUNCTION_TABLE[$193]($183) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = 1; return null } })();if (!__THREW__) { label = 30; break; } else { label = 26; break; }
case 30:
$28=$194;
label = 32; break;
case 31:
var $196=(($183+12)|0);
var $197=HEAP32[(($196)>>2)];
var $198=(($197+4)|0);
HEAP32[(($196)>>2)]=$198;
var $199=HEAP32[(($197)>>2)];
$27=$199;
var $200=$27;
$28=$200;
label = 32; break;
case 32:
var $201=$28;
label = 33; break;
case 33:
label = 2; break;
case 34:
$26=$__grouping;
var $204=$26;
$25=$204;
var $205=$25;
var $206=(($205)|0);
$24=$206;
var $207=$24;
var $208=$207;
$23=$208;
var $209=$23;
var $210=(($209)|0);
var $211=(($210)|0);
var $212=$211;
var $213=(($212)|0);
var $214=$213;
var $215=HEAP8[($214)];
var $216=(($215)&(255));
var $217=$216 & 1;
var $218=(($217)|(0))!=0;
if ($218) { label = 35; break; } else { label = 36; break; }
case 35:
$19=$204;
var $220=$19;
var $221=(($220)|0);
$18=$221;
var $222=$18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment