// The Module object: Our interface to the outside world. We import // and export values on it, and do the work to get that through // closure compiler if necessary. There are various ways Module can be used: // 1. Not defined. We create it here // 2. A function parameter, function(Module) { ..generated code.. } // 3. pre-run appended it, var Module = {}; ..generated code.. // 4. External script tag defines var Module. // We need to do an eval in order to handle the closure compiler // case, where this code here is minified but Module was defined // elsewhere (e.g. case 4 above). We also need to check if Module // already exists (e.g. case 3 above). // Note that if you want to run closure, and also to use Module // after the generated code, you will need to define var Module = {}; // before the code. Then that object will be used in the code, and you // can continue to use Module afterwards as well. var Module; if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; // Sometimes an existing Module object exists with properties // meant to overwrite the default module functionality. Here // we collect those properties and reapply _after_ we configure // the current environment's defaults to avoid having to be so // defensive during initialization. var moduleOverrides = {}; for (var key in Module) { if (Module.hasOwnProperty(key)) { moduleOverrides[key] = Module[key]; } } // The environment setup code below is customized to use Module. // *** Environment setup code *** var ENVIRONMENT_IS_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 if (!Module['print']) Module['print'] = function print(x) { process['stdout'].write(x + '\n'); }; if (!Module['printErr']) Module['printErr'] = function printErr(x) { process['stderr'].write(x + '\n'); }; var nodeFS = require('fs'); var nodePath = require('path'); Module['read'] = function read(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 readBinary(filename) { return Module['read'](filename, true) }; Module['load'] = function load(f) { globalEval(read(f)); }; Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); Module['arguments'] = process['argv'].slice(2); if (typeof module !== 'undefined') { module['exports'] = Module; } process['on']('uncaughtException', function(ex) { // suppress ExitStatus exceptions from showing an error if (!(ex instanceof ExitStatus)) { throw ex; } }); } else if (ENVIRONMENT_IS_SHELL) { if (!Module['print']) Module['print'] = print; if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm if (typeof read != 'undefined') { Module['read'] = read; } else { Module['read'] = function read() { throw 'no read() available (jsc?)' }; } Module['readBinary'] = function readBinary(f) { if (typeof readbuffer === 'function') { return new Uint8Array(readbuffer(f)); } var data = read(f, 'binary'); assert(typeof data === 'object'); return data; }; if (typeof scriptArgs != 'undefined') { Module['arguments'] = scriptArgs; } else if (typeof arguments != 'undefined') { Module['arguments'] = arguments; } this['Module'] = Module; } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { Module['read'] = function read(url) { var xhr = new XMLHttpRequest(); xhr.open('GET', url, false); xhr.send(null); return xhr.responseText; }; if (typeof arguments != 'undefined') { Module['arguments'] = arguments; } if (typeof console !== 'undefined') { if (!Module['print']) Module['print'] = function print(x) { console.log(x); }; if (!Module['printErr']) Module['printErr'] = function printErr(x) { console.log(x); }; } else { // Probably a worker, and without console.log. We can do very little here... var TRY_USE_DUMP = false; if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { dump(x); }) : (function(x) { // self.postMessage(x); // enable this if you want stdout to be sent as messages })); } if (ENVIRONMENT_IS_WEB) { window['Module'] = Module; } else { Module['load'] = importScripts; } } else { // Unreachable because SHELL is dependant on the others throw 'Unknown runtime environment. Where are we?'; } function globalEval(x) { eval.call(null, x); } if (!Module['load'] && Module['read']) { Module['load'] = function load(f) { globalEval(Module['read'](f)); }; } if (!Module['print']) { Module['print'] = function(){}; } if (!Module['printErr']) { Module['printErr'] = Module['print']; } if (!Module['arguments']) { Module['arguments'] = []; } if (!Module['thisProgram']) { Module['thisProgram'] = './this.program'; } // *** Environment setup code *** // Closure helpers Module.print = Module['print']; Module.printErr = Module['printErr']; // Callbacks Module['preRun'] = []; Module['postRun'] = []; // Merge back in the overrides for (var key in moduleOverrides) { if (moduleOverrides.hasOwnProperty(key)) { Module[key] = moduleOverrides[key]; } } // === Preamble library stuff === // Documentation for the public APIs defined in this file must be updated in: // site/source/docs/api_reference/preamble.js.rst // A prebuilt local version of the documentation is available at: // site/build/text/docs/api_reference/preamble.js.txt // You can also build docs locally as HTML or other formats in site/ // An online HTML version (which may be of a different version of Emscripten) // is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html //======================================== // Runtime code shared with compiler //======================================== var Runtime = { setTempRet0: function (value) { tempRet0 = value; }, getTempRet0: function () { return tempRet0; }, stackSave: function () { return STACKTOP; }, stackRestore: function (stackTop) { STACKTOP = stackTop; }, getNativeTypeSize: function (type) { switch (type) { case 'i1': case 'i8': return 1; case 'i16': return 2; case 'i32': return 4; case 'i64': return 8; case 'float': return 4; case 'double': return 8; default: { if (type[type.length-1] === '*') { return Runtime.QUANTUM_SIZE; // A pointer } else if (type[0] === 'i') { var bits = parseInt(type.substr(1)); assert(bits % 8 === 0); return bits/8; } else { return 0; } } } }, getNativeFieldSize: function (type) { return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); }, STACK_ALIGN: 16, getAlignSize: function (type, size, vararg) { // we align i64s and doubles on 64-bit boundaries, unlike x86 if (!vararg && (type == 'i64' || type == 'double')) return 8; if (!type) return Math.min(size, 8); // align structures internally to 64 bits return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); }, dynCall: function (sig, ptr, args) { if (args && args.length) { assert(args.length == sig.length-1); if (!args.splice) args = Array.prototype.slice.call(args); args.splice(0, 0, ptr); assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); return Module['dynCall_' + sig].apply(null, args); } else { assert(sig.length == 1); assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); return Module['dynCall_' + sig].call(null, ptr); } }, functionPointers: [], addFunction: function (func) { for (var i = 0; i < Runtime.functionPointers.length; i++) { if (!Runtime.functionPointers[i]) { Runtime.functionPointers[i] = func; return 2*(1 + i); } } throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; }, removeFunction: function (index) { Runtime.functionPointers[(index-2)/2] = null; }, getAsmConst: function (code, numArgs) { // code is a constant string on the heap, so we can cache these if (!Runtime.asmConstCache) Runtime.asmConstCache = {}; var func = Runtime.asmConstCache[code]; if (func) return func; var args = []; for (var i = 0; i < numArgs; i++) { args.push(String.fromCharCode(36) + i); // $0, $1 etc } var source = Pointer_stringify(code); if (source[0] === '"') { // tolerate EM_ASM("..code..") even though EM_ASM(..code..) is correct if (source.indexOf('"', 1) === source.length-1) { source = source.substr(1, source.length-2); } else { // something invalid happened, e.g. EM_ASM("..code($0)..", input) abort('invalid EM_ASM input |' + source + '|. Please use EM_ASM(..code..) (no quotes) or EM_ASM({ ..code($0).. }, input) (to input values)'); } } try { // Module is the only 'upvar', which we provide directly. We also provide FS for legacy support. var evalled = eval('(function(Module, FS) { return function(' + args.join(',') + '){ ' + source + ' } })')(Module, typeof FS !== 'undefined' ? FS : null); } catch(e) { Module.printErr('error in executing inline EM_ASM code: ' + e + ' on: \n\n' + source + '\n\nwith args |' + args + '| (make sure to use the right one out of EM_ASM, EM_ASM_ARGS, etc.)'); throw e; } return Runtime.asmConstCache[code] = evalled; }, warnOnce: function (text) { if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; if (!Runtime.warnOnce.shown[text]) { Runtime.warnOnce.shown[text] = 1; Module.printErr(text); } }, funcWrappers: {}, getFuncWrapper: function (func, sig) { assert(sig); if (!Runtime.funcWrappers[sig]) { Runtime.funcWrappers[sig] = {}; } var sigCache = Runtime.funcWrappers[sig]; if (!sigCache[func]) { sigCache[func] = function dynCall_wrapper() { return Runtime.dynCall(sig, func, arguments); }; } return sigCache[func]; }, UTF8Processor: function () { var buffer = []; var needed = 0; this.processCChar = function (code) { code = code & 0xFF; if (buffer.length == 0) { if ((code & 0x80) == 0x00) { // 0xxxxxxx return String.fromCharCode(code); } buffer.push(code); if ((code & 0xE0) == 0xC0) { // 110xxxxx needed = 1; } else if ((code & 0xF0) == 0xE0) { // 1110xxxx needed = 2; } else { // 11110xxx needed = 3; } return ''; } if (needed) { buffer.push(code); needed--; if (needed > 0) return ''; } var c1 = buffer[0]; var c2 = buffer[1]; var c3 = buffer[2]; var c4 = buffer[3]; var ret; if (buffer.length == 2) { ret = String.fromCharCode(((c1 & 0x1F) << 6) | (c2 & 0x3F)); } else if (buffer.length == 3) { ret = String.fromCharCode(((c1 & 0x0F) << 12) | ((c2 & 0x3F) << 6) | (c3 & 0x3F)); } else { // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae var codePoint = ((c1 & 0x07) << 18) | ((c2 & 0x3F) << 12) | ((c3 & 0x3F) << 6) | (c4 & 0x3F); ret = String.fromCharCode( (((codePoint - 0x10000) / 0x400)|0) + 0xD800, (codePoint - 0x10000) % 0x400 + 0xDC00); } buffer.length = 0; return ret; } this.processJSString = function processJSString(string) { /* TODO: use TextEncoder when present, var encoder = new TextEncoder(); encoder['encoding'] = "utf-8"; var utf8Array = encoder['encode'](aMsg.data); */ string = unescape(encodeURIComponent(string)); var ret = []; for (var i = 0; i < string.length; i++) { ret.push(string.charCodeAt(i)); } return ret; } }, getCompilerSetting: function (name) { throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; }, stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, dynamicAlloc: function (size) { var ret = DYNAMICTOP;DYNAMICTOP = (DYNAMICTOP + (assert(DYNAMICTOP > 0),size))|0;DYNAMICTOP = (((DYNAMICTOP)+15)&-16); if (DYNAMICTOP >= TOTAL_MEMORY) enlargeMemory();; return ret; }, alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, GLOBAL_BASE: 8, QUANTUM_SIZE: 4, __dummy__: 0 } Module['Runtime'] = Runtime; //======================================== // Runtime essentials //======================================== var __THREW__ = 0; // Used in checking for thrown exceptions. var ABORT = false; // whether we are quitting the application. no code should run after this. set in exit() and abort() var EXITSTATUS = 0; 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, tempDouble, tempFloat; var tempI64, tempI64b; var tempRet0, tempRet1, tempRet2, tempRet3, tempRet4, tempRet5, tempRet6, tempRet7, tempRet8, tempRet9; function assert(condition, text) { if (!condition) { abort('Assertion failed: ' + text); } } var globalScope = this; // Returns the C function with a specified identifier (for C++, you need to do manual name mangling) function getCFunc(ident) { var func = Module['_' + ident]; // closure exported function if (!func) { try { func = eval('_' + ident); // explicit lookup } catch(e) {} } assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); return func; } var cwrap, ccall; (function(){ var stack = 0; var JSfuncs = { 'stackSave' : function() { stack = Runtime.stackSave(); }, 'stackRestore' : function() { Runtime.stackRestore(stack); }, // type conversion from js to c 'arrayToC' : function(arr) { var ret = Runtime.stackAlloc(arr.length); writeArrayToMemory(arr, ret); return ret; }, 'stringToC' : function(str) { var ret = 0; if (str !== null && str !== undefined && str !== 0) { // null string // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' ret = Runtime.stackAlloc((str.length << 2) + 1); writeStringToMemory(str, ret); } return ret; } }; // For fast lookup of conversion functions var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']}; // C calling interface. ccall = function ccallFunc(ident, returnType, argTypes, args) { var func = getCFunc(ident); var cArgs = []; assert(returnType !== 'array', 'Return type should not be "array".'); if (args) { for (var i = 0; i < args.length; i++) { var converter = toC[argTypes[i]]; if (converter) { if (stack === 0) stack = Runtime.stackSave(); cArgs[i] = converter(args[i]); } else { cArgs[i] = args[i]; } } } var ret = func.apply(null, cArgs); if (returnType === 'string') ret = Pointer_stringify(ret); if (stack !== 0) JSfuncs['stackRestore'](); return ret; } var sourceRegex = /^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; function parseJSFunc(jsfunc) { // Match the body and the return value of a javascript function source var parsed = jsfunc.toString().match(sourceRegex).slice(1); return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} } var JSsource = {}; for (var fun in JSfuncs) { if (JSfuncs.hasOwnProperty(fun)) { // Elements of toCsource are arrays of three items: // the code, and the return value JSsource[fun] = parseJSFunc(JSfuncs[fun]); } } cwrap = function cwrap(ident, returnType, argTypes) { argTypes = argTypes || []; var cfunc = getCFunc(ident); // When the function takes numbers and returns a number, we can just return // the original function var numericArgs = argTypes.every(function(type){ return type === 'number'}); var numericRet = (returnType !== 'string'); if ( numericRet && numericArgs) { return cfunc; } // Creation of the arguments list (["$1","$2",...,"$nargs"]) var argNames = argTypes.map(function(x,i){return '$'+i}); var funcstr = "(function(" + argNames.join(',') + ") {"; var nargs = argTypes.length; if (!numericArgs) { // Generate the code needed to convert the arguments from javascript // values to pointers funcstr += JSsource['stackSave'].body + ';'; for (var i = 0; i < nargs; i++) { var arg = argNames[i], type = argTypes[i]; if (type === 'number') continue; var convertCode = JSsource[type + 'ToC']; // [code, return] funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; funcstr += convertCode.body + ';'; funcstr += arg + '=' + convertCode.returnValue + ';'; } } // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; // Call the function funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; if (!numericRet) { // Return type can only by 'string' or 'number' // Convert the result to a string var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; funcstr += 'ret = ' + strgfy + '(ret);'; } if (!numericArgs) { // If we had a stack, restore it funcstr += JSsource['stackRestore'].body + ';'; } funcstr += 'return ret})'; return eval(funcstr); }; })(); Module["cwrap"] = cwrap; Module["ccall"] = ccall; function setValue(ptr, value, type, noSafe) { type = type || 'i8'; if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit switch(type) { case 'i1': HEAP8[((ptr)>>0)]=value; break; case 'i8': HEAP8[((ptr)>>0)]=value; break; case 'i16': HEAP16[((ptr)>>1)]=value; break; case 'i32': HEAP32[((ptr)>>2)]=value; break; case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; case 'float': HEAPF32[((ptr)>>2)]=value; break; case 'double': HEAPF64[((ptr)>>3)]=value; break; default: abort('invalid type for setValue: ' + type); } } Module['setValue'] = setValue; function getValue(ptr, type, noSafe) { type = type || 'i8'; if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit switch(type) { case 'i1': return HEAP8[((ptr)>>0)]; case 'i8': return HEAP8[((ptr)>>0)]; case 'i16': return HEAP16[((ptr)>>1)]; case 'i32': return HEAP32[((ptr)>>2)]; case 'i64': return HEAP32[((ptr)>>2)]; case 'float': return HEAPF32[((ptr)>>2)]; case 'double': return HEAPF64[((ptr)>>3)]; default: abort('invalid type for setValue: ' + type); } return null; } Module['getValue'] = getValue; var ALLOC_NORMAL = 0; // Tries to use _malloc() var ALLOC_STACK = 1; // Lives for the duration of the current function call var ALLOC_STATIC = 2; // Cannot be freed var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk var ALLOC_NONE = 4; // Do not allocate Module['ALLOC_NORMAL'] = ALLOC_NORMAL; Module['ALLOC_STACK'] = ALLOC_STACK; Module['ALLOC_STATIC'] = ALLOC_STATIC; Module['ALLOC_DYNAMIC'] = ALLOC_DYNAMIC; Module['ALLOC_NONE'] = ALLOC_NONE; // allocate(): This is for internal use. You can use it yourself as well, but the interface // is a little tricky (see docs right below). The reason is that it is optimized // for multiple syntaxes to save space in generated code. So you should // normally not use allocate(), and instead allocate memory using _malloc(), // initialize it with setValue(), and so forth. // @slab: An array of data, or a number. If a number, then the size of the block to allocate, // in *bytes* (note that this is sometimes confusing: the next parameter does not // affect this!) // @types: Either an array of types, one for each byte (or 0 if no type at that position), // or a single type which is used for the entire block. This only matters if there // is initial data - if @slab is a number, then this does not matter at all and is // ignored. // @allocator: How to allocate memory, see ALLOC_* function allocate(slab, types, allocator, ptr) { var zeroinit, size; if (typeof slab === 'number') { zeroinit = true; size = slab; } else { zeroinit = false; size = slab.length; } var singleType = typeof types === 'string' ? types : null; var ret; if (allocator == ALLOC_NONE) { ret = ptr; } else { ret = [_malloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); } if (zeroinit) { var ptr = ret, stop; assert((ret & 3) == 0); stop = ret + (size & ~3); for (; ptr < stop; ptr += 4) { HEAP32[((ptr)>>2)]=0; } stop = ret + size; while (ptr < stop) { HEAP8[((ptr++)>>0)]=0; } return ret; } if (singleType === 'i8') { if (slab.subarray || slab.slice) { HEAPU8.set(slab, ret); } else { HEAPU8.set(new Uint8Array(slab), ret); } return ret; } var i = 0, type, typeSize, previousType; while (i < size) { var curr = slab[i]; if (typeof curr === 'function') { curr = Runtime.getFunctionIndex(curr); } type = singleType || types[i]; if (type === 0) { i++; continue; } assert(type, 'Must know what type to store in allocate!'); if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later setValue(ret+i, curr, type); // no need to look up size unless type changes, so cache it if (previousType !== type) { typeSize = Runtime.getNativeTypeSize(type); previousType = type; } i += typeSize; } return ret; } Module['allocate'] = allocate; function Pointer_stringify(ptr, /* optional */ length) { // TODO: use TextDecoder // Find the length, and check for UTF while doing so var hasUtf = false; var t; var i = 0; while (1) { assert(ptr + i < TOTAL_MEMORY); 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; function UTF16ToString(ptr) { var i = 0; var str = ''; while (1) { var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; if (codeUnit == 0) return str; ++i; // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. str += String.fromCharCode(codeUnit); } } Module['UTF16ToString'] = UTF16ToString; function stringToUTF16(str, outPtr) { for(var i = 0; i < str.length; ++i) { // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. var codeUnit = str.charCodeAt(i); // possibly a lead surrogate HEAP16[(((outPtr)+(i*2))>>1)]=codeUnit; } // Null-terminate the pointer to the HEAP. HEAP16[(((outPtr)+(str.length*2))>>1)]=0; } Module['stringToUTF16'] = stringToUTF16; function UTF32ToString(ptr) { var i = 0; var str = ''; while (1) { var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; if (utf32 == 0) return str; ++i; // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. if (utf32 >= 0x10000) { var ch = utf32 - 0x10000; str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); } else { str += String.fromCharCode(utf32); } } } Module['UTF32ToString'] = UTF32ToString; function stringToUTF32(str, outPtr) { var iChar = 0; for(var iCodeUnit = 0; iCodeUnit < str.length; ++iCodeUnit) { // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. var codeUnit = str.charCodeAt(iCodeUnit); // possibly a lead surrogate if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { var trailSurrogate = str.charCodeAt(++iCodeUnit); codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); } HEAP32[(((outPtr)+(iChar*4))>>2)]=codeUnit; ++iChar; } // Null-terminate the pointer to the HEAP. HEAP32[(((outPtr)+(iChar*4))>>2)]=0; } Module['stringToUTF32'] = stringToUTF32; function demangle(func) { var hasLibcxxabi = !!Module['___cxa_demangle']; if (hasLibcxxabi) { try { var buf = _malloc(func.length); writeStringToMemory(func.substr(1), buf); var status = _malloc(4); var ret = Module['___cxa_demangle'](buf, 0, 0, status); if (getValue(status, 'i32') === 0 && ret) { return Pointer_stringify(ret); } // otherwise, libcxxabi failed, we can try ours which may return a partial result } catch(e) { // failure when using libcxxabi, we can try ours which may return a partial result } finally { if (buf) _free(buf); if (status) _free(status); if (ret) _free(ret); } } var i = 3; // params, etc. var basicTypes = { 'v': 'void', 'b': 'bool', 'c': 'char', 's': 'short', 'i': 'int', 'l': 'long', 'f': 'float', 'd': 'double', 'w': 'wchar_t', 'a': 'signed char', 'h': 'unsigned char', 't': 'unsigned short', 'j': 'unsigned int', 'm': 'unsigned long', 'x': 'long long', 'y': 'unsigned long long', 'z': '...' }; var subs = []; var first = true; function dump(x) { //return; if (x) Module.print(x); Module.print(func); var pre = ''; for (var a = 0; a < i; a++) pre += ' '; Module.print (pre + '^'); } function parseNested() { i++; if (func[i] === 'K') i++; // ignore const var parts = []; while (func[i] !== 'E') { if (func[i] === 'S') { // substitution i++; var next = func.indexOf('_', i); var num = func.substring(i, next) || 0; parts.push(subs[num] || '?'); i = next+1; continue; } if (func[i] === 'C') { // constructor parts.push(parts[parts.length-1]); i += 2; continue; } var size = parseInt(func.substr(i)); var pre = size.toString().length; if (!size || !pre) { i--; break; } // counter i++ below us var curr = func.substr(i + pre, size); parts.push(curr); subs.push(curr); i += pre + size; } i++; // skip E return parts; } function parse(rawList, limit, allowVoid) { // main parser limit = limit || Infinity; var ret = '', list = []; function flushList() { return '(' + list.join(', ') + ')'; } var name; if (func[i] === 'N') { // namespaced N-E name = parseNested().join('::'); limit--; if (limit === 0) return rawList ? [name] : name; } else { // not namespaced if (func[i] === 'K' || (first && func[i] === 'L')) i++; // ignore const and first 'L' var size = parseInt(func.substr(i)); if (size) { var pre = size.toString().length; name = func.substr(i + pre, size); i += pre + size; } } first = false; if (func[i] === 'I') { i++; var iList = parse(true); var iRet = parse(true, 1, true); ret += iRet[0] + ' ' + name + '<' + iList.join(', ') + '>'; } else { ret = name; } paramLoop: while (i < func.length && limit-- > 0) { //dump('paramLoop'); var c = func[i++]; if (c in basicTypes) { list.push(basicTypes[c]); } else { switch (c) { case 'P': list.push(parse(true, 1, true)[0] + '*'); break; // pointer case 'R': list.push(parse(true, 1, true)[0] + '&'); break; // reference case 'L': { // literal i++; // skip basic type var end = func.indexOf('E', i); var size = end - i; list.push(func.substr(i, size)); i += size + 2; // size + 'EE' break; } case 'A': { // array var size = parseInt(func.substr(i)); i += size.toString().length; if (func[i] !== '_') throw '?'; i++; // skip _ list.push(parse(true, 1, true)[0] + ' [' + size + ']'); break; } case 'E': break paramLoop; default: ret += '?' + c; break paramLoop; } } } if (!allowVoid && list.length === 1 && list[0] === 'void') list = []; // avoid (void) if (rawList) { if (ret) { list.push(ret + '?'); } return list; } else { return ret + flushList(); } } var final = func; try { // Special-case the entry point, since its name differs from other name mangling. if (func == 'Object._main' || func == '_main') { return 'main()'; } if (typeof func === 'number') func = Pointer_stringify(func); if (func[0] !== '_') return func; if (func[1] !== '_') return func; // C function if (func[2] !== 'Z') return func; switch (func[3]) { case 'n': return 'operator new()'; case 'd': return 'operator delete()'; } final = parse(); } catch(e) { final += '?'; } if (final.indexOf('?') >= 0 && !hasLibcxxabi) { Runtime.warnOnce('warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); } return final; } function demangleAll(text) { return text.replace(/__Z[\w\d_]+/g, function(x) { var y = demangle(x); return x === y ? x : (x + ' [' + y + ']') }); } function jsStackTrace() { var err = new Error(); if (!err.stack) { // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, // so try that as a special-case. try { throw new Error(0); } catch(e) { err = e; } if (!err.stack) { return '(no stack trace available)'; } } return err.stack.toString(); } function stackTrace() { return demangleAll(jsStackTrace()); } Module['stackTrace'] = stackTrace; // Memory management var PAGE_SIZE = 4096; function alignMemoryPage(x) { return (x+4095)&-4096; } var HEAP; var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; var STATIC_BASE = 0, STATICTOP = 0, staticSealed = false; // static area var STACK_BASE = 0, STACKTOP = 0, STACK_MAX = 0; // stack area var DYNAMIC_BASE = 0, DYNAMICTOP = 0; // dynamic area handled by sbrk function enlargeMemory() { abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with 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; var totalMemory = 64*1024; while (totalMemory < TOTAL_MEMORY || totalMemory < 2*TOTAL_STACK) { if (totalMemory < 16*1024*1024) { totalMemory *= 2; } else { totalMemory += 16*1024*1024 } } if (totalMemory !== TOTAL_MEMORY) { Module.printErr('increasing TOTAL_MEMORY to ' + totalMemory + ' to be more reasonable'); TOTAL_MEMORY = totalMemory; } // Initialize the runtime's memory // check for full engine support (use string 'subarray' to avoid closure compiler confusion) assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), 'JS engine does not provide full typed array support'); 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; function callRuntimeCallbacks(callbacks) { while(callbacks.length > 0) { var callback = callbacks.shift(); if (typeof callback == 'function') { callback(); continue; } var func = callback.func; if (typeof func === 'number') { if (callback.arg === undefined) { Runtime.dynCall('v', func); } else { Runtime.dynCall('vi', func, [callback.arg]); } } else { func(callback.arg === undefined ? null : callback.arg); } } } var __ATPRERUN__ = []; // functions called before the runtime is initialized var __ATINIT__ = []; // functions called during startup var __ATMAIN__ = []; // functions called when main() is to be run var __ATEXIT__ = []; // functions called during shutdown var __ATPOSTRUN__ = []; // functions called after the runtime has exited var runtimeInitialized = false; var runtimeExited = false; function preRun() { // compatibility - merge in anything from Module['preRun'] at this time if (Module['preRun']) { if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; while (Module['preRun'].length) { addOnPreRun(Module['preRun'].shift()); } } callRuntimeCallbacks(__ATPRERUN__); } function ensureInitRuntime() { if (runtimeInitialized) return; runtimeInitialized = true; callRuntimeCallbacks(__ATINIT__); } function preMain() { callRuntimeCallbacks(__ATMAIN__); } function exitRuntime() { if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { Module.printErr('Exiting runtime. Any attempt to access the compiled C code may fail from now. If you want to keep the runtime alive, set Module["noExitRuntime"] = true or build with -s NO_EXIT_RUNTIME=1'); } callRuntimeCallbacks(__ATEXIT__); runtimeExited = true; } function postRun() { // compatibility - merge in anything from Module['postRun'] at this time if (Module['postRun']) { if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; while (Module['postRun'].length) { addOnPostRun(Module['postRun'].shift()); } } callRuntimeCallbacks(__ATPOSTRUN__); } function addOnPreRun(cb) { __ATPRERUN__.unshift(cb); } Module['addOnPreRun'] = Module.addOnPreRun = addOnPreRun; function addOnInit(cb) { __ATINIT__.unshift(cb); } Module['addOnInit'] = Module.addOnInit = addOnInit; function addOnPreMain(cb) { __ATMAIN__.unshift(cb); } Module['addOnPreMain'] = Module.addOnPreMain = addOnPreMain; function addOnExit(cb) { __ATEXIT__.unshift(cb); } Module['addOnExit'] = Module.addOnExit = addOnExit; function addOnPostRun(cb) { __ATPOSTRUN__.unshift(cb); } Module['addOnPostRun'] = Module.addOnPostRun = addOnPostRun; // Tools 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; 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 writeAsciiToMemory(str, buffer, dontAddNull) { for (var i = 0; i < str.length; i++) { assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff); HEAP8[(((buffer)+(i))>>0)]=str.charCodeAt(i); } if (!dontAddNull) HEAP8[(((buffer)+(str.length))>>0)]=0; } Module['writeAsciiToMemory'] = writeAsciiToMemory; function unSign(value, bits, ignore) { if (value >= 0) { return value; } return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts : Math.pow(2, bits) + value; } function reSign(value, bits, ignore) { if (value <= 0) { return value; } var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32 : Math.pow(2, bits-1); if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors // TODO: In i64 mode 1, resign the two parts separately and safely value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts } return value; } // check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { var ah = a >>> 16; var al = a & 0xffff; var bh = b >>> 16; var bl = b & 0xffff; return (al*bl + ((ah*bl + al*bh) << 16))|0; }; Math.imul = Math['imul']; var Math_abs = Math.abs; var Math_cos = Math.cos; var Math_sin = Math.sin; var Math_tan = Math.tan; var Math_acos = Math.acos; var Math_asin = Math.asin; var Math_atan = Math.atan; var Math_atan2 = Math.atan2; var Math_exp = Math.exp; var Math_log = Math.log; var Math_sqrt = Math.sqrt; var Math_ceil = Math.ceil; var Math_floor = Math.floor; var Math_pow = Math.pow; var Math_imul = Math.imul; var Math_fround = Math.fround; var Math_min = Math.min; // A counter of dependencies for calling run(). If we need to // do asynchronous work before running, increment this and // decrement it. Incrementing must happen in a place like // PRE_RUN_ADDITIONS (used by emcc to add file preloading). // Note that you can add dependencies in preRun, even though // it happens right before run - run will be postponed until // the dependencies are met. var runDependencies = 0; var runDependencyWatcher = null; var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled var runDependencyTracking = {}; function addRunDependency(id) { runDependencies++; if (Module['monitorRunDependencies']) { Module['monitorRunDependencies'](runDependencies); } if (id) { assert(!runDependencyTracking[id]); runDependencyTracking[id] = 1; if (runDependencyWatcher === null && typeof setInterval !== 'undefined') { // Check for missing dependencies every few seconds runDependencyWatcher = setInterval(function() { if (ABORT) { clearInterval(runDependencyWatcher); runDependencyWatcher = null; return; } var shown = false; for (var dep in runDependencyTracking) { if (!shown) { shown = true; Module.printErr('still waiting on run dependencies:'); } Module.printErr('dependency: ' + dep); } if (shown) { Module.printErr('(end of list)'); } }, 10000); } } else { Module.printErr('warning: run dependency added without ID'); } } Module['addRunDependency'] = addRunDependency; function removeRunDependency(id) { runDependencies--; if (Module['monitorRunDependencies']) { Module['monitorRunDependencies'](runDependencies); } if (id) { assert(runDependencyTracking[id]); delete runDependencyTracking[id]; } else { Module.printErr('warning: run dependency removed without ID'); } if (runDependencies == 0) { if (runDependencyWatcher !== null) { clearInterval(runDependencyWatcher); runDependencyWatcher = null; } if (dependenciesFulfilled) { var callback = dependenciesFulfilled; dependenciesFulfilled = null; callback(); // can add another dependenciesFulfilled } } } Module['removeRunDependency'] = removeRunDependency; Module["preloadedImages"] = {}; // maps url to image data Module["preloadedAudios"] = {}; // maps url to audio data var memoryInitializer = null; // === Body === STATIC_BASE = 8; STATICTOP = STATIC_BASE + Runtime.alignMemory(18203); /* global initializers */ __ATINIT__.push(); /* memory initializer */ allocate([104,97,97,114,0,0,0,0,100,98,49,0,0,0,0,0,100,98,50,0,0,0,0,0,100,98,51,0,0,0,0,0,100,98,52,0,0,0,0,0,100,98,53,0,0,0,0,0,100,98,54,0,0,0,0,0,100,98,55,0,0,0,0,0,100,98,56,0,0,0,0,0,100,98,57,0,0,0,0,0,100,98,49,48,0,0,0,0,100,98,49,50,0,0,0,0,100,98,49,51,0,0,0,0,100,98,49,49,0,0,0,0,100,98,49,52,0,0,0,0,100,98,49,53,0,0,0,0,98,105,111,114,49,46,49,0,98,105,111,114,49,46,51,0,98,105,111,114,49,46,53,0,98,105,111,114,50,46,50,0,98,105,111,114,50,46,52,0,98,105,111,114,50,46,54,0,98,105,111,114,50,46,56,0,98,105,111,114,51,46,49,0,98,105,111,114,51,46,53,0,98,105,111,114,51,46,55,0,98,105,111,114,51,46,57,0,98,105,111,114,52,46,52,0,98,105,111,114,53,46,53,0,98,105,111,114,54,46,56,0,99,111,105,102,49,0,0,0,99,111,105,102,50,0,0,0,99,111,105,102,51,0,0,0,99,111,105,102,52,0,0,0,99,111,105,102,53,0,0,0,115,121,109,50,0,0,0,0,115,121,109,51,0,0,0,0,115,121,109,52,0,0,0,0,115,121,109,53,0,0,0,0,115,121,109,54,0,0,0,0,115,121,109,55,0,0,0,0,115,121,109,56,0,0,0,0,115,121,109,57,0,0,0,0,115,121,109,49,48,0,0,0,10,32,70,105,108,116,101,114,32,78,111,116,32,105,110,32,68,97,116,97,98,97,115,101,32,10,0,0,0,0,0,0,27,13,224,45,144,160,230,63,27,13,224,45,144,160,230,63,27,13,224,45,144,160,230,191,27,13,224,45,144,160,230,63,27,13,224,45,144,160,230,63,27,13,224,45,144,160,230,63,27,13,224,45,144,160,230,63,27,13,224,45,144,160,230,191,221,214,146,193,125,144,192,191,19,91,107,11,191,176,204,63,132,241,227,214,189,196,234,63,17,202,72,71,221,232,222,63,17,202,72,71,221,232,222,191,132,241,227,214,189,196,234,63,19,91,107,11,191,176,204,191,221,214,146,193,125,144,192,191,17,202,72,71,221,232,222,63,132,241,227,214,189,196,234,63,19,91,107,11,191,176,204,63,221,214,146,193,125,144,192,191,221,214,146,193,125,144,192,191,19,91,107,11,191,176,204,191,132,241,227,214,189,196,234,63,17,202,72,71,221,232,222,191,150,140,182,48,23,180,133,191,130,72,104,199,10,214,160,63,133,99,101,25,226,148,159,63,0,231,197,183,193,240,199,191,150,231,219,249,198,167,156,191,199,218,61,221,44,48,228,63,30,202,69,234,5,224,230,63,241,88,241,42,5,125,205,63,241,88,241,42,5,125,205,191,30,202,69,234,5,224,230,63,199,218,61,221,44,48,228,191,150,231,219,249,198,167,156,191,0,231,197,183,193,240,199,63,133,99,101,25,226,148,159,63,130,72,104,199,10,214,160,191,150,140,182,48,23,180,133,191,241,88,241,42,5,125,205,63,30,202,69,234,5,224,230,63,199,218,61,221,44,48,228,63,150,231,219,249,198,167,156,191,0,231,197,183,193,240,199,191,133,99,101,25,226,148,159,63,130,72,104,199,10,214,160,63,150,140,182,48,23,180,133,191,150,140,182,48,23,180,133,191,130,72,104,199,10,214,160,191,133,99,101,25,226,148,159,63,0,231,197,183,193,240,199,63,150,231,219,249,198,167,156,191,199,218,61,221,44,48,228,191,30,202,69,234,5,224,230,63,241,88,241,42,5,125,205,191,163,158,61,224,133,83,107,63,121,171,40,243,239,195,137,191,29,180,125,69,173,144,121,191,34,27,37,181,185,219,179,63,166,184,169,72,102,130,160,191,115,249,247,211,132,3,207,191,48,222,190,115,3,184,193,63,40,113,59,20,137,45,231,63,3,186,196,194,145,82,227,63,130,175,167,65,60,126,196,63,130,175,167,65,60,126,196,191,3,186,196,194,145,82,227,63,40,113,59,20,137,45,231,191,48,222,190,115,3,184,193,63,115,249,247,211,132,3,207,63,166,184,169,72,102,130,160,191,34,27,37,181,185,219,179,191,29,180,125,69,173,144,121,191,121,171,40,243,239,195,137,63,163,158,61,224,133,83,107,63,130,175,167,65,60,126,196,63,3,186,196,194,145,82,227,63,40,113,59,20,137,45,231,63,48,222,190,115,3,184,193,63,115,249,247,211,132,3,207,191,166,184,169,72,102,130,160,191,34,27,37,181,185,219,179,63,29,180,125,69,173,144,121,191,121,171,40,243,239,195,137,191,163,158,61,224,133,83,107,63,163,158,61,224,133,83,107,63,121,171,40,243,239,195,137,63,29,180,125,69,173,144,121,191,34,27,37,181,185,219,179,191,166,184,169,72,102,130,160,191,115,249,247,211,132,3,207,63,48,222,190,115,3,184,193,63,40,113,59,20,137,45,231,191,3,186,196,194,145,82,227,63,130,175,167,65,60,126,196,191,179,95,100,59,135,166,81,191,121,200,99,76,81,145,115,63,236,13,249,17,247,37,66,63,175,27,6,100,133,43,160,191,104,223,95,61,244,46,156,63,187,210,77,127,221,245,184,63,131,11,39,98,51,156,192,191,216,240,104,210,61,246,204,191,86,50,169,207,15,45,212,63,178,209,59,250,73,9,232,63,230,52,69,246,234,167,223,63,19,49,220,36,239,141,188,63,19,49,220,36,239,141,188,191,230,52,69,246,234,167,223,63,178,209,59,250,73,9,232,191,86,50,169,207,15,45,212,63,216,240,104,210,61,246,204,63,131,11,39,98,51,156,192,191,187,210,77,127,221,245,184,191,104,223,95,61,244,46,156,63,175,27,6,100,133,43,160,63,236,13,249,17,247,37,66,63,121,200,99,76,81,145,115,191,179,95,100,59,135,166,81,191,19,49,220,36,239,141,188,63,230,52,69,246,234,167,223,63,178,209,59,250,73,9,232,63,86,50,169,207,15,45,212,63,216,240,104,210,61,246,204,191,131,11,39,98,51,156,192,191,187,210,77,127,221,245,184,63,104,223,95,61,244,46,156,63,175,27,6,100,133,43,160,191,236,13,249,17,247,37,66,63,121,200,99,76,81,145,115,63,179,95,100,59,135,166,81,191,179,95,100,59,135,166,81,191,121,200,99,76,81,145,115,191,236,13,249,17,247,37,66,63,175,27,6,100,133,43,160,63,104,223,95,61,244,46,156,63,187,210,77,127,221,245,184,191,131,11,39,98,51,156,192,191,216,240,104,210,61,246,204,63,86,50,169,207,15,45,212,63,178,209,59,250,73,9,232,191,230,52,69,246,234,167,223,63,19,49,220,36,239,141,188,191,196,135,1,52,85,46,55,63,169,212,199,249,160,132,93,191,214,232,90,88,31,39,60,63,168,75,164,130,86,180,137,63,174,111,1,169,234,248,144,191,46,81,207,238,168,120,163,191,125,245,242,39,7,163,180,63,249,191,167,44,82,65,178,63,130,212,213,187,55,173,204,191,97,106,73,14,131,107,194,191,129,89,41,186,233,16,222,63,64,205,148,210,12,85,231,63,89,75,48,116,230,96,217,63,169,197,56,186,28,238,179,63,169,197,56,186,28,238,179,191,89,75,48,116,230,96,217,63,64,205,148,210,12,85,231,191,129,89,41,186,233,16,222,63,97,106,73,14,131,107,194,63,130,212,213,187,55,173,204,191,249,191,167,44,82,65,178,191,125,245,242,39,7,163,180,63,46,81,207,238,168,120,163,63,174,111,1,169,234,248,144,191,168,75,164,130,86,180,137,191,213,232,90,88,31,39,60,63,169,212,199,249,160,132,93,63,196,135,1,52,85,46,55,63,169,197,56,186,28,238,179,63,89,75,48,116,230,96,217,63,64,205,148,210,12,85,231,63,129,89,41,186,233,16,222,63,97,106,73,14,131,107,194,191,130,212,213,187,55,173,204,191,249,191,167,44,82,65,178,63,125,245,242,39,7,163,180,63,46,81,207,238,168,120,163,191,174,111,1,169,234,248,144,191,168,75,164,130,86,180,137,63,214,232,90,88,31,39,60,63,169,212,199,249,160,132,93,191,196,135,1,52,85,46,55,63,196,135,1,52,85,46,55,63,169,212,199,249,160,132,93,63,214,232,90,88,31,39,60,63,166,75,164,130,86,180,137,191,174,111,1,169,234,248,144,191,46,81,207,238,168,120,163,63,125,245,242,39,7,163,180,63,249,191,167,44,82,65,178,191,130,212,213,187,55,173,204,191,97,106,73,14,131,107,194,63,129,89,41,186,233,16,222,63,64,205,148,210,12,85,231,191,89,75,48,116,230,96,217,63,169,197,56,186,28,238,179,191,28,87,4,200,187,203,30,191,201,85,239,141,20,34,70,63,150,170,45,23,80,172,57,191,151,5,51,109,239,242,115,191,130,135,50,223,120,233,129,63,202,39,88,205,21,162,140,63,220,23,139,81,188,146,166,191,48,66,8,15,66,201,145,191,224,144,99,177,203,122,192,63,58,57,14,203,249,246,62,63,113,19,37,135,79,45,210,191,100,39,153,69,129,53,144,191,118,117,219,190,57,187,226,63,209,80,146,89,196,158,229,63,204,206,180,144,22,6,212,63,65,252,162,173,100,220,171,63,65,252,162,173,100,220,171,191,204,206,180,144,22,6,212,63,209,80,146,89,196,158,229,191,118,117,219,190,57,187,226,63,100,39,153,69,129,53,144,63,113,19,37,135,79,45,210,191,58,57,14,203,249,246,62,191,224,144,99,177,203,122,192,63,48,66,8,15,66,201,145,63,220,23,139,81,188,146,166,191,202,39,88,205,21,162,140,191,130,135,50,223,120,233,129,63,151,5,51,109,239,242,115,63,150,170,45,23,80,172,57,191,201,85,239,141,20,34,70,191,28,87,4,200,187,203,30,191,65,252,162,173,100,220,171,63,204,206,180,144,22,6,212,63,209,80,146,89,196,158,229,63,118,117,219,190,57,187,226,63,100,39,153,69,129,53,144,191,113,19,37,135,79,45,210,191,58,57,14,203,249,246,62,63,224,144,99,177,203,122,192,63,48,66,8,15,66,201,145,191,220,23,139,81,188,146,166,191,202,39,88,205,21,162,140,63,130,135,50,223,120,233,129,63,151,5,51,109,239,242,115,191,150,170,45,23,80,172,57,191,201,85,239,141,20,34,70,63,28,87,4,200,187,203,30,191,28,87,4,200,187,203,30,191,201,85,239,141,20,34,70,191,150,170,45,23,80,172,57,191,151,5,51,109,239,242,115,63,130,135,50,223,120,233,129,63,202,39,88,205,21,162,140,191,220,23,139,81,188,146,166,191,48,66,8,15,66,201,145,63,224,144,99,177,203,122,192,63,58,57,14,203,249,246,62,191,113,19,37,135,79,45,210,191,100,39,153,69,129,53,144,63,118,117,219,190,57,187,226,63,209,80,146,89,196,158,229,191,204,206,180,144,22,6,212,63,65,252,162,173,100,220,171,191,76,208,217,158,27,161,4,63,124,52,19,168,61,131,48,191,172,38,198,164,118,50,46,63,245,191,245,187,151,69,94,63,132,235,169,100,123,137,113,191,183,193,122,159,163,88,115,191,12,208,4,190,249,229,150,63,82,246,227,166,49,114,48,63,75,85,242,148,98,80,177,191,218,7,99,148,141,118,159,63,126,16,66,30,98,3,195,63,157,74,218,188,142,202,184,191,87,132,251,102,255,196,210,191,96,96,2,168,156,12,193,63,89,250,230,1,129,8,229,63,111,205,1,6,182,90,227,63,228,139,153,128,249,53,207,63,49,74,63,229,243,126,163,63,49,74,63,229,243,126,163,191,228,139,153,128,249,53,207,63,111,205,1,6,182,90,227,191,89,250,230,1,129,8,229,63,96,96,2,168,156,12,193,191,87,132,251,102,255,196,210,191,157,74,218,188,142,202,184,63,126,16,66,30,98,3,195,63,218,7,99,148,141,118,159,191,75,85,242,148,98,80,177,191,82,246,227,166,49,114,48,191,12,208,4,190,249,229,150,63,183,193,122,159,163,88,115,63,132,235,169,100,123,137,113,191,245,191,245,187,151,69,94,191,172,38,198,164,118,50,46,63,124,52,19,168,61,131,48,63,76,208,217,158,27,161,4,63,49,74,63,229,243,126,163,63,228,139,153,128,249,53,207,63,111,205,1,6,182,90,227,63,89,250,230,1,129,8,229,63,96,96,2,168,156,12,193,63,87,132,251,102,255,196,210,191,157,74,218,188,142,202,184,191,126,16,66,30,98,3,195,63,218,7,99,148,141,118,159,63,75,85,242,148,98,80,177,191,82,246,227,166,49,114,48,63,12,208,4,190,249,229,150,63,183,193,122,159,163,88,115,191,132,235,169,100,123,137,113,191,245,191,245,187,151,69,94,63,172,38,198,164,118,50,46,63,124,52,19,168,61,131,48,191,76,208,217,158,27,161,4,63,76,208,217,158,27,161,4,63,124,52,19,168,61,131,48,63,172,38,198,164,118,50,46,63,245,191,245,187,151,69,94,191,132,235,169,100,123,137,113,191,183,193,122,159,163,88,115,63,12,208,4,190,249,229,150,63,82,246,227,166,49,114,48,191,75,85,242,148,98,80,177,191,218,7,99,148,141,118,159,191,126,16,66,30,98,3,195,63,157,74,218,188,142,202,184,63,87,132,251,102,255,196,210,191,96,96,2,168,156,12,193,191,89,250,230,1,129,8,229,63,111,205,1,6,182,90,227,191,228,139,153,128,249,53,207,63,49,74,63,229,243,126,163,191,68,139,229,45,42,209,235,190,140,192,147,27,161,136,24,63,205,110,68,85,245,135,30,191,47,165,146,9,98,121,70,191,151,183,162,114,96,82,96,63,60,21,170,135,135,220,86,63,139,248,115,109,70,251,133,191,85,57,227,179,125,139,109,63,175,169,202,105,64,1,161,63,204,121,21,213,29,42,158,191,207,3,52,7,227,70,178,191,124,19,160,129,155,210,183,63,100,167,160,119,163,77,192,63,45,58,28,124,196,20,201,191,137,157,192,182,247,250,207,191,199,234,35,73,186,254,209,63,223,179,98,64,219,7,230,63,26,220,27,7,213,222,224,63,30,131,25,105,45,22,200,63,234,55,222,73,101,79,155,63,234,55,222,73,101,79,155,191,30,131,25,105,45,22,200,63,26,220,27,7,213,222,224,191,223,179,98,64,219,7,230,63,199,234,35,73,186,254,209,191,137,157,192,182,247,250,207,191,45,58,28,124,196,20,201,63,100,167,160,119,163,77,192,63,124,19,160,129,155,210,183,191,207,3,52,7,227,70,178,191,204,121,21,213,29,42,158,63,175,169,202,105,64,1,161,63,85,57,227,179,125,139,109,191,139,248,115,109,70,251,133,191,60,21,170,135,135,220,86,191,151,183,162,114,96,82,96,63,47,165,146,9,98,121,70,63,205,110,68,85,245,135,30,191,140,192,147,27,161,136,24,191,68,139,229,45,42,209,235,190,234,55,222,73,101,79,155,63,30,131,25,105,45,22,200,63,26,220,27,7,213,222,224,63,223,179,98,64,219,7,230,63,199,234,35,73,186,254,209,63,137,157,192,182,247,250,207,191,45,58,28,124,196,20,201,191,100,167,160,119,163,77,192,63,124,19,160,129,155,210,183,63,207,3,52,7,227,70,178,191,204,121,21,213,29,42,158,191,175,169,202,105,64,1,161,63,85,57,227,179,125,139,109,63,139,248,115,109,70,251,133,191,60,21,170,135,135,220,86,63,151,183,162,114,96,82,96,63,47,165,146,9,98,121,70,191,205,110,68,85,245,135,30,191,140,192,147,27,161,136,24,63,68,139,229,45,42,209,235,190,68,139,229,45,42,209,235,190,140,192,147,27,161,136,24,191,205,110,68,85,245,135,30,191,47,165,146,9,98,121,70,63,151,183,162,114,96,82,96,63,60,21,170,135,135,220,86,191,139,248,115,109,70,251,133,191,85,57,227,179,125,139,109,191,175,169,202,105,64,1,161,63,204,121,21,213,29,42,158,63,207,3,52,7,227,70,178,191,124,19,160,129,155,210,183,191,100,167,160,119,163,77,192,63,45,58,28,124,196,20,201,63,137,157,192,182,247,250,207,191,199,234,35,73,186,254,209,191,223,179,98,64,219,7,230,63,26,220,27,7,213,222,224,191,30,131,25,105,45,22,200,63,234,55,222,73,101,79,155,191,155,194,125,45,80,167,185,190,203,65,12,241,146,203,234,62,31,63,246,86,74,107,249,190,148,180,184,4,105,51,23,191,164,11,190,49,132,120,57,63,15,4,204,36,199,115,219,62,193,192,110,24,192,218,97,191,108,209,248,209,171,107,98,63,22,165,255,75,132,125,123,63,131,40,62,98,74,76,138,191,107,52,63,81,23,6,137,191,125,80,57,190,141,69,165,63,167,82,28,157,17,56,134,63,152,48,25,130,198,175,184,191,228,89,141,135,234,243,117,63,170,221,86,126,117,91,199,63,57,174,243,240,150,89,152,191,175,90,164,141,68,60,212,191,12,135,217,193,74,235,166,191,241,120,41,92,36,130,224,63,219,110,142,157,197,7,229,63,35,64,46,39,150,38,216,63,205,247,130,6,137,12,188,63,182,249,210,120,153,218,138,63,182,249,210,120,153,218,138,191,205,247,130,6,137,12,188,63,35,64,46,39,150,38,216,191,219,110,142,157,197,7,229,63,241,120,41,92,36,130,224,191,12,135,217,193,74,235,166,191,175,90,164,141,68,60,212,63,57,174,243,240,150,89,152,191,170,221,86,126,117,91,199,191,228,89,141,135,234,243,117,63,152,48,25,130,198,175,184,63,167,82,28,157,17,56,134,63,125,80,57,190,141,69,165,191,107,52,63,81,23,6,137,191,131,40,62,98,74,76,138,63,22,165,255,75,132,125,123,63,108,209,248,209,171,107,98,191,193,192,110,24,192,218,97,191,15,4,204,36,199,115,219,190,164,11,190,49,132,120,57,63,148,180,184,4,105,51,23,63,31,63,246,86,74,107,249,190,203,65,12,241,146,203,234,190,155,194,125,45,80,167,185,190,182,249,210,120,153,218,138,63,205,247,130,6,137,12,188,63,35,64,46,39,150,38,216,63,219,110,142,157,197,7,229,63,241,120,41,92,36,130,224,63,12,135,217,193,74,235,166,191,175,90,164,141,68,60,212,191,57,174,243,240,150,89,152,191,170,221,86,126,117,91,199,63,228,89,141,135,234,243,117,63,152,48,25,130,198,175,184,191,167,82,28,157,17,56,134,63,125,80,57,190,141,69,165,63,107,52,63,81,23,6,137,191,131,40,62,98,74,76,138,191,22,165,255,75,132,125,123,63,108,209,248,209,171,107,98,63,193,192,110,24,192,218,97,191,15,4,204,36,199,115,219,62,164,11,190,49,132,120,57,63,148,180,184,4,105,51,23,191,31,63,246,86,74,107,249,190,203,65,12,241,146,203,234,62,155,194,125,45,80,167,185,190,155,194,125,45,80,167,185,190,203,65,12,241,146,203,234,190,31,63,246,86,74,107,249,190,148,180,184,4,105,51,23,63,164,11,190,49,132,120,57,63,15,4,204,36,199,115,219,190,193,192,110,24,192,218,97,191,108,209,248,209,171,107,98,191,22,165,255,75,132,125,123,63,131,40,62,98,74,76,138,63,107,52,63,81,23,6,137,191,125,80,57,190,141,69,165,191,167,82,28,157,17,56,134,63,152,48,25,130,198,175,184,63,228,89,141,135,234,243,117,63,170,221,86,126,117,91,199,191,57,174,243,240,150,89,152,191,175,90,164,141,68,60,212,63,12,135,217,193,74,235,166,191,241,120,41,92,36,130,224,191,219,110,142,157,197,7,229,63,35,64,46,39,150,38,216,191,205,247,130,6,137,12,188,63,182,249,210,120,153,218,138,191,99,163,141,219,249,131,161,62,237,189,195,164,8,183,211,190,193,215,140,2,248,229,229,62,43,66,85,134,154,21,0,63,172,100,0,54,207,164,37,191,155,21,127,132,109,210,9,63,39,76,226,30,235,140,78,63,143,44,31,27,86,142,85,191,200,125,172,205,37,160,102,191,45,36,23,115,9,184,125,63,104,155,26,3,141,18,112,63,118,181,69,146,67,103,152,191,117,171,227,223,41,127,99,63,70,9,82,68,80,190,172,63,60,153,35,222,198,31,155,191,232,232,200,67,53,22,187,191,205,127,85,4,200,172,178,63,48,28,200,121,18,249,198,63,247,212,106,184,66,228,191,191,93,197,111,32,132,40,212,191,20,15,41,81,178,68,182,63,51,164,190,240,46,216,226,63,128,52,24,0,197,141,227,63,175,175,9,108,191,247,211,63,16,61,138,252,100,54,181,63,8,126,211,116,145,216,130,63,8,126,211,116,145,216,130,191,16,61,138,252,100,54,181,63,175,175,9,108,191,247,211,191,128,52,24,0,197,141,227,63,51,164,190,240,46,216,226,191,20,15,41,81,178,68,182,63,93,197,111,32,132,40,212,63,247,212,106,184,66,228,191,191,48,28,200,121,18,249,198,191,205,127,85,4,200,172,178,63,232,232,200,67,53,22,187,63,60,153,35,222,198,31,155,191,70,9,82,68,80,190,172,191,117,171,227,223,41,127,99,63,118,181,69,146,67,103,152,63,104,155,26,3,141,18,112,63,45,36,23,115,9,184,125,191,200,125,172,205,37,160,102,191,143,44,31,27,86,142,85,63,39,76,226,30,235,140,78,63,155,21,127,132,109,210,9,191,172,100,0,54,207,164,37,191,43,66,85,134,154,21,0,191,193,215,140,2,248,229,229,62,237,189,195,164,8,183,211,62,99,163,141,219,249,131,161,62,8,126,211,116,145,216,130,63,16,61,138,252,100,54,181,63,175,175,9,108,191,247,211,63,128,52,24,0,197,141,227,63,51,164,190,240,46,216,226,63,20,15,41,81,178,68,182,63,93,197,111,32,132,40,212,191,247,212,106,184,66,228,191,191,48,28,200,121,18,249,198,63,205,127,85,4,200,172,178,63,232,232,200,67,53,22,187,191,60,153,35,222,198,31,155,191,70,9,82,68,80,190,172,63,117,171,227,223,41,127,99,63,118,181,69,146,67,103,152,191,104,155,26,3,141,18,112,63,45,36,23,115,9,184,125,63,200,125,172,205,37,160,102,191,143,44,31,27,86,142,85,191,39,76,226,30,235,140,78,63,155,21,127,132,109,210,9,63,172,100,0,54,207,164,37,191,43,66,85,134,154,21,0,63,193,215,140,2,248,229,229,62,237,189,195,164,8,183,211,190,99,163,141,219,249,131,161,62,99,163,141,219,249,131,161,62,237,189,195,164,8,183,211,62,193,215,140,2,248,229,229,62,43,66,85,134,154,21,0,191,172,100,0,54,207,164,37,191,155,21,127,132,109,210,9,191,39,76,226,30,235,140,78,63,143,44,31,27,86,142,85,63,200,125,172,205,37,160,102,191,45,36,23,115,9,184,125,191,104,155,26,3,141,18,112,63,118,181,69,146,67,103,152,63,117,171,227,223,41,127,99,63,70,9,82,68,80,190,172,191,60,153,35,222,198,31,155,191,232,232,200,67,53,22,187,63,205,127,85,4,200,172,178,63,48,28,200,121,18,249,198,191,247,212,106,184,66,228,191,191,93,197,111,32,132,40,212,63,20,15,41,81,178,68,182,63,51,164,190,240,46,216,226,191,128,52,24,0,197,141,227,63,175,175,9,108,191,247,211,191,16,61,138,252,100,54,181,63,8,126,211,116,145,216,130,191,189,12,225,180,176,217,210,62,218,61,187,254,160,40,2,191,3,59,25,93,176,138,12,63,248,109,188,240,21,84,48,63,56,173,253,211,56,67,77,191,91,18,132,60,84,57,52,191,124,248,117,10,210,47,116,63,13,107,52,243,73,94,107,191,88,131,104,90,151,119,143,191,190,138,149,106,81,87,149,63,43,128,106,39,39,11,160,63,21,254,190,219,33,2,177,191,128,149,74,126,56,204,167,191,201,167,11,63,10,45,195,63,185,79,106,139,59,232,176,63,254,202,168,137,255,140,209,191,185,244,43,107,111,197,196,191,89,231,239,204,159,93,218,63,5,18,50,100,37,241,229,63,205,200,152,97,40,203,220,63,30,20,35,196,201,112,194,63,216,95,7,22,153,36,147,63,216,95,7,22,153,36,147,191,30,20,35,196,201,112,194,63,205,200,152,97,40,203,220,191,5,18,50,100,37,241,229,63,89,231,239,204,159,93,218,191,185,244,43,107,111,197,196,191,254,202,168,137,255,140,209,63,185,79,106,139,59,232,176,63,201,167,11,63,10,45,195,191,128,149,74,126,56,204,167,191,21,254,190,219,33,2,177,63,43,128,106,39,39,11,160,63,190,138,149,106,81,87,149,191,88,131,104,90,151,119,143,191,13,107,52,243,73,94,107,63,124,248,117,10,210,47,116,63,91,18,132,60,84,57,52,63,56,173,253,211,56,67,77,191,248,109,188,240,21,84,48,191,3,59,25,93,176,138,12,63,218,61,187,254,160,40,2,63,189,12,225,180,176,217,210,62,216,95,7,22,153,36,147,63,30,20,35,196,201,112,194,63,205,200,152,97,40,203,220,63,5,18,50,100,37,241,229,63,89,231,239,204,159,93,218,63,185,244,43,107,111,197,196,191,254,202,168,137,255,140,209,191,185,79,106,139,59,232,176,63,201,167,11,63,10,45,195,63,128,149,74,126,56,204,167,191,21,254,190,219,33,2,177,191,43,128,106,39,39,11,160,63,190,138,149,106,81,87,149,63,88,131,104,90,151,119,143,191,13,107,52,243,73,94,107,191,124,248,117,10,210,47,116,63,91,18,132,60,84,57,52,191,56,173,253,211,56,67,77,191,248,109,188,240,21,84,48,63,3,59,25,93,176,138,12,63,218,61,187,254,160,40,2,191,189,12,225,180,176,217,210,62,189,12,225,180,176,217,210,62,218,61,187,254,160,40,2,63,3,59,25,93,176,138,12,63,248,109,188,240,21,84,48,191,56,173,253,211,56,67,77,191,91,18,132,60,84,57,52,63,124,248,117,10,210,47,116,63,13,107,52,243,73,94,107,63,88,131,104,90,151,119,143,191,190,138,149,106,81,87,149,191,43,128,106,39,39,11,160,63,21,254,190,219,33,2,177,63,128,149,74,126,56,204,167,191,201,167,11,63,10,45,195,191,185,79,106,139,59,232,176,63,254,202,168,137,255,140,209,63,185,244,43,107,111,197,196,191,89,231,239,204,159,93,218,191,5,18,50,100,37,241,229,63,205,200,152,97,40,203,220,191,30,20,35,196,201,112,194,63,216,95,7,22,153,36,147,191,47,103,196,240,144,252,135,190,36,54,19,180,203,240,188,62,236,178,63,229,104,105,210,190,219,88,79,54,191,173,229,190,218,15,232,162,18,6,18,63,229,0,2,60,63,231,5,191,73,212,16,144,246,89,57,191,251,135,229,217,79,51,71,63,200,198,110,31,14,101,81,63,200,9,68,33,71,137,111,191,158,12,200,19,189,115,72,191,78,161,125,186,96,49,138,63,47,79,146,97,206,255,118,191,102,128,188,166,232,232,158,191,108,113,33,169,3,161,155,63,97,244,157,101,10,72,172,63,133,219,243,71,8,81,178,191,85,60,170,214,36,53,182,191,212,196,3,252,40,235,193,63,58,113,188,50,239,182,193,63,94,75,96,208,133,232,203,191,30,2,175,97,88,99,209,191,246,82,66,174,102,253,203,63,2,50,49,220,176,50,228,63,9,110,161,34,223,188,225,63,32,240,98,127,119,79,208,63,146,176,92,15,70,238,175,63,28,93,227,172,2,119,122,63,28,93,227,172,2,119,122,191,146,176,92,15,70,238,175,63,32,240,98,127,119,79,208,191,9,110,161,34,223,188,225,63,2,50,49,220,176,50,228,191,246,82,66,174,102,253,203,63,30,2,175,97,88,99,209,63,94,75,96,208,133,232,203,191,58,113,188,50,239,182,193,191,212,196,3,252,40,235,193,63,85,60,170,214,36,53,182,63,133,219,243,71,8,81,178,191,97,244,157,101,10,72,172,191,108,113,33,169,3,161,155,63,102,128,188,166,232,232,158,63,47,79,146,97,206,255,118,191,78,161,125,186,96,49,138,191,158,12,200,19,189,115,72,191,200,9,68,33,71,137,111,63,200,198,110,31,14,101,81,63,251,135,229,217,79,51,71,191,73,212,16,144,246,89,57,191,229,0,2,60,63,231,5,63,218,15,232,162,18,6,18,63,219,88,79,54,191,173,229,62,236,178,63,229,104,105,210,190,36,54,19,180,203,240,188,190,47,103,196,240,144,252,135,190,28,93,227,172,2,119,122,63,146,176,92,15,70,238,175,63,32,240,98,127,119,79,208,63,9,110,161,34,223,188,225,63,2,50,49,220,176,50,228,63,246,82,66,174,102,253,203,63,30,2,175,97,88,99,209,191,94,75,96,208,133,232,203,191,58,113,188,50,239,182,193,63,212,196,3,252,40,235,193,63,85,60,170,214,36,53,182,191,133,219,243,71,8,81,178,191,97,244,157,101,10,72,172,63,108,113,33,169,3,161,155,63,102,128,188,166,232,232,158,191,47,79,146,97,206,255,118,191,78,161,125,186,96,49,138,63,158,12,200,19,189,115,72,191,200,9,68,33,71,137,111,191,200,198,110,31,14,101,81,63,251,135,229,217,79,51,71,63,73,212,16,144,246,89,57,191,229,0,2,60,63,231,5,191,218,15,232,162,18,6,18,63,219,88,79,54,191,173,229,190,236,178,63,229,104,105,210,190,36,54,19,180,203,240,188,62,47,103,196,240,144,252,135,190,47,103,196,240,144,252,135,190,36,54,19,180,203,240,188,190,236,178,63,229,104,105,210,190,219,88,79,54,191,173,229,62,218,15,232,162,18,6,18,63,229,0,2,60,63,231,5,63,73,212,16,144,246,89,57,191,251,135,229,217,79,51,71,191,200,198,110,31,14,101,81,63,200,9,68,33,71,137,111,63,158,12,200,19,189,115,72,191,78,161,125,186,96,49,138,191,47,79,146,97,206,255,118,191,102,128,188,166,232,232,158,63,108,113,33,169,3,161,155,63,97,244,157,101,10,72,172,191,133,219,243,71,8,81,178,191,85,60,170,214,36,53,182,63,212,196,3,252,40,235,193,63,58,113,188,50,239,182,193,191,94,75,96,208,133,232,203,191,30,2,175,97,88,99,209,63,246,82,66,174,102,253,203,63,2,50,49,220,176,50,228,191,9,110,161,34,223,188,225,63,32,240,98,127,119,79,208,191,146,176,92,15,70,238,175,63,28,93,227,172,2,119,122,191,21,106,51,22,208,118,112,62,121,183,28,29,41,50,165,190,149,63,228,223,88,99,190,62,102,40,84,193,245,53,204,62,54,110,244,101,249,127,253,190,123,191,32,202,172,11,251,62,225,82,203,166,4,111,36,63,131,214,30,247,128,144,55,191,168,160,36,127,254,121,56,191,84,216,61,60,228,214,95,63,85,12,92,113,0,176,47,191,114,177,47,252,225,146,122,191,55,49,153,91,201,228,116,63,132,112,0,53,81,228,142,63,105,120,160,211,58,79,149,191,140,29,42,151,170,98,154,191,224,99,111,66,50,12,172,63,253,152,119,82,88,88,161,63,149,47,46,242,107,114,188,191,197,227,32,6,32,79,164,191,116,24,13,63,186,86,200,63,45,197,120,51,98,182,176,63,215,216,40,110,13,125,210,191,136,81,137,202,233,186,200,191,190,121,194,176,55,178,213,63,44,41,165,81,128,170,228,63,227,51,29,105,71,135,223,63,205,123,2,111,253,94,202,63,244,155,188,16,192,238,167,63,242,102,162,88,0,151,114,63,242,102,162,88,0,151,114,191,244,155,188,16,192,238,167,63,205,123,2,111,253,94,202,191,227,51,29,105,71,135,223,63,44,41,165,81,128,170,228,191,190,121,194,176,55,178,213,63,136,81,137,202,233,186,200,63,215,216,40,110,13,125,210,191,45,197,120,51,98,182,176,191,116,24,13,63,186,86,200,63,197,227,32,6,32,79,164,63,149,47,46,242,107,114,188,191,253,152,119,82,88,88,161,191,224,99,111,66,50,12,172,63,140,29,42,151,170,98,154,63,105,120,160,211,58,79,149,191,132,112,0,53,81,228,142,191,55,49,153,91,201,228,116,63,114,177,47,252,225,146,122,63,85,12,92,113,0,176,47,191,84,216,61,60,228,214,95,191,168,160,36,127,254,121,56,191,131,214,30,247,128,144,55,63,225,82,203,166,4,111,36,63,123,191,32,202,172,11,251,190,54,110,244,101,249,127,253,190,102,40,84,193,245,53,204,190,149,63,228,223,88,99,190,62,121,183,28,29,41,50,165,62,21,106,51,22,208,118,112,62,242,102,162,88,0,151,114,63,244,155,188,16,192,238,167,63,205,123,2,111,253,94,202,63,227,51,29,105,71,135,223,63,44,41,165,81,128,170,228,63,190,121,194,176,55,178,213,63,136,81,137,202,233,186,200,191,215,216,40,110,13,125,210,191,45,197,120,51,98,182,176,63,116,24,13,63,186,86,200,63,197,227,32,6,32,79,164,191,149,47,46,242,107,114,188,191,253,152,119,82,88,88,161,63,224,99,111,66,50,12,172,63,140,29,42,151,170,98,154,191,105,120,160,211,58,79,149,191,132,112,0,53,81,228,142,63,55,49,153,91,201,228,116,63,114,177,47,252,225,146,122,191,85,12,92,113,0,176,47,191,84,216,61,60,228,214,95,63,168,160,36,127,254,121,56,191,131,214,30,247,128,144,55,191,225,82,203,166,4,111,36,63,123,191,32,202,172,11,251,62,54,110,244,101,249,127,253,190,102,40,84,193,245,53,204,62,149,63,228,223,88,99,190,62,121,183,28,29,41,50,165,190,21,106,51,22,208,118,112,62,21,106,51,22,208,118,112,62,121,183,28,29,41,50,165,62,149,63,228,223,88,99,190,62,102,40,84,193,245,53,204,190,54,110,244,101,249,127,253,190,123,191,32,202,172,11,251,190,225,82,203,166,4,111,36,63,131,214,30,247,128,144,55,63,168,160,36,127,254,121,56,191,84,216,61,60,228,214,95,191,85,12,92,113,0,176,47,191,114,177,47,252,225,146,122,63,55,49,153,91,201,228,116,63,132,112,0,53,81,228,142,191,105,120,160,211,58,79,149,191,140,29,42,151,170,98,154,63,224,99,111,66,50,12,172,63,253,152,119,82,88,88,161,191,149,47,46,242,107,114,188,191,197,227,32,6,32,79,164,63,116,24,13,63,186,86,200,63,45,197,120,51,98,182,176,191,215,216,40,110,13,125,210,191,136,81,137,202,233,186,200,63,190,121,194,176,55,178,213,63,44,41,165,81,128,170,228,191,227,51,29,105,71,135,223,63,205,123,2,111,253,94,202,191,244,155,188,16,192,238,167,63,242,102,162,88,0,151,114,191,205,59,127,102,158,160,230,63,205,59,127,102,158,160,230,63,205,59,127,102,158,160,230,191,205,59,127,102,158,160,230,63,205,59,127,102,158,160,230,63,205,59,127,102,158,160,230,63,205,59,127,102,158,160,230,63,205,59,127,102,158,160,230,191,218,108,223,204,118,248,144,63,218,108,223,204,118,248,144,191,58,242,238,204,217,28,191,191,58,242,238,204,217,28,191,63,205,59,127,102,158,160,230,63,205,59,127,102,158,160,230,63,58,242,238,204,217,28,191,63,58,242,238,204,217,28,191,191,218,108,223,204,118,248,144,191,218,108,223,204,118,248,144,63,218,108,223,204,118,248,144,63,218,108,223,204,118,248,144,63,58,242,238,204,217,28,191,191,58,242,238,204,217,28,191,191,205,59,127,102,158,160,230,63,205,59,127,102,158,160,230,191,58,242,238,204,217,28,191,63,58,242,238,204,217,28,191,63,218,108,223,204,118,248,144,191,218,108,223,204,118,248,144,191,0,0,0,0,0,0,0,0,218,108,223,204,118,248,160,63,218,108,223,204,118,248,176,191,205,59,127,102,158,160,198,191,3,23,183,25,188,222,218,63,24,236,34,192,222,209,239,63,3,23,183,25,188,222,218,63,205,59,127,102,158,160,198,191,218,108,223,204,118,248,176,191,218,108,223,204,118,248,160,63,0,0,0,0,0,0,0,0,218,108,223,204,118,248,160,191,218,108,223,204,118,248,176,191,205,59,127,102,158,160,198,63,3,23,183,25,188,222,218,63,24,236,34,192,222,209,239,191,3,23,183,25,188,222,218,63,205,59,127,102,158,160,198,63,218,108,223,204,118,248,176,191,218,108,223,204,118,248,160,191,0,0,0,0,0,0,0,0,192,10,31,0,198,72,124,191,192,10,31,0,198,72,140,63,138,47,231,76,168,10,168,63,226,16,235,12,193,147,187,191,119,67,126,54,88,190,197,191,175,7,185,121,72,163,220,63,194,243,33,144,152,239,238,63,175,7,185,121,72,163,220,63,119,67,126,54,88,190,197,191,226,16,235,12,193,147,187,191,138,47,231,76,168,10,168,63,192,10,31,0,198,72,140,63,192,10,31,0,198,72,124,191,0,0,0,0,0,0,0,0,192,10,31,0,198,72,124,63,192,10,31,0,198,72,140,63,138,47,231,76,168,10,168,191,226,16,235,12,193,147,187,191,119,67,126,54,88,190,197,63,175,7,185,121,72,163,220,63,194,243,33,144,152,239,238,191,175,7,185,121,72,163,220,63,119,67,126,54,88,190,197,63,226,16,235,12,193,147,187,191,138,47,231,76,168,10,168,191,192,10,31,0,198,72,140,63,192,10,31,0,198,72,124,63,0,0,0,0,0,0,0,0,104,41,27,64,173,191,88,63,104,41,27,64,173,191,104,191,20,26,29,160,57,132,138,191,65,127,32,72,47,156,157,63,183,148,234,244,157,34,171,63,68,90,121,227,212,68,193,191,44,106,125,204,90,248,196,191,78,23,58,62,197,154,221,63,243,107,225,45,218,115,238,63,78,23,58,62,197,154,221,63,44,106,125,204,90,248,196,191,68,90,121,227,212,68,193,191,183,148,234,244,157,34,171,63,65,127,32,72,47,156,157,63,20,26,29,160,57,132,138,191,104,41,27,64,173,191,104,191,104,41,27,64,173,191,88,63,0,0,0,0,0,0,0,0,104,41,27,64,173,191,88,191,104,41,27,64,173,191,104,191,20,26,29,160,57,132,138,63,65,127,32,72,47,156,157,63,183,148,234,244,157,34,171,191,68,90,121,227,212,68,193,191,44,106,125,204,90,248,196,63,78,23,58,62,197,154,221,63,243,107,225,45,218,115,238,191,78,23,58,62,197,154,221,63,44,106,125,204,90,248,196,63,68,90,121,227,212,68,193,191,183,148,234,244,157,34,171,191,65,127,32,72,47,156,157,63,20,26,29,160,57,132,138,63,104,41,27,64,173,191,104,191,104,41,27,64,173,191,88,191,205,59,127,102,158,160,214,191,218,108,223,204,118,248,240,63,218,108,223,204,118,248,240,63,205,59,127,102,158,160,214,191,205,59,127,102,158,160,198,191,218,108,223,204,118,248,224,63,218,108,223,204,118,248,224,191,205,59,127,102,158,160,198,63,205,59,127,102,158,160,198,63,218,108,223,204,118,248,224,63,218,108,223,204,118,248,224,63,205,59,127,102,158,160,198,63,205,59,127,102,158,160,214,191,218,108,223,204,118,248,240,191,218,108,223,204,118,248,240,63,205,59,127,102,158,160,214,63,98,105,111,114,51,46,51,0,218,108,223,204,118,248,176,63,71,35,79,51,178,116,201,191,83,84,175,153,138,204,195,191,24,236,34,192,222,209,239,63,24,236,34,192,222,209,239,63,83,84,175,153,138,204,195,191,71,35,79,51,178,116,201,191,218,108,223,204,118,248,176,63,218,108,223,204,118,248,176,63,71,35,79,51,178,116,201,63,83,84,175,153,138,204,195,191,24,236,34,192,222,209,239,191,24,236,34,192,222,209,239,63,83,84,175,153,138,204,195,63,71,35,79,51,178,116,201,191,218,108,223,204,118,248,176,191,192,10,31,0,198,72,140,191,16,72,23,128,148,54,165,63,3,23,183,25,188,222,170,63,81,107,172,9,184,37,209,191,151,96,71,179,128,98,178,191,194,243,33,144,152,239,238,63,194,243,33,144,152,239,238,63,151,96,71,179,128,98,178,191,81,107,172,9,184,37,209,191,3,23,183,25,188,222,170,63,16,72,23,128,148,54,165,63,192,10,31,0,198,72,140,191,192,10,31,0,198,72,140,191,16,72,23,128,148,54,165,191,3,23,183,25,188,222,170,63,81,107,172,9,184,37,209,63,151,96,71,179,128,98,178,191,194,243,33,144,152,239,238,191,194,243,33,144,152,239,238,63,151,96,71,179,128,98,178,63,81,107,172,9,184,37,209,191,3,23,183,25,188,222,170,191,16,72,23,128,148,54,165,63,192,10,31,0,198,72,140,63,104,41,27,64,173,191,104,63,14,95,20,240,193,143,130,191,141,234,18,168,88,60,145,191,68,250,20,206,45,29,179,63,230,52,171,77,224,10,160,63,224,192,46,237,48,70,211,191,183,148,234,244,157,34,155,191,243,107,225,45,218,115,238,63,243,107,225,45,218,115,238,63,183,148,234,244,157,34,155,191,224,192,46,237,48,70,211,191,230,52,171,77,224,10,160,63,68,250,20,206,45,29,179,63,141,234,18,168,88,60,145,191,14,95,20,240,193,143,130,191,104,41,27,64,173,191,104,63,104,41,27,64,173,191,104,63,14,95,20,240,193,143,130,63,141,234,18,168,88,60,145,191,68,250,20,206,45,29,179,191,230,52,171,77,224,10,160,63,224,192,46,237,48,70,211,63,183,148,234,244,157,34,155,191,243,107,225,45,218,115,238,191,243,107,225,45,218,115,238,63,183,148,234,244,157,34,155,63,224,192,46,237,48,70,211,191,230,52,171,77,224,10,160,191,68,250,20,206,45,29,179,63,141,234,18,168,88,60,145,63,14,95,20,240,193,143,130,191,104,41,27,64,173,191,104,191,222,62,229,236,27,70,70,191,38,239,171,241,148,180,96,63,71,140,227,24,33,186,116,63,237,248,227,205,31,29,149,191,99,133,236,84,42,231,140,191,242,115,181,168,229,96,185,63,147,165,27,88,208,48,137,63,80,74,35,116,6,126,212,191,98,110,18,144,53,203,96,63,151,73,36,204,228,37,238,63,151,73,36,204,228,37,238,63,98,110,18,144,53,203,96,63,80,74,35,116,6,126,212,191,147,165,27,88,208,48,137,63,242,115,181,168,229,96,185,63,99,133,236,84,42,231,140,191,237,248,227,205,31,29,149,191,71,140,227,24,33,186,116,63,38,239,171,241,148,180,96,63,222,62,229,236,27,70,70,191,222,62,229,236,27,70,70,191,38,239,171,241,148,180,96,191,71,140,227,24,33,186,116,63,237,248,227,205,31,29,149,63,99,133,236,84,42,231,140,191,242,115,181,168,229,96,185,191,147,165,27,88,208,48,137,63,80,74,35,116,6,126,212,63,98,110,18,144,53,203,96,63,151,73,36,204,228,37,238,191,151,73,36,204,228,37,238,63,98,110,18,144,53,203,96,191,80,74,35,116,6,126,212,191,147,165,27,88,208,48,137,191,242,115,181,168,229,96,185,63,99,133,236,84,42,231,140,63,237,248,227,205,31,29,149,191,71,140,227,24,33,186,116,191,38,239,171,241,148,180,96,63,222,62,229,236,27,70,70,63,0,0,0,0,0,0,0,0,119,22,134,86,64,94,163,63,120,245,36,129,254,107,152,191,204,221,29,135,225,81,188,191,37,139,145,78,94,39,216,63,113,240,117,189,78,73,235,63,37,139,145,78,94,39,216,63,204,221,29,135,225,81,188,191,120,245,36,129,254,107,152,191,119,22,134,86,64,94,163,63,0,0,0,0,0,0,0,0,68,236,53,198,158,133,176,191,56,107,217,75,62,213,164,63,252,157,12,24,6,194,218,63,22,130,250,47,70,59,233,191,252,157,12,24,6,194,218,63,56,107,217,75,62,213,164,63,68,236,53,198,158,133,176,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,236,53,198,158,133,176,191,56,107,217,75,62,213,164,191,252,157,12,24,6,194,218,63,22,130,250,47,70,59,233,63,252,157,12,24,6,194,218,63,56,107,217,75,62,213,164,191,68,236,53,198,158,133,176,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,22,134,86,64,94,163,191,120,245,36,129,254,107,152,191,204,221,29,135,225,81,188,63,37,139,145,78,94,39,216,63,113,240,117,189,78,73,235,191,37,139,145,78,94,39,216,63,204,221,29,135,225,81,188,63,120,245,36,129,254,107,152,191,119,22,134,86,64,94,163,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,23,13,181,221,81,164,63,222,199,75,21,25,71,128,63,40,30,147,124,173,226,171,191,142,221,212,157,101,30,214,63,166,252,111,95,184,146,231,63,142,221,212,157,101,30,214,63,40,30,147,124,173,226,171,191,222,199,75,21,25,71,128,63,99,23,13,181,221,81,164,63,0,0,0,0,0,0,0,0,10,60,79,248,48,143,139,191,6,236,164,83,193,19,102,191,175,252,35,243,153,127,193,63], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); /* memory initializer */ allocate([52,2,92,129,236,239,183,191,69,192,78,216,241,131,222,191,51,134,125,9,193,200,236,63,69,192,78,216,241,131,222,191,52,2,92,129,236,239,183,191,175,252,35,243,153,127,193,63,6,236,164,83,193,19,102,191,10,60,79,248,48,143,139,191,0,0,0,0,0,0,0,0,10,60,79,248,48,143,139,63,6,236,164,83,193,19,102,191,175,252,35,243,153,127,193,191,52,2,92,129,236,239,183,191,69,192,78,216,241,131,222,63,51,134,125,9,193,200,236,63,69,192,78,216,241,131,222,63,52,2,92,129,236,239,183,191,175,252,35,243,153,127,193,191,6,236,164,83,193,19,102,191,10,60,79,248,48,143,139,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,23,13,181,221,81,164,63,222,199,75,21,25,71,128,191,40,30,147,124,173,226,171,191,142,221,212,157,101,30,214,191,166,252,111,95,184,146,231,63,142,221,212,157,101,30,214,191,40,30,147,124,173,226,171,191,222,199,75,21,25,71,128,191,99,23,13,181,221,81,164,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,168,110,120,56,70,95,63,183,178,116,20,25,93,95,191,13,34,71,138,254,101,145,191,199,28,140,60,38,113,136,63,185,179,14,84,151,118,169,63,43,54,240,241,132,199,179,191,70,233,230,146,67,20,184,191,101,92,43,138,83,238,218,63,223,35,227,16,246,109,234,63,101,92,43,138,83,238,218,63,70,233,230,146,67,20,184,191,43,54,240,241,132,199,179,191,185,179,14,84,151,118,169,63,199,28,140,60,38,113,136,63,13,34,71,138,254,101,145,191,183,178,116,20,25,93,95,191,120,168,110,120,56,70,95,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,219,31,132,220,134,139,141,63,120,106,23,163,35,161,141,191,175,39,10,4,32,39,180,191,92,90,123,155,28,171,164,63,121,164,157,48,10,190,218,63,4,236,213,220,248,72,232,191,121,164,157,48,10,190,218,63,92,90,123,155,28,171,164,63,175,39,10,4,32,39,180,191,120,106,23,163,35,161,141,191,219,31,132,220,134,139,141,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,219,31,132,220,134,139,141,63,120,106,23,163,35,161,141,63,175,39,10,4,32,39,180,191,92,90,123,155,28,171,164,191,121,164,157,48,10,190,218,63,4,236,213,220,248,72,232,63,121,164,157,48,10,190,218,63,92,90,123,155,28,171,164,191,175,39,10,4,32,39,180,191,120,106,23,163,35,161,141,63,219,31,132,220,134,139,141,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,168,110,120,56,70,95,191,183,178,116,20,25,93,95,191,13,34,71,138,254,101,145,63,199,28,140,60,38,113,136,63,185,179,14,84,151,118,169,191,43,54,240,241,132,199,179,191,70,233,230,146,67,20,184,63,101,92,43,138,83,238,218,63,223,35,227,16,246,109,234,191,101,92,43,138,83,238,218,63,70,233,230,146,67,20,184,63,43,54,240,241,132,199,179,191,185,179,14,84,151,118,169,191,199,28,140,60,38,113,136,63,13,34,71,138,254,101,145,63,183,178,116,20,25,93,95,191,120,168,110,120,56,70,95,191,20,109,200,38,104,156,71,191,85,242,76,158,23,223,93,191,229,230,134,16,4,252,118,63,221,234,74,112,157,63,152,63,171,197,175,40,48,110,174,191,255,228,142,191,193,148,179,191,174,161,86,131,54,176,218,63,54,152,93,255,212,1,234,63,30,207,105,255,6,182,216,63,240,197,45,231,83,63,177,191,246,20,209,102,228,58,165,191,72,174,183,136,215,199,144,63,72,174,183,136,215,199,144,191,246,20,209,102,228,58,165,191,240,197,45,231,83,63,177,63,30,207,105,255,6,182,216,63,54,152,93,255,212,1,234,191,174,161,86,131,54,176,218,63,255,228,142,191,193,148,179,63,171,197,175,40,48,110,174,191,221,234,74,112,157,63,152,191,229,230,134,16,4,252,118,63,85,242,76,158,23,223,93,63,20,109,200,38,104,156,71,191,72,174,183,136,215,199,144,63,246,20,209,102,228,58,165,191,240,197,45,231,83,63,177,191,30,207,105,255,6,182,216,63,54,152,93,255,212,1,234,63,174,161,86,131,54,176,218,63,255,228,142,191,193,148,179,191,171,197,175,40,48,110,174,191,221,234,74,112,157,63,152,63,229,230,134,16,4,252,118,63,85,242,76,158,23,223,93,191,20,109,200,38,104,156,71,191,20,109,200,38,104,156,71,191,85,242,76,158,23,223,93,63,229,230,134,16,4,252,118,63,221,234,74,112,157,63,152,191,171,197,175,40,48,110,174,191,255,228,142,191,193,148,179,63,174,161,86,131,54,176,218,63,54,152,93,255,212,1,234,191,30,207,105,255,6,182,216,63,240,197,45,231,83,63,177,63,246,20,209,102,228,58,165,191,72,174,183,136,215,199,144,191,166,34,106,36,231,35,2,191,111,157,182,220,155,155,18,191,52,227,181,152,210,141,62,63,203,137,182,164,54,79,82,63,132,68,214,168,39,23,101,191,181,231,71,23,198,114,130,191,66,219,83,83,253,66,144,63,50,103,173,82,50,177,161,63,215,100,82,53,189,17,181,191,27,173,182,29,121,97,178,191,202,196,122,245,69,108,219,63,120,147,111,125,159,102,233,63,170,104,60,26,107,238,217,63,97,13,42,162,144,75,175,191,156,115,243,143,109,214,176,191,210,149,186,203,251,3,152,63,181,29,34,210,164,224,127,63,212,5,20,182,146,19,111,191,212,5,20,182,146,19,111,63,181,29,34,210,164,224,127,63,210,149,186,203,251,3,152,191,156,115,243,143,109,214,176,191,97,13,42,162,144,75,175,63,170,104,60,26,107,238,217,63,120,147,111,125,159,102,233,191,202,196,122,245,69,108,219,63,27,173,182,29,121,97,178,63,215,100,82,53,189,17,181,191,50,103,173,82,50,177,161,191,66,219,83,83,253,66,144,63,181,231,71,23,198,114,130,63,132,68,214,168,39,23,101,191,203,137,182,164,54,79,82,191,52,227,181,152,210,141,62,63,111,157,182,220,155,155,18,63,166,34,106,36,231,35,2,191,212,5,20,182,146,19,111,191,181,29,34,210,164,224,127,63,210,149,186,203,251,3,152,63,156,115,243,143,109,214,176,191,97,13,42,162,144,75,175,191,170,104,60,26,107,238,217,63,120,147,111,125,159,102,233,63,202,196,122,245,69,108,219,63,27,173,182,29,121,97,178,191,215,100,82,53,189,17,181,191,50,103,173,82,50,177,161,63,66,219,83,83,253,66,144,63,181,231,71,23,198,114,130,191,132,68,214,168,39,23,101,191,203,137,182,164,54,79,82,63,52,227,181,152,210,141,62,63,111,157,182,220,155,155,18,191,166,34,106,36,231,35,2,191,166,34,106,36,231,35,2,191,111,157,182,220,155,155,18,63,52,227,181,152,210,141,62,63,203,137,182,164,54,79,82,191,132,68,214,168,39,23,101,191,181,231,71,23,198,114,130,63,66,219,83,83,253,66,144,63,50,103,173,82,50,177,161,191,215,100,82,53,189,17,181,191,27,173,182,29,121,97,178,63,202,196,122,245,69,108,219,63,120,147,111,125,159,102,233,191,170,104,60,26,107,238,217,63,97,13,42,162,144,75,175,63,156,115,243,143,109,214,176,191,210,149,186,203,251,3,152,191,181,29,34,210,164,224,127,63,212,5,20,182,146,19,111,63,208,82,44,196,115,242,189,190,52,102,97,41,28,88,203,190,174,255,46,93,154,95,0,63,155,78,4,117,128,87,16,63,161,215,98,51,166,9,49,191,235,251,62,113,16,77,67,191,136,1,36,132,88,192,84,63,238,46,121,243,84,187,110,63,122,127,83,196,36,45,119,191,102,171,108,11,84,39,143,191,202,102,85,25,42,175,153,63,213,8,52,92,164,35,164,63,203,29,190,35,231,161,184,191,101,251,249,134,127,14,177,191,115,8,158,44,251,204,219,63,253,196,62,240,25,8,233,63,128,197,124,182,105,148,218,63,112,107,124,101,42,182,172,191,57,27,98,249,228,205,180,191,22,143,53,218,154,82,155,63,9,105,61,147,96,116,144,63,158,26,13,130,3,23,126,191,115,81,206,185,149,178,90,191,76,103,29,3,69,61,77,63,76,103,29,3,69,61,77,191,115,81,206,185,149,178,90,191,158,26,13,130,3,23,126,63,9,105,61,147,96,116,144,63,22,143,53,218,154,82,155,191,57,27,98,249,228,205,180,191,112,107,124,101,42,182,172,63,128,197,124,182,105,148,218,63,253,196,62,240,25,8,233,191,115,8,158,44,251,204,219,63,101,251,249,134,127,14,177,63,203,29,190,35,231,161,184,191,213,8,52,92,164,35,164,191,202,102,85,25,42,175,153,63,102,171,108,11,84,39,143,63,122,127,83,196,36,45,119,191,238,46,121,243,84,187,110,191,136,1,36,132,88,192,84,63,235,251,62,113,16,77,67,63,161,215,98,51,166,9,49,191,155,78,4,117,128,87,16,191,174,255,46,93,154,95,0,63,52,102,97,41,28,88,203,62,208,82,44,196,115,242,189,190,76,103,29,3,69,61,77,63,115,81,206,185,149,178,90,191,158,26,13,130,3,23,126,191,9,105,61,147,96,116,144,63,22,143,53,218,154,82,155,63,57,27,98,249,228,205,180,191,112,107,124,101,42,182,172,191,128,197,124,182,105,148,218,63,253,196,62,240,25,8,233,63,115,8,158,44,251,204,219,63,101,251,249,134,127,14,177,191,203,29,190,35,231,161,184,191,213,8,52,92,164,35,164,63,202,102,85,25,42,175,153,63,102,171,108,11,84,39,143,191,122,127,83,196,36,45,119,191,238,46,121,243,84,187,110,63,136,1,36,132,88,192,84,63,235,251,62,113,16,77,67,191,161,215,98,51,166,9,49,191,155,78,4,117,128,87,16,63,174,255,46,93,154,95,0,63,52,102,97,41,28,88,203,190,208,82,44,196,115,242,189,190,208,82,44,196,115,242,189,190,52,102,97,41,28,88,203,62,174,255,46,93,154,95,0,63,155,78,4,117,128,87,16,191,161,215,98,51,166,9,49,191,235,251,62,113,16,77,67,63,136,1,36,132,88,192,84,63,238,46,121,243,84,187,110,191,122,127,83,196,36,45,119,191,102,171,108,11,84,39,143,63,202,102,85,25,42,175,153,63,213,8,52,92,164,35,164,191,203,29,190,35,231,161,184,191,101,251,249,134,127,14,177,63,115,8,158,44,251,204,219,63,253,196,62,240,25,8,233,191,128,197,124,182,105,148,218,63,112,107,124,101,42,182,172,63,57,27,98,249,228,205,180,191,22,143,53,218,154,82,155,191,9,105,61,147,96,116,144,63,158,26,13,130,3,23,126,63,115,81,206,185,149,178,90,191,76,103,29,3,69,61,77,191,145,163,132,249,123,140,121,190,103,207,249,50,75,121,134,190,165,76,134,19,229,79,193,62,53,254,56,101,28,84,207,62,130,181,46,125,181,89,246,190,74,233,216,111,158,172,5,191,179,137,142,72,199,107,34,63,146,103,207,4,19,207,51,63,47,251,220,159,8,233,68,191,49,72,241,77,142,62,91,191,225,36,193,75,39,239,99,63,204,20,137,52,195,180,123,63,42,53,22,73,178,196,130,191,16,151,19,137,110,60,148,191,153,240,47,197,230,187,160,63,158,253,132,242,219,35,165,63,67,146,174,77,233,6,187,191,193,2,203,136,45,195,175,191,13,29,149,7,14,8,220,63,221,79,170,253,250,198,232,63,193,128,181,211,240,250,218,63,44,12,165,199,102,165,170,191,193,173,51,223,17,136,183,191,146,77,228,108,20,216,156,63,227,85,107,207,78,248,151,63,27,133,91,147,159,191,132,191,104,158,3,95,103,9,113,191,71,33,121,189,23,216,97,63,92,34,113,251,34,128,55,63,217,25,201,138,64,204,43,191,217,25,201,138,64,204,43,63,92,34,113,251,34,128,55,63,71,33,121,189,23,216,97,191,104,158,3,95,103,9,113,191,27,133,91,147,159,191,132,63,227,85,107,207,78,248,151,63,146,77,228,108,20,216,156,191,193,173,51,223,17,136,183,191,44,12,165,199,102,165,170,63,193,128,181,211,240,250,218,63,221,79,170,253,250,198,232,191,13,29,149,7,14,8,220,63,193,2,203,136,45,195,175,63,67,146,174,77,233,6,187,191,158,253,132,242,219,35,165,191,153,240,47,197,230,187,160,63,16,151,19,137,110,60,148,63,42,53,22,73,178,196,130,191,204,20,137,52,195,180,123,191,225,36,193,75,39,239,99,63,49,72,241,77,142,62,91,63,47,251,220,159,8,233,68,191,146,103,207,4,19,207,51,191,179,137,142,72,199,107,34,63,74,233,216,111,158,172,5,63,130,181,46,125,181,89,246,190,53,254,56,101,28,84,207,190,165,76,134,19,229,79,193,62,103,207,249,50,75,121,134,62,145,163,132,249,123,140,121,190,217,25,201,138,64,204,43,191,92,34,113,251,34,128,55,63,71,33,121,189,23,216,97,63,104,158,3,95,103,9,113,191,27,133,91,147,159,191,132,191,227,85,107,207,78,248,151,63,146,77,228,108,20,216,156,63,193,173,51,223,17,136,183,191,44,12,165,199,102,165,170,191,193,128,181,211,240,250,218,63,221,79,170,253,250,198,232,63,13,29,149,7,14,8,220,63,193,2,203,136,45,195,175,191,67,146,174,77,233,6,187,191,158,253,132,242,219,35,165,63,153,240,47,197,230,187,160,63,16,151,19,137,110,60,148,191,42,53,22,73,178,196,130,191,204,20,137,52,195,180,123,63,225,36,193,75,39,239,99,63,49,72,241,77,142,62,91,191,47,251,220,159,8,233,68,191,146,103,207,4,19,207,51,63,179,137,142,72,199,107,34,63,74,233,216,111,158,172,5,191,130,181,46,125,181,89,246,190,53,254,56,101,28,84,207,62,165,76,134,19,229,79,193,62,103,207,249,50,75,121,134,190,145,163,132,249,123,140,121,190,145,163,132,249,123,140,121,190,103,207,249,50,75,121,134,62,165,76,134,19,229,79,193,62,53,254,56,101,28,84,207,190,130,181,46,125,181,89,246,190,74,233,216,111,158,172,5,63,179,137,142,72,199,107,34,63,146,103,207,4,19,207,51,191,47,251,220,159,8,233,68,191,49,72,241,77,142,62,91,63,225,36,193,75,39,239,99,63,204,20,137,52,195,180,123,191,42,53,22,73,178,196,130,191,16,151,19,137,110,60,148,63,153,240,47,197,230,187,160,63,158,253,132,242,219,35,165,191,67,146,174,77,233,6,187,191,193,2,203,136,45,195,175,63,13,29,149,7,14,8,220,63,221,79,170,253,250,198,232,191,193,128,181,211,240,250,218,63,44,12,165,199,102,165,170,63,193,173,51,223,17,136,183,191,146,77,228,108,20,216,156,191,227,85,107,207,78,248,151,63,27,133,91,147,159,191,132,63,104,158,3,95,103,9,113,191,71,33,121,189,23,216,97,191,92,34,113,251,34,128,55,63,217,25,201,138,64,204,43,63,221,214,146,193,125,144,192,191,19,91,107,11,191,176,204,63,132,241,227,214,189,196,234,63,17,202,72,71,221,232,222,63,17,202,72,71,221,232,222,191,132,241,227,214,189,196,234,63,19,91,107,11,191,176,204,191,221,214,146,193,125,144,192,191,17,202,72,71,221,232,222,63,132,241,227,214,189,196,234,63,19,91,107,11,191,176,204,63,221,214,146,193,125,144,192,191,221,214,146,193,125,144,192,191,19,91,107,11,191,176,204,191,132,241,227,214,189,196,234,63,17,202,72,71,221,232,222,191,234,144,45,195,97,101,179,191,187,53,40,152,198,88,158,191,78,243,214,247,251,216,223,63,191,24,177,84,58,184,233,63,178,238,190,36,26,16,211,63,253,94,201,182,115,102,185,191,194,191,133,217,27,208,137,191,23,72,138,214,139,127,160,63,23,72,138,214,139,127,160,191,194,191,133,217,27,208,137,191,253,94,201,182,115,102,185,63,178,238,190,36,26,16,211,63,191,24,177,84,58,184,233,191,78,243,214,247,251,216,223,63,187,53,40,152,198,88,158,63,234,144,45,195,97,101,179,191,23,72,138,214,139,127,160,63,194,191,133,217,27,208,137,191,253,94,201,182,115,102,185,191,178,238,190,36,26,16,211,63,191,24,177,84,58,184,233,63,78,243,214,247,251,216,223,63,187,53,40,152,198,88,158,191,234,144,45,195,97,101,179,191,234,144,45,195,97,101,179,191,187,53,40,152,198,88,158,63,78,243,214,247,251,216,223,63,191,24,177,84,58,184,233,191,178,238,190,36,26,16,211,63,253,94,201,182,115,102,185,63,194,191,133,217,27,208,137,191,23,72,138,214,139,127,160,191,96,214,144,42,51,253,155,63,91,171,123,128,91,58,158,63,147,130,208,129,103,9,164,191,141,0,171,191,219,133,201,63,89,129,126,226,39,38,231,63,193,245,76,64,142,73,228,63,18,163,54,117,36,0,145,63,115,12,29,158,38,113,198,191,130,124,22,28,184,155,149,191,72,204,100,57,0,2,148,63,72,204,100,57,0,2,148,191,130,124,22,28,184,155,149,191,115,12,29,158,38,113,198,63,18,163,54,117,36,0,145,63,193,245,76,64,142,73,228,191,89,129,126,226,39,38,231,63,141,0,171,191,219,133,201,191,147,130,208,129,103,9,164,191,91,171,123,128,91,58,158,191,96,214,144,42,51,253,155,63,72,204,100,57,0,2,148,63,130,124,22,28,184,155,149,191,115,12,29,158,38,113,198,191,18,163,54,117,36,0,145,63,193,245,76,64,142,73,228,63,89,129,126,226,39,38,231,63,141,0,171,191,219,133,201,63,147,130,208,129,103,9,164,191,91,171,123,128,91,58,158,63,96,214,144,42,51,253,155,63,96,214,144,42,51,253,155,63,91,171,123,128,91,58,158,191,147,130,208,129,103,9,164,191,141,0,171,191,219,133,201,191,89,129,126,226,39,38,231,63,193,245,76,64,142,73,228,191,18,163,54,117,36,0,145,63,115,12,29,158,38,113,198,63,130,124,22,28,184,155,149,191,72,204,100,57,0,2,148,191,110,203,68,142,48,140,143,63,249,22,186,199,141,152,108,63,167,4,162,148,153,52,190,191,131,12,214,20,81,188,168,191,16,61,197,230,117,109,223,63,140,174,182,49,91,52,233,63,243,72,171,185,162,160,213,63,72,143,212,104,95,152,178,191,158,141,86,78,212,144,149,191,14,249,215,172,46,230,166,63,46,185,82,41,82,246,92,63,183,57,68,178,162,243,127,191,183,57,68,178,162,243,127,63,46,185,82,41,82,246,92,63,14,249,215,172,46,230,166,191,158,141,86,78,212,144,149,191,72,143,212,104,95,152,178,63,243,72,171,185,162,160,213,63,140,174,182,49,91,52,233,191,16,61,197,230,117,109,223,63,131,12,214,20,81,188,168,63,167,4,162,148,153,52,190,191,249,22,186,199,141,152,108,191,110,203,68,142,48,140,143,63,183,57,68,178,162,243,127,191,46,185,82,41,82,246,92,63,14,249,215,172,46,230,166,63,158,141,86,78,212,144,149,191,72,143,212,104,95,152,178,191,243,72,171,185,162,160,213,63,140,174,182,49,91,52,233,63,16,61,197,230,117,109,223,63,131,12,214,20,81,188,168,191,167,4,162,148,153,52,190,191,249,22,186,199,141,152,108,63,110,203,68,142,48,140,143,63,110,203,68,142,48,140,143,63,249,22,186,199,141,152,108,191,167,4,162,148,153,52,190,191,131,12,214,20,81,188,168,63,16,61,197,230,117,109,223,63,140,174,182,49,91,52,233,191,243,72,171,185,162,160,213,63,72,143,212,104,95,152,178,63,158,141,86,78,212,144,149,191,14,249,215,172,46,230,166,191,46,185,82,41,82,246,92,63,183,57,68,178,162,243,127,63,229,213,170,59,44,248,101,63,123,71,247,245,12,41,81,191,246,216,223,238,15,225,137,191,64,29,70,108,117,63,159,63,150,202,57,98,106,97,177,63,192,69,245,58,253,94,169,191,107,5,204,208,30,220,145,63,191,108,39,53,191,39,225,63,74,15,18,121,134,145,232,63,179,223,65,107,232,120,210,63,30,125,204,102,17,237,193,191,247,98,45,23,82,153,187,191,115,175,39,233,11,109,112,63,217,136,56,89,123,7,133,63,217,136,56,89,123,7,133,191,115,175,39,233,11,109,112,63,247,98,45,23,82,153,187,63,30,125,204,102,17,237,193,191,179,223,65,107,232,120,210,191,74,15,18,121,134,145,232,63,191,108,39,53,191,39,225,191,107,5,204,208,30,220,145,63,192,69,245,58,253,94,169,63,150,202,57,98,106,97,177,63,64,29,70,108,117,63,159,191,246,216,223,238,15,225,137,191,123,71,247,245,12,41,81,63,229,213,170,59,44,248,101,63,217,136,56,89,123,7,133,63,115,175,39,233,11,109,112,63,247,98,45,23,82,153,187,191,30,125,204,102,17,237,193,191,179,223,65,107,232,120,210,63,74,15,18,121,134,145,232,63,191,108,39,53,191,39,225,63,107,5,204,208,30,220,145,63,192,69,245,58,253,94,169,191,150,202,57,98,106,97,177,63,64,29,70,108,117,63,159,63,246,216,223,238,15,225,137,191,123,71,247,245,12,41,81,191,229,213,170,59,44,248,101,63,229,213,170,59,44,248,101,63,123,71,247,245,12,41,81,63,246,216,223,238,15,225,137,191,64,29,70,108,117,63,159,191,150,202,57,98,106,97,177,63,192,69,245,58,253,94,169,63,107,5,204,208,30,220,145,63,191,108,39,53,191,39,225,191,74,15,18,121,134,145,232,63,179,223,65,107,232,120,210,191,30,125,204,102,17,237,193,191,247,98,45,23,82,153,187,63,115,175,39,233,11,109,112,63,217,136,56,89,123,7,133,191,107,102,131,188,112,181,107,191,231,128,76,81,188,195,65,191,94,60,48,171,86,58,160,63,179,124,62,84,7,41,127,63,173,2,182,49,119,87,194,191,177,145,159,194,56,95,175,191,244,49,241,181,152,206,222,63,209,17,79,167,180,222,232,63,144,10,231,24,4,83,215,63,209,253,171,23,165,152,170,191,243,87,74,45,78,223,155,191,252,127,110,39,130,40,169,63,205,208,210,42,136,51,111,63,231,194,120,36,74,159,142,191,108,96,58,180,41,218,51,191,3,113,178,183,6,247,94,63,3,113,178,183,6,247,94,191,108,96,58,180,41,218,51,191,231,194,120,36,74,159,142,63,205,208,210,42,136,51,111,63,252,127,110,39,130,40,169,191,243,87,74,45,78,223,155,191,209,253,171,23,165,152,170,63,144,10,231,24,4,83,215,63,209,17,79,167,180,222,232,191,244,49,241,181,152,206,222,63,177,145,159,194,56,95,175,63,173,2,182,49,119,87,194,191,179,124,62,84,7,41,127,191,94,60,48,171,86,58,160,63,231,128,76,81,188,195,65,63,107,102,131,188,112,181,107,191,3,113,178,183,6,247,94,63,108,96,58,180,41,218,51,191,231,194,120,36,74,159,142,191,205,208,210,42,136,51,111,63,252,127,110,39,130,40,169,63,243,87,74,45,78,223,155,191,209,253,171,23,165,152,170,191,144,10,231,24,4,83,215,63,209,17,79,167,180,222,232,63,244,49,241,181,152,206,222,63,177,145,159,194,56,95,175,191,173,2,182,49,119,87,194,191,179,124,62,84,7,41,127,63,94,60,48,171,86,58,160,63,231,128,76,81,188,195,65,191,107,102,131,188,112,181,107,191,107,102,131,188,112,181,107,191,231,128,76,81,188,195,65,63,94,60,48,171,86,58,160,63,179,124,62,84,7,41,127,191,173,2,182,49,119,87,194,191,177,145,159,194,56,95,175,63,244,49,241,181,152,206,222,63,209,17,79,167,180,222,232,191,144,10,231,24,4,83,215,63,209,253,171,23,165,152,170,63,243,87,74,45,78,223,155,191,252,127,110,39,130,40,169,191,205,208,210,42,136,51,111,63,231,194,120,36,74,159,142,63,108,96,58,180,41,218,51,191,3,113,178,183,6,247,94,191,152,155,145,151,221,243,86,63,191,118,14,83,25,79,68,63,103,156,156,92,85,46,139,191,119,80,150,46,26,156,135,191,47,46,227,72,69,243,158,63,0,166,222,180,112,30,67,63,141,167,172,103,118,240,171,191,197,148,230,183,183,143,206,63,24,190,139,77,3,249,230,63,45,245,51,144,60,193,227,63,25,190,30,77,60,15,162,63,16,195,248,213,188,132,200,191,179,151,184,164,223,171,146,191,182,77,186,245,168,200,175,63,252,146,52,193,206,36,130,63,196,245,148,90,83,5,133,191,189,132,8,25,55,2,63,191,158,78,190,45,196,133,81,63,158,78,190,45,196,133,81,191,189,132,8,25,55,2,63,191,196,245,148,90,83,5,133,63,252,146,52,193,206,36,130,63,182,77,186,245,168,200,175,191,179,151,184,164,223,171,146,191,16,195,248,213,188,132,200,63,25,190,30,77,60,15,162,63,45,245,51,144,60,193,227,191,24,190,139,77,3,249,230,63,197,148,230,183,183,143,206,191,141,167,172,103,118,240,171,191,0,166,222,180,112,30,67,191,47,46,227,72,69,243,158,63,119,80,150,46,26,156,135,63,103,156,156,92,85,46,139,191,191,118,14,83,25,79,68,191,152,155,145,151,221,243,86,63,158,78,190,45,196,133,81,63,189,132,8,25,55,2,63,191,196,245,148,90,83,5,133,191,252,146,52,193,206,36,130,63,182,77,186,245,168,200,175,63,179,151,184,164,223,171,146,191,16,195,248,213,188,132,200,191,25,190,30,77,60,15,162,63,45,245,51,144,60,193,227,63,24,190,139,77,3,249,230,63,197,148,230,183,183,143,206,63,141,167,172,103,118,240,171,191,0,166,222,180,112,30,67,63,47,46,227,72,69,243,158,63,119,80,150,46,26,156,135,191,103,156,156,92,85,46,139,191,191,118,14,83,25,79,68,63,152,155,145,151,221,243,86,63,152,155,145,151,221,243,86,63,191,118,14,83,25,79,68,191,103,156,156,92,85,46,139,191,119,80,150,46,26,156,135,63,47,46,227,72,69,243,158,63,0,166,222,180,112,30,67,191,141,167,172,103,118,240,171,191,197,148,230,183,183,143,206,191,24,190,139,77,3,249,230,63,45,245,51,144,60,193,227,191,25,190,30,77,60,15,162,63,16,195,248,213,188,132,200,63,179,151,184,164,223,171,146,191,182,77,186,245,168,200,175,191,252,146,52,193,206,36,130,63,196,245,148,90,83,5,133,63,189,132,8,25,55,2,63,191,158,78,190,45,196,133,81,191,0,254,174,152,145,60,73,63,191,4,210,197,204,17,25,63,143,109,81,142,135,178,129,191,148,66,210,144,66,2,88,191,207,120,252,108,198,131,167,63,201,2,3,149,237,198,135,63,134,219,218,251,78,106,196,191,98,171,28,15,58,37,178,191,191,14,21,13,46,48,222,63,133,97,94,131,211,159,232,63,26,55,135,30,158,144,216,63,216,112,72,36,223,49,162,191,218,227,54,48,0,97,160,191,0,211,18,228,240,152,169,63,44,119,96,202,242,156,119,63,128,68,57,227,236,215,148,191,188,46,84,167,115,91,74,191,91,26,87,165,74,208,114,63,47,118,33,233,64,231,13,63,49,206,95,215,68,26,62,191,49,206,95,215,68,26,62,63,47,118,33,233,64,231,13,63,91,26,87,165,74,208,114,191,188,46,84,167,115,91,74,191,128,68,57,227,236,215,148,63,44,119,96,202,242,156,119,63,0,211,18,228,240,152,169,191,218,227,54,48,0,97,160,191,216,112,72,36,223,49,162,63,26,55,135,30,158,144,216,63,133,97,94,131,211,159,232,191,191,14,21,13,46,48,222,63,98,171,28,15,58,37,178,63,134,219,218,251,78,106,196,191,201,2,3,149,237,198,135,191,207,120,252,108,198,131,167,63,148,66,210,144,66,2,88,63,143,109,81,142,135,178,129,191,191,4,210,197,204,17,25,191,0,254,174,152,145,60,73,63,49,206,95,215,68,26,62,191,47,118,33,233,64,231,13,63,91,26,87,165,74,208,114,63,188,46,84,167,115,91,74,191,128,68,57,227,236,215,148,191,44,119,96,202,242,156,119,63,0,211,18,228,240,152,169,63,218,227,54,48,0,97,160,191,216,112,72,36,223,49,162,191,26,55,135,30,158,144,216,63,133,97,94,131,211,159,232,63,191,14,21,13,46,48,222,63,98,171,28,15,58,37,178,191,134,219,218,251,78,106,196,191,201,2,3,149,237,198,135,63,207,120,252,108,198,131,167,63,148,66,210,144,66,2,88,191,143,109,81,142,135,178,129,191,191,4,210,197,204,17,25,63,0,254,174,152,145,60,73,63,0,254,174,152,145,60,73,63,191,4,210,197,204,17,25,191,143,109,81,142,135,178,129,191,148,66,210,144,66,2,88,63,207,120,252,108,198,131,167,63,201,2,3,149,237,198,135,191,134,219,218,251,78,106,196,191,98,171,28,15,58,37,178,63,191,14,21,13,46,48,222,63,133,97,94,131,211,159,232,191,26,55,135,30,158,144,216,63,216,112,72,36,223,49,162,63,218,227,54,48,0,97,160,191,0,211,18,228,240,152,169,191,44,119,96,202,242,156,119,63,128,68,57,227,236,215,148,63,188,46,84,167,115,91,74,191,91,26,87,165,74,208,114,191,47,118,33,233,64,231,13,63,49,206,95,215,68,26,62,63,10,32,84,104,101,32,68,101,99,111,109,112,111,115,105,116,105,111,110,32,73,116,101,114,97,116,105,111,110,115,32,67,97,110,110,111,116,32,69,120,99,101,101,100,32,49,48,48,46,32,69,120,105,116,105,110,103,32,10,0,0,0,0,0,10,32,69,114,114,111,114,32,45,32,84,104,101,32,83,105,103,110,97,108,32,67,97,110,32,111,110,108,121,32,98,101,32,105,116,101,114,97,116,101,100,32,37,100,32,116,105,109,101,115,32,117,115,105,110,103,32,116,104,105,115,32,119,97,118,101,108,101,116,46,32,69,120,105,116,105,110,103,10,0,115,121,109,0,0,0,0,0,100,119,116,0,0,0,0,0,68,87,84,0,0,0,0,0,115,119,116,0,0,0,0,0,83,87,84,0,0,0,0,0,10,32,70,111,114,32,83,87,84,32,116,104,101,32,115,105,103,110,97,108,32,108,101,110,103,116,104,32,109,117,115,116,32,98,101,32,97,32,109,117,108,116,105,112,108,101,32,111,102,32,50,94,74,46,32,10,0,0,0,0,0,0,0,0,112,101,114,0,0,0,0,0,109,111,100,119,116,0,0,0,77,79,68,87,84,0,0,0,100,98,0,0,0,0,0,0,99,111,105,102,0,0,0,0,10,32,77,79,68,87,84,32,105,115,32,111,110,108,121,32,105,109,112,108,101,109,101,110,116,101,100,32,102,111,114,32,111,114,116,104,111,103,111,110,97,108,32,119,97,118,101,108,101,116,32,102,97,109,105,108,105,101,115,32,45,32,100,98,44,32,115,121,109,32,97,110,100,32,99,111,105,102,32,10,0,0,0,0,0,0,0,0,100,105,114,101,99,116,0,0,102,102,116,0,0,0,0,0,70,70,84,0,0,0,0,0,83,105,103,110,97,108,32,101,120,116,101,110,115,105,111,110,32,99,97,110,32,98,101,32,101,105,116,104,101,114,32,112,101,114,32,111,114,32,115,121,109,0,0,0,0,0,0,0,68,101,99,111,109,112,111,115,105,116,105,111,110,32,70,105,108,116,101,114,115,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,108,101,110,103,116,104,46,0,0,0,0,0,0,0,0,83,87,84,32,79,110,108,121,32,97,99,99,101,112,116,115,32,116,119,111,32,109,101,116,104,111,100,115,32,45,32,100,105,114,101,99,116,32,97,110,100,32,102,102,116,0,0,0,67,111,110,118,111,108,117,116,105,111,110,32,79,110,108,121,32,97,99,99,101,112,116,115,32,116,119,111,32,109,101,116,104,111,100,115,32,45,32,100,105,114,101,99,116,32,97,110,100,32,102,102,116,0,0,0,100,119,116,0,0,0,0,0,68,87,84,0,0,0,0,0,112,101,114,0,0,0,0,0,115,121,109,0,0,0,0,0,115,119,116,0,0,0,0,0,83,87,84,0,0,0,0,0,109,111,100,119,116,0,0,0,77,79,68,87,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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, Runtime.GLOBAL_BASE+10240); var tempDoublePtr = Runtime.alignMemory(allocate(12, "i8", ALLOC_STATIC), 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]; } var ___errno_state=0;function ___setErrNo(value) { // For convenient setting and returning of errno. HEAP32[((___errno_state)>>2)]=value; return value; } var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name) { // long sysconf(int name); // http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html switch(name) { case 30: return PAGE_SIZE; case 132: case 133: case 12: case 137: case 138: case 15: case 235: case 16: case 17: case 18: case 19: case 20: case 149: case 13: case 10: case 236: case 153: case 9: case 21: case 22: case 159: case 154: case 14: case 77: case 78: case 139: case 80: case 81: case 79: case 82: case 68: case 67: case 164: case 11: case 29: case 47: case 48: case 95: case 52: case 51: case 46: return 200809; case 27: case 246: case 127: case 128: case 23: case 24: case 160: case 161: case 181: case 182: case 242: case 183: case 184: case 243: case 244: case 245: case 165: case 178: case 179: case 49: case 50: case 168: case 169: case 175: case 170: case 171: case 172: case 97: case 76: case 32: case 173: case 35: return -1; case 176: case 177: case 7: case 155: case 8: case 157: case 125: case 126: case 92: case 93: case 129: case 130: case 131: case 94: case 91: return 1; case 74: case 60: case 69: case 70: case 4: return 1024; case 31: case 42: case 72: return 32; case 87: case 26: case 33: return 2147483647; case 34: case 1: return 47839; case 38: case 36: return 99; case 43: case 37: return 2048; case 0: return 2097152; case 3: return 65536; case 28: return 32768; case 44: return 32767; case 75: return 16384; case 39: return 1000; case 89: return 700; case 71: return 256; case 40: return 255; case 2: return 100; case 180: return 64; case 25: return 20; case 5: return 16; case 6: return 6; case 73: return 4; case 84: { if (typeof navigator === 'object') return navigator['hardwareConcurrency'] || 1; return 1; } } ___setErrNo(ERRNO_CODES.EINVAL); return -1; } Module["_memset"] = _memset; var _ceil=Math_ceil; function _abort() { Module['abort'](); } var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"}; var PATH={splitPath:function (filename) { var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; return splitPathRe.exec(filename).slice(1); },normalizeArray:function (parts, allowAboveRoot) { // if the path tries to go above the root, `up` ends up > 0 var up = 0; for (var i = parts.length - 1; i >= 0; i--) { var last = parts[i]; if (last === '.') { parts.splice(i, 1); } else if (last === '..') { parts.splice(i, 1); up++; } else if (up) { parts.splice(i, 1); up--; } } // if the path is allowed to go above the root, restore leading ..s if (allowAboveRoot) { for (; up--; up) { parts.unshift('..'); } } return parts; },normalize:function (path) { var isAbsolute = path.charAt(0) === '/', trailingSlash = path.substr(-1) === '/'; // Normalize the path path = PATH.normalizeArray(path.split('/').filter(function(p) { return !!p; }), !isAbsolute).join('/'); if (!path && !isAbsolute) { path = '.'; } if (path && trailingSlash) { path += '/'; } return (isAbsolute ? '/' : '') + path; },dirname:function (path) { var result = PATH.splitPath(path), root = result[0], dir = result[1]; if (!root && !dir) { // No dirname whatsoever return '.'; } if (dir) { // It has a dirname, strip trailing slash dir = dir.substr(0, dir.length - 1); } return root + dir; },basename:function (path) { // EMSCRIPTEN return '/'' for '/', not an empty string if (path === '/') return '/'; var lastSlash = path.lastIndexOf('/'); if (lastSlash === -1) return path; return path.substr(lastSlash+1); },extname:function (path) { return PATH.splitPath(path)[3]; },join:function () { var paths = Array.prototype.slice.call(arguments, 0); return PATH.normalize(paths.join('/')); },join2:function (l, r) { return PATH.normalize(l + '/' + r); },resolve:function () { var resolvedPath = '', resolvedAbsolute = false; for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { var path = (i >= 0) ? arguments[i] : FS.cwd(); // Skip empty and invalid entries if (typeof path !== 'string') { throw new TypeError('Arguments to path.resolve must be strings'); } else if (!path) { return ''; // an invalid portion invalidates the whole thing } resolvedPath = path + '/' + resolvedPath; resolvedAbsolute = path.charAt(0) === '/'; } // At this point the path should be resolved to a full absolute path, but // handle relative paths to be safe (might happen when process.cwd() fails) resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { return !!p; }), !resolvedAbsolute).join('/'); return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; },relative:function (from, to) { from = PATH.resolve(from).substr(1); to = PATH.resolve(to).substr(1); function trim(arr) { var start = 0; for (; start < arr.length; start++) { if (arr[start] !== '') break; } var end = arr.length - 1; for (; end >= 0; end--) { if (arr[end] !== '') break; } if (start > end) return []; return arr.slice(start, end - start + 1); } var fromParts = trim(from.split('/')); var toParts = trim(to.split('/')); var length = Math.min(fromParts.length, toParts.length); var samePartsLength = length; for (var i = 0; i < length; i++) { if (fromParts[i] !== toParts[i]) { samePartsLength = i; break; } } var outputParts = []; for (var i = samePartsLength; i < fromParts.length; i++) { outputParts.push('..'); } outputParts = outputParts.concat(toParts.slice(samePartsLength)); return outputParts.join('/'); }}; var TTY={ttys:[],init:function () { // https://github.com/kripken/emscripten/pull/1555 // if (ENVIRONMENT_IS_NODE) { // // currently, FS.init does not distinguish if process.stdin is a file or TTY // // device, it always assumes it's a TTY device. because of this, we're forcing // // process.stdin to UTF8 encoding to at least make stdin reading compatible // // with text files until FS.init can be refactored. // process['stdin']['setEncoding']('utf8'); // } },shutdown:function () { // https://github.com/kripken/emscripten/pull/1555 // if (ENVIRONMENT_IS_NODE) { // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call // process['stdin']['pause'](); // } },register:function (dev, ops) { TTY.ttys[dev] = { input: [], output: [], ops: ops }; FS.registerDevice(dev, TTY.stream_ops); },stream_ops:{open:function (stream) { var tty = TTY.ttys[stream.node.rdev]; if (!tty) { throw new FS.ErrnoError(ERRNO_CODES.ENODEV); } stream.tty = tty; stream.seekable = false; },close:function (stream) { // flush any pending line data if (stream.tty.output.length) { stream.tty.ops.put_char(stream.tty, 10); } },read:function (stream, buffer, offset, length, pos /* ignored */) { if (!stream.tty || !stream.tty.ops.get_char) { throw new FS.ErrnoError(ERRNO_CODES.ENXIO); } var bytesRead = 0; for (var i = 0; i < length; i++) { var result; try { result = stream.tty.ops.get_char(stream.tty); } catch (e) { throw new FS.ErrnoError(ERRNO_CODES.EIO); } if (result === undefined && bytesRead === 0) { throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); } if (result === null || result === undefined) break; bytesRead++; buffer[offset+i] = result; } if (bytesRead) { stream.node.timestamp = Date.now(); } return bytesRead; },write:function (stream, buffer, offset, length, pos) { if (!stream.tty || !stream.tty.ops.put_char) { throw new FS.ErrnoError(ERRNO_CODES.ENXIO); } for (var i = 0; i < length; i++) { try { stream.tty.ops.put_char(stream.tty, buffer[offset+i]); } catch (e) { throw new FS.ErrnoError(ERRNO_CODES.EIO); } } if (length) { stream.node.timestamp = Date.now(); } return i; }},default_tty_ops:{get_char:function (tty) { if (!tty.input.length) { var result = null; if (ENVIRONMENT_IS_NODE) { result = process['stdin']['read'](); if (!result) { if (process['stdin']['_readableState'] && process['stdin']['_readableState']['ended']) { return null; // EOF } return undefined; // no data available } } else if (typeof window != 'undefined' && typeof window.prompt == 'function') { // Browser. result = window.prompt('Input: '); // returns null on cancel if (result !== null) { result += '\n'; } } else if (typeof readline == 'function') { // Command line. result = readline(); if (result !== null) { result += '\n'; } } if (!result) { return null; } tty.input = intArrayFromString(result, true); } return tty.input.shift(); },put_char:function (tty, val) { if (val === null || val === 10) { Module['print'](tty.output.join('')); tty.output = []; } else { tty.output.push(TTY.utf8.processCChar(val)); } }},default_tty1_ops:{put_char:function (tty, val) { if (val === null || val === 10) { Module['printErr'](tty.output.join('')); tty.output = []; } else { tty.output.push(TTY.utf8.processCChar(val)); } }}}; var MEMFS={ops_table:null,mount:function (mount) { return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); },createNode:function (parent, name, mode, dev) { if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { // no supported throw new FS.ErrnoError(ERRNO_CODES.EPERM); } if (!MEMFS.ops_table) { MEMFS.ops_table = { dir: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, lookup: MEMFS.node_ops.lookup, mknod: MEMFS.node_ops.mknod, rename: MEMFS.node_ops.rename, unlink: MEMFS.node_ops.unlink, rmdir: MEMFS.node_ops.rmdir, readdir: MEMFS.node_ops.readdir, symlink: MEMFS.node_ops.symlink }, stream: { llseek: MEMFS.stream_ops.llseek } }, file: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: { llseek: MEMFS.stream_ops.llseek, read: MEMFS.stream_ops.read, write: MEMFS.stream_ops.write, allocate: MEMFS.stream_ops.allocate, mmap: MEMFS.stream_ops.mmap } }, link: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, readlink: MEMFS.node_ops.readlink }, stream: {} }, chrdev: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: FS.chrdev_stream_ops }, }; } var node = FS.createNode(parent, name, mode, dev); if (FS.isDir(node.mode)) { node.node_ops = MEMFS.ops_table.dir.node; node.stream_ops = MEMFS.ops_table.dir.stream; node.contents = {}; } else if (FS.isFile(node.mode)) { node.node_ops = MEMFS.ops_table.file.node; node.stream_ops = MEMFS.ops_table.file.stream; node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.buffer.byteLength which gives the whole capacity. // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. node.contents = null; } else if (FS.isLink(node.mode)) { node.node_ops = MEMFS.ops_table.link.node; node.stream_ops = MEMFS.ops_table.link.stream; } else if (FS.isChrdev(node.mode)) { node.node_ops = MEMFS.ops_table.chrdev.node; node.stream_ops = MEMFS.ops_table.chrdev.stream; } node.timestamp = Date.now(); // add the new node to the parent if (parent) { parent.contents[name] = node; } return node; },getFileDataAsRegularArray:function (node) { if (node.contents && node.contents.subarray) { var arr = []; for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); return arr; // Returns a copy of the original data. } return node.contents; // No-op, the file contents are already in a JS array. Return as-is. },getFileDataAsTypedArray:function (node) { if (node.contents && node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. return new Uint8Array(node.contents); },expandFileStorage:function (node, newCapacity) { // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to // increase the size. if (node.contents && node.contents.subarray && newCapacity > node.contents.length) { node.contents = MEMFS.getFileDataAsRegularArray(node); node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it. } if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well. var prevCapacity = node.contents ? node.contents.buffer.byteLength : 0; if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to // avoid overshooting the allocation cap by a very large margin. var CAPACITY_DOUBLING_MAX = 1024 * 1024; newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0); if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. var oldContents = node.contents; node.contents = new Uint8Array(newCapacity); // Allocate new storage. if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. return; } // Not using a typed array to back the file storage. Use a standard JS array instead. if (!node.contents && newCapacity > 0) node.contents = []; while (node.contents.length < newCapacity) node.contents.push(0); },resizeFileStorage:function (node, newSize) { if (node.usedBytes == newSize) return; if (newSize == 0) { node.contents = null; // Fully decommit when requesting a resize to zero. node.usedBytes = 0; return; } if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. var oldContents = node.contents; node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage. if (oldContents) { node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. } node.usedBytes = newSize; return; } // Backing with a JS array. if (!node.contents) node.contents = []; if (node.contents.length > newSize) node.contents.length = newSize; else while (node.contents.length < newSize) node.contents.push(0); node.usedBytes = newSize; },node_ops:{getattr:function (node) { var attr = {}; // device numbers reuse inode numbers. attr.dev = FS.isChrdev(node.mode) ? node.id : 1; attr.ino = node.id; attr.mode = node.mode; attr.nlink = 1; attr.uid = 0; attr.gid = 0; attr.rdev = node.rdev; if (FS.isDir(node.mode)) { attr.size = 4096; } else if (FS.isFile(node.mode)) { attr.size = node.usedBytes; } else if (FS.isLink(node.mode)) { attr.size = node.link.length; } else { attr.size = 0; } attr.atime = new Date(node.timestamp); attr.mtime = new Date(node.timestamp); attr.ctime = new Date(node.timestamp); // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), // but this is not required by the standard. attr.blksize = 4096; attr.blocks = Math.ceil(attr.size / attr.blksize); return attr; },setattr:function (node, attr) { if (attr.mode !== undefined) { node.mode = attr.mode; } if (attr.timestamp !== undefined) { node.timestamp = attr.timestamp; } if (attr.size !== undefined) { MEMFS.resizeFileStorage(node, attr.size); } },lookup:function (parent, name) { throw FS.genericErrors[ERRNO_CODES.ENOENT]; },mknod:function (parent, name, mode, dev) { return MEMFS.createNode(parent, name, mode, dev); },rename:function (old_node, new_dir, new_name) { // if we're overwriting a directory at new_name, make sure it's empty. if (FS.isDir(old_node.mode)) { var new_node; try { new_node = FS.lookupNode(new_dir, new_name); } catch (e) { } if (new_node) { for (var i in new_node.contents) { throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); } } } // do the internal rewiring delete old_node.parent.contents[old_node.name]; old_node.name = new_name; new_dir.contents[new_name] = old_node; old_node.parent = new_dir; },unlink:function (parent, name) { delete parent.contents[name]; },rmdir:function (parent, name) { var node = FS.lookupNode(parent, name); for (var i in node.contents) { throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); } delete parent.contents[name]; },readdir:function (node) { var entries = ['.', '..'] for (var key in node.contents) { if (!node.contents.hasOwnProperty(key)) { continue; } entries.push(key); } return entries; },symlink:function (parent, newname, oldpath) { var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); node.link = oldpath; return node; },readlink:function (node) { if (!FS.isLink(node.mode)) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } return node.link; }},stream_ops:{read:function (stream, buffer, offset, length, position) { var contents = stream.node.contents; if (position >= stream.node.usedBytes) return 0; var size = Math.min(stream.node.usedBytes - position, length); assert(size >= 0); if (size > 8 && contents.subarray) { // non-trivial, and typed array buffer.set(contents.subarray(position, position + size), offset); } else { for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; } return size; },write:function (stream, buffer, offset, length, position, canOwn) { if (!length) return 0; var node = stream.node; node.timestamp = Date.now(); if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? if (canOwn) { // Can we just reuse the buffer we are given? assert(position === 0, 'canOwn must imply no weird position inside the file'); node.contents = buffer.subarray(offset, offset + length); node.usedBytes = length; return length; } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); node.usedBytes = length; return length; } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? node.contents.set(buffer.subarray(offset, offset + length), position); return length; } } // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. MEMFS.expandFileStorage(node, position+length); if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available. else for (var i = 0; i < length; i++) { node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. } node.usedBytes = Math.max(node.usedBytes, position+length); return length; },llseek:function (stream, offset, whence) { var position = offset; if (whence === 1) { // SEEK_CUR. position += stream.position; } else if (whence === 2) { // SEEK_END. if (FS.isFile(stream.node.mode)) { position += stream.node.usedBytes; } } if (position < 0) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } stream.ungotten = []; stream.position = position; return position; },allocate:function (stream, offset, length) { MEMFS.expandFileStorage(stream.node, offset + length); stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); },mmap:function (stream, buffer, offset, length, position, prot, flags) { if (!FS.isFile(stream.node.mode)) { throw new FS.ErrnoError(ERRNO_CODES.ENODEV); } var ptr; var allocated; var contents = stream.node.contents; // Only make a new copy when MAP_PRIVATE is specified. if ( !(flags & 2) && (contents.buffer === buffer || contents.buffer === buffer.buffer) ) { // We can't emulate MAP_SHARED when the file is not backed by the buffer // we're mapping to (e.g. the HEAP buffer). allocated = false; ptr = contents.byteOffset; } else { // Try to avoid unnecessary slices. if (position > 0 || position + length < stream.node.usedBytes) { if (contents.subarray) { contents = contents.subarray(position, position + length); } else { contents = Array.prototype.slice.call(contents, position, position + length); } } allocated = true; ptr = _malloc(length); if (!ptr) { throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); } buffer.set(contents, ptr); } return { ptr: ptr, allocated: allocated }; }}}; var IDBFS={dbs:{},indexedDB:function () { if (typeof indexedDB !== 'undefined') return indexedDB; var ret = null; if (typeof window === 'object') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; assert(ret, 'IDBFS used, but indexedDB not supported'); return ret; },DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function (mount) { // reuse all of the core MEMFS functionality return MEMFS.mount.apply(null, arguments); },syncfs:function (mount, populate, callback) { IDBFS.getLocalSet(mount, function(err, local) { if (err) return callback(err); IDBFS.getRemoteSet(mount, function(err, remote) { if (err) return callback(err); var src = populate ? remote : local; var dst = populate ? local : remote; IDBFS.reconcile(src, dst, callback); }); }); },getDB:function (name, callback) { // check the cache first var db = IDBFS.dbs[name]; if (db) { return callback(null, db); } var req; try { req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION); } catch (e) { return callback(e); } req.onupgradeneeded = function(e) { var db = e.target.result; var transaction = e.target.transaction; var fileStore; if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME); } else { fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME); } fileStore.createIndex('timestamp', 'timestamp', { unique: false }); }; req.onsuccess = function() { db = req.result; // add to the cache IDBFS.dbs[name] = db; callback(null, db); }; req.onerror = function() { callback(this.error); }; },getLocalSet:function (mount, callback) { var entries = {}; function isRealDir(p) { return p !== '.' && p !== '..'; }; function toAbsolute(root) { return function(p) { return PATH.join2(root, p); } }; var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); while (check.length) { var path = check.pop(); var stat; try { stat = FS.stat(path); } catch (e) { return callback(e); } if (FS.isDir(stat.mode)) { check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))); } entries[path] = { timestamp: stat.mtime }; } return callback(null, { type: 'local', entries: entries }); },getRemoteSet:function (mount, callback) { var entries = {}; IDBFS.getDB(mount.mountpoint, function(err, db) { if (err) return callback(err); var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly'); transaction.onerror = function() { callback(this.error); }; var store = transaction.objectStore(IDBFS.DB_STORE_NAME); var index = store.index('timestamp'); index.openKeyCursor().onsuccess = function(event) { var cursor = event.target.result; if (!cursor) { return callback(null, { type: 'remote', db: db, entries: entries }); } entries[cursor.primaryKey] = { timestamp: cursor.key }; cursor.continue(); }; }); },loadLocalEntry:function (path, callback) { var stat, node; try { var lookup = FS.lookupPath(path); node = lookup.node; stat = FS.stat(path); } catch (e) { return callback(e); } if (FS.isDir(stat.mode)) { return callback(null, { timestamp: stat.mtime, mode: stat.mode }); } else if (FS.isFile(stat.mode)) { // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array. // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB. node.contents = MEMFS.getFileDataAsTypedArray(node); return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents }); } else { return callback(new Error('node type not supported')); } },storeLocalEntry:function (path, entry, callback) { try { if (FS.isDir(entry.mode)) { FS.mkdir(path, entry.mode); } else if (FS.isFile(entry.mode)) { FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true }); } else { return callback(new Error('node type not supported')); } FS.chmod(path, entry.mode); FS.utime(path, entry.timestamp, entry.timestamp); } catch (e) { return callback(e); } callback(null); },removeLocalEntry:function (path, callback) { try { var lookup = FS.lookupPath(path); var stat = FS.stat(path); if (FS.isDir(stat.mode)) { FS.rmdir(path); } else if (FS.isFile(stat.mode)) { FS.unlink(path); } } catch (e) { return callback(e); } callback(null); },loadRemoteEntry:function (store, path, callback) { var req = store.get(path); req.onsuccess = function(event) { callback(null, event.target.result); }; req.onerror = function() { callback(this.error); }; },storeRemoteEntry:function (store, path, entry, callback) { var req = store.put(entry, path); req.onsuccess = function() { callback(null); }; req.onerror = function() { callback(this.error); }; },removeRemoteEntry:function (store, path, callback) { var req = store.delete(path); req.onsuccess = function() { callback(null); }; req.onerror = function() { callback(this.error); }; },reconcile:function (src, dst, callback) { var total = 0; var create = []; Object.keys(src.entries).forEach(function (key) { var e = src.entries[key]; var e2 = dst.entries[key]; if (!e2 || e.timestamp > e2.timestamp) { create.push(key); total++; } }); var remove = []; Object.keys(dst.entries).forEach(function (key) { var e = dst.entries[key]; var e2 = src.entries[key]; if (!e2) { remove.push(key); total++; } }); if (!total) { return callback(null); } var errored = false; var completed = 0; var db = src.type === 'remote' ? src.db : dst.db; var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite'); var store = transaction.objectStore(IDBFS.DB_STORE_NAME); function done(err) { if (err) { if (!done.errored) { done.errored = true; return callback(err); } return; } if (++completed >= total) { return callback(null); } }; transaction.onerror = function() { done(this.error); }; // sort paths in ascending order so directory entries are created // before the files inside them create.sort().forEach(function (path) { if (dst.type === 'local') { IDBFS.loadRemoteEntry(store, path, function (err, entry) { if (err) return done(err); IDBFS.storeLocalEntry(path, entry, done); }); } else { IDBFS.loadLocalEntry(path, function (err, entry) { if (err) return done(err); IDBFS.storeRemoteEntry(store, path, entry, done); }); } }); // sort paths in descending order so files are deleted before their // parent directories remove.sort().reverse().forEach(function(path) { if (dst.type === 'local') { IDBFS.removeLocalEntry(path, done); } else { IDBFS.removeRemoteEntry(store, path, done); } }); }}; var NODEFS={isWindows:false,staticInit:function () { NODEFS.isWindows = !!process.platform.match(/^win/); },mount:function (mount) { assert(ENVIRONMENT_IS_NODE); return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0); },createNode:function (parent, name, mode, dev) { if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } var node = FS.createNode(parent, name, mode); node.node_ops = NODEFS.node_ops; node.stream_ops = NODEFS.stream_ops; return node; },getMode:function (path) { var stat; try { stat = fs.lstatSync(path); if (NODEFS.isWindows) { // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so // propagate write bits to execute bits. stat.mode = stat.mode | ((stat.mode & 146) >> 1); } } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } return stat.mode; },realPath:function (node) { var parts = []; while (node.parent !== node) { parts.push(node.name); node = node.parent; } parts.push(node.mount.opts.root); parts.reverse(); return PATH.join.apply(null, parts); },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) { if (flags in NODEFS.flagsToPermissionStringMap) { return NODEFS.flagsToPermissionStringMap[flags]; } else { return flags; } },node_ops:{getattr:function (node) { var path = NODEFS.realPath(node); var stat; try { stat = fs.lstatSync(path); } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096. // See http://support.microsoft.com/kb/140365 if (NODEFS.isWindows && !stat.blksize) { stat.blksize = 4096; } if (NODEFS.isWindows && !stat.blocks) { stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0; } return { dev: stat.dev, ino: stat.ino, mode: stat.mode, nlink: stat.nlink, uid: stat.uid, gid: stat.gid, rdev: stat.rdev, size: stat.size, atime: stat.atime, mtime: stat.mtime, ctime: stat.ctime, blksize: stat.blksize, blocks: stat.blocks }; },setattr:function (node, attr) { var path = NODEFS.realPath(node); try { if (attr.mode !== undefined) { fs.chmodSync(path, attr.mode); // update the common node structure mode as well node.mode = attr.mode; } if (attr.timestamp !== undefined) { var date = new Date(attr.timestamp); fs.utimesSync(path, date, date); } if (attr.size !== undefined) { fs.truncateSync(path, attr.size); } } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } },lookup:function (parent, name) { var path = PATH.join2(NODEFS.realPath(parent), name); var mode = NODEFS.getMode(path); return NODEFS.createNode(parent, name, mode); },mknod:function (parent, name, mode, dev) { var node = NODEFS.createNode(parent, name, mode, dev); // create the backing node for this in the fs root as well var path = NODEFS.realPath(node); try { if (FS.isDir(node.mode)) { fs.mkdirSync(path, node.mode); } else { fs.writeFileSync(path, '', { mode: node.mode }); } } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } return node; },rename:function (oldNode, newDir, newName) { var oldPath = NODEFS.realPath(oldNode); var newPath = PATH.join2(NODEFS.realPath(newDir), newName); try { fs.renameSync(oldPath, newPath); } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } },unlink:function (parent, name) { var path = PATH.join2(NODEFS.realPath(parent), name); try { fs.unlinkSync(path); } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } },rmdir:function (parent, name) { var path = PATH.join2(NODEFS.realPath(parent), name); try { fs.rmdirSync(path); } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } },readdir:function (node) { var path = NODEFS.realPath(node); try { return fs.readdirSync(path); } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } },symlink:function (parent, newName, oldPath) { var newPath = PATH.join2(NODEFS.realPath(parent), newName); try { fs.symlinkSync(oldPath, newPath); } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } },readlink:function (node) { var path = NODEFS.realPath(node); try { return fs.readlinkSync(path); } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } }},stream_ops:{open:function (stream) { var path = NODEFS.realPath(stream.node); try { if (FS.isFile(stream.node.mode)) { stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags)); } } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } },close:function (stream) { try { if (FS.isFile(stream.node.mode) && stream.nfd) { fs.closeSync(stream.nfd); } } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } },read:function (stream, buffer, offset, length, position) { // FIXME this is terrible. var nbuffer = new Buffer(length); var res; try { res = fs.readSync(stream.nfd, nbuffer, 0, length, position); } catch (e) { throw new FS.ErrnoError(ERRNO_CODES[e.code]); } if (res > 0) { for (var i = 0; i < res; i++) { buffer[offset + i] = nbuffer[i]; } } return res; },write:function (stream, buffer, offset, length, position) { // FIXME this is terrible. var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); var res; try { res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); } catch (e) { throw new FS.ErrnoError(ERRNO_CODES[e.code]); } return res; },llseek:function (stream, offset, whence) { var position = offset; if (whence === 1) { // SEEK_CUR. position += stream.position; } else if (whence === 2) { // SEEK_END. if (FS.isFile(stream.node.mode)) { try { var stat = fs.fstatSync(stream.nfd); position += stat.size; } catch (e) { throw new FS.ErrnoError(ERRNO_CODES[e.code]); } } } if (position < 0) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } stream.position = position; return position; }}}; var _stdin=allocate(1, "i32*", ALLOC_STATIC); var _stdout=allocate(1, "i32*", ALLOC_STATIC); var _stderr=allocate(1, "i32*", ALLOC_STATIC); function _fflush(stream) { // int fflush(FILE *stream); // http://pubs.opengroup.org/onlinepubs/000095399/functions/fflush.html // we don't currently perform any user-space buffering of data }var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},handleFSError:function (e) { if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); return ___setErrNo(e.errno); },lookupPath:function (path, opts) { path = PATH.resolve(FS.cwd(), path); opts = opts || {}; if (!path) return { path: '', node: null }; var defaults = { follow_mount: true, recurse_count: 0 }; for (var key in defaults) { if (opts[key] === undefined) { opts[key] = defaults[key]; } } if (opts.recurse_count > 8) { // max recursive lookup of 8 throw new FS.ErrnoError(ERRNO_CODES.ELOOP); } // split the path var parts = PATH.normalizeArray(path.split('/').filter(function(p) { return !!p; }), false); // start at the root var current = FS.root; var current_path = '/'; for (var i = 0; i < parts.length; i++) { var islast = (i === parts.length-1); if (islast && opts.parent) { // stop resolving break; } current = FS.lookupNode(current, parts[i]); current_path = PATH.join2(current_path, parts[i]); // jump to the mount's root node if this is a mountpoint if (FS.isMountpoint(current)) { if (!islast || (islast && opts.follow_mount)) { current = current.mounted.root; } } // by default, lookupPath will not follow a symlink if it is the final path component. // setting opts.follow = true will override this behavior. if (!islast || opts.follow) { var count = 0; while (FS.isLink(current.mode)) { var link = FS.readlink(current_path); current_path = PATH.resolve(PATH.dirname(current_path), link); var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); current = lookup.node; if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). throw new FS.ErrnoError(ERRNO_CODES.ELOOP); } } } } return { path: current_path, node: current }; },getPath:function (node) { var path; while (true) { if (FS.isRoot(node)) { var mount = node.mount.mountpoint; if (!path) return mount; return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; } path = path ? node.name + '/' + path : node.name; node = node.parent; } },hashName:function (parentid, name) { var hash = 0; for (var i = 0; i < name.length; i++) { hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; } return ((parentid + hash) >>> 0) % FS.nameTable.length; },hashAddNode:function (node) { var hash = FS.hashName(node.parent.id, node.name); node.name_next = FS.nameTable[hash]; FS.nameTable[hash] = node; },hashRemoveNode:function (node) { var hash = FS.hashName(node.parent.id, node.name); if (FS.nameTable[hash] === node) { FS.nameTable[hash] = node.name_next; } else { var current = FS.nameTable[hash]; while (current) { if (current.name_next === node) { current.name_next = node.name_next; break; } current = current.name_next; } } },lookupNode:function (parent, name) { var err = FS.mayLookup(parent); if (err) { throw new FS.ErrnoError(err, parent); } var hash = FS.hashName(parent.id, name); for (var node = FS.nameTable[hash]; node; node = node.name_next) { var nodeName = node.name; if (node.parent.id === parent.id && nodeName === name) { return node; } } // if we failed to find it in the cache, call into the VFS return FS.lookup(parent, name); },createNode:function (parent, name, mode, rdev) { if (!FS.FSNode) { FS.FSNode = function(parent, name, mode, rdev) { if (!parent) { parent = this; // root node sets parent to itself } this.parent = parent; this.mount = parent.mount; this.mounted = null; this.id = FS.nextInode++; this.name = name; this.mode = mode; this.node_ops = {}; this.stream_ops = {}; this.rdev = rdev; }; FS.FSNode.prototype = {}; // compatibility var readMode = 292 | 73; var writeMode = 146; // NOTE we must use Object.defineProperties instead of individual calls to // Object.defineProperty in order to make closure compiler happy Object.defineProperties(FS.FSNode.prototype, { read: { get: function() { return (this.mode & readMode) === readMode; }, set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; } }, write: { get: function() { return (this.mode & writeMode) === writeMode; }, set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; } }, isFolder: { get: function() { return FS.isDir(this.mode); }, }, isDevice: { get: function() { return FS.isChrdev(this.mode); }, }, }); } var node = new FS.FSNode(parent, name, mode, rdev); FS.hashAddNode(node); return node; },destroyNode:function (node) { FS.hashRemoveNode(node); },isRoot:function (node) { return node === node.parent; },isMountpoint:function (node) { return !!node.mounted; },isFile:function (mode) { return (mode & 61440) === 32768; },isDir:function (mode) { return (mode & 61440) === 16384; },isLink:function (mode) { return (mode & 61440) === 40960; },isChrdev:function (mode) { return (mode & 61440) === 8192; },isBlkdev:function (mode) { return (mode & 61440) === 24576; },isFIFO:function (mode) { return (mode & 61440) === 4096; },isSocket:function (mode) { return (mode & 49152) === 49152; },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function (str) { var flags = FS.flagModes[str]; if (typeof flags === 'undefined') { throw new Error('Unknown file open mode: ' + str); } return flags; },flagsToPermissionString:function (flag) { var accmode = flag & 2097155; var perms = ['r', 'w', 'rw'][accmode]; if ((flag & 512)) { perms += 'w'; } return perms; },nodePermissions:function (node, perms) { if (FS.ignorePermissions) { return 0; } // return 0 if any user, group or owner bits are set. if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { return ERRNO_CODES.EACCES; } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { return ERRNO_CODES.EACCES; } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { return ERRNO_CODES.EACCES; } return 0; },mayLookup:function (dir) { var err = FS.nodePermissions(dir, 'x'); if (err) return err; if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES; return 0; },mayCreate:function (dir, name) { try { var node = FS.lookupNode(dir, name); return ERRNO_CODES.EEXIST; } catch (e) { } return FS.nodePermissions(dir, 'wx'); },mayDelete:function (dir, name, isdir) { var node; try { node = FS.lookupNode(dir, name); } catch (e) { return e.errno; } var err = FS.nodePermissions(dir, 'wx'); if (err) { return err; } if (isdir) { if (!FS.isDir(node.mode)) { return ERRNO_CODES.ENOTDIR; } if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { return ERRNO_CODES.EBUSY; } } else { if (FS.isDir(node.mode)) { return ERRNO_CODES.EISDIR; } } return 0; },mayOpen:function (node, flags) { if (!node) { return ERRNO_CODES.ENOENT; } if (FS.isLink(node.mode)) { return ERRNO_CODES.ELOOP; } else if (FS.isDir(node.mode)) { if ((flags & 2097155) !== 0 || // opening for write (flags & 512)) { return ERRNO_CODES.EISDIR; } } return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) { fd_start = fd_start || 0; fd_end = fd_end || FS.MAX_OPEN_FDS; for (var fd = fd_start; fd <= fd_end; fd++) { if (!FS.streams[fd]) { return fd; } } throw new FS.ErrnoError(ERRNO_CODES.EMFILE); },getStream:function (fd) { return FS.streams[fd]; },createStream:function (stream, fd_start, fd_end) { if (!FS.FSStream) { FS.FSStream = function(){}; FS.FSStream.prototype = {}; // compatibility Object.defineProperties(FS.FSStream.prototype, { object: { get: function() { return this.node; }, set: function(val) { this.node = val; } }, isRead: { get: function() { return (this.flags & 2097155) !== 1; } }, isWrite: { get: function() { return (this.flags & 2097155) !== 0; } }, isAppend: { get: function() { return (this.flags & 1024); } } }); } // clone it, so we can return an instance of FSStream var newStream = new FS.FSStream(); for (var p in stream) { newStream[p] = stream[p]; } stream = newStream; var fd = FS.nextfd(fd_start, fd_end); stream.fd = fd; FS.streams[fd] = stream; return stream; },closeStream:function (fd) { FS.streams[fd] = null; },getStreamFromPtr:function (ptr) { return FS.streams[ptr - 1]; },getPtrForStream:function (stream) { return stream ? stream.fd + 1 : 0; },chrdev_stream_ops:{open:function (stream) { var device = FS.getDevice(stream.node.rdev); // override node's stream ops with the device's stream.stream_ops = device.stream_ops; // forward the open call if (stream.stream_ops.open) { stream.stream_ops.open(stream); } },llseek:function () { throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); }},major:function (dev) { return ((dev) >> 8); },minor:function (dev) { return ((dev) & 0xff); },makedev:function (ma, mi) { return ((ma) << 8 | (mi)); },registerDevice:function (dev, ops) { FS.devices[dev] = { stream_ops: ops }; },getDevice:function (dev) { return FS.devices[dev]; },getMounts:function (mount) { var mounts = []; var check = [mount]; while (check.length) { var m = check.pop(); mounts.push(m); check.push.apply(check, m.mounts); } return mounts; },syncfs:function (populate, callback) { if (typeof(populate) === 'function') { callback = populate; populate = false; } var mounts = FS.getMounts(FS.root.mount); var completed = 0; function done(err) { if (err) { if (!done.errored) { done.errored = true; return callback(err); } return; } if (++completed >= mounts.length) { callback(null); } }; // sync all mounts mounts.forEach(function (mount) { if (!mount.type.syncfs) { return done(null); } mount.type.syncfs(mount, populate, done); }); },mount:function (type, opts, mountpoint) { var root = mountpoint === '/'; var pseudo = !mountpoint; var node; if (root && FS.root) { throw new FS.ErrnoError(ERRNO_CODES.EBUSY); } else if (!root && !pseudo) { var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); mountpoint = lookup.path; // use the absolute path node = lookup.node; if (FS.isMountpoint(node)) { throw new FS.ErrnoError(ERRNO_CODES.EBUSY); } if (!FS.isDir(node.mode)) { throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); } } var mount = { type: type, opts: opts, mountpoint: mountpoint, mounts: [] }; // create a root node for the fs var mountRoot = type.mount(mount); mountRoot.mount = mount; mount.root = mountRoot; if (root) { FS.root = mountRoot; } else if (node) { // set as a mountpoint node.mounted = mount; // add the new mount to the current mount's children if (node.mount) { node.mount.mounts.push(mount); } } return mountRoot; },unmount:function (mountpoint) { var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); if (!FS.isMountpoint(lookup.node)) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } // destroy the nodes for this mount, and all its child mounts var node = lookup.node; var mount = node.mounted; var mounts = FS.getMounts(mount); Object.keys(FS.nameTable).forEach(function (hash) { var current = FS.nameTable[hash]; while (current) { var next = current.name_next; if (mounts.indexOf(current.mount) !== -1) { FS.destroyNode(current); } current = next; } }); // no longer a mountpoint node.mounted = null; // remove this mount from the child mounts var idx = node.mount.mounts.indexOf(mount); assert(idx !== -1); node.mount.mounts.splice(idx, 1); },lookup:function (parent, name) { return parent.node_ops.lookup(parent, name); },mknod:function (path, mode, dev) { var lookup = FS.lookupPath(path, { parent: true }); var parent = lookup.node; var name = PATH.basename(path); if (!name || name === '.' || name === '..') { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } var err = FS.mayCreate(parent, name); if (err) { throw new FS.ErrnoError(err); } if (!parent.node_ops.mknod) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); } return parent.node_ops.mknod(parent, name, mode, dev); },create:function (path, mode) { mode = mode !== undefined ? mode : 438 /* 0666 */; mode &= 4095; mode |= 32768; return FS.mknod(path, mode, 0); },mkdir:function (path, mode) { mode = mode !== undefined ? mode : 511 /* 0777 */; mode &= 511 | 512; mode |= 16384; return FS.mknod(path, mode, 0); },mkdev:function (path, mode, dev) { if (typeof(dev) === 'undefined') { dev = mode; mode = 438 /* 0666 */; } mode |= 8192; return FS.mknod(path, mode, dev); },symlink:function (oldpath, newpath) { if (!PATH.resolve(oldpath)) { throw new FS.ErrnoError(ERRNO_CODES.ENOENT); } var lookup = FS.lookupPath(newpath, { parent: true }); var parent = lookup.node; if (!parent) { throw new FS.ErrnoError(ERRNO_CODES.ENOENT); } var newname = PATH.basename(newpath); var err = FS.mayCreate(parent, newname); if (err) { throw new FS.ErrnoError(err); } if (!parent.node_ops.symlink) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); } return parent.node_ops.symlink(parent, newname, oldpath); },rename:function (old_path, new_path) { var old_dirname = PATH.dirname(old_path); var new_dirname = PATH.dirname(new_path); var old_name = PATH.basename(old_path); var new_name = PATH.basename(new_path); // parents must exist var lookup, old_dir, new_dir; try { lookup = FS.lookupPath(old_path, { parent: true }); old_dir = lookup.node; lookup = FS.lookupPath(new_path, { parent: true }); new_dir = lookup.node; } catch (e) { throw new FS.ErrnoError(ERRNO_CODES.EBUSY); } if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); // need to be part of the same mount if (old_dir.mount !== new_dir.mount) { throw new FS.ErrnoError(ERRNO_CODES.EXDEV); } // source must exist var old_node = FS.lookupNode(old_dir, old_name); // old path should not be an ancestor of the new path var relative = PATH.relative(old_path, new_dirname); if (relative.charAt(0) !== '.') { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } // new path should not be an ancestor of the old path relative = PATH.relative(new_path, old_dirname); if (relative.charAt(0) !== '.') { throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); } // see if the new path already exists var new_node; try { new_node = FS.lookupNode(new_dir, new_name); } catch (e) { // not fatal } // early out if nothing needs to change if (old_node === new_node) { return; } // we'll need to delete the old entry var isdir = FS.isDir(old_node.mode); var err = FS.mayDelete(old_dir, old_name, isdir); if (err) { throw new FS.ErrnoError(err); } // need delete permissions if we'll be overwriting. // need create permissions if new doesn't already exist. err = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); if (err) { throw new FS.ErrnoError(err); } if (!old_dir.node_ops.rename) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); } if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { throw new FS.ErrnoError(ERRNO_CODES.EBUSY); } // if we are going to change the parent, check write permissions if (new_dir !== old_dir) { err = FS.nodePermissions(old_dir, 'w'); if (err) { throw new FS.ErrnoError(err); } } try { if (FS.trackingDelegate['willMovePath']) { FS.trackingDelegate['willMovePath'](old_path, new_path); } } catch(e) { console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); } // remove the node from the lookup hash FS.hashRemoveNode(old_node); // do the underlying fs rename try { old_dir.node_ops.rename(old_node, new_dir, new_name); } catch (e) { throw e; } finally { // add the node back to the hash (in case node_ops.rename // changed its name) FS.hashAddNode(old_node); } try { if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); } catch(e) { console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); } },rmdir:function (path) { var lookup = FS.lookupPath(path, { parent: true }); var parent = lookup.node; var name = PATH.basename(path); var node = FS.lookupNode(parent, name); var err = FS.mayDelete(parent, name, true); if (err) { throw new FS.ErrnoError(err); } if (!parent.node_ops.rmdir) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); } if (FS.isMountpoint(node)) { throw new FS.ErrnoError(ERRNO_CODES.EBUSY); } try { if (FS.trackingDelegate['willDeletePath']) { FS.trackingDelegate['willDeletePath'](path); } } catch(e) { console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); } parent.node_ops.rmdir(parent, name); FS.destroyNode(node); try { if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); } catch(e) { console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); } },readdir:function (path) { var lookup = FS.lookupPath(path, { follow: true }); var node = lookup.node; if (!node.node_ops.readdir) { throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); } return node.node_ops.readdir(node); },unlink:function (path) { var lookup = FS.lookupPath(path, { parent: true }); var parent = lookup.node; var name = PATH.basename(path); var node = FS.lookupNode(parent, name); var err = FS.mayDelete(parent, name, false); if (err) { // POSIX says unlink should set EPERM, not EISDIR if (err === ERRNO_CODES.EISDIR) err = ERRNO_CODES.EPERM; throw new FS.ErrnoError(err); } if (!parent.node_ops.unlink) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); } if (FS.isMountpoint(node)) { throw new FS.ErrnoError(ERRNO_CODES.EBUSY); } try { if (FS.trackingDelegate['willDeletePath']) { FS.trackingDelegate['willDeletePath'](path); } } catch(e) { console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); } parent.node_ops.unlink(parent, name); FS.destroyNode(node); try { if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); } catch(e) { console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); } },readlink:function (path) { var lookup = FS.lookupPath(path); var link = lookup.node; if (!link) { throw new FS.ErrnoError(ERRNO_CODES.ENOENT); } if (!link.node_ops.readlink) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } return link.node_ops.readlink(link); },stat:function (path, dontFollow) { var lookup = FS.lookupPath(path, { follow: !dontFollow }); var node = lookup.node; if (!node) { throw new FS.ErrnoError(ERRNO_CODES.ENOENT); } if (!node.node_ops.getattr) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); } return node.node_ops.getattr(node); },lstat:function (path) { return FS.stat(path, true); },chmod:function (path, mode, dontFollow) { var node; if (typeof path === 'string') { var lookup = FS.lookupPath(path, { follow: !dontFollow }); node = lookup.node; } else { node = path; } if (!node.node_ops.setattr) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); } node.node_ops.setattr(node, { mode: (mode & 4095) | (node.mode & ~4095), timestamp: Date.now() }); },lchmod:function (path, mode) { FS.chmod(path, mode, true); },fchmod:function (fd, mode) { var stream = FS.getStream(fd); if (!stream) { throw new FS.ErrnoError(ERRNO_CODES.EBADF); } FS.chmod(stream.node, mode); },chown:function (path, uid, gid, dontFollow) { var node; if (typeof path === 'string') { var lookup = FS.lookupPath(path, { follow: !dontFollow }); node = lookup.node; } else { node = path; } if (!node.node_ops.setattr) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); } node.node_ops.setattr(node, { timestamp: Date.now() // we ignore the uid / gid for now }); },lchown:function (path, uid, gid) { FS.chown(path, uid, gid, true); },fchown:function (fd, uid, gid) { var stream = FS.getStream(fd); if (!stream) { throw new FS.ErrnoError(ERRNO_CODES.EBADF); } FS.chown(stream.node, uid, gid); },truncate:function (path, len) { if (len < 0) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } var node; if (typeof path === 'string') { var lookup = FS.lookupPath(path, { follow: true }); node = lookup.node; } else { node = path; } if (!node.node_ops.setattr) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); } if (FS.isDir(node.mode)) { throw new FS.ErrnoError(ERRNO_CODES.EISDIR); } if (!FS.isFile(node.mode)) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } var err = FS.nodePermissions(node, 'w'); if (err) { throw new FS.ErrnoError(err); } node.node_ops.setattr(node, { size: len, timestamp: Date.now() }); },ftruncate:function (fd, len) { var stream = FS.getStream(fd); if (!stream) { throw new FS.ErrnoError(ERRNO_CODES.EBADF); } if ((stream.flags & 2097155) === 0) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } FS.truncate(stream.node, len); },utime:function (path, atime, mtime) { var lookup = FS.lookupPath(path, { follow: true }); var node = lookup.node; node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) }); },open:function (path, flags, mode, fd_start, fd_end) { if (path === "") { throw new FS.ErrnoError(ERRNO_CODES.ENOENT); } flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode; if ((flags & 64)) { mode = (mode & 4095) | 32768; } else { mode = 0; } var node; if (typeof path === 'object') { node = path; } else { path = PATH.normalize(path); try { var lookup = FS.lookupPath(path, { follow: !(flags & 131072) }); node = lookup.node; } catch (e) { // ignore } } // perhaps we need to create the node var created = false; if ((flags & 64)) { if (node) { // if O_CREAT and O_EXCL are set, error out if the node already exists if ((flags & 128)) { throw new FS.ErrnoError(ERRNO_CODES.EEXIST); } } else { // node doesn't exist, try to create it node = FS.mknod(path, mode, 0); created = true; } } if (!node) { throw new FS.ErrnoError(ERRNO_CODES.ENOENT); } // can't truncate a device if (FS.isChrdev(node.mode)) { flags &= ~512; } // check permissions, if this is not a file we just created now (it is ok to // create and write to a file with read-only permissions; it is read-only // for later use) if (!created) { var err = FS.mayOpen(node, flags); if (err) { throw new FS.ErrnoError(err); } } // do truncation if necessary if ((flags & 512)) { FS.truncate(node, 0); } // we've already handled these, don't pass down to the underlying vfs flags &= ~(128 | 512); // register the stream with the filesystem var stream = FS.createStream({ node: node, path: FS.getPath(node), // we want the absolute path to the node flags: flags, seekable: true, position: 0, stream_ops: node.stream_ops, // used by the file family libc calls (fopen, fwrite, ferror, etc.) ungotten: [], error: false }, fd_start, fd_end); // call the new stream's open function if (stream.stream_ops.open) { stream.stream_ops.open(stream); } if (Module['logReadFiles'] && !(flags & 1)) { if (!FS.readFiles) FS.readFiles = {}; if (!(path in FS.readFiles)) { FS.readFiles[path] = 1; Module['printErr']('read file: ' + path); } } try { if (FS.trackingDelegate['onOpenFile']) { var trackingFlags = 0; if ((flags & 2097155) !== 1) { trackingFlags |= FS.tracking.openFlags.READ; } if ((flags & 2097155) !== 0) { trackingFlags |= FS.tracking.openFlags.WRITE; } FS.trackingDelegate['onOpenFile'](path, trackingFlags); } } catch(e) { console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); } return stream; },close:function (stream) { try { if (stream.stream_ops.close) { stream.stream_ops.close(stream); } } catch (e) { throw e; } finally { FS.closeStream(stream.fd); } },llseek:function (stream, offset, whence) { if (!stream.seekable || !stream.stream_ops.llseek) { throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); } return stream.stream_ops.llseek(stream, offset, whence); },read:function (stream, buffer, offset, length, position) { if (length < 0 || position < 0) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } if ((stream.flags & 2097155) === 1) { throw new FS.ErrnoError(ERRNO_CODES.EBADF); } if (FS.isDir(stream.node.mode)) { throw new FS.ErrnoError(ERRNO_CODES.EISDIR); } if (!stream.stream_ops.read) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } var seeking = true; if (typeof position === 'undefined') { position = stream.position; seeking = false; } else if (!stream.seekable) { throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); } var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); if (!seeking) stream.position += bytesRead; return bytesRead; },write:function (stream, buffer, offset, length, position, canOwn) { if (length < 0 || position < 0) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } if ((stream.flags & 2097155) === 0) { throw new FS.ErrnoError(ERRNO_CODES.EBADF); } if (FS.isDir(stream.node.mode)) { throw new FS.ErrnoError(ERRNO_CODES.EISDIR); } if (!stream.stream_ops.write) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } if (stream.flags & 1024) { // seek to the end before writing in append mode FS.llseek(stream, 0, 2); } var seeking = true; if (typeof position === 'undefined') { position = stream.position; seeking = false; } else if (!stream.seekable) { throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); } var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); if (!seeking) stream.position += bytesWritten; try { if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); } catch(e) { console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message); } return bytesWritten; },allocate:function (stream, offset, length) { if (offset < 0 || length <= 0) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } if ((stream.flags & 2097155) === 0) { throw new FS.ErrnoError(ERRNO_CODES.EBADF); } if (!FS.isFile(stream.node.mode) && !FS.isDir(node.mode)) { throw new FS.ErrnoError(ERRNO_CODES.ENODEV); } if (!stream.stream_ops.allocate) { throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); } stream.stream_ops.allocate(stream, offset, length); },mmap:function (stream, buffer, offset, length, position, prot, flags) { // TODO if PROT is PROT_WRITE, make sure we have write access if ((stream.flags & 2097155) === 1) { throw new FS.ErrnoError(ERRNO_CODES.EACCES); } if (!stream.stream_ops.mmap) { throw new FS.ErrnoError(ERRNO_CODES.ENODEV); } return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); },ioctl:function (stream, cmd, arg) { if (!stream.stream_ops.ioctl) { throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); } return stream.stream_ops.ioctl(stream, cmd, arg); },readFile:function (path, opts) { opts = opts || {}; opts.flags = opts.flags || 'r'; opts.encoding = opts.encoding || 'binary'; if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { throw new Error('Invalid encoding type "' + opts.encoding + '"'); } var ret; var stream = FS.open(path, opts.flags); var stat = FS.stat(path); var length = stat.size; var buf = new Uint8Array(length); FS.read(stream, buf, 0, length, 0); if (opts.encoding === 'utf8') { ret = ''; var utf8 = new Runtime.UTF8Processor(); for (var i = 0; i < length; i++) { ret += utf8.processCChar(buf[i]); } } else if (opts.encoding === 'binary') { ret = buf; } FS.close(stream); return ret; },writeFile:function (path, data, opts) { opts = opts || {}; opts.flags = opts.flags || 'w'; opts.encoding = opts.encoding || 'utf8'; if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { throw new Error('Invalid encoding type "' + opts.encoding + '"'); } var stream = FS.open(path, opts.flags, opts.mode); if (opts.encoding === 'utf8') { var utf8 = new Runtime.UTF8Processor(); var buf = new Uint8Array(utf8.processJSString(data)); FS.write(stream, buf, 0, buf.length, 0, opts.canOwn); } else if (opts.encoding === 'binary') { FS.write(stream, data, 0, data.length, 0, opts.canOwn); } FS.close(stream); },cwd:function () { return FS.currentPath; },chdir:function (path) { var lookup = FS.lookupPath(path, { follow: true }); if (!FS.isDir(lookup.node.mode)) { throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); } var err = FS.nodePermissions(lookup.node, 'x'); if (err) { throw new FS.ErrnoError(err); } FS.currentPath = lookup.path; },createDefaultDirectories:function () { FS.mkdir('/tmp'); FS.mkdir('/home'); FS.mkdir('/home/web_user'); },createDefaultDevices:function () { // create /dev FS.mkdir('/dev'); // setup /dev/null FS.registerDevice(FS.makedev(1, 3), { read: function() { return 0; }, write: function() { return 0; } }); FS.mkdev('/dev/null', FS.makedev(1, 3)); // setup /dev/tty and /dev/tty1 // stderr needs to print output using Module['printErr'] // so we register a second tty just for it. TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); FS.mkdev('/dev/tty', FS.makedev(5, 0)); FS.mkdev('/dev/tty1', FS.makedev(6, 0)); // setup /dev/[u]random var random_device; if (typeof crypto !== 'undefined') { // for modern web browsers var randomBuffer = new Uint8Array(1); random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; } else if (ENVIRONMENT_IS_NODE) { // for nodejs random_device = function() { return require('crypto').randomBytes(1)[0]; }; } else { // default for ES5 platforms random_device = function() { return (Math.random()*256)|0; }; } FS.createDevice('/dev', 'random', random_device); FS.createDevice('/dev', 'urandom', random_device); // we're not going to emulate the actual shm device, // just create the tmp dirs that reside in it commonly FS.mkdir('/dev/shm'); FS.mkdir('/dev/shm/tmp'); },createStandardStreams:function () { // TODO deprecate the old functionality of a single // input / output callback and that utilizes FS.createDevice // and instead require a unique set of stream ops // by default, we symlink the standard streams to the // default tty devices. however, if the standard streams // have been overwritten we create a unique device for // them instead. if (Module['stdin']) { FS.createDevice('/dev', 'stdin', Module['stdin']); } else { FS.symlink('/dev/tty', '/dev/stdin'); } if (Module['stdout']) { FS.createDevice('/dev', 'stdout', null, Module['stdout']); } else { FS.symlink('/dev/tty', '/dev/stdout'); } if (Module['stderr']) { FS.createDevice('/dev', 'stderr', null, Module['stderr']); } else { FS.symlink('/dev/tty1', '/dev/stderr'); } // open default streams for the stdin, stdout and stderr devices var stdin = FS.open('/dev/stdin', 'r'); HEAP32[((_stdin)>>2)]=FS.getPtrForStream(stdin); assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); var stdout = FS.open('/dev/stdout', 'w'); HEAP32[((_stdout)>>2)]=FS.getPtrForStream(stdout); assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); var stderr = FS.open('/dev/stderr', 'w'); HEAP32[((_stderr)>>2)]=FS.getPtrForStream(stderr); assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); },ensureErrnoError:function () { if (FS.ErrnoError) return; FS.ErrnoError = function ErrnoError(errno, node) { this.node = node; this.setErrno = function(errno) { this.errno = errno; for (var key in ERRNO_CODES) { if (ERRNO_CODES[key] === errno) { this.code = key; break; } } }; this.setErrno(errno); this.message = ERRNO_MESSAGES[errno]; if (this.stack) this.stack = demangleAll(this.stack); }; FS.ErrnoError.prototype = new Error(); FS.ErrnoError.prototype.constructor = FS.ErrnoError; // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) [ERRNO_CODES.ENOENT].forEach(function(code) { FS.genericErrors[code] = new FS.ErrnoError(code); FS.genericErrors[code].stack = ''; }); },staticInit:function () { FS.ensureErrnoError(); FS.nameTable = new Array(4096); FS.mount(MEMFS, {}, '/'); FS.createDefaultDirectories(); FS.createDefaultDevices(); },init:function (input, output, error) { assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); FS.init.initialized = true; FS.ensureErrnoError(); // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here Module['stdin'] = input || Module['stdin']; Module['stdout'] = output || Module['stdout']; Module['stderr'] = error || Module['stderr']; FS.createStandardStreams(); },quit:function () { FS.init.initialized = false; for (var i = 0; i < FS.streams.length; i++) { var stream = FS.streams[i]; if (!stream) { continue; } FS.close(stream); } },getMode:function (canRead, canWrite) { var mode = 0; if (canRead) mode |= 292 | 73; if (canWrite) mode |= 146; return mode; },joinPath:function (parts, forceRelative) { var path = PATH.join.apply(null, parts); if (forceRelative && path[0] == '/') path = path.substr(1); return path; },absolutePath:function (relative, base) { return PATH.resolve(base, relative); },standardizePath:function (path) { return PATH.normalize(path); },findObject:function (path, dontResolveLastLink) { var ret = FS.analyzePath(path, dontResolveLastLink); if (ret.exists) { return ret.object; } else { ___setErrNo(ret.error); return null; } },analyzePath:function (path, dontResolveLastLink) { // operate from within the context of the symlink's target try { var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); path = lookup.path; } catch (e) { } var ret = { isRoot: false, exists: false, error: 0, name: null, path: null, object: null, parentExists: false, parentPath: null, parentObject: null }; try { var lookup = FS.lookupPath(path, { parent: true }); ret.parentExists = true; ret.parentPath = lookup.path; ret.parentObject = lookup.node; ret.name = PATH.basename(path); lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); ret.exists = true; ret.path = lookup.path; ret.object = lookup.node; ret.name = lookup.node.name; ret.isRoot = lookup.path === '/'; } catch (e) { ret.error = e.errno; }; return ret; },createFolder:function (parent, name, canRead, canWrite) { var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); var mode = FS.getMode(canRead, canWrite); return FS.mkdir(path, mode); },createPath:function (parent, path, canRead, canWrite) { parent = typeof parent === 'string' ? parent : FS.getPath(parent); var parts = path.split('/').reverse(); while (parts.length) { var part = parts.pop(); if (!part) continue; var current = PATH.join2(parent, part); try { FS.mkdir(current); } catch (e) { // ignore EEXIST } parent = current; } return current; },createFile:function (parent, name, properties, canRead, canWrite) { var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); var mode = FS.getMode(canRead, canWrite); return FS.create(path, mode); },createDataFile:function (parent, name, data, canRead, canWrite, canOwn) { var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent; var mode = FS.getMode(canRead, canWrite); var node = FS.create(path, mode); if (data) { if (typeof data === 'string') { var arr = new Array(data.length); for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); data = arr; } // make sure we can write to the file FS.chmod(node, mode | 146); var stream = FS.open(node, 'w'); FS.write(stream, data, 0, data.length, 0, canOwn); FS.close(stream); FS.chmod(node, mode); } return node; },createDevice:function (parent, name, input, output) { var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); var mode = FS.getMode(!!input, !!output); if (!FS.createDevice.major) FS.createDevice.major = 64; var dev = FS.makedev(FS.createDevice.major++, 0); // Create a fake device that a set of stream ops to emulate // the old behavior. FS.registerDevice(dev, { open: function(stream) { stream.seekable = false; }, close: function(stream) { // flush any pending line data if (output && output.buffer && output.buffer.length) { output(10); } }, read: function(stream, buffer, offset, length, pos /* ignored */) { var bytesRead = 0; for (var i = 0; i < length; i++) { var result; try { result = input(); } catch (e) { throw new FS.ErrnoError(ERRNO_CODES.EIO); } if (result === undefined && bytesRead === 0) { throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); } if (result === null || result === undefined) break; bytesRead++; buffer[offset+i] = result; } if (bytesRead) { stream.node.timestamp = Date.now(); } return bytesRead; }, write: function(stream, buffer, offset, length, pos) { for (var i = 0; i < length; i++) { try { output(buffer[offset+i]); } catch (e) { throw new FS.ErrnoError(ERRNO_CODES.EIO); } } if (length) { stream.node.timestamp = Date.now(); } return i; } }); return FS.mkdev(path, mode, dev); },createLink:function (parent, name, target, canRead, canWrite) { var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); return FS.symlink(target, path); },forceLoadFile:function (obj) { if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; var success = true; if (typeof XMLHttpRequest !== 'undefined') { throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); } else if (Module['read']) { // Command-line. try { // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as // read() will try to parse UTF8. obj.contents = intArrayFromString(Module['read'](obj.url), true); obj.usedBytes = obj.contents.length; } catch (e) { success = false; } } else { throw new Error('Cannot load without read() or XMLHttpRequest.'); } if (!success) ___setErrNo(ERRNO_CODES.EIO); return success; },createLazyFile:function (parent, name, url, canRead, canWrite) { // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. function LazyUint8Array() { this.lengthKnown = false; this.chunks = []; // Loaded chunks. Index is the chunk number } LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { if (idx > this.length-1 || idx < 0) { return undefined; } var chunkOffset = idx % this.chunkSize; var chunkNum = (idx / this.chunkSize)|0; return this.getter(chunkNum)[chunkOffset]; } LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { this.getter = getter; } LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { // Find length var xhr = new XMLHttpRequest(); xhr.open('HEAD', url, false); xhr.send(null); if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); var datalength = Number(xhr.getResponseHeader("Content-length")); var header; var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; var chunkSize = 1024*1024; // Chunk size in bytes if (!hasByteServing) chunkSize = datalength; // Function to get a range from the remote URL. var doXHR = (function(from, to) { if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. var xhr = new XMLHttpRequest(); xhr.open('GET', url, false); if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); // Some hints to the browser that we want binary data. if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer'; if (xhr.overrideMimeType) { xhr.overrideMimeType('text/plain; charset=x-user-defined'); } xhr.send(null); if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); if (xhr.response !== undefined) { return new Uint8Array(xhr.response || []); } else { return intArrayFromString(xhr.responseText || '', true); } }); var lazyArray = this; lazyArray.setDataGetter(function(chunkNum) { var start = chunkNum * chunkSize; var end = (chunkNum+1) * chunkSize - 1; // including this byte end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block if (typeof(lazyArray.chunks[chunkNum]) === "undefined") { lazyArray.chunks[chunkNum] = doXHR(start, end); } if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!"); return lazyArray.chunks[chunkNum]; }); this._length = datalength; this._chunkSize = chunkSize; this.lengthKnown = true; } if (typeof XMLHttpRequest !== 'undefined') { if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; var lazyArray = new LazyUint8Array(); Object.defineProperty(lazyArray, "length", { get: function() { if(!this.lengthKnown) { this.cacheLength(); } return this._length; } }); Object.defineProperty(lazyArray, "chunkSize", { get: function() { if(!this.lengthKnown) { this.cacheLength(); } return this._chunkSize; } }); var properties = { isDevice: false, contents: lazyArray }; } else { var properties = { isDevice: false, url: url }; } var node = FS.createFile(parent, name, properties, canRead, canWrite); // This is a total hack, but I want to get this lazy file code out of the // core of MEMFS. If we want to keep this lazy file concept I feel it should // be its own thin LAZYFS proxying calls to MEMFS. if (properties.contents) { node.contents = properties.contents; } else if (properties.url) { node.contents = null; node.url = properties.url; } // Add a function that defers querying the file size until it is asked the first time. Object.defineProperty(node, "usedBytes", { get: function() { return this.contents.length; } }); // override each stream op with one that tries to force load the lazy file first var stream_ops = {}; var keys = Object.keys(node.stream_ops); keys.forEach(function(key) { var fn = node.stream_ops[key]; stream_ops[key] = function forceLoadLazyFile() { if (!FS.forceLoadFile(node)) { throw new FS.ErrnoError(ERRNO_CODES.EIO); } return fn.apply(null, arguments); }; }); // use a custom read function stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { if (!FS.forceLoadFile(node)) { throw new FS.ErrnoError(ERRNO_CODES.EIO); } var contents = stream.node.contents; if (position >= contents.length) return 0; var size = Math.min(contents.length - position, length); assert(size >= 0); if (contents.slice) { // normal array for (var i = 0; i < size; i++) { buffer[offset + i] = contents[position + i]; } } else { for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR buffer[offset + i] = contents.get(position + i); } } return size; }; node.stream_ops = stream_ops; return node; },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn) { Browser.init(); // TODO we should allow people to just pass in a complete filename instead // of parent and name being that we just join them anyways var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; function processData(byteArray) { function finish(byteArray) { if (!dontCreateFile) { FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); } 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); } },indexedDB:function () { return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; },DB_NAME:function () { return 'EM_FS_' + window.location.pathname; },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function (paths, onload, onerror) { onload = onload || function(){}; onerror = onerror || function(){}; var indexedDB = FS.indexedDB(); try { var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); } catch (e) { return onerror(e); } openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { console.log('creating db'); var db = openRequest.result; db.createObjectStore(FS.DB_STORE_NAME); }; openRequest.onsuccess = function openRequest_onsuccess() { var db = openRequest.result; var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); var files = transaction.objectStore(FS.DB_STORE_NAME); var ok = 0, fail = 0, total = paths.length; function finish() { if (fail == 0) onload(); else onerror(); } paths.forEach(function(path) { var putRequest = files.put(FS.analyzePath(path).object.contents, path); putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() }; putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() }; }); transaction.onerror = onerror; }; openRequest.onerror = onerror; },loadFilesFromDB:function (paths, onload, onerror) { onload = onload || function(){}; onerror = onerror || function(){}; var indexedDB = FS.indexedDB(); try { var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); } catch (e) { return onerror(e); } openRequest.onupgradeneeded = onerror; // no database to load from openRequest.onsuccess = function openRequest_onsuccess() { var db = openRequest.result; try { var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); } catch(e) { onerror(e); return; } var files = transaction.objectStore(FS.DB_STORE_NAME); var ok = 0, fail = 0, total = paths.length; function finish() { if (fail == 0) onload(); else onerror(); } paths.forEach(function(path) { var getRequest = files.get(path); getRequest.onsuccess = function getRequest_onsuccess() { if (FS.analyzePath(path).exists) { FS.unlink(path); } FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); ok++; if (ok + fail == total) finish(); }; getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() }; }); transaction.onerror = onerror; }; openRequest.onerror = onerror; }}; function _mkport() { throw 'TODO' }var SOCKFS={mount:function (mount) { // If Module['websocket'] has already been defined (e.g. for configuring // the subprotocol/url) use that, if not initialise it to a new object. Module['websocket'] = (Module['websocket'] && ('object' === typeof Module['websocket'])) ? Module['websocket'] : {}; // Add the Event registration mechanism to the exported websocket configuration // object so we can register network callbacks from native JavaScript too. // For more documentation see system/include/emscripten/emscripten.h Module['websocket']._callbacks = {}; Module['websocket']['on'] = function(event, callback) { if ('function' === typeof callback) { this._callbacks[event] = callback; } return this; }; Module['websocket'].emit = function(event, param) { if ('function' === typeof this._callbacks[event]) { this._callbacks[event].call(this, param); } }; // If debug is enabled register simple default logging callbacks for each Event. return FS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); },createSocket:function (family, type, protocol) { var streaming = type == 1; if (protocol) { assert(streaming == (protocol == 6)); // if SOCK_STREAM, must be tcp } // create our internal socket structure var sock = { family: family, type: type, protocol: protocol, server: null, error: null, // Used in getsockopt for SOL_SOCKET/SO_ERROR test peers: {}, pending: [], recv_queue: [], sock_ops: SOCKFS.websocket_sock_ops }; // create the filesystem node to store the socket structure var name = SOCKFS.nextname(); var node = FS.createNode(SOCKFS.root, name, 49152, 0); node.sock = sock; // and the wrapping stream that enables library functions such // as read and write to indirectly interact with the socket var stream = FS.createStream({ path: name, node: node, flags: FS.modeStringToFlags('r+'), seekable: false, stream_ops: SOCKFS.stream_ops }); // map the new stream to the socket structure (sockets have a 1:1 // relationship with a stream) sock.stream = stream; return sock; },getSocket:function (fd) { var stream = FS.getStream(fd); if (!stream || !FS.isSocket(stream.node.mode)) { return null; } return stream.node.sock; },stream_ops:{poll:function (stream) { var sock = stream.node.sock; return sock.sock_ops.poll(sock); },ioctl:function (stream, request, varargs) { var sock = stream.node.sock; return sock.sock_ops.ioctl(sock, request, varargs); },read:function (stream, buffer, offset, length, position /* ignored */) { var sock = stream.node.sock; var msg = sock.sock_ops.recvmsg(sock, length); if (!msg) { // socket is closed return 0; } buffer.set(msg.buffer, offset); return msg.buffer.length; },write:function (stream, buffer, offset, length, position /* ignored */) { var sock = stream.node.sock; return sock.sock_ops.sendmsg(sock, buffer, offset, length); },close:function (stream) { var sock = stream.node.sock; sock.sock_ops.close(sock); }},nextname:function () { if (!SOCKFS.nextname.current) { SOCKFS.nextname.current = 0; } return 'socket[' + (SOCKFS.nextname.current++) + ']'; },websocket_sock_ops:{createPeer:function (sock, addr, port) { var ws; if (typeof addr === 'object') { ws = addr; addr = null; port = null; } if (ws) { // for sockets that've already connected (e.g. we're the server) // we can inspect the _socket property for the address if (ws._socket) { addr = ws._socket.remoteAddress; port = ws._socket.remotePort; } // if we're just now initializing a connection to the remote, // inspect the url property else { var result = /ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url); if (!result) { throw new Error('WebSocket URL must be in the format ws(s)://address:port'); } addr = result[1]; port = parseInt(result[2], 10); } } else { // create the actual websocket object and connect try { // runtimeConfig gets set to true if WebSocket runtime configuration is available. var runtimeConfig = (Module['websocket'] && ('object' === typeof Module['websocket'])); // The default value is 'ws://' the replace is needed because the compiler replaces '//' comments with '#' // comments without checking context, so we'd end up with ws:#, the replace swaps the '#' for '//' again. var url = 'ws:#'.replace('#', '//'); if (runtimeConfig) { if ('string' === typeof Module['websocket']['url']) { url = Module['websocket']['url']; // Fetch runtime WebSocket URL config. } } if (url === 'ws://' || url === 'wss://') { // Is the supplied URL config just a prefix, if so complete it. var parts = addr.split('/'); url = url + parts[0] + ":" + port + "/" + parts.slice(1).join('/'); } // Make the WebSocket subprotocol (Sec-WebSocket-Protocol) default to binary if no configuration is set. var subProtocols = 'binary'; // The default value is 'binary' if (runtimeConfig) { if ('string' === typeof Module['websocket']['subprotocol']) { subProtocols = Module['websocket']['subprotocol']; // Fetch runtime WebSocket subprotocol config. } } // The regex trims the string (removes spaces at the beginning and end, then splits the string by // , into an Array. Whitespace removal is important for Websockify and ws. subProtocols = subProtocols.replace(/^ +| +$/g,"").split(/ *, */); // The node ws library API for specifying optional subprotocol is slightly different than the browser's. var opts = ENVIRONMENT_IS_NODE ? {'protocol': subProtocols.toString()} : subProtocols; // If node we use the ws library. var WebSocket = ENVIRONMENT_IS_NODE ? require('ws') : window['WebSocket']; ws = new WebSocket(url, opts); ws.binaryType = 'arraybuffer'; } catch (e) { throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH); } } var peer = { addr: addr, port: port, socket: ws, dgram_send_queue: [] }; SOCKFS.websocket_sock_ops.addPeer(sock, peer); SOCKFS.websocket_sock_ops.handlePeerEvents(sock, peer); // if this is a bound dgram socket, send the port number first to allow // us to override the ephemeral port reported to us by remotePort on the // remote end. if (sock.type === 2 && typeof sock.sport !== 'undefined') { peer.dgram_send_queue.push(new Uint8Array([ 255, 255, 255, 255, 'p'.charCodeAt(0), 'o'.charCodeAt(0), 'r'.charCodeAt(0), 't'.charCodeAt(0), ((sock.sport & 0xff00) >> 8) , (sock.sport & 0xff) ])); } return peer; },getPeer:function (sock, addr, port) { return sock.peers[addr + ':' + port]; },addPeer:function (sock, peer) { sock.peers[peer.addr + ':' + peer.port] = peer; },removePeer:function (sock, peer) { delete sock.peers[peer.addr + ':' + peer.port]; },handlePeerEvents:function (sock, peer) { var first = true; var handleOpen = function () { Module['websocket'].emit('open', sock.stream.fd); try { var queued = peer.dgram_send_queue.shift(); while (queued) { peer.socket.send(queued); queued = peer.dgram_send_queue.shift(); } } catch (e) { // not much we can do here in the way of proper error handling as we've already // lied and said this data was sent. shut it down. peer.socket.close(); } }; function handleMessage(data) { assert(typeof data !== 'string' && data.byteLength !== undefined); // must receive an ArrayBuffer data = new Uint8Array(data); // make a typed array view on the array buffer // if this is the port message, override the peer's port with it var wasfirst = first; first = false; if (wasfirst && data.length === 10 && data[0] === 255 && data[1] === 255 && data[2] === 255 && data[3] === 255 && data[4] === 'p'.charCodeAt(0) && data[5] === 'o'.charCodeAt(0) && data[6] === 'r'.charCodeAt(0) && data[7] === 't'.charCodeAt(0)) { // update the peer's port and it's key in the peer map var newport = ((data[8] << 8) | data[9]); SOCKFS.websocket_sock_ops.removePeer(sock, peer); peer.port = newport; SOCKFS.websocket_sock_ops.addPeer(sock, peer); return; } sock.recv_queue.push({ addr: peer.addr, port: peer.port, data: data }); Module['websocket'].emit('message', sock.stream.fd); }; if (ENVIRONMENT_IS_NODE) { peer.socket.on('open', handleOpen); peer.socket.on('message', function(data, flags) { if (!flags.binary) { return; } handleMessage((new Uint8Array(data)).buffer); // copy from node Buffer -> ArrayBuffer }); peer.socket.on('close', function() { Module['websocket'].emit('close', sock.stream.fd); }); peer.socket.on('error', function(error) { // Although the ws library may pass errors that may be more descriptive than // ECONNREFUSED they are not necessarily the expected error code e.g. // ENOTFOUND on getaddrinfo seems to be node.js specific, so using ECONNREFUSED // is still probably the most useful thing to do. sock.error = ERRNO_CODES.ECONNREFUSED; // Used in getsockopt for SOL_SOCKET/SO_ERROR test. Module['websocket'].emit('error', [sock.stream.fd, sock.error, 'ECONNREFUSED: Connection refused']); // don't throw }); } else { peer.socket.onopen = handleOpen; peer.socket.onclose = function() { Module['websocket'].emit('close', sock.stream.fd); }; peer.socket.onmessage = function peer_socket_onmessage(event) { handleMessage(event.data); }; peer.socket.onerror = function(error) { // The WebSocket spec only allows a 'simple event' to be thrown on error, // so we only really know as much as ECONNREFUSED. sock.error = ERRNO_CODES.ECONNREFUSED; // Used in getsockopt for SOL_SOCKET/SO_ERROR test. Module['websocket'].emit('error', [sock.stream.fd, sock.error, 'ECONNREFUSED: Connection refused']); }; } },poll:function (sock) { if (sock.type === 1 && sock.server) { // listen sockets should only say they're available for reading // if there are pending clients. return sock.pending.length ? (64 | 1) : 0; } var mask = 0; var dest = sock.type === 1 ? // we only care about the socket state for connection-based sockets SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport) : null; if (sock.recv_queue.length || !dest || // connection-less sockets are always ready to read (dest && dest.socket.readyState === dest.socket.CLOSING) || (dest && dest.socket.readyState === dest.socket.CLOSED)) { // let recv return 0 once closed mask |= (64 | 1); } if (!dest || // connection-less sockets are always ready to write (dest && dest.socket.readyState === dest.socket.OPEN)) { mask |= 4; } if ((dest && dest.socket.readyState === dest.socket.CLOSING) || (dest && dest.socket.readyState === dest.socket.CLOSED)) { mask |= 16; } return mask; },ioctl:function (sock, request, arg) { switch (request) { case 21531: var bytes = 0; if (sock.recv_queue.length) { bytes = sock.recv_queue[0].data.length; } HEAP32[((arg)>>2)]=bytes; return 0; default: return ERRNO_CODES.EINVAL; } },close:function (sock) { // if we've spawned a listen server, close it if (sock.server) { try { sock.server.close(); } catch (e) { } sock.server = null; } // close any peer connections var peers = Object.keys(sock.peers); for (var i = 0; i < peers.length; i++) { var peer = sock.peers[peers[i]]; try { peer.socket.close(); } catch (e) { } SOCKFS.websocket_sock_ops.removePeer(sock, peer); } return 0; },bind:function (sock, addr, port) { if (typeof sock.saddr !== 'undefined' || typeof sock.sport !== 'undefined') { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); // already bound } sock.saddr = addr; sock.sport = port || _mkport(); // in order to emulate dgram sockets, we need to launch a listen server when // binding on a connection-less socket // note: this is only required on the server side if (sock.type === 2) { // close the existing server if it exists if (sock.server) { sock.server.close(); sock.server = null; } // swallow error operation not supported error that occurs when binding in the // browser where this isn't supported try { sock.sock_ops.listen(sock, 0); } catch (e) { if (!(e instanceof FS.ErrnoError)) throw e; if (e.errno !== ERRNO_CODES.EOPNOTSUPP) throw e; } } },connect:function (sock, addr, port) { if (sock.server) { throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); } // TODO autobind // if (!sock.addr && sock.type == 2) { // } // early out if we're already connected / in the middle of connecting if (typeof sock.daddr !== 'undefined' && typeof sock.dport !== 'undefined') { var dest = SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport); if (dest) { if (dest.socket.readyState === dest.socket.CONNECTING) { throw new FS.ErrnoError(ERRNO_CODES.EALREADY); } else { throw new FS.ErrnoError(ERRNO_CODES.EISCONN); } } } // add the socket to our peer list and set our // destination address / port to match var peer = SOCKFS.websocket_sock_ops.createPeer(sock, addr, port); sock.daddr = peer.addr; sock.dport = peer.port; // always "fail" in non-blocking mode throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS); },listen:function (sock, backlog) { if (!ENVIRONMENT_IS_NODE) { throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); } if (sock.server) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); // already listening } var WebSocketServer = require('ws').Server; var host = sock.saddr; sock.server = new WebSocketServer({ host: host, port: sock.sport // TODO support backlog }); Module['websocket'].emit('listen', sock.stream.fd); // Send Event with listen fd. sock.server.on('connection', function(ws) { if (sock.type === 1) { var newsock = SOCKFS.createSocket(sock.family, sock.type, sock.protocol); // create a peer on the new socket var peer = SOCKFS.websocket_sock_ops.createPeer(newsock, ws); newsock.daddr = peer.addr; newsock.dport = peer.port; // push to queue for accept to pick up sock.pending.push(newsock); Module['websocket'].emit('connection', newsock.stream.fd); } else { // create a peer on the listen socket so calling sendto // with the listen socket and an address will resolve // to the correct client SOCKFS.websocket_sock_ops.createPeer(sock, ws); Module['websocket'].emit('connection', sock.stream.fd); } }); sock.server.on('closed', function() { Module['websocket'].emit('close', sock.stream.fd); sock.server = null; }); sock.server.on('error', function(error) { // Although the ws library may pass errors that may be more descriptive than // ECONNREFUSED they are not necessarily the expected error code e.g. // ENOTFOUND on getaddrinfo seems to be node.js specific, so using EHOSTUNREACH // is still probably the most useful thing to do. This error shouldn't // occur in a well written app as errors should get trapped in the compiled // app's own getaddrinfo call. sock.error = ERRNO_CODES.EHOSTUNREACH; // Used in getsockopt for SOL_SOCKET/SO_ERROR test. Module['websocket'].emit('error', [sock.stream.fd, sock.error, 'EHOSTUNREACH: Host is unreachable']); // don't throw }); },accept:function (listensock) { if (!listensock.server) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } var newsock = listensock.pending.shift(); newsock.stream.flags = listensock.stream.flags; return newsock; },getname:function (sock, peer) { var addr, port; if (peer) { if (sock.daddr === undefined || sock.dport === undefined) { throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN); } addr = sock.daddr; port = sock.dport; } else { // TODO saddr and sport will be set for bind()'d UDP sockets, but what // should we be returning for TCP sockets that've been connect()'d? addr = sock.saddr || 0; port = sock.sport || 0; } return { addr: addr, port: port }; },sendmsg:function (sock, buffer, offset, length, addr, port) { if (sock.type === 2) { // connection-less sockets will honor the message address, // and otherwise fall back to the bound destination address if (addr === undefined || port === undefined) { addr = sock.daddr; port = sock.dport; } // if there was no address to fall back to, error out if (addr === undefined || port === undefined) { throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ); } } else { // connection-based sockets will only use the bound addr = sock.daddr; port = sock.dport; } // find the peer for the destination address var dest = SOCKFS.websocket_sock_ops.getPeer(sock, addr, port); // early out if not connected with a connection-based socket if (sock.type === 1) { if (!dest || dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) { throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN); } else if (dest.socket.readyState === dest.socket.CONNECTING) { throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); } } // create a copy of the incoming data to send, as the WebSocket API // doesn't work entirely with an ArrayBufferView, it'll just send // the entire underlying buffer var data; if (buffer instanceof Array || buffer instanceof ArrayBuffer) { data = buffer.slice(offset, offset + length); } else { // ArrayBufferView data = buffer.buffer.slice(buffer.byteOffset + offset, buffer.byteOffset + offset + length); } // if we're emulating a connection-less dgram socket and don't have // a cached connection, queue the buffer to send upon connect and // lie, saying the data was sent now. if (sock.type === 2) { if (!dest || dest.socket.readyState !== dest.socket.OPEN) { // if we're not connected, open a new connection if (!dest || dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) { dest = SOCKFS.websocket_sock_ops.createPeer(sock, addr, port); } dest.dgram_send_queue.push(data); return length; } } try { // send the actual data dest.socket.send(data); return length; } catch (e) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } },recvmsg:function (sock, length) { // http://pubs.opengroup.org/onlinepubs/7908799/xns/recvmsg.html if (sock.type === 1 && sock.server) { // tcp servers should not be recv()'ing on the listen socket throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN); } var queued = sock.recv_queue.shift(); if (!queued) { if (sock.type === 1) { var dest = SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport); if (!dest) { // if we have a destination address but are not connected, error out throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN); } else if (dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) { // return null if the socket has closed return null; } else { // else, our socket is in a valid state but truly has nothing available throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); } } else { throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); } } // queued.data will be an ArrayBuffer if it's unadulterated, but if it's // requeued TCP data it'll be an ArrayBufferView var queuedLength = queued.data.byteLength || queued.data.length; var queuedOffset = queued.data.byteOffset || 0; var queuedBuffer = queued.data.buffer || queued.data; var bytesRead = Math.min(length, queuedLength); var res = { buffer: new Uint8Array(queuedBuffer, queuedOffset, bytesRead), addr: queued.addr, port: queued.port }; // push back any unread data for TCP connections if (sock.type === 1 && bytesRead < queuedLength) { var bytesRemaining = queuedLength - bytesRead; queued.data = new Uint8Array(queuedBuffer, queuedOffset + bytesRead, bytesRemaining); sock.recv_queue.unshift(queued); } return res; }}};function _send(fd, buf, len, flags) { var sock = SOCKFS.getSocket(fd); if (!sock) { ___setErrNo(ERRNO_CODES.EBADF); return -1; } // TODO honor flags return _write(fd, buf, len); } 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.getStream(fildes); if (!stream) { ___setErrNo(ERRNO_CODES.EBADF); return -1; } try { var slab = HEAP8; return FS.write(stream, slab, buf, nbyte, offset); } catch (e) { FS.handleFSError(e); return -1; } }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.getStream(fildes); if (!stream) { ___setErrNo(ERRNO_CODES.EBADF); return -1; } try { var slab = HEAP8; return FS.write(stream, slab, buf, nbyte); } catch (e) { FS.handleFSError(e); return -1; } } function _fileno(stream) { // int fileno(FILE *stream); // http://pubs.opengroup.org/onlinepubs/000095399/functions/fileno.html stream = FS.getStreamFromPtr(stream); if (!stream) return -1; return stream.fd; }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 fd = _fileno(stream); var bytesWritten = _write(fd, ptr, bytesToWrite); if (bytesWritten == -1) { var streamObj = FS.getStreamFromPtr(stream); if (streamObj) streamObj.error = true; return 0; } else { return (bytesWritten / size)|0; } } Module["_strlen"] = _strlen; 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)>>0)]; 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; var flagPadSign = 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; } case 32: flagPadSign = 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, precision = -1; if (next == 46) { 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)]; } if (precision < 0) { precision = 6; // Standard default. precisionSet = false; } // 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 && currArg != 0) ? '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 (currArg >= 0) { if (flagAlwaysSigned) { prefix = '+' + prefix; } else if (flagPadSign) { prefix = ' ' + prefix; } } // Move sign to prefix so we zero-pad after the sign if (argText.charAt(0) == '-') { prefix = '-' + prefix; argText = argText.substr(1); } // 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 (currArg >= 0) { if (flagAlwaysSigned) { argText = '+' + argText; } else if (flagPadSign) { 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*'); var argLength = arg ? _strlen(arg) : '(null)'.length; if (precisionSet) argLength = Math.min(argLength, precision); if (!flagLeftAlign) { while (argLength < width--) { ret.push(32); } } if (arg) { for (var i = 0; i < argLength; i++) { ret.push(HEAPU8[((arg++)>>0)]); } } else { ret = ret.concat(intArrayFromString('(null)'.substr(0, argLength), true)); } 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)>>0)]); } } } 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 _fprintf(stream, format, varargs) { // int fprintf(FILE *restrict stream, const char *restrict format, ...); // http://pubs.opengroup.org/onlinepubs/000095399/functions/printf.html var result = __formatString(format, varargs); var stack = Runtime.stackSave(); var ret = _fwrite(allocate(result, 'i8', ALLOC_STACK), 1, result.length, stream); Runtime.stackRestore(stack); return ret; }function _printf(format, varargs) { // int printf(const char *restrict format, ...); // http://pubs.opengroup.org/onlinepubs/000095399/functions/printf.html var stdout = HEAP32[((_stdout)>>2)]; return _fprintf(stdout, format, varargs); } function _emscripten_memcpy_big(dest, src, num) { HEAPU8.set(HEAPU8.subarray(src, src+num), dest); return dest; } Module["_memcpy"] = _memcpy; var _log=Math_log; var _cos=Math_cos; var _llvm_pow_f64=Math_pow; function _sbrk(bytes) { // Implement a Linux-like 'memory area' for our 'process'. // Changes the size of the memory area by |bytes|; returns the // address of the previous top ('break') of the memory area // We control the "dynamic" memory - DYNAMIC_BASE to DYNAMICTOP var self = _sbrk; if (!self.called) { DYNAMICTOP = alignMemoryPage(DYNAMICTOP); // make sure we start out aligned self.called = true; assert(Runtime.dynamicAlloc); self.alloc = Runtime.dynamicAlloc; Runtime.dynamicAlloc = function() { abort('cannot dynamically allocate, sbrk now has control') }; } var ret = DYNAMICTOP; if (bytes != 0) self.alloc(bytes); return ret; // Previous break location. } function ___errno_location() { return ___errno_state; } var _sqrt=Math_sqrt; Module["_strcpy"] = _strcpy; function __exit(status) { // void _exit(int status); // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html Module['exit'](status); }function _exit(status) { __exit(status); } function _time(ptr) { var ret = (Date.now()/1000)|0; if (ptr) { HEAP32[((ptr)>>2)]=ret; } return ret; } var Browser={mainLoop:{scheduler:null,method:"",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'](''); } } },runIter:function (func) { if (ABORT) return; if (Module['preMainLoop']) { var preRet = Module['preMainLoop'](); if (preRet === false) { return; // |return false| skips a frame } } try { func(); } catch (e) { if (e instanceof ExitStatus) { return; } else { if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); throw e; } } if (Module['postMainLoop']) Module['postMainLoop'](); }},isFullScreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers 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) : undefined; if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); Module.noImageDecoding = true; } // 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.). var imagePlugin = {}; imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); }; imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { var b = null; if (Browser.hasBlobConstructor) { try { b = new Blob([byteArray], { type: Browser.getMimetype(name) }); if (b.size !== byteArray.length) { // Safari bug #118630 // Safari's Blob can only take an ArrayBuffer b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.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 img_onload() { 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 img_onerror(event) { console.log('Image ' + url + ' could not be decoded'); if (onerror) onerror(); }; img.src = url; }; Module['preloadPlugins'].push(imagePlugin); var audioPlugin = {}; audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; }; audioPlugin['handle'] = function audioPlugin_handle(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: Browser.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 audio_onerror(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 Browser.safeSetTimeout(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']; function pointerLockChange() { Browser.pointerLock = document['pointerLockElement'] === canvas || document['mozPointerLockElement'] === canvas || document['webkitPointerLockElement'] === canvas || document['msPointerLockElement'] === canvas; } if (canvas) { // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module // Module['forcedAspectRatio'] = 4 / 3; canvas.requestPointerLock = canvas['requestPointerLock'] || canvas['mozRequestPointerLock'] || canvas['webkitRequestPointerLock'] || canvas['msRequestPointerLock'] || function(){}; canvas.exitPointerLock = document['exitPointerLock'] || document['mozExitPointerLock'] || document['webkitExitPointerLock'] || document['msExitPointerLock'] || function(){}; // no-op if function does not exist canvas.exitPointerLock = canvas.exitPointerLock.bind(document); document.addEventListener('pointerlockchange', pointerLockChange, false); document.addEventListener('mozpointerlockchange', pointerLockChange, false); document.addEventListener('webkitpointerlockchange', pointerLockChange, false); document.addEventListener('mspointerlockchange', 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, webGLContextAttributes) { if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. var ctx; var contextHandle; if (useWebGL) { // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. var contextAttributes = { antialias: false, alpha: false }; if (webGLContextAttributes) { for (var attribute in webGLContextAttributes) { contextAttributes[attribute] = webGLContextAttributes[attribute]; } } contextHandle = GL.createContext(canvas, contextAttributes); if (contextHandle) { ctx = GL.getContext(contextHandle).GLctx; } // Set the background of the WebGL canvas to black canvas.style.backgroundColor = "black"; } else { ctx = canvas.getContext('2d'); } if (!ctx) return null; if (setInModule) { if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); Module.ctx = ctx; if (useWebGL) GL.makeContextCurrent(contextHandle); 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) { Browser.lockPointer = lockPointer; Browser.resizeCanvas = resizeCanvas; if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; var canvas = Module['canvas']; function fullScreenChange() { Browser.isFullScreen = false; var canvasContainer = canvas.parentNode; if ((document['webkitFullScreenElement'] || document['webkitFullscreenElement'] || document['mozFullScreenElement'] || document['mozFullscreenElement'] || document['fullScreenElement'] || document['fullscreenElement'] || document['msFullScreenElement'] || document['msFullscreenElement'] || document['webkitCurrentFullScreenElement']) === canvasContainer) { canvas.cancelFullScreen = document['cancelFullScreen'] || document['mozCancelFullScreen'] || document['webkitCancelFullScreen'] || document['msExitFullscreen'] || document['exitFullscreen'] || function() {}; canvas.cancelFullScreen = canvas.cancelFullScreen.bind(document); if (Browser.lockPointer) canvas.requestPointerLock(); Browser.isFullScreen = true; if (Browser.resizeCanvas) Browser.setFullScreenCanvasSize(); } else { // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen canvasContainer.parentNode.insertBefore(canvas, canvasContainer); canvasContainer.parentNode.removeChild(canvasContainer); if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); } if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullScreen); Browser.updateCanvasDimensions(canvas); } if (!Browser.fullScreenHandlersInstalled) { Browser.fullScreenHandlersInstalled = true; document.addEventListener('fullscreenchange', fullScreenChange, false); document.addEventListener('mozfullscreenchange', fullScreenChange, false); document.addEventListener('webkitfullscreenchange', fullScreenChange, false); document.addEventListener('MSFullscreenChange', fullScreenChange, false); } // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root var canvasContainer = document.createElement("div"); canvas.parentNode.insertBefore(canvasContainer, canvas); canvasContainer.appendChild(canvas); // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) canvasContainer.requestFullScreen = canvasContainer['requestFullScreen'] || canvasContainer['mozRequestFullScreen'] || canvasContainer['msRequestFullscreen'] || (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); canvasContainer.requestFullScreen(); },nextRAF:0,fakeRequestAnimationFrame:function (func) { // try to keep 60fps between calls to here var now = Date.now(); if (Browser.nextRAF === 0) { Browser.nextRAF = now + 1000/60; } else { while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 Browser.nextRAF += 1000/60; } } var delay = Math.max(Browser.nextRAF - now, 0); setTimeout(func, delay); },requestAnimationFrame:function requestAnimationFrame(func) { if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) Browser.fakeRequestAnimationFrame(func); } else { if (!window.requestAnimationFrame) { window.requestAnimationFrame = window['requestAnimationFrame'] || window['mozRequestAnimationFrame'] || window['webkitRequestAnimationFrame'] || window['msRequestAnimationFrame'] || window['oRequestAnimationFrame'] || Browser.fakeRequestAnimationFrame; } window.requestAnimationFrame(func); } },safeCallback:function (func) { return function() { if (!ABORT) return func.apply(null, arguments); }; },safeRequestAnimationFrame:function (func) { return Browser.requestAnimationFrame(function() { if (!ABORT) func(); }); },safeSetTimeout:function (func, timeout) { Module['noExitRuntime'] = true; return setTimeout(function() { if (!ABORT) func(); }, timeout); },safeSetInterval:function (func, timeout) { Module['noExitRuntime'] = true; return setInterval(function() { if (!ABORT) func(); }, timeout); },getMimetype:function (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)]; },getUserMedia:function (func) { if(!window.getUserMedia) { window.getUserMedia = navigator['getUserMedia'] || navigator['mozGetUserMedia']; } window.getUserMedia(func); },getMovementX:function (event) { return event['movementX'] || event['mozMovementX'] || event['webkitMovementX'] || 0; },getMovementY:function (event) { return event['movementY'] || event['mozMovementY'] || event['webkitMovementY'] || 0; },getMouseWheelDelta:function (event) { var delta = 0; switch (event.type) { case 'DOMMouseScroll': delta = event.detail; break; case 'mousewheel': delta = event.wheelDelta; break; case 'wheel': delta = event['deltaY']; break; default: throw 'unrecognized mouse wheel event: ' + event.type; } return delta; },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup if (Browser.pointerLock) { // When the pointer is locked, calculate the coordinates // based on the movement of the mouse. // Workaround for Firefox bug 764498 if (event.type != 'mousemove' && ('mozMovementX' in event)) { Browser.mouseMovementX = Browser.mouseMovementY = 0; } else { Browser.mouseMovementX = Browser.getMovementX(event); Browser.mouseMovementY = Browser.getMovementY(event); } // check if SDL is available if (typeof SDL != "undefined") { Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; } else { // just add the mouse delta to the current absolut mouse position // FIXME: ideally this should be clamped against the canvas size and zero Browser.mouseX += Browser.mouseMovementX; Browser.mouseY += Browser.mouseMovementY; } } else { // Otherwise, calculate the movement based on the changes // in the coordinates. var rect = Module["canvas"].getBoundingClientRect(); var cw = Module["canvas"].width; var ch = Module["canvas"].height; // Neither .scrollX or .pageXOffset are defined in a spec, but // we prefer .scrollX because it is currently in a spec draft. // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset // and we have no viable fallback. assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { var touch = event.touch; if (touch === undefined) { return; // the "touch" property is only defined in SDL } var adjustedX = touch.pageX - (scrollX + rect.left); var adjustedY = touch.pageY - (scrollY + rect.top); adjustedX = adjustedX * (cw / rect.width); adjustedY = adjustedY * (ch / rect.height); var coords = { x: adjustedX, y: adjustedY }; if (event.type === 'touchstart') { Browser.lastTouches[touch.identifier] = coords; Browser.touches[touch.identifier] = coords; } else if (event.type === 'touchend' || event.type === 'touchmove') { Browser.lastTouches[touch.identifier] = Browser.touches[touch.identifier]; Browser.touches[touch.identifier] = { x: adjustedX, y: adjustedY }; } return; } var x = event.pageX - (scrollX + rect.left); var y = event.pageY - (scrollY + rect.top); // the canvas might be CSS-scaled compared to its backbuffer; // SDL-using content will want mouse coordinates in terms // of backbuffer units. x = x * (cw / rect.width); y = y * (ch / rect.height); Browser.mouseMovementX = x - Browser.mouseX; Browser.mouseMovementY = y - Browser.mouseY; Browser.mouseX = x; Browser.mouseY = y; } },xhrLoad:function (url, onload, onerror) { var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.responseType = 'arraybuffer'; xhr.onload = function xhr_onload() { if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 onload(xhr.response); } else { onerror(); } }; xhr.onerror = onerror; xhr.send(null); },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']; Browser.updateCanvasDimensions(canvas, width, height); if (!noUpdates) Browser.updateResizeListeners(); },windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function () { // check if SDL is available if (typeof SDL != "undefined") { 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 () { // check if SDL is available if (typeof SDL != "undefined") { 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(); },updateCanvasDimensions:function (canvas, wNative, hNative) { if (wNative && hNative) { canvas.widthNative = wNative; canvas.heightNative = hNative; } else { wNative = canvas.widthNative; hNative = canvas.heightNative; } var w = wNative; var h = hNative; if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { if (w/h < Module['forcedAspectRatio']) { w = Math.round(h * Module['forcedAspectRatio']); } else { h = Math.round(w / Module['forcedAspectRatio']); } } if (((document['webkitFullScreenElement'] || document['webkitFullscreenElement'] || document['mozFullScreenElement'] || document['mozFullscreenElement'] || document['fullScreenElement'] || document['fullscreenElement'] || document['msFullScreenElement'] || document['msFullscreenElement'] || document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { var factor = Math.min(screen.width / w, screen.height / h); w = Math.round(w * factor); h = Math.round(h * factor); } if (Browser.resizeCanvas) { if (canvas.width != w) canvas.width = w; if (canvas.height != h) canvas.height = h; if (typeof canvas.style != 'undefined') { canvas.style.removeProperty( "width"); canvas.style.removeProperty("height"); } } else { if (canvas.width != wNative) canvas.width = wNative; if (canvas.height != hNative) canvas.height = hNative; if (typeof canvas.style != 'undefined') { if (w != wNative || h != hNative) { canvas.style.setProperty( "width", w + "px", "important"); canvas.style.setProperty("height", h + "px", "important"); } else { canvas.style.removeProperty( "width"); canvas.style.removeProperty("height"); } } } },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { var handle = Browser.nextWgetRequestHandle; Browser.nextWgetRequestHandle++; return handle; }}; function _log10(x) { return Math.log(x) / Math.LN10; } var _sin=Math_sin; ___errno_state = Runtime.staticAlloc(4); HEAP32[((___errno_state)>>2)]=0; FS.staticInit();__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; __ATINIT__.unshift({ func: function() { TTY.init() } });__ATEXIT__.push({ func: function() { TTY.shutdown() } });TTY.utf8 = new Runtime.UTF8Processor(); if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); NODEFS.staticInit(); } __ATINIT__.push({ func: function() { SOCKFS.root = FS.mount(SOCKFS, {}, null); } }); Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas) { Browser.requestFullScreen(lockPointer, resizeCanvas) }; Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); staticSealed = true; // seal the static portion of memory STACK_MAX = STACK_BASE + TOTAL_STACK; DYNAMIC_BASE = DYNAMICTOP = Runtime.alignMemory(STACK_MAX); assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); var Math_min = Math.min; // EMSCRIPTEN_START_ASM var asm = (function(global, env, buffer) { 'almost asm'; var HEAP8 = new global.Int8Array(buffer); var HEAP16 = new global.Int16Array(buffer); var HEAP32 = new global.Int32Array(buffer); var HEAPU8 = new global.Uint8Array(buffer); var HEAPU16 = new global.Uint16Array(buffer); var HEAPU32 = new global.Uint32Array(buffer); var HEAPF32 = new global.Float32Array(buffer); var HEAPF64 = new global.Float64Array(buffer); var STACKTOP=env.STACKTOP|0; var STACK_MAX=env.STACK_MAX|0; var tempDoublePtr=env.tempDoublePtr|0; var ABORT=env.ABORT|0; var __THREW__ = 0; var threwValue = 0; var setjmpId = 0; var undef = 0; var nan = +env.NaN, inf = +env.Infinity; var tempInt = 0, tempBigInt = 0, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 0, tempValue = 0, tempDouble = 0.0; var tempRet0 = 0; var tempRet1 = 0; var tempRet2 = 0; var tempRet3 = 0; var tempRet4 = 0; var tempRet5 = 0; var tempRet6 = 0; var tempRet7 = 0; var tempRet8 = 0; var tempRet9 = 0; var Math_floor=global.Math.floor; var Math_abs=global.Math.abs; var Math_sqrt=global.Math.sqrt; var Math_pow=global.Math.pow; var Math_cos=global.Math.cos; var Math_sin=global.Math.sin; var Math_tan=global.Math.tan; var Math_acos=global.Math.acos; var Math_asin=global.Math.asin; var Math_atan=global.Math.atan; var Math_atan2=global.Math.atan2; var Math_exp=global.Math.exp; var Math_log=global.Math.log; var Math_ceil=global.Math.ceil; var Math_imul=global.Math.imul; var abort=env.abort; var assert=env.assert; var Math_min=env.min; var _sin=env._sin; var _llvm_pow_f64=env._llvm_pow_f64; var _send=env._send; var __reallyNegative=env.__reallyNegative; var _fflush=env._fflush; var _pwrite=env._pwrite; var ___setErrNo=env.___setErrNo; var _sbrk=env._sbrk; var _emscripten_memcpy_big=env._emscripten_memcpy_big; var _fileno=env._fileno; var __exit=env.__exit; var _cos=env._cos; var _printf=env._printf; var _log=env._log; var _write=env._write; var ___errno_location=env.___errno_location; var _mkport=env._mkport; var _sysconf=env._sysconf; var _abort=env._abort; var _fwrite=env._fwrite; var _time=env._time; var _fprintf=env._fprintf; var _ceil=env._ceil; var __formatString=env.__formatString; var _log10=env._log10; var _sqrt=env._sqrt; var _exit=env._exit; var tempFloat = 0.0; // EMSCRIPTEN_START_FUNCS function stackAlloc(size) { size = size|0; var ret = 0; ret = STACKTOP; STACKTOP = (STACKTOP + size)|0; STACKTOP = (STACKTOP + 15)&-16; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); return ret|0; } function stackSave() { return STACKTOP|0; } function stackRestore(top) { top = top|0; STACKTOP = top; } function setThrew(threw, value) { threw = threw|0; value = value|0; if ((__THREW__|0) == 0) { __THREW__ = threw; threwValue = value; } } function copyTempFloat(ptr) { ptr = ptr|0; HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0]; HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0]; HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0]; HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0]; } function copyTempDouble(ptr) { ptr = ptr|0; HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0]; HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0]; HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0]; HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0]; HEAP8[tempDoublePtr+4>>0] = HEAP8[ptr+4>>0]; HEAP8[tempDoublePtr+5>>0] = HEAP8[ptr+5>>0]; HEAP8[tempDoublePtr+6>>0] = HEAP8[ptr+6>>0]; HEAP8[tempDoublePtr+7>>0] = HEAP8[ptr+7>>0]; } function setTempRet0(value) { value = value|0; tempRet0 = value; } function getTempRet0() { return tempRet0|0; } function _fft_init($N,$sgn) { $N = $N|0; $sgn = $sgn|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; var $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $K = 0, $M = 0, $ct = 0, $obj = 0, $out = 0, $twi_len = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $N; $1 = $sgn; $obj = 0; $2 = $0; $3 = (_dividebyN($2)|0); $out = $3; $4 = $out; $5 = ($4|0)==(1); if ($5) { $6 = $0; $7 = (($6) - 1)|0; $8 = $7<<4; $9 = (288 + ($8))|0; $10 = (_malloc($9)|0); $obj = $10; $11 = $0; $12 = $obj; $13 = (($12) + 8|0); $14 = (_factors($11,$13)|0); $15 = $obj; $16 = (($15) + 264|0); HEAP32[$16>>2] = $14; $17 = $obj; $18 = (($17) + 272|0); $19 = $0; $20 = $obj; $21 = (($20) + 8|0); $22 = $obj; $23 = (($22) + 264|0); $24 = HEAP32[$23>>2]|0; _longvectorN($18,$19,$21,$24); $25 = $0; $twi_len = $25; $26 = $obj; $27 = (($26) + 268|0); HEAP32[$27>>2] = 0; } else { $28 = $0; $29 = (+($28|0)); $30 = (+_log10((+$29))); $31 = (+_log10(2.0)); $32 = $30 / $31; $33 = (+Math_ceil((+$32))); $34 = (+Math_pow(2.0,(+$33))); $35 = (~~(($34))); $K = $35; $36 = $K; $37 = $0; $38 = $37<<1; $39 = (($38) - 2)|0; $40 = ($36|0)<($39|0); if ($40) { $41 = $K; $42 = $41<<1; $M = $42; } else { $43 = $K; $M = $43; } $44 = $M; $45 = (($44) - 1)|0; $46 = $45<<4; $47 = (288 + ($46))|0; $48 = (_malloc($47)|0); $obj = $48; $49 = $M; $50 = $obj; $51 = (($50) + 8|0); $52 = (_factors($49,$51)|0); $53 = $obj; $54 = (($53) + 264|0); HEAP32[$54>>2] = $52; $55 = $obj; $56 = (($55) + 272|0); $57 = $M; $58 = $obj; $59 = (($58) + 8|0); $60 = $obj; $61 = (($60) + 264|0); $62 = HEAP32[$61>>2]|0; _longvectorN($56,$57,$59,$62); $63 = $obj; $64 = (($63) + 268|0); HEAP32[$64>>2] = 1; $65 = $M; $twi_len = $65; } $66 = $0; $67 = $obj; HEAP32[$67>>2] = $66; $68 = $1; $69 = $obj; $70 = (($69) + 4|0); HEAP32[$70>>2] = $68; $71 = $1; $72 = ($71|0)==(-1); if (!($72)) { $90 = $obj; STACKTOP = sp;return ($90|0); } $ct = 0; while(1) { $73 = $ct; $74 = $twi_len; $75 = ($73|0)<($74|0); if (!($75)) { break; } $76 = $obj; $77 = (($76) + 272|0); $78 = $ct; $79 = (($77) + ($78<<4)|0); $80 = (($79) + 8|0); $81 = +HEAPF64[$80>>3]; $82 = -$81; $83 = $obj; $84 = (($83) + 272|0); $85 = $ct; $86 = (($84) + ($85<<4)|0); $87 = (($86) + 8|0); HEAPF64[$87>>3] = $82; $88 = $ct; $89 = (($88) + 1)|0; $ct = $89; } $90 = $obj; STACKTOP = sp;return ($90|0); } function _dividebyN($N) { $N = $N|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $1 = $N; while(1) { $2 = $1; $3 = (($2|0) % 53)&-1; $4 = ($3|0)==(0); if (!($4)) { break; } $5 = $1; $6 = (($5|0) / 53)&-1; $1 = $6; } while(1) { $7 = $1; $8 = (($7|0) % 47)&-1; $9 = ($8|0)==(0); if (!($9)) { break; } $10 = $1; $11 = (($10|0) / 47)&-1; $1 = $11; } while(1) { $12 = $1; $13 = (($12|0) % 43)&-1; $14 = ($13|0)==(0); if (!($14)) { break; } $15 = $1; $16 = (($15|0) / 43)&-1; $1 = $16; } while(1) { $17 = $1; $18 = (($17|0) % 41)&-1; $19 = ($18|0)==(0); if (!($19)) { break; } $20 = $1; $21 = (($20|0) / 41)&-1; $1 = $21; } while(1) { $22 = $1; $23 = (($22|0) % 37)&-1; $24 = ($23|0)==(0); if (!($24)) { break; } $25 = $1; $26 = (($25|0) / 37)&-1; $1 = $26; } while(1) { $27 = $1; $28 = (($27|0) % 31)&-1; $29 = ($28|0)==(0); if (!($29)) { break; } $30 = $1; $31 = (($30|0) / 31)&-1; $1 = $31; } while(1) { $32 = $1; $33 = (($32|0) % 29)&-1; $34 = ($33|0)==(0); if (!($34)) { break; } $35 = $1; $36 = (($35|0) / 29)&-1; $1 = $36; } while(1) { $37 = $1; $38 = (($37|0) % 23)&-1; $39 = ($38|0)==(0); if (!($39)) { break; } $40 = $1; $41 = (($40|0) / 23)&-1; $1 = $41; } while(1) { $42 = $1; $43 = (($42|0) % 17)&-1; $44 = ($43|0)==(0); if (!($44)) { break; } $45 = $1; $46 = (($45|0) / 17)&-1; $1 = $46; } while(1) { $47 = $1; $48 = (($47|0) % 13)&-1; $49 = ($48|0)==(0); if (!($49)) { break; } $50 = $1; $51 = (($50|0) / 13)&-1; $1 = $51; } while(1) { $52 = $1; $53 = (($52|0) % 11)&-1; $54 = ($53|0)==(0); if (!($54)) { break; } $55 = $1; $56 = (($55|0) / 11)&-1; $1 = $56; } while(1) { $57 = $1; $58 = (($57|0) % 8)&-1; $59 = ($58|0)==(0); if (!($59)) { break; } $60 = $1; $61 = (($60|0) / 8)&-1; $1 = $61; } while(1) { $62 = $1; $63 = (($62|0) % 7)&-1; $64 = ($63|0)==(0); if (!($64)) { break; } $65 = $1; $66 = (($65|0) / 7)&-1; $1 = $66; } while(1) { $67 = $1; $68 = (($67|0) % 5)&-1; $69 = ($68|0)==(0); if (!($69)) { break; } $70 = $1; $71 = (($70|0) / 5)&-1; $1 = $71; } while(1) { $72 = $1; $73 = (($72|0) % 4)&-1; $74 = ($73|0)==(0); if (!($74)) { break; } $75 = $1; $76 = (($75|0) / 4)&-1; $1 = $76; } while(1) { $77 = $1; $78 = (($77|0) % 3)&-1; $79 = ($78|0)==(0); if (!($79)) { break; } $80 = $1; $81 = (($80|0) / 3)&-1; $1 = $81; } while(1) { $82 = $1; $83 = (($82|0) % 2)&-1; $84 = ($83|0)==(0); if (!($84)) { break; } $85 = $1; $86 = (($85|0) / 2)&-1; $1 = $86; } $87 = $1; $88 = ($87|0)==(1); if ($88) { $0 = 1; $89 = $0; STACKTOP = sp;return ($89|0); } else { $0 = 0; $89 = $0; STACKTOP = sp;return ($89|0); } return 0|0; } function _factors($M,$arr) { $M = $M|0; $arr = $arr|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; var $98 = 0, $99 = 0, $N = 0, $i = 0, $m1 = 0, $m2 = 0, $mult = 0, $num = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $M; $1 = $arr; $i = 0; $2 = $0; $N = $2; while(1) { $3 = $N; $4 = (($3|0) % 53)&-1; $5 = ($4|0)==(0); if (!($5)) { break; } $6 = $N; $7 = (($6|0) / 53)&-1; $N = $7; $8 = $i; $9 = $1; $10 = (($9) + ($8<<2)|0); HEAP32[$10>>2] = 53; $11 = $i; $12 = (($11) + 1)|0; $i = $12; } while(1) { $13 = $N; $14 = (($13|0) % 47)&-1; $15 = ($14|0)==(0); if (!($15)) { break; } $16 = $N; $17 = (($16|0) / 47)&-1; $N = $17; $18 = $i; $19 = $1; $20 = (($19) + ($18<<2)|0); HEAP32[$20>>2] = 47; $21 = $i; $22 = (($21) + 1)|0; $i = $22; } while(1) { $23 = $N; $24 = (($23|0) % 43)&-1; $25 = ($24|0)==(0); if (!($25)) { break; } $26 = $N; $27 = (($26|0) / 43)&-1; $N = $27; $28 = $i; $29 = $1; $30 = (($29) + ($28<<2)|0); HEAP32[$30>>2] = 43; $31 = $i; $32 = (($31) + 1)|0; $i = $32; } while(1) { $33 = $N; $34 = (($33|0) % 41)&-1; $35 = ($34|0)==(0); if (!($35)) { break; } $36 = $N; $37 = (($36|0) / 41)&-1; $N = $37; $38 = $i; $39 = $1; $40 = (($39) + ($38<<2)|0); HEAP32[$40>>2] = 41; $41 = $i; $42 = (($41) + 1)|0; $i = $42; } while(1) { $43 = $N; $44 = (($43|0) % 37)&-1; $45 = ($44|0)==(0); if (!($45)) { break; } $46 = $N; $47 = (($46|0) / 37)&-1; $N = $47; $48 = $i; $49 = $1; $50 = (($49) + ($48<<2)|0); HEAP32[$50>>2] = 37; $51 = $i; $52 = (($51) + 1)|0; $i = $52; } while(1) { $53 = $N; $54 = (($53|0) % 31)&-1; $55 = ($54|0)==(0); if (!($55)) { break; } $56 = $N; $57 = (($56|0) / 31)&-1; $N = $57; $58 = $i; $59 = $1; $60 = (($59) + ($58<<2)|0); HEAP32[$60>>2] = 31; $61 = $i; $62 = (($61) + 1)|0; $i = $62; } while(1) { $63 = $N; $64 = (($63|0) % 29)&-1; $65 = ($64|0)==(0); if (!($65)) { break; } $66 = $N; $67 = (($66|0) / 29)&-1; $N = $67; $68 = $i; $69 = $1; $70 = (($69) + ($68<<2)|0); HEAP32[$70>>2] = 29; $71 = $i; $72 = (($71) + 1)|0; $i = $72; } while(1) { $73 = $N; $74 = (($73|0) % 23)&-1; $75 = ($74|0)==(0); if (!($75)) { break; } $76 = $N; $77 = (($76|0) / 23)&-1; $N = $77; $78 = $i; $79 = $1; $80 = (($79) + ($78<<2)|0); HEAP32[$80>>2] = 23; $81 = $i; $82 = (($81) + 1)|0; $i = $82; } while(1) { $83 = $N; $84 = (($83|0) % 19)&-1; $85 = ($84|0)==(0); if (!($85)) { break; } $86 = $N; $87 = (($86|0) / 19)&-1; $N = $87; $88 = $i; $89 = $1; $90 = (($89) + ($88<<2)|0); HEAP32[$90>>2] = 19; $91 = $i; $92 = (($91) + 1)|0; $i = $92; } while(1) { $93 = $N; $94 = (($93|0) % 17)&-1; $95 = ($94|0)==(0); if (!($95)) { break; } $96 = $N; $97 = (($96|0) / 17)&-1; $N = $97; $98 = $i; $99 = $1; $100 = (($99) + ($98<<2)|0); HEAP32[$100>>2] = 17; $101 = $i; $102 = (($101) + 1)|0; $i = $102; } while(1) { $103 = $N; $104 = (($103|0) % 13)&-1; $105 = ($104|0)==(0); if (!($105)) { break; } $106 = $N; $107 = (($106|0) / 13)&-1; $N = $107; $108 = $i; $109 = $1; $110 = (($109) + ($108<<2)|0); HEAP32[$110>>2] = 13; $111 = $i; $112 = (($111) + 1)|0; $i = $112; } while(1) { $113 = $N; $114 = (($113|0) % 11)&-1; $115 = ($114|0)==(0); if (!($115)) { break; } $116 = $N; $117 = (($116|0) / 11)&-1; $N = $117; $118 = $i; $119 = $1; $120 = (($119) + ($118<<2)|0); HEAP32[$120>>2] = 11; $121 = $i; $122 = (($121) + 1)|0; $i = $122; } while(1) { $123 = $N; $124 = (($123|0) % 8)&-1; $125 = ($124|0)==(0); if (!($125)) { break; } $126 = $N; $127 = (($126|0) / 8)&-1; $N = $127; $128 = $i; $129 = $1; $130 = (($129) + ($128<<2)|0); HEAP32[$130>>2] = 8; $131 = $i; $132 = (($131) + 1)|0; $i = $132; } while(1) { $133 = $N; $134 = (($133|0) % 7)&-1; $135 = ($134|0)==(0); if (!($135)) { break; } $136 = $N; $137 = (($136|0) / 7)&-1; $N = $137; $138 = $i; $139 = $1; $140 = (($139) + ($138<<2)|0); HEAP32[$140>>2] = 7; $141 = $i; $142 = (($141) + 1)|0; $i = $142; } while(1) { $143 = $N; $144 = (($143|0) % 5)&-1; $145 = ($144|0)==(0); if (!($145)) { break; } $146 = $N; $147 = (($146|0) / 5)&-1; $N = $147; $148 = $i; $149 = $1; $150 = (($149) + ($148<<2)|0); HEAP32[$150>>2] = 5; $151 = $i; $152 = (($151) + 1)|0; $i = $152; } while(1) { $153 = $N; $154 = (($153|0) % 4)&-1; $155 = ($154|0)==(0); if (!($155)) { break; } $156 = $N; $157 = (($156|0) / 4)&-1; $N = $157; $158 = $i; $159 = $1; $160 = (($159) + ($158<<2)|0); HEAP32[$160>>2] = 4; $161 = $i; $162 = (($161) + 1)|0; $i = $162; } while(1) { $163 = $N; $164 = (($163|0) % 3)&-1; $165 = ($164|0)==(0); if (!($165)) { break; } $166 = $N; $167 = (($166|0) / 3)&-1; $N = $167; $168 = $i; $169 = $1; $170 = (($169) + ($168<<2)|0); HEAP32[$170>>2] = 3; $171 = $i; $172 = (($171) + 1)|0; $i = $172; } while(1) { $173 = $N; $174 = (($173|0) % 2)&-1; $175 = ($174|0)==(0); if (!($175)) { break; } $176 = $N; $177 = (($176|0) / 2)&-1; $N = $177; $178 = $i; $179 = $1; $180 = (($179) + ($178<<2)|0); HEAP32[$180>>2] = 2; $181 = $i; $182 = (($181) + 1)|0; $i = $182; } $183 = $N; $184 = ($183|0)>(31); if (!($184)) { $221 = $i; STACKTOP = sp;return ($221|0); } $num = 2; while(1) { $185 = $N; $186 = ($185|0)>(1); if (!($186)) { break; } $187 = $num; $188 = ($187*6)|0; $mult = $188; $189 = $mult; $190 = (($189) - 1)|0; $m1 = $190; $191 = $mult; $192 = (($191) + 1)|0; $m2 = $192; while(1) { $193 = $N; $194 = $m1; $195 = (($193|0) % ($194|0))&-1; $196 = ($195|0)==(0); if (!($196)) { break; } $197 = $m1; $198 = $i; $199 = $1; $200 = (($199) + ($198<<2)|0); HEAP32[$200>>2] = $197; $201 = $i; $202 = (($201) + 1)|0; $i = $202; $203 = $N; $204 = $m1; $205 = (($203|0) / ($204|0))&-1; $N = $205; } while(1) { $206 = $N; $207 = $m2; $208 = (($206|0) % ($207|0))&-1; $209 = ($208|0)==(0); if (!($209)) { break; } $210 = $m2; $211 = $i; $212 = $1; $213 = (($212) + ($211<<2)|0); HEAP32[$213>>2] = $210; $214 = $i; $215 = (($214) + 1)|0; $i = $215; $216 = $N; $217 = $m2; $218 = (($216|0) / ($217|0))&-1; $N = $218; } $219 = $num; $220 = (($219) + 1)|0; $num = $220; } $221 = $i; STACKTOP = sp;return ($221|0); } function _longvectorN($sig,$N,$array,$tx) { $sig = $sig|0; $N = $N|0; $array = $array|0; $tx = $tx|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; var $27 = 0.0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $L = 0, $Ls = 0, $ct = 0, $i = 0, $j = 0, $k = 0, $theta = 0.0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $sig; $1 = $N; $2 = $array; $3 = $tx; $L = 1; $ct = 0; $i = 0; while(1) { $4 = $i; $5 = $3; $6 = ($4|0)<($5|0); if (!($6)) { break; } $7 = $L; $8 = $3; $9 = (($8) - 1)|0; $10 = $i; $11 = (($9) - ($10))|0; $12 = $2; $13 = (($12) + ($11<<2)|0); $14 = HEAP32[$13>>2]|0; $15 = Math_imul($7, $14)|0; $L = $15; $16 = $L; $17 = $3; $18 = (($17) - 1)|0; $19 = $i; $20 = (($18) - ($19))|0; $21 = $2; $22 = (($21) + ($20<<2)|0); $23 = HEAP32[$22>>2]|0; $24 = (($16|0) / ($23|0))&-1; $Ls = $24; $25 = $L; $26 = (+($25|0)); $27 = -6.283185307179586232 / $26; $theta = $27; $j = 0; while(1) { $28 = $j; $29 = $Ls; $30 = ($28|0)<($29|0); if (!($30)) { break; } $k = 0; while(1) { $31 = $k; $32 = $3; $33 = (($32) - 1)|0; $34 = $i; $35 = (($33) - ($34))|0; $36 = $2; $37 = (($36) + ($35<<2)|0); $38 = HEAP32[$37>>2]|0; $39 = (($38) - 1)|0; $40 = ($31|0)<($39|0); if (!($40)) { break; } $41 = $k; $42 = (($41) + 1)|0; $43 = $j; $44 = Math_imul($42, $43)|0; $45 = (+($44|0)); $46 = $theta; $47 = $45 * $46; $48 = (+Math_cos((+$47))); $49 = $ct; $50 = $0; $51 = (($50) + ($49<<4)|0); HEAPF64[$51>>3] = $48; $52 = $k; $53 = (($52) + 1)|0; $54 = $j; $55 = Math_imul($53, $54)|0; $56 = (+($55|0)); $57 = $theta; $58 = $56 * $57; $59 = (+Math_sin((+$58))); $60 = $ct; $61 = $0; $62 = (($61) + ($60<<4)|0); $63 = (($62) + 8|0); HEAPF64[$63>>3] = $59; $64 = $ct; $65 = (($64) + 1)|0; $ct = $65; $66 = $k; $67 = (($66) + 1)|0; $k = $67; } $68 = $j; $69 = (($68) + 1)|0; $j = $69; } $70 = $i; $71 = (($70) + 1)|0; $i = $71; } STACKTOP = sp;return; } function _fft_exec($obj,$inp,$oup) { $obj = $obj|0; $inp = $inp|0; $oup = $oup|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $inc = 0, $l = 0, $nn = 0, $nn1 = 0, $sgn1 = 0, $sgn12 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $obj; $1 = $inp; $2 = $oup; $3 = $0; $4 = (($3) + 268|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { $7 = $0; $8 = HEAP32[$7>>2]|0; $nn = $8; $9 = $0; $10 = (($9) + 4|0); $11 = HEAP32[$10>>2]|0; $sgn1 = $11; $l = 1; $inc = 0; $12 = $2; $13 = $1; $14 = $0; $15 = $sgn1; $16 = $nn; $17 = $l; $18 = $inc; _mixed_radix_dit_rec($12,$13,$14,$15,$16,$17,$18); STACKTOP = sp;return; } $19 = $0; $20 = (($19) + 268|0); $21 = HEAP32[$20>>2]|0; $22 = ($21|0)==(1); if ($22) { $23 = $0; $24 = HEAP32[$23>>2]|0; $nn1 = $24; $25 = $0; $26 = (($25) + 4|0); $27 = HEAP32[$26>>2]|0; $sgn12 = $27; $28 = $1; $29 = $2; $30 = $0; $31 = $sgn12; $32 = $nn1; _bluestein_fft($28,$29,$30,$31,$32); } STACKTOP = sp;return; } function _mixed_radix_dit_rec($op,$ip,$obj,$sgn,$N,$l,$inc) { $op = $op|0; $ip = $ip|0; $obj = $obj|0; $sgn = $sgn|0; $N = $N|0; $l = $l|0; $inc = $inc|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0.0, $1001 = 0.0, $1002 = 0.0, $1003 = 0, $1004 = 0, $1005 = 0.0, $1006 = 0.0, $1007 = 0.0, $1008 = 0.0, $1009 = 0.0, $101 = 0, $1010 = 0.0, $1011 = 0.0, $1012 = 0.0, $1013 = 0.0, $1014 = 0.0; var $1015 = 0.0, $1016 = 0.0, $1017 = 0.0, $1018 = 0.0, $1019 = 0.0, $102 = 0, $1020 = 0.0, $1021 = 0.0, $1022 = 0.0, $1023 = 0.0, $1024 = 0.0, $1025 = 0.0, $1026 = 0.0, $1027 = 0.0, $1028 = 0.0, $1029 = 0.0, $103 = 0.0, $1030 = 0.0, $1031 = 0.0, $1032 = 0.0; var $1033 = 0.0, $1034 = 0.0, $1035 = 0.0, $1036 = 0.0, $1037 = 0.0, $1038 = 0.0, $1039 = 0.0, $104 = 0, $1040 = 0.0, $1041 = 0.0, $1042 = 0.0, $1043 = 0.0, $1044 = 0.0, $1045 = 0.0, $1046 = 0.0, $1047 = 0.0, $1048 = 0.0, $1049 = 0.0, $105 = 0, $1050 = 0.0; var $1051 = 0.0, $1052 = 0.0, $1053 = 0.0, $1054 = 0, $1055 = 0, $1056 = 0.0, $1057 = 0.0, $1058 = 0.0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0.0, $1062 = 0.0, $1063 = 0.0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0.0, $1068 = 0.0, $1069 = 0.0; var $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0.0, $1075 = 0.0, $1076 = 0.0, $1077 = 0.0, $1078 = 0.0, $1079 = 0.0, $108 = 0, $1080 = 0.0, $1081 = 0.0, $1082 = 0.0, $1083 = 0.0, $1084 = 0.0, $1085 = 0.0, $1086 = 0.0, $1087 = 0; var $1088 = 0, $1089 = 0.0, $109 = 0, $1090 = 0.0, $1091 = 0.0, $1092 = 0.0, $1093 = 0.0, $1094 = 0.0, $1095 = 0.0, $1096 = 0.0, $1097 = 0.0, $1098 = 0.0, $1099 = 0.0, $11 = 0, $110 = 0, $1100 = 0.0, $1101 = 0.0, $1102 = 0, $1103 = 0, $1104 = 0.0; var $1105 = 0.0, $1106 = 0.0, $1107 = 0.0, $1108 = 0.0, $1109 = 0.0, $111 = 0.0, $1110 = 0.0, $1111 = 0.0, $1112 = 0.0, $1113 = 0.0, $1114 = 0.0, $1115 = 0.0, $1116 = 0.0, $1117 = 0.0, $1118 = 0.0, $1119 = 0.0, $112 = 0, $1120 = 0.0, $1121 = 0.0, $1122 = 0.0; var $1123 = 0.0, $1124 = 0.0, $1125 = 0.0, $1126 = 0.0, $1127 = 0.0, $1128 = 0.0, $1129 = 0.0, $113 = 0, $1130 = 0.0, $1131 = 0.0, $1132 = 0.0, $1133 = 0.0, $1134 = 0.0, $1135 = 0.0, $1136 = 0.0, $1137 = 0.0, $1138 = 0.0, $1139 = 0.0, $114 = 0, $1140 = 0.0; var $1141 = 0.0, $1142 = 0.0, $1143 = 0.0, $1144 = 0.0, $1145 = 0.0, $1146 = 0.0, $1147 = 0.0, $1148 = 0.0, $1149 = 0.0, $115 = 0, $1150 = 0.0, $1151 = 0.0, $1152 = 0.0, $1153 = 0, $1154 = 0, $1155 = 0.0, $1156 = 0.0, $1157 = 0.0, $1158 = 0, $1159 = 0; var $116 = 0, $1160 = 0.0, $1161 = 0.0, $1162 = 0.0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0.0, $1167 = 0.0, $1168 = 0.0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0.0, $1173 = 0.0, $1174 = 0.0, $1175 = 0.0, $1176 = 0.0, $1177 = 0; var $1178 = 0.0, $1179 = 0.0, $118 = 0, $1180 = 0.0, $1181 = 0.0, $1182 = 0.0, $1183 = 0.0, $1184 = 0.0, $1185 = 0, $1186 = 0, $1187 = 0.0, $1188 = 0.0, $1189 = 0, $119 = 0.0, $1190 = 0, $1191 = 0, $1192 = 0.0, $1193 = 0, $1194 = 0, $1195 = 0; var $1196 = 0.0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0.0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0.0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0; var $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0.0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0.0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0; var $1231 = 0, $1232 = 0, $1233 = 0.0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0.0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0.0; var $125 = 0.0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0.0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0.0, $1266 = 0, $1267 = 0; var $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0.0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0.0, $1280 = 0, $1281 = 0.0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0; var $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0.0, $129 = 0.0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0.0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0; var $1303 = 0, $1304 = 0, $1305 = 0.0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0.0, $1311 = 0, $1312 = 0, $1313 = 0.0, $1314 = 0.0, $1315 = 0, $1316 = 0.0, $1317 = 0, $1318 = 0, $1319 = 0.0, $132 = 0, $1320 = 0.0; var $1321 = 0, $1322 = 0, $1323 = 0.0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0.0, $1328 = 0.0, $1329 = 0, $133 = 0.0, $1330 = 0, $1331 = 0.0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0.0, $1336 = 0.0, $1337 = 0, $1338 = 0, $1339 = 0.0; var $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0.0, $1343 = 0.0, $1344 = 0, $1345 = 0, $1346 = 0.0, $1347 = 0, $1348 = 0, $1349 = 0.0, $135 = 0, $1350 = 0.0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0.0, $1355 = 0, $1356 = 0, $1357 = 0; var $1358 = 0.0, $1359 = 0.0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0.0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0.0, $1368 = 0.0, $1369 = 0, $137 = 0.0, $1370 = 0, $1371 = 0.0, $1372 = 0, $1373 = 0, $1374 = 0.0, $1375 = 0.0; var $1376 = 0, $1377 = 0, $1378 = 0.0, $1379 = 0, $138 = 0.0, $1380 = 0, $1381 = 0.0, $1382 = 0.0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0.0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0.0, $1391 = 0.0, $1392 = 0, $1393 = 0; var $1394 = 0, $1395 = 0.0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0.0, $14 = 0, $140 = 0.0, $1400 = 0.0, $1401 = 0, $1402 = 0, $1403 = 0.0, $1404 = 0, $1405 = 0, $1406 = 0.0, $1407 = 0.0, $1408 = 0, $1409 = 0, $141 = 0.0, $1410 = 0.0; var $1411 = 0, $1412 = 0, $1413 = 0.0, $1414 = 0.0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0.0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0.0, $1423 = 0.0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0.0, $1428 = 0, $1429 = 0; var $143 = 0, $1430 = 0, $1431 = 0.0, $1432 = 0.0, $1433 = 0.0, $1434 = 0.0, $1435 = 0.0, $1436 = 0.0, $1437 = 0.0, $1438 = 0.0, $1439 = 0.0, $144 = 0.0, $1440 = 0, $1441 = 0.0, $1442 = 0.0, $1443 = 0.0, $1444 = 0.0, $1445 = 0.0, $1446 = 0.0, $1447 = 0.0; var $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0.0, $1451 = 0.0, $1452 = 0.0, $1453 = 0.0, $1454 = 0.0, $1455 = 0.0, $1456 = 0.0, $1457 = 0, $1458 = 0, $1459 = 0.0, $146 = 0, $1460 = 0.0, $1461 = 0.0, $1462 = 0.0, $1463 = 0.0, $1464 = 0.0, $1465 = 0.0; var $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0.0, $147 = 0.0, $1470 = 0.0, $1471 = 0.0, $1472 = 0.0, $1473 = 0.0, $1474 = 0.0, $1475 = 0.0, $1476 = 0.0, $1477 = 0.0, $1478 = 0.0, $1479 = 0.0, $148 = 0.0, $1480 = 0.0, $1481 = 0.0, $1482 = 0.0, $1483 = 0.0; var $1484 = 0.0, $1485 = 0.0, $1486 = 0.0, $1487 = 0.0, $1488 = 0.0, $1489 = 0.0, $149 = 0.0, $1490 = 0.0, $1491 = 0, $1492 = 0, $1493 = 0.0, $1494 = 0.0, $1495 = 0.0, $1496 = 0.0, $1497 = 0.0, $1498 = 0.0, $1499 = 0.0, $15 = 0, $150 = 0, $1500 = 0.0; var $1501 = 0.0, $1502 = 0.0, $1503 = 0.0, $1504 = 0.0, $1505 = 0.0, $1506 = 0.0, $1507 = 0.0, $1508 = 0.0, $1509 = 0.0, $151 = 0.0, $1510 = 0.0, $1511 = 0.0, $1512 = 0.0, $1513 = 0.0, $1514 = 0.0, $1515 = 0.0, $1516 = 0.0, $1517 = 0.0, $1518 = 0, $1519 = 0; var $152 = 0.0, $1520 = 0.0, $1521 = 0.0, $1522 = 0.0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0.0, $1527 = 0.0, $1528 = 0.0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0.0, $1532 = 0.0, $1533 = 0.0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0.0; var $1538 = 0.0, $1539 = 0.0, $154 = 0, $1540 = 0.0, $1541 = 0.0, $1542 = 0.0, $1543 = 0, $1544 = 0, $1545 = 0.0, $1546 = 0.0, $1547 = 0.0, $1548 = 0.0, $1549 = 0.0, $155 = 0, $1550 = 0.0, $1551 = 0.0, $1552 = 0.0, $1553 = 0.0, $1554 = 0.0, $1555 = 0.0; var $1556 = 0.0, $1557 = 0.0, $1558 = 0.0, $1559 = 0.0, $156 = 0.0, $1560 = 0.0, $1561 = 0.0, $1562 = 0, $1563 = 0, $1564 = 0.0, $1565 = 0.0, $1566 = 0.0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0.0, $1571 = 0.0, $1572 = 0.0, $1573 = 0; var $1574 = 0, $1575 = 0.0, $1576 = 0.0, $1577 = 0.0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0.0, $1582 = 0.0, $1583 = 0.0, $1584 = 0.0, $1585 = 0.0, $1586 = 0.0, $1587 = 0.0, $1588 = 0.0, $1589 = 0.0, $159 = 0, $1590 = 0.0, $1591 = 0; var $1592 = 0, $1593 = 0.0, $1594 = 0.0, $1595 = 0.0, $1596 = 0.0, $1597 = 0.0, $1598 = 0.0, $1599 = 0.0, $16 = 0, $160 = 0.0, $1600 = 0.0, $1601 = 0.0, $1602 = 0.0, $1603 = 0.0, $1604 = 0.0, $1605 = 0.0, $1606 = 0.0, $1607 = 0.0, $1608 = 0.0, $1609 = 0.0; var $161 = 0.0, $1610 = 0.0, $1611 = 0.0, $1612 = 0.0, $1613 = 0.0, $1614 = 0.0, $1615 = 0.0, $1616 = 0.0, $1617 = 0.0, $1618 = 0, $1619 = 0, $162 = 0.0, $1620 = 0.0, $1621 = 0.0, $1622 = 0.0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0.0, $1627 = 0.0; var $1628 = 0.0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0.0, $1632 = 0.0, $1633 = 0.0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0.0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0; var $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0.0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0.0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0; var $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0.0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0.0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0.0, $1681 = 0; var $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0.0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0.0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0.0, $1697 = 0.0, $1698 = 0.0, $1699 = 0, $17 = 0.0; var $170 = 0.0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0.0, $1704 = 0.0, $1705 = 0.0, $1706 = 0.0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0.0, $1710 = 0, $1711 = 0.0, $1712 = 0.0, $1713 = 0.0, $1714 = 0, $1715 = 0, $1716 = 0, $1717 = 0.0; var $1718 = 0.0, $1719 = 0.0, $172 = 0.0, $1720 = 0.0, $1721 = 0.0, $1722 = 0.0, $1723 = 0.0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0.0, $1728 = 0.0, $1729 = 0.0, $173 = 0.0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0.0, $1735 = 0.0; var $1736 = 0.0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0.0, $1740 = 0.0, $1741 = 0.0, $1742 = 0.0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0, $1751 = 0, $1752 = 0, $1753 = 0; var $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0.0, $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0.0, $1770 = 0, $1771 = 0; var $1772 = 0, $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0, $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0, $1787 = 0, $1788 = 0, $1789 = 0, $179 = 0.0; var $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0, $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0.0, $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0, $1807 = 0.0; var $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0.0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0.0, $1820 = 0.0, $1821 = 0, $1822 = 0, $1823 = 0, $1824 = 0, $1825 = 0; var $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0.0, $1830 = 0.0, $1831 = 0, $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0.0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0.0, $184 = 0, $1840 = 0.0, $1841 = 0.0, $1842 = 0, $1843 = 0; var $1844 = 0, $1845 = 0, $1846 = 0.0, $1847 = 0.0, $1848 = 0.0, $1849 = 0.0, $185 = 0, $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0.0, $1855 = 0.0, $1856 = 0.0, $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0.0, $1860 = 0.0, $1861 = 0.0; var $1862 = 0.0, $1863 = 0.0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0.0, $1868 = 0.0, $1869 = 0.0, $187 = 0.0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0.0, $1875 = 0.0, $1876 = 0.0, $1877 = 0.0, $1878 = 0, $1879 = 0, $188 = 0.0; var $1880 = 0, $1881 = 0, $1882 = 0.0, $1883 = 0.0, $1884 = 0.0, $1885 = 0, $1886 = 0, $1887 = 0, $1888 = 0.0, $1889 = 0.0, $189 = 0, $1890 = 0.0, $1891 = 0.0, $1892 = 0.0, $1893 = 0.0, $1894 = 0.0, $1895 = 0.0, $1896 = 0.0, $1897 = 0.0, $1898 = 0; var $1899 = 0.0, $19 = 0, $190 = 0, $1900 = 0.0, $1901 = 0.0, $1902 = 0.0, $1903 = 0.0, $1904 = 0.0, $1905 = 0, $1906 = 0.0, $1907 = 0.0, $1908 = 0.0, $1909 = 0.0, $191 = 0.0, $1910 = 0.0, $1911 = 0.0, $1912 = 0.0, $1913 = 0.0, $1914 = 0.0, $1915 = 0.0; var $1916 = 0.0, $1917 = 0.0, $1918 = 0.0, $1919 = 0.0, $192 = 0.0, $1920 = 0.0, $1921 = 0.0, $1922 = 0.0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0.0, $1927 = 0.0, $1928 = 0.0, $1929 = 0, $193 = 0.0, $1930 = 0, $1931 = 0, $1932 = 0, $1933 = 0.0; var $1934 = 0.0, $1935 = 0.0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0.0, $194 = 0, $1940 = 0.0, $1941 = 0.0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0.0, $1947 = 0.0, $1948 = 0.0, $1949 = 0, $195 = 0, $1950 = 0, $1951 = 0; var $1952 = 0.0, $1953 = 0.0, $1954 = 0.0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0, $197 = 0.0; var $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0.0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0, $1988 = 0; var $1989 = 0, $199 = 0.0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $2 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0, $2004 = 0; var $2005 = 0, $2006 = 0, $2007 = 0, $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0, $2011 = 0, $2012 = 0, $2013 = 0, $2014 = 0, $2015 = 0, $2016 = 0, $2017 = 0, $2018 = 0, $2019 = 0, $202 = 0.0, $2020 = 0, $2021 = 0, $2022 = 0; var $2023 = 0.0, $2024 = 0, $2025 = 0, $2026 = 0.0, $2027 = 0, $2028 = 0, $2029 = 0, $203 = 0.0, $2030 = 0.0, $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0.0, $2036 = 0, $2037 = 0, $2038 = 0, $2039 = 0.0, $204 = 0.0, $2040 = 0; var $2041 = 0, $2042 = 0, $2043 = 0, $2044 = 0.0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0.0, $2049 = 0, $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0.0, $2054 = 0.0, $2055 = 0.0, $2056 = 0.0, $2057 = 0.0, $2058 = 0.0, $2059 = 0.0; var $206 = 0, $2060 = 0.0, $2061 = 0.0, $2062 = 0.0, $2063 = 0.0, $2064 = 0.0, $2065 = 0.0, $2066 = 0.0, $2067 = 0.0, $2068 = 0.0, $2069 = 0.0, $207 = 0, $2070 = 0.0, $2071 = 0.0, $2072 = 0, $2073 = 0.0, $2074 = 0.0, $2075 = 0.0, $2076 = 0.0, $2077 = 0.0; var $2078 = 0, $2079 = 0.0, $208 = 0, $2080 = 0.0, $2081 = 0.0, $2082 = 0.0, $2083 = 0.0, $2084 = 0.0, $2085 = 0.0, $2086 = 0.0, $2087 = 0, $2088 = 0.0, $2089 = 0.0, $209 = 0, $2090 = 0.0, $2091 = 0, $2092 = 0, $2093 = 0.0, $2094 = 0.0, $2095 = 0.0; var $2096 = 0, $2097 = 0, $2098 = 0, $2099 = 0.0, $21 = 0.0, $210 = 0, $2100 = 0.0, $2101 = 0.0, $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0.0, $2107 = 0.0, $2108 = 0.0, $2109 = 0, $211 = 0.0, $2110 = 0, $2111 = 0, $2112 = 0.0; var $2113 = 0.0, $2114 = 0.0, $2115 = 0, $2116 = 0, $2117 = 0, $2118 = 0, $2119 = 0.0, $212 = 0, $2120 = 0.0, $2121 = 0.0, $2122 = 0, $2123 = 0, $2124 = 0, $2125 = 0.0, $2126 = 0.0, $2127 = 0.0, $2128 = 0, $2129 = 0, $213 = 0, $2130 = 0; var $2131 = 0, $2132 = 0, $2133 = 0, $2134 = 0, $2135 = 0, $2136 = 0, $2137 = 0, $2138 = 0, $2139 = 0, $214 = 0, $2140 = 0, $2141 = 0, $2142 = 0, $2143 = 0, $2144 = 0.0, $2145 = 0, $2146 = 0, $2147 = 0, $2148 = 0, $2149 = 0; var $215 = 0.0, $2150 = 0.0, $2151 = 0, $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0, $2157 = 0.0, $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0, $2163 = 0.0, $2164 = 0, $2165 = 0, $2166 = 0, $2167 = 0; var $2168 = 0, $2169 = 0, $217 = 0, $2170 = 0.0, $2171 = 0, $2172 = 0, $2173 = 0, $2174 = 0, $2175 = 0, $2176 = 0.0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0, $2181 = 0, $2182 = 0, $2183 = 0, $2184 = 0, $2185 = 0; var $2186 = 0, $2187 = 0, $2188 = 0, $2189 = 0.0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0, $2194 = 0.0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0.0, $2199 = 0.0, $22 = 0, $220 = 0, $2200 = 0.0, $2201 = 0, $2202 = 0; var $2203 = 0, $2204 = 0, $2205 = 0.0, $2206 = 0.0, $2207 = 0.0, $2208 = 0.0, $2209 = 0, $221 = 0.0, $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0.0, $2214 = 0.0, $2215 = 0.0, $2216 = 0, $2217 = 0, $2218 = 0, $2219 = 0.0, $222 = 0, $2220 = 0.0; var $2221 = 0.0, $2222 = 0.0, $2223 = 0, $2224 = 0, $2225 = 0, $2226 = 0.0, $2227 = 0.0, $2228 = 0.0, $2229 = 0, $223 = 0, $2230 = 0, $2231 = 0, $2232 = 0, $2233 = 0.0, $2234 = 0.0, $2235 = 0.0, $2236 = 0.0, $2237 = 0, $2238 = 0, $2239 = 0; var $224 = 0, $2240 = 0, $2241 = 0.0, $2242 = 0.0, $2243 = 0.0, $2244 = 0, $2245 = 0, $2246 = 0, $2247 = 0.0, $2248 = 0.0, $2249 = 0.0, $225 = 0, $2250 = 0.0, $2251 = 0, $2252 = 0, $2253 = 0, $2254 = 0.0, $2255 = 0.0, $2256 = 0.0, $2257 = 0; var $2258 = 0, $2259 = 0, $226 = 0, $2260 = 0, $2261 = 0.0, $2262 = 0.0, $2263 = 0.0, $2264 = 0.0, $2265 = 0, $2266 = 0, $2267 = 0, $2268 = 0, $2269 = 0.0, $227 = 0, $2270 = 0.0, $2271 = 0.0, $2272 = 0, $2273 = 0, $2274 = 0, $2275 = 0.0; var $2276 = 0.0, $2277 = 0.0, $2278 = 0.0, $2279 = 0.0, $228 = 0.0, $2280 = 0.0, $2281 = 0.0, $2282 = 0.0, $2283 = 0.0, $2284 = 0.0, $2285 = 0.0, $2286 = 0.0, $2287 = 0.0, $2288 = 0.0, $2289 = 0.0, $229 = 0, $2290 = 0.0, $2291 = 0.0, $2292 = 0.0, $2293 = 0.0; var $2294 = 0.0, $2295 = 0.0, $2296 = 0.0, $2297 = 0, $2298 = 0.0, $2299 = 0.0, $23 = 0, $230 = 0, $2300 = 0.0, $2301 = 0.0, $2302 = 0.0, $2303 = 0, $2304 = 0.0, $2305 = 0.0, $2306 = 0.0, $2307 = 0.0, $2308 = 0.0, $2309 = 0.0, $231 = 0, $2310 = 0.0; var $2311 = 0.0, $2312 = 0, $2313 = 0, $2314 = 0, $2315 = 0.0, $2316 = 0.0, $2317 = 0.0, $2318 = 0, $2319 = 0, $232 = 0, $2320 = 0, $2321 = 0, $2322 = 0.0, $2323 = 0.0, $2324 = 0.0, $2325 = 0, $2326 = 0, $2327 = 0, $2328 = 0.0, $2329 = 0.0; var $233 = 0, $2330 = 0.0, $2331 = 0, $2332 = 0, $2333 = 0, $2334 = 0, $2335 = 0.0, $2336 = 0.0, $2337 = 0.0, $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0.0, $2342 = 0.0, $2343 = 0.0, $2344 = 0, $2345 = 0, $2346 = 0, $2347 = 0; var $2348 = 0.0, $2349 = 0.0, $235 = 0, $2350 = 0.0, $2351 = 0, $2352 = 0, $2353 = 0, $2354 = 0.0, $2355 = 0.0, $2356 = 0.0, $2357 = 0, $2358 = 0, $2359 = 0, $236 = 0.0, $2360 = 0, $2361 = 0, $2362 = 0, $2363 = 0, $2364 = 0, $2365 = 0; var $2366 = 0, $2367 = 0, $2368 = 0, $2369 = 0, $237 = 0, $2370 = 0, $2371 = 0, $2372 = 0, $2373 = 0, $2374 = 0, $2375 = 0, $2376 = 0, $2377 = 0, $2378 = 0, $2379 = 0, $238 = 0, $2380 = 0, $2381 = 0, $2382 = 0, $2383 = 0; var $2384 = 0, $2385 = 0, $2386 = 0, $2387 = 0, $2388 = 0, $2389 = 0, $239 = 0, $2390 = 0, $2391 = 0, $2392 = 0, $2393 = 0, $2394 = 0, $2395 = 0, $2396 = 0, $2397 = 0, $2398 = 0, $2399 = 0, $24 = 0, $240 = 0, $2400 = 0; var $2401 = 0, $2402 = 0, $2403 = 0, $2404 = 0, $2405 = 0, $2406 = 0, $2407 = 0, $2408 = 0, $2409 = 0, $241 = 0, $2410 = 0, $2411 = 0, $2412 = 0, $2413 = 0, $2414 = 0, $2415 = 0, $2416 = 0, $2417 = 0, $2418 = 0, $2419 = 0; var $242 = 0, $2420 = 0, $2421 = 0, $2422 = 0, $2423 = 0, $2424 = 0, $2425 = 0, $2426 = 0, $2427 = 0, $2428 = 0, $2429 = 0, $243 = 0, $2430 = 0, $2431 = 0, $2432 = 0, $2433 = 0, $2434 = 0, $2435 = 0, $2436 = 0, $2437 = 0; var $2438 = 0, $2439 = 0, $244 = 0.0, $2440 = 0, $2441 = 0, $2442 = 0.0, $2443 = 0, $2444 = 0, $2445 = 0.0, $2446 = 0, $2447 = 0, $2448 = 0, $2449 = 0.0, $245 = 0, $2450 = 0, $2451 = 0, $2452 = 0, $2453 = 0, $2454 = 0.0, $2455 = 0; var $2456 = 0, $2457 = 0, $2458 = 0.0, $2459 = 0, $246 = 0, $2460 = 0, $2461 = 0, $2462 = 0, $2463 = 0.0, $2464 = 0, $2465 = 0, $2466 = 0, $2467 = 0.0, $2468 = 0, $2469 = 0, $247 = 0, $2470 = 0, $2471 = 0, $2472 = 0.0, $2473 = 0; var $2474 = 0, $2475 = 0, $2476 = 0.0, $2477 = 0, $2478 = 0, $2479 = 0, $248 = 0, $2480 = 0, $2481 = 0.0, $2482 = 0.0, $2483 = 0.0, $2484 = 0.0, $2485 = 0.0, $2486 = 0.0, $2487 = 0.0, $2488 = 0.0, $2489 = 0.0, $249 = 0, $2490 = 0.0, $2491 = 0.0; var $2492 = 0.0, $2493 = 0.0, $2494 = 0.0, $2495 = 0.0, $2496 = 0.0, $2497 = 0.0, $2498 = 0.0, $2499 = 0.0, $25 = 0, $250 = 0, $2500 = 0.0, $2501 = 0.0, $2502 = 0.0, $2503 = 0.0, $2504 = 0.0, $2505 = 0.0, $2506 = 0.0, $2507 = 0.0, $2508 = 0.0, $2509 = 0.0; var $251 = 0, $2510 = 0.0, $2511 = 0, $2512 = 0.0, $2513 = 0.0, $2514 = 0.0, $2515 = 0.0, $2516 = 0.0, $2517 = 0, $2518 = 0, $2519 = 0.0, $252 = 0.0, $2520 = 0.0, $2521 = 0.0, $2522 = 0.0, $2523 = 0.0, $2524 = 0.0, $2525 = 0.0, $2526 = 0.0, $2527 = 0.0; var $2528 = 0.0, $2529 = 0.0, $253 = 0, $2530 = 0.0, $2531 = 0.0, $2532 = 0.0, $2533 = 0, $2534 = 0.0, $2535 = 0.0, $2536 = 0.0, $2537 = 0.0, $2538 = 0.0, $2539 = 0.0, $254 = 0, $2540 = 0.0, $2541 = 0.0, $2542 = 0.0, $2543 = 0, $2544 = 0.0, $2545 = 0.0; var $2546 = 0.0, $2547 = 0.0, $2548 = 0.0, $2549 = 0.0, $255 = 0, $2550 = 0.0, $2551 = 0.0, $2552 = 0.0, $2553 = 0.0, $2554 = 0.0, $2555 = 0.0, $2556 = 0.0, $2557 = 0.0, $2558 = 0.0, $2559 = 0.0, $256 = 0, $2560 = 0.0, $2561 = 0.0, $2562 = 0, $2563 = 0; var $2564 = 0, $2565 = 0.0, $2566 = 0.0, $2567 = 0.0, $2568 = 0, $2569 = 0, $257 = 0, $2570 = 0, $2571 = 0, $2572 = 0.0, $2573 = 0.0, $2574 = 0.0, $2575 = 0, $2576 = 0, $2577 = 0, $2578 = 0.0, $2579 = 0.0, $258 = 0, $2580 = 0.0, $2581 = 0; var $2582 = 0, $2583 = 0, $2584 = 0, $2585 = 0.0, $2586 = 0.0, $2587 = 0.0, $2588 = 0.0, $2589 = 0.0, $259 = 0, $2590 = 0.0, $2591 = 0.0, $2592 = 0.0, $2593 = 0.0, $2594 = 0.0, $2595 = 0.0, $2596 = 0.0, $2597 = 0.0, $2598 = 0.0, $2599 = 0, $26 = 0; var $260 = 0.0, $2600 = 0.0, $2601 = 0.0, $2602 = 0.0, $2603 = 0.0, $2604 = 0.0, $2605 = 0.0, $2606 = 0.0, $2607 = 0.0, $2608 = 0.0, $2609 = 0, $261 = 0, $2610 = 0.0, $2611 = 0.0, $2612 = 0.0, $2613 = 0.0, $2614 = 0.0, $2615 = 0.0, $2616 = 0.0, $2617 = 0.0; var $2618 = 0.0, $2619 = 0.0, $262 = 0, $2620 = 0.0, $2621 = 0.0, $2622 = 0.0, $2623 = 0.0, $2624 = 0.0, $2625 = 0.0, $2626 = 0.0, $2627 = 0.0, $2628 = 0, $2629 = 0, $263 = 0, $2630 = 0, $2631 = 0.0, $2632 = 0.0, $2633 = 0.0, $2634 = 0, $2635 = 0; var $2636 = 0, $2637 = 0, $2638 = 0.0, $2639 = 0.0, $264 = 0, $2640 = 0.0, $2641 = 0, $2642 = 0, $2643 = 0, $2644 = 0.0, $2645 = 0.0, $2646 = 0.0, $2647 = 0, $2648 = 0, $2649 = 0, $265 = 0.0, $2650 = 0, $2651 = 0, $2652 = 0, $2653 = 0; var $2654 = 0, $2655 = 0, $2656 = 0, $2657 = 0, $2658 = 0, $2659 = 0, $266 = 0, $2660 = 0, $2661 = 0, $2662 = 0, $2663 = 0.0, $2664 = 0, $2665 = 0, $2666 = 0, $2667 = 0, $2668 = 0, $2669 = 0.0, $267 = 0, $2670 = 0, $2671 = 0; var $2672 = 0, $2673 = 0, $2674 = 0, $2675 = 0, $2676 = 0.0, $2677 = 0, $2678 = 0, $2679 = 0, $268 = 0.0, $2680 = 0, $2681 = 0, $2682 = 0.0, $2683 = 0, $2684 = 0, $2685 = 0, $2686 = 0, $2687 = 0, $2688 = 0, $2689 = 0.0, $269 = 0.0; var $2690 = 0, $2691 = 0, $2692 = 0, $2693 = 0, $2694 = 0, $2695 = 0.0, $2696 = 0, $2697 = 0, $2698 = 0, $2699 = 0, $27 = 0.0, $270 = 0, $2700 = 0, $2701 = 0, $2702 = 0.0, $2703 = 0, $2704 = 0, $2705 = 0, $2706 = 0, $2707 = 0; var $2708 = 0.0, $2709 = 0, $271 = 0, $2710 = 0, $2711 = 0, $2712 = 0, $2713 = 0, $2714 = 0, $2715 = 0, $2716 = 0, $2717 = 0, $2718 = 0, $2719 = 0, $272 = 0.0, $2720 = 0, $2721 = 0, $2722 = 0, $2723 = 0, $2724 = 0.0, $2725 = 0; var $2726 = 0, $2727 = 0, $2728 = 0, $2729 = 0.0, $273 = 0, $2730 = 0, $2731 = 0, $2732 = 0, $2733 = 0.0, $2734 = 0.0, $2735 = 0.0, $2736 = 0, $2737 = 0, $2738 = 0, $2739 = 0, $274 = 0, $2740 = 0.0, $2741 = 0.0, $2742 = 0.0, $2743 = 0.0; var $2744 = 0, $2745 = 0, $2746 = 0, $2747 = 0, $2748 = 0.0, $2749 = 0.0, $275 = 0, $2750 = 0.0, $2751 = 0, $2752 = 0, $2753 = 0, $2754 = 0.0, $2755 = 0.0, $2756 = 0.0, $2757 = 0.0, $2758 = 0, $2759 = 0, $276 = 0.0, $2760 = 0, $2761 = 0.0; var $2762 = 0.0, $2763 = 0.0, $2764 = 0, $2765 = 0, $2766 = 0, $2767 = 0, $2768 = 0.0, $2769 = 0.0, $277 = 0.0, $2770 = 0.0, $2771 = 0.0, $2772 = 0, $2773 = 0, $2774 = 0, $2775 = 0, $2776 = 0.0, $2777 = 0.0, $2778 = 0.0, $2779 = 0, $278 = 0; var $2780 = 0, $2781 = 0, $2782 = 0.0, $2783 = 0.0, $2784 = 0.0, $2785 = 0.0, $2786 = 0, $2787 = 0, $2788 = 0, $2789 = 0.0, $279 = 0.0, $2790 = 0.0, $2791 = 0.0, $2792 = 0, $2793 = 0, $2794 = 0, $2795 = 0, $2796 = 0.0, $2797 = 0.0, $2798 = 0.0; var $2799 = 0.0, $28 = 0, $280 = 0, $2800 = 0, $2801 = 0, $2802 = 0, $2803 = 0, $2804 = 0.0, $2805 = 0.0, $2806 = 0.0, $2807 = 0, $2808 = 0, $2809 = 0, $281 = 0, $2810 = 0.0, $2811 = 0.0, $2812 = 0.0, $2813 = 0.0, $2814 = 0, $2815 = 0; var $2816 = 0, $2817 = 0.0, $2818 = 0.0, $2819 = 0.0, $282 = 0.0, $2820 = 0, $2821 = 0, $2822 = 0, $2823 = 0, $2824 = 0.0, $2825 = 0.0, $2826 = 0.0, $2827 = 0.0, $2828 = 0, $2829 = 0, $283 = 0.0, $2830 = 0, $2831 = 0, $2832 = 0.0, $2833 = 0.0; var $2834 = 0.0, $2835 = 0, $2836 = 0, $2837 = 0, $2838 = 0.0, $2839 = 0.0, $284 = 0, $2840 = 0.0, $2841 = 0.0, $2842 = 0.0, $2843 = 0.0, $2844 = 0.0, $2845 = 0.0, $2846 = 0.0, $2847 = 0.0, $2848 = 0.0, $2849 = 0.0, $285 = 0, $2850 = 0.0, $2851 = 0.0; var $2852 = 0.0, $2853 = 0.0, $2854 = 0.0, $2855 = 0.0, $2856 = 0.0, $2857 = 0.0, $2858 = 0.0, $2859 = 0.0, $286 = 0.0, $2860 = 0.0, $2861 = 0.0, $2862 = 0.0, $2863 = 0.0, $2864 = 0.0, $2865 = 0.0, $2866 = 0.0, $2867 = 0.0, $2868 = 0.0, $2869 = 0.0, $287 = 0; var $2870 = 0.0, $2871 = 0, $2872 = 0, $2873 = 0, $2874 = 0.0, $2875 = 0.0, $2876 = 0.0, $2877 = 0.0, $2878 = 0.0, $2879 = 0, $288 = 0, $2880 = 0, $2881 = 0, $2882 = 0, $2883 = 0.0, $2884 = 0.0, $2885 = 0.0, $2886 = 0.0, $2887 = 0.0, $2888 = 0.0; var $2889 = 0.0, $289 = 0, $2890 = 0.0, $2891 = 0.0, $2892 = 0.0, $2893 = 0.0, $2894 = 0.0, $2895 = 0.0, $2896 = 0.0, $2897 = 0, $2898 = 0, $2899 = 0.0, $29 = 0, $290 = 0.0, $2900 = 0.0, $2901 = 0.0, $2902 = 0.0, $2903 = 0.0, $2904 = 0.0, $2905 = 0.0; var $2906 = 0.0, $2907 = 0.0, $2908 = 0.0, $2909 = 0.0, $291 = 0.0, $2910 = 0.0, $2911 = 0.0, $2912 = 0.0, $2913 = 0.0, $2914 = 0.0, $2915 = 0.0, $2916 = 0.0, $2917 = 0.0, $2918 = 0.0, $2919 = 0.0, $292 = 0, $2920 = 0.0, $2921 = 0.0, $2922 = 0.0, $2923 = 0.0; var $2924 = 0.0, $2925 = 0.0, $2926 = 0.0, $2927 = 0.0, $2928 = 0.0, $2929 = 0.0, $293 = 0, $2930 = 0.0, $2931 = 0.0, $2932 = 0.0, $2933 = 0.0, $2934 = 0.0, $2935 = 0.0, $2936 = 0.0, $2937 = 0.0, $2938 = 0, $2939 = 0, $294 = 0.0, $2940 = 0, $2941 = 0.0; var $2942 = 0.0, $2943 = 0.0, $2944 = 0, $2945 = 0, $2946 = 0, $2947 = 0, $2948 = 0.0, $2949 = 0.0, $295 = 0, $2950 = 0.0, $2951 = 0, $2952 = 0, $2953 = 0, $2954 = 0.0, $2955 = 0.0, $2956 = 0.0, $2957 = 0, $2958 = 0, $2959 = 0, $296 = 0; var $2960 = 0, $2961 = 0.0, $2962 = 0.0, $2963 = 0.0, $2964 = 0.0, $2965 = 0.0, $2966 = 0.0, $2967 = 0.0, $2968 = 0.0, $2969 = 0.0, $297 = 0.0, $2970 = 0.0, $2971 = 0.0, $2972 = 0.0, $2973 = 0.0, $2974 = 0.0, $2975 = 0, $2976 = 0, $2977 = 0.0, $2978 = 0.0; var $2979 = 0.0, $298 = 0.0, $2980 = 0.0, $2981 = 0.0, $2982 = 0.0, $2983 = 0.0, $2984 = 0.0, $2985 = 0.0, $2986 = 0.0, $2987 = 0.0, $2988 = 0.0, $2989 = 0.0, $299 = 0, $2990 = 0.0, $2991 = 0.0, $2992 = 0.0, $2993 = 0.0, $2994 = 0.0, $2995 = 0.0, $2996 = 0.0; var $2997 = 0.0, $2998 = 0.0, $2999 = 0.0, $3 = 0, $30 = 0, $300 = 0, $3000 = 0.0, $3001 = 0.0, $3002 = 0.0, $3003 = 0.0, $3004 = 0.0, $3005 = 0.0, $3006 = 0.0, $3007 = 0.0, $3008 = 0.0, $3009 = 0.0, $301 = 0, $3010 = 0.0, $3011 = 0.0, $3012 = 0.0; var $3013 = 0.0, $3014 = 0.0, $3015 = 0.0, $3016 = 0, $3017 = 0, $3018 = 0, $3019 = 0.0, $302 = 0.0, $3020 = 0.0, $3021 = 0.0, $3022 = 0, $3023 = 0, $3024 = 0, $3025 = 0, $3026 = 0.0, $3027 = 0.0, $3028 = 0.0, $3029 = 0, $303 = 0, $3030 = 0; var $3031 = 0, $3032 = 0.0, $3033 = 0.0, $3034 = 0.0, $3035 = 0, $3036 = 0, $3037 = 0, $3038 = 0, $3039 = 0, $304 = 0, $3040 = 0, $3041 = 0, $3042 = 0, $3043 = 0, $3044 = 0, $3045 = 0, $3046 = 0, $3047 = 0, $3048 = 0, $3049 = 0; var $305 = 0, $3050 = 0, $3051 = 0, $3052 = 0, $3053 = 0, $3054 = 0, $3055 = 0, $3056 = 0, $3057 = 0, $3058 = 0, $3059 = 0, $306 = 0.0, $3060 = 0, $3061 = 0, $3062 = 0, $3063 = 0, $3064 = 0, $3065 = 0, $3066 = 0, $3067 = 0; var $3068 = 0, $3069 = 0, $307 = 0.0, $3070 = 0, $3071 = 0, $3072 = 0, $3073 = 0, $3074 = 0, $3075 = 0, $3076 = 0, $3077 = 0, $3078 = 0, $3079 = 0, $308 = 0, $3080 = 0, $3081 = 0, $3082 = 0, $3083 = 0, $3084 = 0, $3085 = 0; var $3086 = 0, $3087 = 0, $3088 = 0, $3089 = 0, $309 = 0.0, $3090 = 0, $3091 = 0, $3092 = 0, $3093 = 0, $3094 = 0, $3095 = 0, $3096 = 0, $3097 = 0, $3098 = 0, $3099 = 0, $31 = 0.0, $310 = 0, $3100 = 0, $3101 = 0, $3102 = 0; var $3103 = 0, $3104 = 0, $3105 = 0, $3106 = 0, $3107 = 0, $3108 = 0, $3109 = 0, $311 = 0, $3110 = 0, $3111 = 0, $3112 = 0, $3113 = 0, $3114 = 0, $3115 = 0, $3116 = 0, $3117 = 0, $3118 = 0, $3119 = 0, $312 = 0.0, $3120 = 0; var $3121 = 0, $3122 = 0, $3123 = 0, $3124 = 0, $3125 = 0, $3126 = 0, $3127 = 0, $3128 = 0, $3129 = 0, $313 = 0, $3130 = 0, $3131 = 0, $3132 = 0, $3133 = 0, $3134 = 0, $3135 = 0, $3136 = 0, $3137 = 0, $3138 = 0, $3139 = 0; var $314 = 0, $3140 = 0, $3141 = 0, $3142 = 0, $3143 = 0, $3144 = 0, $3145 = 0, $3146 = 0, $3147 = 0, $3148 = 0, $3149 = 0, $315 = 0.0, $3150 = 0, $3151 = 0, $3152 = 0, $3153 = 0, $3154 = 0.0, $3155 = 0, $3156 = 0, $3157 = 0.0; var $3158 = 0, $3159 = 0, $316 = 0.0, $3160 = 0, $3161 = 0.0, $3162 = 0, $3163 = 0, $3164 = 0, $3165 = 0, $3166 = 0.0, $3167 = 0, $3168 = 0, $3169 = 0, $317 = 0.0, $3170 = 0.0, $3171 = 0, $3172 = 0, $3173 = 0, $3174 = 0, $3175 = 0.0; var $3176 = 0, $3177 = 0, $3178 = 0, $3179 = 0.0, $318 = 0, $3180 = 0, $3181 = 0, $3182 = 0, $3183 = 0, $3184 = 0.0, $3185 = 0, $3186 = 0, $3187 = 0, $3188 = 0.0, $3189 = 0, $319 = 0.0, $3190 = 0, $3191 = 0, $3192 = 0, $3193 = 0.0; var $3194 = 0, $3195 = 0, $3196 = 0, $3197 = 0.0, $3198 = 0, $3199 = 0, $32 = 0, $320 = 0, $3200 = 0, $3201 = 0, $3202 = 0.0, $3203 = 0, $3204 = 0, $3205 = 0, $3206 = 0.0, $3207 = 0, $3208 = 0, $3209 = 0, $321 = 0, $3210 = 0; var $3211 = 0.0, $3212 = 0.0, $3213 = 0.0, $3214 = 0.0, $3215 = 0.0, $3216 = 0.0, $3217 = 0.0, $3218 = 0.0, $3219 = 0.0, $322 = 0, $3220 = 0.0, $3221 = 0.0, $3222 = 0.0, $3223 = 0.0, $3224 = 0.0, $3225 = 0.0, $3226 = 0.0, $3227 = 0.0, $3228 = 0.0, $3229 = 0.0; var $323 = 0.0, $3230 = 0.0, $3231 = 0.0, $3232 = 0.0, $3233 = 0.0, $3234 = 0.0, $3235 = 0.0, $3236 = 0.0, $3237 = 0.0, $3238 = 0.0, $3239 = 0.0, $324 = 0, $3240 = 0.0, $3241 = 0.0, $3242 = 0.0, $3243 = 0.0, $3244 = 0.0, $3245 = 0.0, $3246 = 0.0, $3247 = 0.0; var $3248 = 0.0, $3249 = 0.0, $325 = 0, $3250 = 0.0, $3251 = 0.0, $3252 = 0.0, $3253 = 0.0, $3254 = 0.0, $3255 = 0, $3256 = 0.0, $3257 = 0.0, $3258 = 0.0, $3259 = 0.0, $326 = 0, $3260 = 0.0, $3261 = 0.0, $3262 = 0.0, $3263 = 0, $3264 = 0, $3265 = 0.0; var $3266 = 0.0, $3267 = 0.0, $3268 = 0.0, $3269 = 0.0, $327 = 0.0, $3270 = 0.0, $3271 = 0.0, $3272 = 0.0, $3273 = 0.0, $3274 = 0.0, $3275 = 0.0, $3276 = 0.0, $3277 = 0.0, $3278 = 0.0, $3279 = 0.0, $328 = 0.0, $3280 = 0.0, $3281 = 0.0, $3282 = 0.0, $3283 = 0.0; var $3284 = 0.0, $3285 = 0.0, $3286 = 0.0, $3287 = 0.0, $3288 = 0.0, $3289 = 0.0, $329 = 0.0, $3290 = 0.0, $3291 = 0, $3292 = 0, $3293 = 0.0, $3294 = 0.0, $3295 = 0.0, $3296 = 0.0, $3297 = 0.0, $3298 = 0.0, $3299 = 0.0, $33 = 0, $330 = 0.0, $3300 = 0.0; var $3301 = 0.0, $3302 = 0.0, $3303 = 0.0, $3304 = 0.0, $3305 = 0.0, $3306 = 0.0, $3307 = 0.0, $3308 = 0.0, $3309 = 0.0, $331 = 0.0, $3310 = 0.0, $3311 = 0.0, $3312 = 0.0, $3313 = 0.0, $3314 = 0.0, $3315 = 0.0, $3316 = 0.0, $3317 = 0.0, $3318 = 0.0, $3319 = 0.0; var $332 = 0.0, $3320 = 0.0, $3321 = 0.0, $3322 = 0.0, $3323 = 0.0, $3324 = 0.0, $3325 = 0.0, $3326 = 0.0, $3327 = 0.0, $3328 = 0.0, $3329 = 0.0, $333 = 0, $3330 = 0.0, $3331 = 0.0, $3332 = 0.0, $3333 = 0.0, $3334 = 0.0, $3335 = 0.0, $3336 = 0.0, $3337 = 0.0; var $3338 = 0.0, $3339 = 0.0, $334 = 0.0, $3340 = 0.0, $3341 = 0.0, $3342 = 0, $3343 = 0, $3344 = 0, $3345 = 0.0, $3346 = 0.0, $3347 = 0.0, $3348 = 0, $3349 = 0, $335 = 0.0, $3350 = 0, $3351 = 0, $3352 = 0.0, $3353 = 0.0, $3354 = 0.0, $3355 = 0; var $3356 = 0, $3357 = 0, $3358 = 0.0, $3359 = 0.0, $336 = 0.0, $3360 = 0.0, $3361 = 0, $3362 = 0, $3363 = 0, $3364 = 0, $3365 = 0.0, $3366 = 0.0, $3367 = 0.0, $3368 = 0.0, $3369 = 0.0, $337 = 0, $3370 = 0.0, $3371 = 0.0, $3372 = 0.0, $3373 = 0.0; var $3374 = 0.0, $3375 = 0.0, $3376 = 0.0, $3377 = 0.0, $3378 = 0.0, $3379 = 0.0, $338 = 0, $3380 = 0.0, $3381 = 0.0, $3382 = 0.0, $3383 = 0.0, $3384 = 0.0, $3385 = 0.0, $3386 = 0.0, $3387 = 0.0, $3388 = 0.0, $3389 = 0.0, $339 = 0.0, $3390 = 0.0, $3391 = 0; var $3392 = 0, $3393 = 0.0, $3394 = 0.0, $3395 = 0.0, $3396 = 0.0, $3397 = 0.0, $3398 = 0.0, $3399 = 0.0, $34 = 0, $340 = 0.0, $3400 = 0.0, $3401 = 0.0, $3402 = 0.0, $3403 = 0.0, $3404 = 0.0, $3405 = 0.0, $3406 = 0.0, $3407 = 0.0, $3408 = 0.0, $3409 = 0.0; var $341 = 0.0, $3410 = 0.0, $3411 = 0.0, $3412 = 0.0, $3413 = 0.0, $3414 = 0.0, $3415 = 0.0, $3416 = 0.0, $3417 = 0.0, $3418 = 0.0, $3419 = 0.0, $342 = 0, $3420 = 0.0, $3421 = 0.0, $3422 = 0.0, $3423 = 0.0, $3424 = 0.0, $3425 = 0.0, $3426 = 0.0, $3427 = 0.0; var $3428 = 0.0, $3429 = 0.0, $343 = 0, $3430 = 0.0, $3431 = 0.0, $3432 = 0.0, $3433 = 0.0, $3434 = 0.0, $3435 = 0.0, $3436 = 0.0, $3437 = 0.0, $3438 = 0.0, $3439 = 0.0, $344 = 0.0, $3440 = 0.0, $3441 = 0.0, $3442 = 0, $3443 = 0, $3444 = 0, $3445 = 0.0; var $3446 = 0.0, $3447 = 0.0, $3448 = 0, $3449 = 0, $345 = 0.0, $3450 = 0, $3451 = 0, $3452 = 0.0, $3453 = 0.0, $3454 = 0.0, $3455 = 0, $3456 = 0, $3457 = 0, $3458 = 0.0, $3459 = 0.0, $346 = 0.0, $3460 = 0.0, $3461 = 0, $3462 = 0, $3463 = 0; var $3464 = 0, $3465 = 0.0, $3466 = 0.0, $3467 = 0.0, $3468 = 0.0, $3469 = 0.0, $347 = 0, $3470 = 0.0, $3471 = 0.0, $3472 = 0.0, $3473 = 0.0, $3474 = 0.0, $3475 = 0.0, $3476 = 0.0, $3477 = 0.0, $3478 = 0.0, $3479 = 0.0, $348 = 0, $3480 = 0.0, $3481 = 0.0; var $3482 = 0.0, $3483 = 0.0, $3484 = 0.0, $3485 = 0.0, $3486 = 0.0, $3487 = 0.0, $3488 = 0.0, $3489 = 0.0, $349 = 0, $3490 = 0.0, $3491 = 0, $3492 = 0, $3493 = 0.0, $3494 = 0.0, $3495 = 0.0, $3496 = 0.0, $3497 = 0.0, $3498 = 0.0, $3499 = 0.0, $35 = 0; var $350 = 0.0, $3500 = 0.0, $3501 = 0.0, $3502 = 0.0, $3503 = 0.0, $3504 = 0.0, $3505 = 0.0, $3506 = 0.0, $3507 = 0.0, $3508 = 0.0, $3509 = 0.0, $351 = 0.0, $3510 = 0.0, $3511 = 0.0, $3512 = 0.0, $3513 = 0.0, $3514 = 0.0, $3515 = 0.0, $3516 = 0.0, $3517 = 0.0; var $3518 = 0.0, $3519 = 0.0, $352 = 0.0, $3520 = 0.0, $3521 = 0.0, $3522 = 0.0, $3523 = 0.0, $3524 = 0.0, $3525 = 0.0, $3526 = 0.0, $3527 = 0.0, $3528 = 0.0, $3529 = 0.0, $353 = 0, $3530 = 0.0, $3531 = 0.0, $3532 = 0.0, $3533 = 0.0, $3534 = 0.0, $3535 = 0.0; var $3536 = 0.0, $3537 = 0.0, $3538 = 0.0, $3539 = 0.0, $354 = 0, $3540 = 0.0, $3541 = 0.0, $3542 = 0, $3543 = 0, $3544 = 0, $3545 = 0.0, $3546 = 0.0, $3547 = 0.0, $3548 = 0, $3549 = 0, $355 = 0.0, $3550 = 0, $3551 = 0, $3552 = 0.0, $3553 = 0.0; var $3554 = 0.0, $3555 = 0, $3556 = 0, $3557 = 0, $3558 = 0.0, $3559 = 0.0, $356 = 0.0, $3560 = 0.0, $3561 = 0, $3562 = 0, $3563 = 0, $3564 = 0, $3565 = 0, $3566 = 0, $3567 = 0, $3568 = 0, $3569 = 0, $357 = 0.0, $3570 = 0, $3571 = 0; var $3572 = 0, $3573 = 0, $3574 = 0, $3575 = 0, $3576 = 0, $3577 = 0.0, $3578 = 0, $3579 = 0, $358 = 0, $3580 = 0, $3581 = 0, $3582 = 0, $3583 = 0.0, $3584 = 0, $3585 = 0, $3586 = 0, $3587 = 0, $3588 = 0, $3589 = 0, $359 = 0; var $3590 = 0.0, $3591 = 0, $3592 = 0, $3593 = 0, $3594 = 0, $3595 = 0, $3596 = 0.0, $3597 = 0, $3598 = 0, $3599 = 0, $36 = 0, $360 = 0, $3600 = 0, $3601 = 0, $3602 = 0, $3603 = 0.0, $3604 = 0, $3605 = 0, $3606 = 0, $3607 = 0; var $3608 = 0, $3609 = 0.0, $361 = 0.0, $3610 = 0, $3611 = 0, $3612 = 0, $3613 = 0, $3614 = 0, $3615 = 0, $3616 = 0.0, $3617 = 0, $3618 = 0, $3619 = 0, $362 = 0.0, $3620 = 0, $3621 = 0, $3622 = 0.0, $3623 = 0, $3624 = 0, $3625 = 0; var $3626 = 0, $3627 = 0, $3628 = 0, $3629 = 0.0, $363 = 0.0, $3630 = 0, $3631 = 0, $3632 = 0, $3633 = 0, $3634 = 0, $3635 = 0.0, $3636 = 0, $3637 = 0, $3638 = 0, $3639 = 0, $364 = 0, $3640 = 0, $3641 = 0, $3642 = 0.0, $3643 = 0; var $3644 = 0, $3645 = 0, $3646 = 0, $3647 = 0, $3648 = 0.0, $3649 = 0, $365 = 0, $3650 = 0, $3651 = 0, $3652 = 0, $3653 = 0, $3654 = 0, $3655 = 0, $3656 = 0, $3657 = 0, $3658 = 0, $3659 = 0, $366 = 0.0, $3660 = 0, $3661 = 0; var $3662 = 0, $3663 = 0, $3664 = 0, $3665 = 0, $3666 = 0, $3667 = 0, $3668 = 0, $3669 = 0, $367 = 0.0, $3670 = 0.0, $3671 = 0, $3672 = 0, $3673 = 0, $3674 = 0, $3675 = 0.0, $3676 = 0, $3677 = 0, $3678 = 0, $3679 = 0.0, $368 = 0.0; var $3680 = 0.0, $3681 = 0.0, $3682 = 0, $3683 = 0, $3684 = 0, $3685 = 0, $3686 = 0.0, $3687 = 0.0, $3688 = 0.0, $3689 = 0.0, $369 = 0, $3690 = 0, $3691 = 0, $3692 = 0, $3693 = 0, $3694 = 0.0, $3695 = 0.0, $3696 = 0.0, $3697 = 0, $3698 = 0; var $3699 = 0, $37 = 0.0, $370 = 0, $3700 = 0.0, $3701 = 0.0, $3702 = 0.0, $3703 = 0.0, $3704 = 0, $3705 = 0, $3706 = 0, $3707 = 0.0, $3708 = 0.0, $3709 = 0.0, $371 = 0, $3710 = 0, $3711 = 0, $3712 = 0, $3713 = 0, $3714 = 0.0, $3715 = 0.0; var $3716 = 0.0, $3717 = 0.0, $3718 = 0, $3719 = 0, $372 = 0, $3720 = 0, $3721 = 0, $3722 = 0.0, $3723 = 0.0, $3724 = 0.0, $3725 = 0, $3726 = 0, $3727 = 0, $3728 = 0.0, $3729 = 0.0, $373 = 0, $3730 = 0.0, $3731 = 0.0, $3732 = 0, $3733 = 0; var $3734 = 0, $3735 = 0.0, $3736 = 0.0, $3737 = 0.0, $3738 = 0, $3739 = 0, $374 = 0, $3740 = 0, $3741 = 0, $3742 = 0.0, $3743 = 0.0, $3744 = 0.0, $3745 = 0.0, $3746 = 0, $3747 = 0, $3748 = 0, $3749 = 0, $375 = 0.0, $3750 = 0.0, $3751 = 0.0; var $3752 = 0.0, $3753 = 0, $3754 = 0, $3755 = 0, $3756 = 0.0, $3757 = 0.0, $3758 = 0.0, $3759 = 0.0, $376 = 0, $3760 = 0, $3761 = 0, $3762 = 0, $3763 = 0.0, $3764 = 0.0, $3765 = 0.0, $3766 = 0, $3767 = 0, $3768 = 0, $3769 = 0, $377 = 0; var $3770 = 0.0, $3771 = 0.0, $3772 = 0.0, $3773 = 0.0, $3774 = 0, $3775 = 0, $3776 = 0, $3777 = 0, $3778 = 0.0, $3779 = 0.0, $378 = 0, $3780 = 0.0, $3781 = 0, $3782 = 0, $3783 = 0, $3784 = 0.0, $3785 = 0.0, $3786 = 0.0, $3787 = 0.0, $3788 = 0; var $3789 = 0, $379 = 0.0, $3790 = 0, $3791 = 0.0, $3792 = 0.0, $3793 = 0.0, $3794 = 0, $3795 = 0, $3796 = 0, $3797 = 0, $3798 = 0.0, $3799 = 0.0, $38 = 0, $380 = 0, $3800 = 0.0, $3801 = 0.0, $3802 = 0, $3803 = 0, $3804 = 0, $3805 = 0; var $3806 = 0.0, $3807 = 0.0, $3808 = 0.0, $3809 = 0, $381 = 0, $3810 = 0, $3811 = 0, $3812 = 0.0, $3813 = 0.0, $3814 = 0.0, $3815 = 0.0, $3816 = 0, $3817 = 0, $3818 = 0, $3819 = 0.0, $382 = 0, $3820 = 0.0, $3821 = 0.0, $3822 = 0, $3823 = 0; var $3824 = 0, $3825 = 0, $3826 = 0.0, $3827 = 0.0, $3828 = 0.0, $3829 = 0.0, $383 = 0, $3830 = 0, $3831 = 0, $3832 = 0, $3833 = 0, $3834 = 0.0, $3835 = 0.0, $3836 = 0.0, $3837 = 0, $3838 = 0, $3839 = 0, $384 = 0, $3840 = 0.0, $3841 = 0.0; var $3842 = 0.0, $3843 = 0.0, $3844 = 0.0, $3845 = 0.0, $3846 = 0.0, $3847 = 0.0, $3848 = 0.0, $3849 = 0.0, $385 = 0.0, $3850 = 0.0, $3851 = 0.0, $3852 = 0.0, $3853 = 0.0, $3854 = 0.0, $3855 = 0.0, $3856 = 0.0, $3857 = 0.0, $3858 = 0.0, $3859 = 0.0, $386 = 0; var $3860 = 0.0, $3861 = 0.0, $3862 = 0.0, $3863 = 0.0, $3864 = 0.0, $3865 = 0.0, $3866 = 0.0, $3867 = 0.0, $3868 = 0.0, $3869 = 0.0, $387 = 0, $3870 = 0.0, $3871 = 0.0, $3872 = 0.0, $3873 = 0.0, $3874 = 0.0, $3875 = 0.0, $3876 = 0.0, $3877 = 0.0, $3878 = 0.0; var $3879 = 0.0, $388 = 0, $3880 = 0.0, $3881 = 0.0, $3882 = 0.0, $3883 = 0.0, $3884 = 0.0, $3885 = 0.0, $3886 = 0.0, $3887 = 0, $3888 = 0, $3889 = 0, $389 = 0, $3890 = 0.0, $3891 = 0.0, $3892 = 0.0, $3893 = 0.0, $3894 = 0.0, $3895 = 0.0, $3896 = 0.0; var $3897 = 0, $3898 = 0, $3899 = 0, $39 = 0, $390 = 0, $3900 = 0, $3901 = 0.0, $3902 = 0.0, $3903 = 0.0, $3904 = 0.0, $3905 = 0.0, $3906 = 0.0, $3907 = 0.0, $3908 = 0.0, $3909 = 0.0, $391 = 0, $3910 = 0.0, $3911 = 0.0, $3912 = 0.0, $3913 = 0.0; var $3914 = 0.0, $3915 = 0.0, $3916 = 0.0, $3917 = 0.0, $3918 = 0.0, $3919 = 0.0, $392 = 0.0, $3920 = 0.0, $3921 = 0.0, $3922 = 0.0, $3923 = 0.0, $3924 = 0.0, $3925 = 0.0, $3926 = 0.0, $3927 = 0, $3928 = 0, $3929 = 0.0, $393 = 0, $3930 = 0.0, $3931 = 0.0; var $3932 = 0.0, $3933 = 0.0, $3934 = 0.0, $3935 = 0.0, $3936 = 0.0, $3937 = 0.0, $3938 = 0.0, $3939 = 0.0, $394 = 0, $3940 = 0.0, $3941 = 0.0, $3942 = 0.0, $3943 = 0.0, $3944 = 0.0, $3945 = 0.0, $3946 = 0.0, $3947 = 0.0, $3948 = 0.0, $3949 = 0.0, $395 = 0; var $3950 = 0.0, $3951 = 0.0, $3952 = 0.0, $3953 = 0.0, $3954 = 0.0, $3955 = 0.0, $3956 = 0.0, $3957 = 0.0, $3958 = 0.0, $3959 = 0.0, $396 = 0, $3960 = 0.0, $3961 = 0.0, $3962 = 0.0, $3963 = 0.0, $3964 = 0.0, $3965 = 0.0, $3966 = 0.0, $3967 = 0.0, $3968 = 0.0; var $3969 = 0.0, $397 = 0, $3970 = 0.0, $3971 = 0.0, $3972 = 0.0, $3973 = 0.0, $3974 = 0.0, $3975 = 0.0, $3976 = 0.0, $3977 = 0.0, $3978 = 0, $3979 = 0, $398 = 0, $3980 = 0, $3981 = 0.0, $3982 = 0.0, $3983 = 0.0, $3984 = 0, $3985 = 0, $3986 = 0; var $3987 = 0, $3988 = 0.0, $3989 = 0.0, $399 = 0, $3990 = 0.0, $3991 = 0, $3992 = 0, $3993 = 0, $3994 = 0.0, $3995 = 0.0, $3996 = 0.0, $3997 = 0, $3998 = 0, $3999 = 0, $4 = 0, $40 = 0, $400 = 0.0, $4000 = 0, $4001 = 0.0, $4002 = 0.0; var $4003 = 0.0, $4004 = 0.0, $4005 = 0.0, $4006 = 0.0, $4007 = 0.0, $4008 = 0.0, $4009 = 0.0, $401 = 0, $4010 = 0.0, $4011 = 0.0, $4012 = 0.0, $4013 = 0.0, $4014 = 0.0, $4015 = 0.0, $4016 = 0.0, $4017 = 0.0, $4018 = 0.0, $4019 = 0.0, $402 = 0, $4020 = 0.0; var $4021 = 0.0, $4022 = 0.0, $4023 = 0.0, $4024 = 0.0, $4025 = 0.0, $4026 = 0.0, $4027 = 0, $4028 = 0, $4029 = 0.0, $403 = 0, $4030 = 0.0, $4031 = 0.0, $4032 = 0.0, $4033 = 0.0, $4034 = 0.0, $4035 = 0.0, $4036 = 0.0, $4037 = 0.0, $4038 = 0.0, $4039 = 0.0; var $404 = 0, $4040 = 0.0, $4041 = 0.0, $4042 = 0.0, $4043 = 0.0, $4044 = 0.0, $4045 = 0.0, $4046 = 0.0, $4047 = 0.0, $4048 = 0.0, $4049 = 0.0, $405 = 0, $4050 = 0.0, $4051 = 0.0, $4052 = 0.0, $4053 = 0.0, $4054 = 0.0, $4055 = 0.0, $4056 = 0.0, $4057 = 0.0; var $4058 = 0.0, $4059 = 0.0, $406 = 0, $4060 = 0.0, $4061 = 0.0, $4062 = 0.0, $4063 = 0.0, $4064 = 0.0, $4065 = 0.0, $4066 = 0.0, $4067 = 0.0, $4068 = 0.0, $4069 = 0.0, $407 = 0, $4070 = 0.0, $4071 = 0.0, $4072 = 0.0, $4073 = 0.0, $4074 = 0.0, $4075 = 0.0; var $4076 = 0.0, $4077 = 0.0, $4078 = 0, $4079 = 0, $408 = 0.0, $4080 = 0, $4081 = 0.0, $4082 = 0.0, $4083 = 0.0, $4084 = 0, $4085 = 0, $4086 = 0, $4087 = 0, $4088 = 0.0, $4089 = 0.0, $409 = 0, $4090 = 0.0, $4091 = 0, $4092 = 0, $4093 = 0; var $4094 = 0.0, $4095 = 0.0, $4096 = 0.0, $4097 = 0, $4098 = 0, $4099 = 0, $41 = 0, $410 = 0, $4100 = 0, $4101 = 0.0, $4102 = 0.0, $4103 = 0.0, $4104 = 0.0, $4105 = 0.0, $4106 = 0.0, $4107 = 0.0, $4108 = 0.0, $4109 = 0.0, $411 = 0, $4110 = 0.0; var $4111 = 0.0, $4112 = 0.0, $4113 = 0.0, $4114 = 0.0, $4115 = 0.0, $4116 = 0.0, $4117 = 0.0, $4118 = 0.0, $4119 = 0.0, $412 = 0, $4120 = 0.0, $4121 = 0.0, $4122 = 0.0, $4123 = 0.0, $4124 = 0.0, $4125 = 0.0, $4126 = 0.0, $4127 = 0, $4128 = 0, $4129 = 0.0; var $413 = 0, $4130 = 0.0, $4131 = 0.0, $4132 = 0.0, $4133 = 0.0, $4134 = 0.0, $4135 = 0.0, $4136 = 0.0, $4137 = 0.0, $4138 = 0.0, $4139 = 0.0, $414 = 0, $4140 = 0.0, $4141 = 0.0, $4142 = 0.0, $4143 = 0.0, $4144 = 0.0, $4145 = 0.0, $4146 = 0.0, $4147 = 0.0; var $4148 = 0.0, $4149 = 0.0, $415 = 0, $4150 = 0.0, $4151 = 0.0, $4152 = 0.0, $4153 = 0.0, $4154 = 0.0, $4155 = 0.0, $4156 = 0.0, $4157 = 0.0, $4158 = 0.0, $4159 = 0.0, $416 = 0.0, $4160 = 0.0, $4161 = 0.0, $4162 = 0.0, $4163 = 0.0, $4164 = 0.0, $4165 = 0.0; var $4166 = 0.0, $4167 = 0.0, $4168 = 0.0, $4169 = 0.0, $417 = 0, $4170 = 0.0, $4171 = 0.0, $4172 = 0.0, $4173 = 0.0, $4174 = 0.0, $4175 = 0.0, $4176 = 0.0, $4177 = 0.0, $4178 = 0, $4179 = 0, $418 = 0, $4180 = 0, $4181 = 0.0, $4182 = 0.0, $4183 = 0.0; var $4184 = 0, $4185 = 0, $4186 = 0, $4187 = 0, $4188 = 0.0, $4189 = 0.0, $419 = 0, $4190 = 0.0, $4191 = 0, $4192 = 0, $4193 = 0, $4194 = 0.0, $4195 = 0.0, $4196 = 0.0, $4197 = 0, $4198 = 0, $4199 = 0, $42 = 0, $420 = 0, $4200 = 0; var $4201 = 0, $4202 = 0, $4203 = 0, $4204 = 0, $4205 = 0, $4206 = 0, $4207 = 0, $4208 = 0, $4209 = 0, $421 = 0, $4210 = 0, $4211 = 0, $4212 = 0, $4213 = 0, $4214 = 0, $4215 = 0, $4216 = 0, $4217 = 0, $4218 = 0, $4219 = 0; var $422 = 0, $4220 = 0, $4221 = 0, $4222 = 0, $4223 = 0, $4224 = 0, $4225 = 0, $4226 = 0, $4227 = 0, $4228 = 0, $4229 = 0, $423 = 0, $4230 = 0, $4231 = 0, $4232 = 0, $4233 = 0, $4234 = 0, $4235 = 0, $4236 = 0, $4237 = 0; var $4238 = 0, $4239 = 0, $424 = 0.0, $4240 = 0, $4241 = 0, $4242 = 0, $4243 = 0, $4244 = 0, $4245 = 0, $4246 = 0, $4247 = 0, $4248 = 0, $4249 = 0, $425 = 0, $4250 = 0, $4251 = 0, $4252 = 0, $4253 = 0, $4254 = 0, $4255 = 0; var $4256 = 0, $4257 = 0, $4258 = 0, $4259 = 0, $426 = 0, $4260 = 0, $4261 = 0, $4262 = 0, $4263 = 0, $4264 = 0, $4265 = 0, $4266 = 0, $4267 = 0, $4268 = 0, $4269 = 0, $427 = 0, $4270 = 0, $4271 = 0, $4272 = 0, $4273 = 0; var $4274 = 0, $4275 = 0, $4276 = 0, $4277 = 0, $4278 = 0, $4279 = 0, $428 = 0, $4280 = 0, $4281 = 0, $4282 = 0, $4283 = 0, $4284 = 0, $4285 = 0, $4286 = 0, $4287 = 0, $4288 = 0, $4289 = 0, $429 = 0, $4290 = 0, $4291 = 0; var $4292 = 0, $4293 = 0, $4294 = 0, $4295 = 0, $4296 = 0, $4297 = 0, $4298 = 0, $4299 = 0, $43 = 0, $430 = 0, $4300 = 0, $4301 = 0, $4302 = 0, $4303 = 0, $4304 = 0, $4305 = 0, $4306 = 0, $4307 = 0, $4308 = 0, $4309 = 0; var $431 = 0, $4310 = 0, $4311 = 0, $4312 = 0, $4313 = 0, $4314 = 0, $4315 = 0, $4316 = 0, $4317 = 0, $4318 = 0, $4319 = 0, $432 = 0.0, $4320 = 0, $4321 = 0, $4322 = 0, $4323 = 0, $4324 = 0, $4325 = 0.0, $4326 = 0, $4327 = 0; var $4328 = 0, $4329 = 0, $433 = 0, $4330 = 0, $4331 = 0.0, $4332 = 0, $4333 = 0, $4334 = 0, $4335 = 0, $4336 = 0, $4337 = 0, $4338 = 0.0, $4339 = 0, $434 = 0, $4340 = 0, $4341 = 0, $4342 = 0, $4343 = 0, $4344 = 0.0, $4345 = 0; var $4346 = 0, $4347 = 0, $4348 = 0, $4349 = 0, $435 = 0, $4350 = 0, $4351 = 0.0, $4352 = 0, $4353 = 0, $4354 = 0, $4355 = 0, $4356 = 0, $4357 = 0.0, $4358 = 0, $4359 = 0, $436 = 0, $4360 = 0, $4361 = 0, $4362 = 0, $4363 = 0; var $4364 = 0.0, $4365 = 0, $4366 = 0, $4367 = 0, $4368 = 0, $4369 = 0, $437 = 0, $4370 = 0.0, $4371 = 0, $4372 = 0, $4373 = 0, $4374 = 0, $4375 = 0, $4376 = 0, $4377 = 0.0, $4378 = 0, $4379 = 0, $438 = 0, $4380 = 0, $4381 = 0; var $4382 = 0, $4383 = 0.0, $4384 = 0, $4385 = 0, $4386 = 0, $4387 = 0, $4388 = 0, $4389 = 0, $439 = 0, $4390 = 0.0, $4391 = 0, $4392 = 0, $4393 = 0, $4394 = 0, $4395 = 0, $4396 = 0.0, $4397 = 0, $4398 = 0, $4399 = 0, $44 = 0.0; var $440 = 0.0, $4400 = 0, $4401 = 0, $4402 = 0, $4403 = 0.0, $4404 = 0, $4405 = 0, $4406 = 0, $4407 = 0, $4408 = 0, $4409 = 0.0, $441 = 0, $4410 = 0, $4411 = 0, $4412 = 0, $4413 = 0, $4414 = 0, $4415 = 0, $4416 = 0, $4417 = 0; var $4418 = 0, $4419 = 0, $442 = 0, $4420 = 0, $4421 = 0, $4422 = 0, $4423 = 0, $4424 = 0, $4425 = 0, $4426 = 0, $4427 = 0, $4428 = 0, $4429 = 0, $443 = 0, $4430 = 0, $4431 = 0, $4432 = 0, $4433 = 0, $4434 = 0.0, $4435 = 0; var $4436 = 0, $4437 = 0, $4438 = 0, $4439 = 0.0, $444 = 0, $4440 = 0, $4441 = 0, $4442 = 0, $4443 = 0.0, $4444 = 0.0, $4445 = 0.0, $4446 = 0, $4447 = 0, $4448 = 0, $4449 = 0, $445 = 0, $4450 = 0.0, $4451 = 0.0, $4452 = 0.0, $4453 = 0.0; var $4454 = 0, $4455 = 0, $4456 = 0, $4457 = 0, $4458 = 0.0, $4459 = 0.0, $446 = 0.0, $4460 = 0.0, $4461 = 0, $4462 = 0, $4463 = 0, $4464 = 0.0, $4465 = 0.0, $4466 = 0.0, $4467 = 0.0, $4468 = 0, $4469 = 0, $447 = 0, $4470 = 0, $4471 = 0.0; var $4472 = 0.0, $4473 = 0.0, $4474 = 0, $4475 = 0, $4476 = 0, $4477 = 0, $4478 = 0.0, $4479 = 0.0, $448 = 0, $4480 = 0.0, $4481 = 0.0, $4482 = 0, $4483 = 0, $4484 = 0, $4485 = 0, $4486 = 0.0, $4487 = 0.0, $4488 = 0.0, $4489 = 0, $449 = 0.0; var $4490 = 0, $4491 = 0, $4492 = 0.0, $4493 = 0.0, $4494 = 0.0, $4495 = 0.0, $4496 = 0, $4497 = 0, $4498 = 0, $4499 = 0.0, $45 = 0, $450 = 0.0, $4500 = 0.0, $4501 = 0.0, $4502 = 0, $4503 = 0, $4504 = 0, $4505 = 0, $4506 = 0.0, $4507 = 0.0; var $4508 = 0.0, $4509 = 0.0, $451 = 0, $4510 = 0, $4511 = 0, $4512 = 0, $4513 = 0, $4514 = 0.0, $4515 = 0.0, $4516 = 0.0, $4517 = 0, $4518 = 0, $4519 = 0, $452 = 0, $4520 = 0.0, $4521 = 0.0, $4522 = 0.0, $4523 = 0.0, $4524 = 0, $4525 = 0; var $4526 = 0, $4527 = 0.0, $4528 = 0.0, $4529 = 0.0, $453 = 0.0, $4530 = 0, $4531 = 0, $4532 = 0, $4533 = 0, $4534 = 0.0, $4535 = 0.0, $4536 = 0.0, $4537 = 0.0, $4538 = 0, $4539 = 0, $454 = 0, $4540 = 0, $4541 = 0, $4542 = 0.0, $4543 = 0.0; var $4544 = 0.0, $4545 = 0, $4546 = 0, $4547 = 0, $4548 = 0.0, $4549 = 0.0, $455 = 0, $4550 = 0.0, $4551 = 0.0, $4552 = 0, $4553 = 0, $4554 = 0, $4555 = 0.0, $4556 = 0.0, $4557 = 0.0, $4558 = 0, $4559 = 0, $456 = 0.0, $4560 = 0, $4561 = 0; var $4562 = 0.0, $4563 = 0.0, $4564 = 0.0, $4565 = 0.0, $4566 = 0, $4567 = 0, $4568 = 0, $4569 = 0, $457 = 0.0, $4570 = 0.0, $4571 = 0.0, $4572 = 0.0, $4573 = 0, $4574 = 0, $4575 = 0, $4576 = 0.0, $4577 = 0.0, $4578 = 0.0, $4579 = 0.0, $458 = 0; var $4580 = 0, $4581 = 0, $4582 = 0, $4583 = 0.0, $4584 = 0.0, $4585 = 0.0, $4586 = 0, $4587 = 0, $4588 = 0, $4589 = 0, $459 = 0, $4590 = 0.0, $4591 = 0.0, $4592 = 0.0, $4593 = 0.0, $4594 = 0, $4595 = 0, $4596 = 0, $4597 = 0, $4598 = 0.0; var $4599 = 0.0, $46 = 0, $460 = 0, $4600 = 0.0, $4601 = 0, $4602 = 0, $4603 = 0, $4604 = 0.0, $4605 = 0.0, $4606 = 0.0, $4607 = 0.0, $4608 = 0, $4609 = 0, $461 = 0.0, $4610 = 0, $4611 = 0.0, $4612 = 0.0, $4613 = 0.0, $4614 = 0, $4615 = 0; var $4616 = 0, $4617 = 0, $4618 = 0.0, $4619 = 0.0, $462 = 0, $4620 = 0.0, $4621 = 0.0, $4622 = 0, $4623 = 0, $4624 = 0, $4625 = 0, $4626 = 0.0, $4627 = 0.0, $4628 = 0.0, $4629 = 0, $463 = 0, $4630 = 0, $4631 = 0, $4632 = 0.0, $4633 = 0.0; var $4634 = 0.0, $4635 = 0.0, $4636 = 0.0, $4637 = 0.0, $4638 = 0.0, $4639 = 0.0, $464 = 0, $4640 = 0.0, $4641 = 0.0, $4642 = 0.0, $4643 = 0.0, $4644 = 0.0, $4645 = 0.0, $4646 = 0.0, $4647 = 0.0, $4648 = 0.0, $4649 = 0.0, $465 = 0.0, $4650 = 0.0, $4651 = 0.0; var $4652 = 0.0, $4653 = 0.0, $4654 = 0.0, $4655 = 0.0, $4656 = 0.0, $4657 = 0.0, $4658 = 0.0, $4659 = 0.0, $466 = 0.0, $4660 = 0.0, $4661 = 0.0, $4662 = 0.0, $4663 = 0.0, $4664 = 0.0, $4665 = 0.0, $4666 = 0.0, $4667 = 0.0, $4668 = 0.0, $4669 = 0.0, $467 = 0; var $4670 = 0.0, $4671 = 0.0, $4672 = 0.0, $4673 = 0.0, $4674 = 0.0, $4675 = 0.0, $4676 = 0.0, $4677 = 0.0, $4678 = 0.0, $4679 = 0.0, $468 = 0, $4680 = 0.0, $4681 = 0.0, $4682 = 0.0, $4683 = 0.0, $4684 = 0.0, $4685 = 0.0, $4686 = 0.0, $4687 = 0.0, $4688 = 0.0; var $4689 = 0.0, $469 = 0, $4690 = 0.0, $4691 = 0, $4692 = 0, $4693 = 0, $4694 = 0.0, $4695 = 0.0, $4696 = 0.0, $4697 = 0.0, $4698 = 0.0, $4699 = 0.0, $47 = 0, $470 = 0.0, $4700 = 0.0, $4701 = 0, $4702 = 0, $4703 = 0, $4704 = 0, $4705 = 0.0; var $4706 = 0.0, $4707 = 0.0, $4708 = 0.0, $4709 = 0.0, $471 = 0, $4710 = 0.0, $4711 = 0.0, $4712 = 0, $4713 = 0, $4714 = 0, $4715 = 0.0, $4716 = 0.0, $4717 = 0.0, $4718 = 0.0, $4719 = 0.0, $472 = 0, $4720 = 0.0, $4721 = 0.0, $4722 = 0, $4723 = 0; var $4724 = 0, $4725 = 0, $4726 = 0.0, $4727 = 0.0, $4728 = 0.0, $4729 = 0.0, $473 = 0, $4730 = 0.0, $4731 = 0.0, $4732 = 0.0, $4733 = 0.0, $4734 = 0.0, $4735 = 0.0, $4736 = 0.0, $4737 = 0.0, $4738 = 0.0, $4739 = 0.0, $474 = 0.0, $4740 = 0.0, $4741 = 0.0; var $4742 = 0.0, $4743 = 0.0, $4744 = 0.0, $4745 = 0.0, $4746 = 0.0, $4747 = 0.0, $4748 = 0, $4749 = 0, $475 = 0.0, $4750 = 0.0, $4751 = 0.0, $4752 = 0.0, $4753 = 0.0, $4754 = 0.0, $4755 = 0.0, $4756 = 0.0, $4757 = 0.0, $4758 = 0.0, $4759 = 0.0, $476 = 0; var $4760 = 0.0, $4761 = 0.0, $4762 = 0.0, $4763 = 0.0, $4764 = 0.0, $4765 = 0.0, $4766 = 0.0, $4767 = 0.0, $4768 = 0.0, $4769 = 0.0, $477 = 0, $4770 = 0.0, $4771 = 0.0, $4772 = 0.0, $4773 = 0.0, $4774 = 0.0, $4775 = 0, $4776 = 0, $4777 = 0, $4778 = 0.0; var $4779 = 0.0, $478 = 0.0, $4780 = 0.0, $4781 = 0, $4782 = 0, $4783 = 0, $4784 = 0, $4785 = 0.0, $4786 = 0.0, $4787 = 0.0, $4788 = 0, $4789 = 0, $479 = 0, $4790 = 0, $4791 = 0.0, $4792 = 0.0, $4793 = 0.0, $4794 = 0, $4795 = 0, $4796 = 0; var $4797 = 0, $4798 = 0.0, $4799 = 0.0, $48 = 0, $480 = 0, $4800 = 0.0, $4801 = 0.0, $4802 = 0.0, $4803 = 0.0, $4804 = 0, $4805 = 0, $4806 = 0.0, $4807 = 0.0, $4808 = 0.0, $4809 = 0.0, $481 = 0.0, $4810 = 0.0, $4811 = 0.0, $4812 = 0.0, $4813 = 0.0; var $4814 = 0.0, $4815 = 0.0, $4816 = 0.0, $4817 = 0.0, $4818 = 0.0, $4819 = 0.0, $482 = 0.0, $4820 = 0.0, $4821 = 0.0, $4822 = 0.0, $4823 = 0, $4824 = 0, $4825 = 0, $4826 = 0.0, $4827 = 0.0, $4828 = 0.0, $4829 = 0, $483 = 0, $4830 = 0, $4831 = 0; var $4832 = 0, $4833 = 0.0, $4834 = 0.0, $4835 = 0.0, $4836 = 0, $4837 = 0, $4838 = 0, $4839 = 0.0, $484 = 0, $4840 = 0.0, $4841 = 0.0, $4842 = 0, $4843 = 0, $4844 = 0, $4845 = 0, $4846 = 0.0, $4847 = 0.0, $4848 = 0.0, $4849 = 0.0, $485 = 0.0; var $4850 = 0.0, $4851 = 0.0, $4852 = 0.0, $4853 = 0.0, $4854 = 0.0, $4855 = 0.0, $4856 = 0, $4857 = 0, $4858 = 0.0, $4859 = 0.0, $486 = 0, $4860 = 0.0, $4861 = 0.0, $4862 = 0.0, $4863 = 0.0, $4864 = 0.0, $4865 = 0.0, $4866 = 0.0, $4867 = 0.0, $4868 = 0.0; var $4869 = 0.0, $487 = 0, $4870 = 0.0, $4871 = 0.0, $4872 = 0.0, $4873 = 0.0, $4874 = 0.0, $4875 = 0.0, $4876 = 0.0, $4877 = 0.0, $4878 = 0.0, $4879 = 0.0, $488 = 0.0, $4880 = 0.0, $4881 = 0.0, $4882 = 0.0, $4883 = 0, $4884 = 0, $4885 = 0, $4886 = 0.0; var $4887 = 0.0, $4888 = 0.0, $4889 = 0, $489 = 0.0, $4890 = 0, $4891 = 0, $4892 = 0, $4893 = 0.0, $4894 = 0.0, $4895 = 0.0, $4896 = 0, $4897 = 0, $4898 = 0, $4899 = 0.0, $49 = 0.0, $490 = 0, $4900 = 0.0, $4901 = 0.0, $4902 = 0, $4903 = 0; var $4904 = 0, $4905 = 0, $4906 = 0, $4907 = 0, $4908 = 0, $4909 = 0, $491 = 0, $4910 = 0, $4911 = 0, $4912 = 0, $4913 = 0, $4914 = 0, $4915 = 0, $4916 = 0, $4917 = 0, $4918 = 0, $4919 = 0, $492 = 0, $4920 = 0, $4921 = 0; var $4922 = 0, $4923 = 0, $4924 = 0, $4925 = 0, $4926 = 0, $4927 = 0, $4928 = 0, $4929 = 0, $493 = 0.0, $4930 = 0, $4931 = 0, $4932 = 0, $4933 = 0, $4934 = 0, $4935 = 0, $4936 = 0, $4937 = 0, $4938 = 0, $4939 = 0, $494 = 0; var $4940 = 0, $4941 = 0, $4942 = 0, $4943 = 0, $4944 = 0, $4945 = 0, $4946 = 0, $4947 = 0, $4948 = 0, $4949 = 0, $495 = 0, $4950 = 0, $4951 = 0, $4952 = 0, $4953 = 0, $4954 = 0, $4955 = 0, $4956 = 0, $4957 = 0, $4958 = 0; var $4959 = 0, $496 = 0, $4960 = 0, $4961 = 0, $4962 = 0, $4963 = 0, $4964 = 0, $4965 = 0, $4966 = 0, $4967 = 0, $4968 = 0, $4969 = 0, $497 = 0.0, $4970 = 0, $4971 = 0, $4972 = 0, $4973 = 0.0, $4974 = 0.0, $4975 = 0, $4976 = 0.0; var $4977 = 0.0, $4978 = 0.0, $4979 = 0, $498 = 0.0, $4980 = 0, $4981 = 0, $4982 = 0, $4983 = 0, $4984 = 0.0, $4985 = 0.0, $4986 = 0, $4987 = 0.0, $4988 = 0.0, $4989 = 0.0, $499 = 0, $4990 = 0, $4991 = 0, $4992 = 0, $4993 = 0, $4994 = 0; var $4995 = 0, $4996 = 0, $4997 = 0, $4998 = 0, $4999 = 0, $5 = 0, $50 = 0, $500 = 0, $5000 = 0, $5001 = 0, $5002 = 0, $5003 = 0, $5004 = 0, $5005 = 0.0, $5006 = 0.0, $5007 = 0, $5008 = 0, $5009 = 0, $501 = 0, $5010 = 0; var $5011 = 0, $5012 = 0, $5013 = 0, $5014 = 0, $5015 = 0, $5016 = 0, $5017 = 0, $5018 = 0.0, $5019 = 0, $502 = 0.0, $5020 = 0, $5021 = 0, $5022 = 0, $5023 = 0, $5024 = 0, $5025 = 0, $5026 = 0, $5027 = 0, $5028 = 0, $5029 = 0; var $503 = 0, $5030 = 0, $5031 = 0, $5032 = 0, $5033 = 0, $5034 = 0, $5035 = 0, $5036 = 0, $5037 = 0, $5038 = 0, $5039 = 0.0, $504 = 0, $5040 = 0, $5041 = 0, $5042 = 0, $5043 = 0, $5044 = 0, $5045 = 0.0, $5046 = 0, $5047 = 0; var $5048 = 0, $5049 = 0, $505 = 0, $5050 = 0, $5051 = 0, $5052 = 0, $5053 = 0, $5054 = 0, $5055 = 0.0, $5056 = 0, $5057 = 0, $5058 = 0, $5059 = 0, $506 = 0.0, $5060 = 0, $5061 = 0, $5062 = 0, $5063 = 0, $5064 = 0.0, $5065 = 0; var $5066 = 0, $5067 = 0, $5068 = 0, $5069 = 0, $507 = 0.0, $5070 = 0, $5071 = 0, $5072 = 0, $5073 = 0, $5074 = 0, $5075 = 0, $5076 = 0, $5077 = 0.0, $5078 = 0, $5079 = 0, $508 = 0.0, $5080 = 0, $5081 = 0.0, $5082 = 0.0, $5083 = 0; var $5084 = 0, $5085 = 0, $5086 = 0, $5087 = 0.0, $5088 = 0, $5089 = 0, $509 = 0.0, $5090 = 0, $5091 = 0.0, $5092 = 0.0, $5093 = 0.0, $5094 = 0, $5095 = 0, $5096 = 0, $5097 = 0, $5098 = 0, $5099 = 0, $51 = 0, $510 = 0.0, $5100 = 0; var $5101 = 0, $5102 = 0.0, $5103 = 0, $5104 = 0, $5105 = 0, $5106 = 0.0, $5107 = 0.0, $5108 = 0, $5109 = 0, $511 = 0.0, $5110 = 0, $5111 = 0.0, $5112 = 0, $5113 = 0, $5114 = 0, $5115 = 0.0, $5116 = 0.0, $5117 = 0.0, $5118 = 0, $5119 = 0; var $512 = 0.0, $5120 = 0, $5121 = 0, $5122 = 0, $5123 = 0, $5124 = 0, $5125 = 0, $5126 = 0, $5127 = 0, $5128 = 0, $5129 = 0, $513 = 0.0, $5130 = 0, $5131 = 0, $5132 = 0, $5133 = 0.0, $5134 = 0, $5135 = 0, $5136 = 0, $5137 = 0; var $5138 = 0, $5139 = 0, $514 = 0.0, $5140 = 0.0, $5141 = 0.0, $5142 = 0, $5143 = 0, $5144 = 0, $5145 = 0, $5146 = 0, $5147 = 0, $5148 = 0, $5149 = 0.0, $515 = 0.0, $5150 = 0, $5151 = 0, $5152 = 0, $5153 = 0, $5154 = 0, $5155 = 0; var $5156 = 0.0, $5157 = 0.0, $5158 = 0, $5159 = 0, $516 = 0.0, $5160 = 0, $5161 = 0, $5162 = 0, $5163 = 0, $5164 = 0, $5165 = 0, $5166 = 0, $5167 = 0.0, $5168 = 0, $5169 = 0, $517 = 0.0, $5170 = 0, $5171 = 0, $5172 = 0, $5173 = 0; var $5174 = 0.0, $5175 = 0.0, $5176 = 0, $5177 = 0, $5178 = 0, $5179 = 0, $518 = 0.0, $5180 = 0, $5181 = 0, $5182 = 0, $5183 = 0.0, $5184 = 0, $5185 = 0, $5186 = 0, $5187 = 0, $5188 = 0, $5189 = 0, $519 = 0.0, $5190 = 0.0, $5191 = 0.0; var $5192 = 0, $5193 = 0, $5194 = 0, $5195 = 0, $5196 = 0, $5197 = 0, $5198 = 0, $5199 = 0, $52 = 0.0, $520 = 0.0, $5200 = 0.0, $5201 = 0, $5202 = 0.0, $5203 = 0, $5204 = 0, $5205 = 0, $5206 = 0, $5207 = 0, $5208 = 0, $5209 = 0.0; var $521 = 0.0, $5210 = 0.0, $5211 = 0.0, $5212 = 0, $5213 = 0, $5214 = 0, $5215 = 0.0, $5216 = 0.0, $5217 = 0.0, $5218 = 0, $5219 = 0, $522 = 0, $5220 = 0.0, $5221 = 0, $5222 = 0, $5223 = 0, $5224 = 0.0, $5225 = 0, $5226 = 0, $5227 = 0; var $5228 = 0, $5229 = 0, $523 = 0, $5230 = 0, $5231 = 0, $5232 = 0, $5233 = 0.0, $5234 = 0, $5235 = 0.0, $5236 = 0, $5237 = 0, $5238 = 0, $5239 = 0, $524 = 0.0, $5240 = 0, $5241 = 0, $5242 = 0, $5243 = 0, $5244 = 0, $5245 = 0; var $5246 = 0, $5247 = 0, $5248 = 0, $5249 = 0, $525 = 0.0, $5250 = 0, $5251 = 0, $5252 = 0, $5253 = 0, $5254 = 0, $5255 = 0.0, $5256 = 0, $5257 = 0, $5258 = 0, $5259 = 0.0, $526 = 0.0, $5260 = 0.0, $5261 = 0.0, $5262 = 0.0, $5263 = 0; var $5264 = 0, $5265 = 0, $5266 = 0.0, $5267 = 0, $5268 = 0, $5269 = 0, $527 = 0.0, $5270 = 0.0, $5271 = 0.0, $5272 = 0.0, $5273 = 0.0, $5274 = 0, $5275 = 0, $5276 = 0, $5277 = 0.0, $5278 = 0, $5279 = 0, $528 = 0.0, $5280 = 0, $5281 = 0; var $5282 = 0, $5283 = 0.0, $5284 = 0.0, $5285 = 0.0, $5286 = 0.0, $5287 = 0, $5288 = 0, $5289 = 0, $529 = 0.0, $5290 = 0.0, $5291 = 0, $5292 = 0, $5293 = 0, $5294 = 0, $5295 = 0, $5296 = 0.0, $5297 = 0.0, $5298 = 0.0, $5299 = 0.0, $53 = 0.0; var $530 = 0.0, $5300 = 0, $5301 = 0, $5302 = 0, $5303 = 0.0, $5304 = 0.0, $5305 = 0.0, $5306 = 0, $5307 = 0.0, $5308 = 0.0, $5309 = 0.0, $531 = 0.0, $5310 = 0.0, $5311 = 0.0, $5312 = 0.0, $5313 = 0, $5314 = 0, $5315 = 0, $5316 = 0, $5317 = 0; var $5318 = 0, $5319 = 0, $532 = 0.0, $5320 = 0, $5321 = 0.0, $5322 = 0.0, $5323 = 0.0, $5324 = 0, $5325 = 0, $5326 = 0, $5327 = 0, $5328 = 0, $5329 = 0, $533 = 0.0, $5330 = 0, $5331 = 0, $5332 = 0, $5333 = 0.0, $5334 = 0.0, $5335 = 0.0; var $5336 = 0, $5337 = 0, $5338 = 0, $5339 = 0, $534 = 0.0, $5340 = 0, $5341 = 0, $5342 = 0, $5343 = 0, $5344 = 0, $5345 = 0, $5346 = 0.0, $5347 = 0.0, $5348 = 0.0, $5349 = 0, $535 = 0.0, $5350 = 0, $5351 = 0, $5352 = 0, $5353 = 0; var $5354 = 0, $5355 = 0, $5356 = 0, $5357 = 0, $5358 = 0, $5359 = 0, $536 = 0.0, $5360 = 0, $5361 = 0, $5362 = 0, $5363 = 0, $5364 = 0, $5365 = 0, $5366 = 0, $5367 = 0, $5368 = 0, $5369 = 0, $537 = 0.0, $5370 = 0, $5371 = 0; var $538 = 0.0, $539 = 0.0, $54 = 0, $540 = 0.0, $541 = 0.0, $542 = 0.0, $543 = 0.0, $544 = 0.0, $545 = 0.0, $546 = 0.0, $547 = 0.0, $548 = 0.0, $549 = 0.0, $55 = 0, $550 = 0.0, $551 = 0.0, $552 = 0.0, $553 = 0.0, $554 = 0, $555 = 0.0; var $556 = 0.0, $557 = 0.0, $558 = 0, $559 = 0, $56 = 0.0, $560 = 0.0, $561 = 0.0, $562 = 0.0, $563 = 0.0, $564 = 0.0, $565 = 0.0, $566 = 0, $567 = 0, $568 = 0.0, $569 = 0.0, $57 = 0.0, $570 = 0.0, $571 = 0, $572 = 0, $573 = 0; var $574 = 0.0, $575 = 0.0, $576 = 0.0, $577 = 0, $578 = 0, $579 = 0.0, $58 = 0, $580 = 0.0, $581 = 0.0, $582 = 0, $583 = 0, $584 = 0, $585 = 0.0, $586 = 0.0, $587 = 0.0, $588 = 0.0, $589 = 0.0, $59 = 0.0, $590 = 0.0, $591 = 0.0; var $592 = 0.0, $593 = 0.0, $594 = 0.0, $595 = 0.0, $596 = 0.0, $597 = 0.0, $598 = 0.0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0.0, $602 = 0.0, $603 = 0.0, $604 = 0.0, $605 = 0.0, $606 = 0.0, $607 = 0.0, $608 = 0.0, $609 = 0.0; var $61 = 0, $610 = 0.0, $611 = 0.0, $612 = 0.0, $613 = 0.0, $614 = 0.0, $615 = 0.0, $616 = 0.0, $617 = 0.0, $618 = 0.0, $619 = 0.0, $62 = 0, $620 = 0.0, $621 = 0.0, $622 = 0.0, $623 = 0.0, $624 = 0.0, $625 = 0.0, $626 = 0.0, $627 = 0.0; var $628 = 0.0, $629 = 0.0, $63 = 0.0, $630 = 0.0, $631 = 0, $632 = 0.0, $633 = 0.0, $634 = 0.0, $635 = 0, $636 = 0, $637 = 0.0, $638 = 0.0, $639 = 0.0, $64 = 0.0, $640 = 0.0, $641 = 0.0, $642 = 0.0, $643 = 0, $644 = 0, $645 = 0.0; var $646 = 0.0, $647 = 0.0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0.0, $652 = 0.0, $653 = 0.0, $654 = 0, $655 = 0, $656 = 0.0, $657 = 0.0, $658 = 0.0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0.0, $663 = 0.0; var $664 = 0.0, $665 = 0, $666 = 0.0, $667 = 0.0, $668 = 0.0, $669 = 0.0, $67 = 0.0, $670 = 0.0, $671 = 0, $672 = 0, $673 = 0.0, $674 = 0.0, $675 = 0, $676 = 0, $677 = 0, $678 = 0.0, $679 = 0, $68 = 0, $680 = 0, $681 = 0; var $682 = 0.0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0.0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0.0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0; var $70 = 0.0, $700 = 0, $701 = 0, $702 = 0, $703 = 0.0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0.0, $710 = 0, $711 = 0.0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0; var $718 = 0, $719 = 0.0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0.0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0.0; var $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0.0, $740 = 0, $741 = 0, $742 = 0, $743 = 0.0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0.0, $752 = 0, $753 = 0; var $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0.0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0.0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0; var $772 = 0, $773 = 0, $774 = 0, $775 = 0.0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0.0, $780 = 0, $781 = 0.0, $782 = 0, $783 = 0, $784 = 0.0, $785 = 0.0, $786 = 0, $787 = 0, $788 = 0.0, $789 = 0, $79 = 0.0; var $790 = 0, $791 = 0.0, $792 = 0.0, $793 = 0, $794 = 0, $795 = 0, $796 = 0.0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0.0, $801 = 0.0, $802 = 0, $803 = 0, $804 = 0, $805 = 0.0, $806 = 0, $807 = 0; var $808 = 0, $809 = 0.0, $81 = 0, $810 = 0.0, $811 = 0, $812 = 0, $813 = 0.0, $814 = 0, $815 = 0, $816 = 0.0, $817 = 0.0, $818 = 0, $819 = 0, $82 = 0, $820 = 0.0, $821 = 0, $822 = 0, $823 = 0.0, $824 = 0.0, $825 = 0; var $826 = 0, $827 = 0, $828 = 0.0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0.0, $833 = 0.0, $834 = 0, $835 = 0, $836 = 0, $837 = 0.0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0.0, $842 = 0.0, $843 = 0; var $844 = 0, $845 = 0.0, $846 = 0, $847 = 0, $848 = 0.0, $849 = 0.0, $85 = 0, $850 = 0, $851 = 0, $852 = 0.0, $853 = 0, $854 = 0, $855 = 0.0, $856 = 0.0, $857 = 0, $858 = 0, $859 = 0, $86 = 0.0, $860 = 0.0, $861 = 0; var $862 = 0, $863 = 0, $864 = 0.0, $865 = 0.0, $866 = 0, $867 = 0, $868 = 0, $869 = 0.0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0.0, $874 = 0.0, $875 = 0, $876 = 0.0, $877 = 0.0, $878 = 0.0, $879 = 0.0, $88 = 0; var $880 = 0.0, $881 = 0.0, $882 = 0.0, $883 = 0.0, $884 = 0.0, $885 = 0.0, $886 = 0.0, $887 = 0.0, $888 = 0.0, $889 = 0, $89 = 0, $890 = 0, $891 = 0.0, $892 = 0.0, $893 = 0.0, $894 = 0.0, $895 = 0.0, $896 = 0.0, $897 = 0.0, $898 = 0.0; var $899 = 0.0, $9 = 0, $90 = 0.0, $900 = 0.0, $901 = 0.0, $902 = 0.0, $903 = 0.0, $904 = 0, $905 = 0, $906 = 0.0, $907 = 0.0, $908 = 0.0, $909 = 0.0, $91 = 0, $910 = 0.0, $911 = 0.0, $912 = 0.0, $913 = 0.0, $914 = 0.0, $915 = 0.0; var $916 = 0.0, $917 = 0.0, $918 = 0.0, $919 = 0.0, $92 = 0, $920 = 0.0, $921 = 0.0, $922 = 0.0, $923 = 0.0, $924 = 0.0, $925 = 0.0, $926 = 0.0, $927 = 0.0, $928 = 0.0, $929 = 0.0, $93 = 0, $930 = 0.0, $931 = 0.0, $932 = 0.0, $933 = 0.0; var $934 = 0.0, $935 = 0.0, $936 = 0.0, $937 = 0.0, $938 = 0.0, $939 = 0.0, $94 = 0, $940 = 0.0, $941 = 0.0, $942 = 0.0, $943 = 0.0, $944 = 0.0, $945 = 0.0, $946 = 0.0, $947 = 0.0, $948 = 0.0, $949 = 0.0, $95 = 0, $950 = 0.0, $951 = 0.0; var $952 = 0.0, $953 = 0.0, $954 = 0.0, $955 = 0, $956 = 0, $957 = 0.0, $958 = 0.0, $959 = 0.0, $96 = 0.0, $960 = 0, $961 = 0, $962 = 0.0, $963 = 0.0, $964 = 0.0, $965 = 0, $966 = 0, $967 = 0, $968 = 0.0, $969 = 0.0, $97 = 0; var $970 = 0.0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0.0, $976 = 0.0, $977 = 0.0, $978 = 0.0, $979 = 0.0, $98 = 0, $980 = 0.0, $981 = 0.0, $982 = 0.0, $983 = 0.0, $984 = 0.0, $985 = 0.0, $986 = 0.0, $987 = 0.0, $988 = 0; var $989 = 0, $99 = 0, $990 = 0.0, $991 = 0.0, $992 = 0.0, $993 = 0.0, $994 = 0.0, $995 = 0.0, $996 = 0.0, $997 = 0.0, $998 = 0.0, $999 = 0.0, $M = 0, $ai = 0.0, $ai110 = 0.0, $ai150 = 0.0, $ai202 = 0.0, $ai85 = 0.0, $ar = 0.0, $ar109 = 0.0; var $ar149 = 0.0, $ar201 = 0.0, $ar84 = 0.0, $bi = 0.0, $bi112 = 0.0, $bi152 = 0.0, $bi204 = 0.0, $bi87 = 0.0, $br = 0.0, $br111 = 0.0, $br151 = 0.0, $br203 = 0.0, $br86 = 0.0, $c1 = 0.0, $c1123 = 0.0, $c1167 = 0.0, $c1227 = 0.0, $c1241 = 0, $c131 = 0.0, $c151 = 0.0; var $c2 = 0.0, $c2124 = 0.0, $c2168 = 0.0, $c232 = 0.0, $c3 = 0.0, $c3169 = 0.0, $ci = 0.0, $ci114 = 0.0, $ci154 = 0.0, $ci206 = 0.0, $ci89 = 0.0, $cr = 0.0, $cr113 = 0.0, $cr153 = 0.0, $cr205 = 0.0, $cr88 = 0.0, $di = 0.0, $di116 = 0.0, $di156 = 0.0, $di208 = 0.0; var $dr = 0.0, $dr115 = 0.0, $dr155 = 0.0, $dr207 = 0.0, $ei = 0.0, $ei158 = 0.0, $ei210 = 0.0, $er = 0.0, $er157 = 0.0, $er209 = 0.0, $fi = 0.0, $fi212 = 0.0, $fr = 0.0, $fr211 = 0.0, $gi = 0.0, $gi214 = 0.0, $gr = 0.0, $gr213 = 0.0, $hi = 0.0, $hr = 0.0; var $i = 0, $ind = 0, $ind132 = 0, $ind180 = 0, $ind234 = 0, $ind59 = 0, $ind71 = 0, $ind94 = 0, $k = 0, $k127 = 0, $k173 = 0, $k233 = 0, $k57 = 0, $k68 = 0, $k90 = 0, $ll = 0, $m = 0, $radix = 0, $s1 = 0.0, $s1125 = 0.0; var $s1170 = 0.0, $s1228 = 0.0, $s1242 = 0, $s133 = 0.0, $s152 = 0.0, $s2 = 0.0, $s2126 = 0.0, $s2171 = 0.0, $s234 = 0.0, $s3 = 0.0, $s3172 = 0.0, $t = 0, $tau0i = 0.0, $tau0i10 = 0.0, $tau0i102 = 0.0, $tau0i142 = 0.0, $tau0i18 = 0.0, $tau0i194 = 0.0, $tau0i36 = 0.0, $tau0i4 = 0.0; var $tau0i63 = 0.0, $tau0i77 = 0.0, $tau0r = 0.0, $tau0r101 = 0.0, $tau0r141 = 0.0, $tau0r17 = 0.0, $tau0r193 = 0.0, $tau0r3 = 0.0, $tau0r35 = 0.0, $tau0r62 = 0.0, $tau0r76 = 0.0, $tau0r9 = 0.0, $tau1i = 0.0, $tau1i104 = 0.0, $tau1i12 = 0.0, $tau1i144 = 0.0, $tau1i196 = 0.0, $tau1i2 = 0.0, $tau1i20 = 0.0, $tau1i38 = 0.0; var $tau1i54 = 0.0, $tau1i6 = 0.0, $tau1i65 = 0.0, $tau1i79 = 0.0, $tau1r = 0.0, $tau1r1 = 0.0, $tau1r103 = 0.0, $tau1r11 = 0.0, $tau1r143 = 0.0, $tau1r19 = 0.0, $tau1r195 = 0.0, $tau1r37 = 0.0, $tau1r5 = 0.0, $tau1r53 = 0.0, $tau1r64 = 0.0, $tau1r78 = 0.0, $tau2i = 0.0, $tau2i106 = 0.0, $tau2i14 = 0.0, $tau2i146 = 0.0; var $tau2i198 = 0.0, $tau2i22 = 0.0, $tau2i40 = 0.0, $tau2i56 = 0.0, $tau2i67 = 0.0, $tau2i8 = 0.0, $tau2i81 = 0.0, $tau2r = 0.0, $tau2r105 = 0.0, $tau2r13 = 0.0, $tau2r145 = 0.0, $tau2r197 = 0.0, $tau2r21 = 0.0, $tau2r39 = 0.0, $tau2r55 = 0.0, $tau2r66 = 0.0, $tau2r7 = 0.0, $tau2r80 = 0.0, $tau3i = 0.0, $tau3i108 = 0.0; var $tau3i148 = 0.0, $tau3i16 = 0.0, $tau3i200 = 0.0, $tau3i24 = 0.0, $tau3i42 = 0.0, $tau3i83 = 0.0, $tau3r = 0.0, $tau3r107 = 0.0, $tau3r147 = 0.0, $tau3r15 = 0.0, $tau3r199 = 0.0, $tau3r23 = 0.0, $tau3r41 = 0.0, $tau3r82 = 0.0, $tau4i = 0.0, $tau4i118 = 0.0, $tau4i160 = 0.0, $tau4i216 = 0.0, $tau4i26 = 0.0, $tau4i44 = 0.0; var $tau4r = 0.0, $tau4r117 = 0.0, $tau4r159 = 0.0, $tau4r215 = 0.0, $tau4r25 = 0.0, $tau4r43 = 0.0, $tau5i = 0.0, $tau5i120 = 0.0, $tau5i162 = 0.0, $tau5i218 = 0.0, $tau5i28 = 0.0, $tau5i46 = 0.0, $tau5r = 0.0, $tau5r119 = 0.0, $tau5r161 = 0.0, $tau5r217 = 0.0, $tau5r27 = 0.0, $tau5r45 = 0.0, $tau6i = 0.0, $tau6i122 = 0.0; var $tau6i164 = 0.0, $tau6i220 = 0.0, $tau6i30 = 0.0, $tau6i48 = 0.0, $tau6r = 0.0, $tau6r121 = 0.0, $tau6r163 = 0.0, $tau6r219 = 0.0, $tau6r29 = 0.0, $tau6r47 = 0.0, $tau7i = 0.0, $tau7i166 = 0.0, $tau7i222 = 0.0, $tau7i50 = 0.0, $tau7r = 0.0, $tau7r165 = 0.0, $tau7r221 = 0.0, $tau7r49 = 0.0, $tau8i = 0.0, $tau8i224 = 0.0; var $tau8r = 0.0, $tau8r223 = 0.0, $tau9i = 0.0, $tau9i226 = 0.0, $tau9r = 0.0, $tau9r225 = 0.0, $taui = 0, $taur = 0, $temp1i = 0.0, $temp1i230 = 0.0, $temp1i236 = 0.0, $temp1r = 0.0, $temp1r229 = 0.0, $temp1r235 = 0.0, $temp2i = 0.0, $temp2i232 = 0.0, $temp2i238 = 0.0, $temp2r = 0.0, $temp2r231 = 0.0, $temp2r237 = 0.0; var $tkm = 0, $tkm1 = 0, $tkm1128 = 0, $tkm1174 = 0, $tkm158 = 0, $tkm169 = 0, $tkm191 = 0, $tkm2 = 0, $tkm2129 = 0, $tkm2175 = 0, $tkm270 = 0, $tkm292 = 0, $tkm3 = 0, $tkm3130 = 0, $tkm3176 = 0, $tkm393 = 0, $tkm4 = 0, $tkm4131 = 0, $tkm4177 = 0, $tkm5 = 0; var $tkm5178 = 0, $tkm6 = 0, $tkm6179 = 0, $tkm7 = 0, $tt = 0, $u = 0, $v = 0, $wl2i = 0.0, $wl2i136 = 0.0, $wl2i184 = 0.0, $wl2i75 = 0.0, $wl2i98 = 0.0, $wl2r = 0.0, $wl2r135 = 0.0, $wl2r183 = 0.0, $wl2r74 = 0.0, $wl2r97 = 0.0, $wl3i = 0.0, $wl3i100 = 0.0, $wl3i138 = 0.0; var $wl3i186 = 0.0, $wl3r = 0.0, $wl3r137 = 0.0, $wl3r185 = 0.0, $wl3r99 = 0.0, $wl4i = 0.0, $wl4i140 = 0.0, $wl4i188 = 0.0, $wl4r = 0.0, $wl4r139 = 0.0, $wl4r187 = 0.0, $wl5i = 0.0, $wl5i190 = 0.0, $wl5r = 0.0, $wl5r189 = 0.0, $wl6i = 0.0, $wl6i192 = 0.0, $wl6r = 0.0, $wl6r191 = 0.0, $wl7i = 0.0; var $wl7r = 0.0, $wli = 0.0, $wli134 = 0.0, $wli182 = 0.0, $wli240 = 0, $wli61 = 0.0, $wli73 = 0.0, $wli96 = 0.0, $wlr = 0.0, $wlr133 = 0.0, $wlr181 = 0.0, $wlr239 = 0, $wlr60 = 0.0, $wlr72 = 0.0, $wlr95 = 0.0, $yi = 0, $yr = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 2416|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $op; $1 = $ip; $2 = $obj; $3 = $sgn; $4 = $N; $5 = $l; $6 = $inc; $7 = $4; $8 = ($7|0)>(1); if ($8) { $9 = $6; $10 = $2; $11 = (($10) + 8|0); $12 = (($11) + ($9<<2)|0); $13 = HEAP32[$12>>2]|0; $radix = $13; } $14 = $4; $15 = ($14|0)==(1); if ($15) { $16 = $1; $17 = +HEAPF64[$16>>3]; $18 = $0; HEAPF64[$18>>3] = $17; $19 = $1; $20 = (($19) + 8|0); $21 = +HEAPF64[$20>>3]; $22 = $0; $23 = (($22) + 8|0); HEAPF64[$23>>3] = $21; STACKTOP = sp;return; } $24 = $4; $25 = ($24|0)==(2); if ($25) { $26 = $1; $27 = +HEAPF64[$26>>3]; $28 = $0; HEAPF64[$28>>3] = $27; $29 = $1; $30 = (($29) + 8|0); $31 = +HEAPF64[$30>>3]; $32 = $0; $33 = (($32) + 8|0); HEAPF64[$33>>3] = $31; $34 = $5; $35 = $1; $36 = (($35) + ($34<<4)|0); $37 = +HEAPF64[$36>>3]; $38 = $0; $39 = (($38) + 16|0); HEAPF64[$39>>3] = $37; $40 = $5; $41 = $1; $42 = (($41) + ($40<<4)|0); $43 = (($42) + 8|0); $44 = +HEAPF64[$43>>3]; $45 = $0; $46 = (($45) + 16|0); $47 = (($46) + 8|0); HEAPF64[$47>>3] = $44; $48 = $0; $49 = +HEAPF64[$48>>3]; $tau1r = $49; $50 = $0; $51 = (($50) + 8|0); $52 = +HEAPF64[$51>>3]; $tau1i = $52; $53 = $tau1r; $54 = $0; $55 = (($54) + 16|0); $56 = +HEAPF64[$55>>3]; $57 = $53 + $56; $58 = $0; HEAPF64[$58>>3] = $57; $59 = $tau1i; $60 = $0; $61 = (($60) + 16|0); $62 = (($61) + 8|0); $63 = +HEAPF64[$62>>3]; $64 = $59 + $63; $65 = $0; $66 = (($65) + 8|0); HEAPF64[$66>>3] = $64; $67 = $tau1r; $68 = $0; $69 = (($68) + 16|0); $70 = +HEAPF64[$69>>3]; $71 = $67 - $70; $72 = $0; $73 = (($72) + 16|0); HEAPF64[$73>>3] = $71; $74 = $tau1i; $75 = $0; $76 = (($75) + 16|0); $77 = (($76) + 8|0); $78 = +HEAPF64[$77>>3]; $79 = $74 - $78; $80 = $0; $81 = (($80) + 16|0); $82 = (($81) + 8|0); HEAPF64[$82>>3] = $79; } else { $83 = $4; $84 = ($83|0)==(3); if ($84) { $85 = $1; $86 = +HEAPF64[$85>>3]; $87 = $0; HEAPF64[$87>>3] = $86; $88 = $1; $89 = (($88) + 8|0); $90 = +HEAPF64[$89>>3]; $91 = $0; $92 = (($91) + 8|0); HEAPF64[$92>>3] = $90; $93 = $5; $94 = $1; $95 = (($94) + ($93<<4)|0); $96 = +HEAPF64[$95>>3]; $97 = $0; $98 = (($97) + 16|0); HEAPF64[$98>>3] = $96; $99 = $5; $100 = $1; $101 = (($100) + ($99<<4)|0); $102 = (($101) + 8|0); $103 = +HEAPF64[$102>>3]; $104 = $0; $105 = (($104) + 16|0); $106 = (($105) + 8|0); HEAPF64[$106>>3] = $103; $107 = $5; $108 = $107<<1; $109 = $1; $110 = (($109) + ($108<<4)|0); $111 = +HEAPF64[$110>>3]; $112 = $0; $113 = (($112) + 32|0); HEAPF64[$113>>3] = $111; $114 = $5; $115 = $114<<1; $116 = $1; $117 = (($116) + ($115<<4)|0); $118 = (($117) + 8|0); $119 = +HEAPF64[$118>>3]; $120 = $0; $121 = (($120) + 32|0); $122 = (($121) + 8|0); HEAPF64[$122>>3] = $119; $123 = $0; $124 = (($123) + 16|0); $125 = +HEAPF64[$124>>3]; $126 = $0; $127 = (($126) + 32|0); $128 = +HEAPF64[$127>>3]; $129 = $125 + $128; $tau0r = $129; $130 = $0; $131 = (($130) + 16|0); $132 = (($131) + 8|0); $133 = +HEAPF64[$132>>3]; $134 = $0; $135 = (($134) + 32|0); $136 = (($135) + 8|0); $137 = +HEAPF64[$136>>3]; $138 = $133 + $137; $tau0i = $138; $139 = $3; $140 = (+($139|0)); $141 = $140 * 0.866025403780000035958; $142 = $0; $143 = (($142) + 16|0); $144 = +HEAPF64[$143>>3]; $145 = $0; $146 = (($145) + 32|0); $147 = +HEAPF64[$146>>3]; $148 = $144 - $147; $149 = $141 * $148; $tau1r1 = $149; $150 = $3; $151 = (+($150|0)); $152 = $151 * 0.866025403780000035958; $153 = $0; $154 = (($153) + 16|0); $155 = (($154) + 8|0); $156 = +HEAPF64[$155>>3]; $157 = $0; $158 = (($157) + 32|0); $159 = (($158) + 8|0); $160 = +HEAPF64[$159>>3]; $161 = $156 - $160; $162 = $152 * $161; $tau1i2 = $162; $163 = $0; $164 = +HEAPF64[$163>>3]; $165 = $tau0r; $166 = $165 * 0.5; $167 = $164 - $166; $tau2r = $167; $168 = $0; $169 = (($168) + 8|0); $170 = +HEAPF64[$169>>3]; $171 = $tau0i; $172 = $171 * 0.5; $173 = $170 - $172; $tau2i = $173; $174 = $tau0r; $175 = $0; $176 = +HEAPF64[$175>>3]; $177 = $174 + $176; $178 = $0; HEAPF64[$178>>3] = $177; $179 = $tau0i; $180 = $0; $181 = (($180) + 8|0); $182 = +HEAPF64[$181>>3]; $183 = $179 + $182; $184 = $0; $185 = (($184) + 8|0); HEAPF64[$185>>3] = $183; $186 = $tau2r; $187 = $tau1i2; $188 = $186 + $187; $189 = $0; $190 = (($189) + 16|0); HEAPF64[$190>>3] = $188; $191 = $tau2i; $192 = $tau1r1; $193 = $191 - $192; $194 = $0; $195 = (($194) + 16|0); $196 = (($195) + 8|0); HEAPF64[$196>>3] = $193; $197 = $tau2r; $198 = $tau1i2; $199 = $197 - $198; $200 = $0; $201 = (($200) + 32|0); HEAPF64[$201>>3] = $199; $202 = $tau2i; $203 = $tau1r1; $204 = $202 + $203; $205 = $0; $206 = (($205) + 32|0); $207 = (($206) + 8|0); HEAPF64[$207>>3] = $204; STACKTOP = sp;return; } $208 = $4; $209 = ($208|0)==(4); if ($209) { $210 = $1; $211 = +HEAPF64[$210>>3]; $212 = $0; HEAPF64[$212>>3] = $211; $213 = $1; $214 = (($213) + 8|0); $215 = +HEAPF64[$214>>3]; $216 = $0; $217 = (($216) + 8|0); HEAPF64[$217>>3] = $215; $218 = $5; $219 = $1; $220 = (($219) + ($218<<4)|0); $221 = +HEAPF64[$220>>3]; $222 = $0; $223 = (($222) + 16|0); HEAPF64[$223>>3] = $221; $224 = $5; $225 = $1; $226 = (($225) + ($224<<4)|0); $227 = (($226) + 8|0); $228 = +HEAPF64[$227>>3]; $229 = $0; $230 = (($229) + 16|0); $231 = (($230) + 8|0); HEAPF64[$231>>3] = $228; $232 = $5; $233 = $232<<1; $234 = $1; $235 = (($234) + ($233<<4)|0); $236 = +HEAPF64[$235>>3]; $237 = $0; $238 = (($237) + 32|0); HEAPF64[$238>>3] = $236; $239 = $5; $240 = $239<<1; $241 = $1; $242 = (($241) + ($240<<4)|0); $243 = (($242) + 8|0); $244 = +HEAPF64[$243>>3]; $245 = $0; $246 = (($245) + 32|0); $247 = (($246) + 8|0); HEAPF64[$247>>3] = $244; $248 = $5; $249 = ($248*3)|0; $250 = $1; $251 = (($250) + ($249<<4)|0); $252 = +HEAPF64[$251>>3]; $253 = $0; $254 = (($253) + 48|0); HEAPF64[$254>>3] = $252; $255 = $5; $256 = ($255*3)|0; $257 = $1; $258 = (($257) + ($256<<4)|0); $259 = (($258) + 8|0); $260 = +HEAPF64[$259>>3]; $261 = $0; $262 = (($261) + 48|0); $263 = (($262) + 8|0); HEAPF64[$263>>3] = $260; $264 = $0; $265 = +HEAPF64[$264>>3]; $266 = $0; $267 = (($266) + 32|0); $268 = +HEAPF64[$267>>3]; $269 = $265 + $268; $tau0r3 = $269; $270 = $0; $271 = (($270) + 8|0); $272 = +HEAPF64[$271>>3]; $273 = $0; $274 = (($273) + 32|0); $275 = (($274) + 8|0); $276 = +HEAPF64[$275>>3]; $277 = $272 + $276; $tau0i4 = $277; $278 = $0; $279 = +HEAPF64[$278>>3]; $280 = $0; $281 = (($280) + 32|0); $282 = +HEAPF64[$281>>3]; $283 = $279 - $282; $tau1r5 = $283; $284 = $0; $285 = (($284) + 8|0); $286 = +HEAPF64[$285>>3]; $287 = $0; $288 = (($287) + 32|0); $289 = (($288) + 8|0); $290 = +HEAPF64[$289>>3]; $291 = $286 - $290; $tau1i6 = $291; $292 = $0; $293 = (($292) + 16|0); $294 = +HEAPF64[$293>>3]; $295 = $0; $296 = (($295) + 48|0); $297 = +HEAPF64[$296>>3]; $298 = $294 + $297; $tau2r7 = $298; $299 = $0; $300 = (($299) + 16|0); $301 = (($300) + 8|0); $302 = +HEAPF64[$301>>3]; $303 = $0; $304 = (($303) + 48|0); $305 = (($304) + 8|0); $306 = +HEAPF64[$305>>3]; $307 = $302 + $306; $tau2i8 = $307; $308 = $3; $309 = (+($308|0)); $310 = $0; $311 = (($310) + 16|0); $312 = +HEAPF64[$311>>3]; $313 = $0; $314 = (($313) + 48|0); $315 = +HEAPF64[$314>>3]; $316 = $312 - $315; $317 = $309 * $316; $tau3r = $317; $318 = $3; $319 = (+($318|0)); $320 = $0; $321 = (($320) + 16|0); $322 = (($321) + 8|0); $323 = +HEAPF64[$322>>3]; $324 = $0; $325 = (($324) + 48|0); $326 = (($325) + 8|0); $327 = +HEAPF64[$326>>3]; $328 = $323 - $327; $329 = $319 * $328; $tau3i = $329; $330 = $tau0r3; $331 = $tau2r7; $332 = $330 + $331; $333 = $0; HEAPF64[$333>>3] = $332; $334 = $tau0i4; $335 = $tau2i8; $336 = $334 + $335; $337 = $0; $338 = (($337) + 8|0); HEAPF64[$338>>3] = $336; $339 = $tau1r5; $340 = $tau3i; $341 = $339 + $340; $342 = $0; $343 = (($342) + 16|0); HEAPF64[$343>>3] = $341; $344 = $tau1i6; $345 = $tau3r; $346 = $344 - $345; $347 = $0; $348 = (($347) + 16|0); $349 = (($348) + 8|0); HEAPF64[$349>>3] = $346; $350 = $tau0r3; $351 = $tau2r7; $352 = $350 - $351; $353 = $0; $354 = (($353) + 32|0); HEAPF64[$354>>3] = $352; $355 = $tau0i4; $356 = $tau2i8; $357 = $355 - $356; $358 = $0; $359 = (($358) + 32|0); $360 = (($359) + 8|0); HEAPF64[$360>>3] = $357; $361 = $tau1r5; $362 = $tau3i; $363 = $361 - $362; $364 = $0; $365 = (($364) + 48|0); HEAPF64[$365>>3] = $363; $366 = $tau1i6; $367 = $tau3r; $368 = $366 + $367; $369 = $0; $370 = (($369) + 48|0); $371 = (($370) + 8|0); HEAPF64[$371>>3] = $368; } else { $372 = $4; $373 = ($372|0)==(5); if ($373) { $374 = $1; $375 = +HEAPF64[$374>>3]; $376 = $0; HEAPF64[$376>>3] = $375; $377 = $1; $378 = (($377) + 8|0); $379 = +HEAPF64[$378>>3]; $380 = $0; $381 = (($380) + 8|0); HEAPF64[$381>>3] = $379; $382 = $5; $383 = $1; $384 = (($383) + ($382<<4)|0); $385 = +HEAPF64[$384>>3]; $386 = $0; $387 = (($386) + 16|0); HEAPF64[$387>>3] = $385; $388 = $5; $389 = $1; $390 = (($389) + ($388<<4)|0); $391 = (($390) + 8|0); $392 = +HEAPF64[$391>>3]; $393 = $0; $394 = (($393) + 16|0); $395 = (($394) + 8|0); HEAPF64[$395>>3] = $392; $396 = $5; $397 = $396<<1; $398 = $1; $399 = (($398) + ($397<<4)|0); $400 = +HEAPF64[$399>>3]; $401 = $0; $402 = (($401) + 32|0); HEAPF64[$402>>3] = $400; $403 = $5; $404 = $403<<1; $405 = $1; $406 = (($405) + ($404<<4)|0); $407 = (($406) + 8|0); $408 = +HEAPF64[$407>>3]; $409 = $0; $410 = (($409) + 32|0); $411 = (($410) + 8|0); HEAPF64[$411>>3] = $408; $412 = $5; $413 = ($412*3)|0; $414 = $1; $415 = (($414) + ($413<<4)|0); $416 = +HEAPF64[$415>>3]; $417 = $0; $418 = (($417) + 48|0); HEAPF64[$418>>3] = $416; $419 = $5; $420 = ($419*3)|0; $421 = $1; $422 = (($421) + ($420<<4)|0); $423 = (($422) + 8|0); $424 = +HEAPF64[$423>>3]; $425 = $0; $426 = (($425) + 48|0); $427 = (($426) + 8|0); HEAPF64[$427>>3] = $424; $428 = $5; $429 = $428<<2; $430 = $1; $431 = (($430) + ($429<<4)|0); $432 = +HEAPF64[$431>>3]; $433 = $0; $434 = (($433) + 64|0); HEAPF64[$434>>3] = $432; $435 = $5; $436 = $435<<2; $437 = $1; $438 = (($437) + ($436<<4)|0); $439 = (($438) + 8|0); $440 = +HEAPF64[$439>>3]; $441 = $0; $442 = (($441) + 64|0); $443 = (($442) + 8|0); HEAPF64[$443>>3] = $440; $c1 = 0.309016994370000019909; $c2 = -0.809016994369999964398; $s1 = 0.951056516289999986923; $s2 = 0.587785252290000004294; $444 = $0; $445 = (($444) + 16|0); $446 = +HEAPF64[$445>>3]; $447 = $0; $448 = (($447) + 64|0); $449 = +HEAPF64[$448>>3]; $450 = $446 + $449; $tau0r9 = $450; $451 = $0; $452 = (($451) + 16|0); $453 = +HEAPF64[$452>>3]; $454 = $0; $455 = (($454) + 64|0); $456 = +HEAPF64[$455>>3]; $457 = $453 - $456; $tau2r13 = $457; $458 = $0; $459 = (($458) + 16|0); $460 = (($459) + 8|0); $461 = +HEAPF64[$460>>3]; $462 = $0; $463 = (($462) + 64|0); $464 = (($463) + 8|0); $465 = +HEAPF64[$464>>3]; $466 = $461 + $465; $tau0i10 = $466; $467 = $0; $468 = (($467) + 16|0); $469 = (($468) + 8|0); $470 = +HEAPF64[$469>>3]; $471 = $0; $472 = (($471) + 64|0); $473 = (($472) + 8|0); $474 = +HEAPF64[$473>>3]; $475 = $470 - $474; $tau2i14 = $475; $476 = $0; $477 = (($476) + 32|0); $478 = +HEAPF64[$477>>3]; $479 = $0; $480 = (($479) + 48|0); $481 = +HEAPF64[$480>>3]; $482 = $478 + $481; $tau1r11 = $482; $483 = $0; $484 = (($483) + 32|0); $485 = +HEAPF64[$484>>3]; $486 = $0; $487 = (($486) + 48|0); $488 = +HEAPF64[$487>>3]; $489 = $485 - $488; $tau3r15 = $489; $490 = $0; $491 = (($490) + 32|0); $492 = (($491) + 8|0); $493 = +HEAPF64[$492>>3]; $494 = $0; $495 = (($494) + 48|0); $496 = (($495) + 8|0); $497 = +HEAPF64[$496>>3]; $498 = $493 + $497; $tau1i12 = $498; $499 = $0; $500 = (($499) + 32|0); $501 = (($500) + 8|0); $502 = +HEAPF64[$501>>3]; $503 = $0; $504 = (($503) + 48|0); $505 = (($504) + 8|0); $506 = +HEAPF64[$505>>3]; $507 = $502 - $506; $tau3i16 = $507; $508 = $c1; $509 = $tau0r9; $510 = $508 * $509; $511 = $c2; $512 = $tau1r11; $513 = $511 * $512; $514 = $510 + $513; $tau4r = $514; $515 = $c1; $516 = $tau0i10; $517 = $515 * $516; $518 = $c2; $519 = $tau1i12; $520 = $518 * $519; $521 = $517 + $520; $tau4i = $521; $522 = $3; $523 = ($522|0)==(1); if ($523) { $524 = $s1; $525 = $tau2r13; $526 = $524 * $525; $527 = $s2; $528 = $tau3r15; $529 = $527 * $528; $530 = $526 + $529; $tau5r = $530; $531 = $s1; $532 = $tau2i14; $533 = $531 * $532; $534 = $s2; $535 = $tau3i16; $536 = $534 * $535; $537 = $533 + $536; $tau5i = $537; } else { $538 = $s1; $539 = -$538; $540 = $tau2r13; $541 = $539 * $540; $542 = $s2; $543 = $tau3r15; $544 = $542 * $543; $545 = $541 - $544; $tau5r = $545; $546 = $s1; $547 = -$546; $548 = $tau2i14; $549 = $547 * $548; $550 = $s2; $551 = $tau3i16; $552 = $550 * $551; $553 = $549 - $552; $tau5i = $553; } $554 = $0; $555 = +HEAPF64[$554>>3]; $556 = $tau4r; $557 = $555 + $556; $tau6r = $557; $558 = $0; $559 = (($558) + 8|0); $560 = +HEAPF64[$559>>3]; $561 = $tau4i; $562 = $560 + $561; $tau6i = $562; $563 = $tau6r; $564 = $tau5i; $565 = $563 + $564; $566 = $0; $567 = (($566) + 16|0); HEAPF64[$567>>3] = $565; $568 = $tau6i; $569 = $tau5r; $570 = $568 - $569; $571 = $0; $572 = (($571) + 16|0); $573 = (($572) + 8|0); HEAPF64[$573>>3] = $570; $574 = $tau6r; $575 = $tau5i; $576 = $574 - $575; $577 = $0; $578 = (($577) + 64|0); HEAPF64[$578>>3] = $576; $579 = $tau6i; $580 = $tau5r; $581 = $579 + $580; $582 = $0; $583 = (($582) + 64|0); $584 = (($583) + 8|0); HEAPF64[$584>>3] = $581; $585 = $c2; $586 = $tau0r9; $587 = $585 * $586; $588 = $c1; $589 = $tau1r11; $590 = $588 * $589; $591 = $587 + $590; $tau4r = $591; $592 = $c2; $593 = $tau0i10; $594 = $592 * $593; $595 = $c1; $596 = $tau1i12; $597 = $595 * $596; $598 = $594 + $597; $tau4i = $598; $599 = $3; $600 = ($599|0)==(1); if ($600) { $601 = $s2; $602 = $tau2r13; $603 = $601 * $602; $604 = $s1; $605 = $tau3r15; $606 = $604 * $605; $607 = $603 - $606; $tau5r = $607; $608 = $s2; $609 = $tau2i14; $610 = $608 * $609; $611 = $s1; $612 = $tau3i16; $613 = $611 * $612; $614 = $610 - $613; $tau5i = $614; } else { $615 = $s2; $616 = -$615; $617 = $tau2r13; $618 = $616 * $617; $619 = $s1; $620 = $tau3r15; $621 = $619 * $620; $622 = $618 + $621; $tau5r = $622; $623 = $s2; $624 = -$623; $625 = $tau2i14; $626 = $624 * $625; $627 = $s1; $628 = $tau3i16; $629 = $627 * $628; $630 = $626 + $629; $tau5i = $630; } $631 = $0; $632 = +HEAPF64[$631>>3]; $633 = $tau4r; $634 = $632 + $633; $tau6r = $634; $635 = $0; $636 = (($635) + 8|0); $637 = +HEAPF64[$636>>3]; $638 = $tau4i; $639 = $637 + $638; $tau6i = $639; $640 = $tau6r; $641 = $tau5i; $642 = $640 + $641; $643 = $0; $644 = (($643) + 32|0); HEAPF64[$644>>3] = $642; $645 = $tau6i; $646 = $tau5r; $647 = $645 - $646; $648 = $0; $649 = (($648) + 32|0); $650 = (($649) + 8|0); HEAPF64[$650>>3] = $647; $651 = $tau6r; $652 = $tau5i; $653 = $651 - $652; $654 = $0; $655 = (($654) + 48|0); HEAPF64[$655>>3] = $653; $656 = $tau6i; $657 = $tau5r; $658 = $656 + $657; $659 = $0; $660 = (($659) + 48|0); $661 = (($660) + 8|0); HEAPF64[$661>>3] = $658; $662 = $tau0r9; $663 = $tau1r11; $664 = $662 + $663; $665 = $0; $666 = +HEAPF64[$665>>3]; $667 = $666 + $664; HEAPF64[$665>>3] = $667; $668 = $tau0i10; $669 = $tau1i12; $670 = $668 + $669; $671 = $0; $672 = (($671) + 8|0); $673 = +HEAPF64[$672>>3]; $674 = $673 + $670; HEAPF64[$672>>3] = $674; } else { $675 = $4; $676 = ($675|0)==(7); if ($676) { $677 = $1; $678 = +HEAPF64[$677>>3]; $679 = $0; HEAPF64[$679>>3] = $678; $680 = $1; $681 = (($680) + 8|0); $682 = +HEAPF64[$681>>3]; $683 = $0; $684 = (($683) + 8|0); HEAPF64[$684>>3] = $682; $685 = $5; $686 = $1; $687 = (($686) + ($685<<4)|0); $688 = +HEAPF64[$687>>3]; $689 = $0; $690 = (($689) + 16|0); HEAPF64[$690>>3] = $688; $691 = $5; $692 = $1; $693 = (($692) + ($691<<4)|0); $694 = (($693) + 8|0); $695 = +HEAPF64[$694>>3]; $696 = $0; $697 = (($696) + 16|0); $698 = (($697) + 8|0); HEAPF64[$698>>3] = $695; $699 = $5; $700 = $699<<1; $701 = $1; $702 = (($701) + ($700<<4)|0); $703 = +HEAPF64[$702>>3]; $704 = $0; $705 = (($704) + 32|0); HEAPF64[$705>>3] = $703; $706 = $5; $707 = $706<<1; $708 = $1; $709 = (($708) + ($707<<4)|0); $710 = (($709) + 8|0); $711 = +HEAPF64[$710>>3]; $712 = $0; $713 = (($712) + 32|0); $714 = (($713) + 8|0); HEAPF64[$714>>3] = $711; $715 = $5; $716 = ($715*3)|0; $717 = $1; $718 = (($717) + ($716<<4)|0); $719 = +HEAPF64[$718>>3]; $720 = $0; $721 = (($720) + 48|0); HEAPF64[$721>>3] = $719; $722 = $5; $723 = ($722*3)|0; $724 = $1; $725 = (($724) + ($723<<4)|0); $726 = (($725) + 8|0); $727 = +HEAPF64[$726>>3]; $728 = $0; $729 = (($728) + 48|0); $730 = (($729) + 8|0); HEAPF64[$730>>3] = $727; $731 = $5; $732 = $731<<2; $733 = $1; $734 = (($733) + ($732<<4)|0); $735 = +HEAPF64[$734>>3]; $736 = $0; $737 = (($736) + 64|0); HEAPF64[$737>>3] = $735; $738 = $5; $739 = $738<<2; $740 = $1; $741 = (($740) + ($739<<4)|0); $742 = (($741) + 8|0); $743 = +HEAPF64[$742>>3]; $744 = $0; $745 = (($744) + 64|0); $746 = (($745) + 8|0); HEAPF64[$746>>3] = $743; $747 = $5; $748 = ($747*5)|0; $749 = $1; $750 = (($749) + ($748<<4)|0); $751 = +HEAPF64[$750>>3]; $752 = $0; $753 = (($752) + 80|0); HEAPF64[$753>>3] = $751; $754 = $5; $755 = ($754*5)|0; $756 = $1; $757 = (($756) + ($755<<4)|0); $758 = (($757) + 8|0); $759 = +HEAPF64[$758>>3]; $760 = $0; $761 = (($760) + 80|0); $762 = (($761) + 8|0); HEAPF64[$762>>3] = $759; $763 = $5; $764 = ($763*6)|0; $765 = $1; $766 = (($765) + ($764<<4)|0); $767 = +HEAPF64[$766>>3]; $768 = $0; $769 = (($768) + 96|0); HEAPF64[$769>>3] = $767; $770 = $5; $771 = ($770*6)|0; $772 = $1; $773 = (($772) + ($771<<4)|0); $774 = (($773) + 8|0); $775 = +HEAPF64[$774>>3]; $776 = $0; $777 = (($776) + 96|0); $778 = (($777) + 8|0); HEAPF64[$778>>3] = $775; $c131 = 0.623489801850000024963; $c232 = -0.222520933949999999424; $c3 = -0.900968867899999970028; $s133 = 0.781831482460000004586; $s234 = 0.974927912179999967001; $s3 = 0.433883739109999999606; $779 = $0; $780 = (($779) + 16|0); $781 = +HEAPF64[$780>>3]; $782 = $0; $783 = (($782) + 96|0); $784 = +HEAPF64[$783>>3]; $785 = $781 + $784; $tau0r17 = $785; $786 = $0; $787 = (($786) + 16|0); $788 = +HEAPF64[$787>>3]; $789 = $0; $790 = (($789) + 96|0); $791 = +HEAPF64[$790>>3]; $792 = $788 - $791; $tau3r23 = $792; $793 = $0; $794 = (($793) + 16|0); $795 = (($794) + 8|0); $796 = +HEAPF64[$795>>3]; $797 = $0; $798 = (($797) + 96|0); $799 = (($798) + 8|0); $800 = +HEAPF64[$799>>3]; $801 = $796 + $800; $tau0i18 = $801; $802 = $0; $803 = (($802) + 16|0); $804 = (($803) + 8|0); $805 = +HEAPF64[$804>>3]; $806 = $0; $807 = (($806) + 96|0); $808 = (($807) + 8|0); $809 = +HEAPF64[$808>>3]; $810 = $805 - $809; $tau3i24 = $810; $811 = $0; $812 = (($811) + 32|0); $813 = +HEAPF64[$812>>3]; $814 = $0; $815 = (($814) + 80|0); $816 = +HEAPF64[$815>>3]; $817 = $813 + $816; $tau1r19 = $817; $818 = $0; $819 = (($818) + 32|0); $820 = +HEAPF64[$819>>3]; $821 = $0; $822 = (($821) + 80|0); $823 = +HEAPF64[$822>>3]; $824 = $820 - $823; $tau4r25 = $824; $825 = $0; $826 = (($825) + 32|0); $827 = (($826) + 8|0); $828 = +HEAPF64[$827>>3]; $829 = $0; $830 = (($829) + 80|0); $831 = (($830) + 8|0); $832 = +HEAPF64[$831>>3]; $833 = $828 + $832; $tau1i20 = $833; $834 = $0; $835 = (($834) + 32|0); $836 = (($835) + 8|0); $837 = +HEAPF64[$836>>3]; $838 = $0; $839 = (($838) + 80|0); $840 = (($839) + 8|0); $841 = +HEAPF64[$840>>3]; $842 = $837 - $841; $tau4i26 = $842; $843 = $0; $844 = (($843) + 48|0); $845 = +HEAPF64[$844>>3]; $846 = $0; $847 = (($846) + 64|0); $848 = +HEAPF64[$847>>3]; $849 = $845 + $848; $tau2r21 = $849; $850 = $0; $851 = (($850) + 48|0); $852 = +HEAPF64[$851>>3]; $853 = $0; $854 = (($853) + 64|0); $855 = +HEAPF64[$854>>3]; $856 = $852 - $855; $tau5r27 = $856; $857 = $0; $858 = (($857) + 48|0); $859 = (($858) + 8|0); $860 = +HEAPF64[$859>>3]; $861 = $0; $862 = (($861) + 64|0); $863 = (($862) + 8|0); $864 = +HEAPF64[$863>>3]; $865 = $860 + $864; $tau2i22 = $865; $866 = $0; $867 = (($866) + 48|0); $868 = (($867) + 8|0); $869 = +HEAPF64[$868>>3]; $870 = $0; $871 = (($870) + 64|0); $872 = (($871) + 8|0); $873 = +HEAPF64[$872>>3]; $874 = $869 - $873; $tau5i28 = $874; $875 = $0; $876 = +HEAPF64[$875>>3]; $877 = $c131; $878 = $tau0r17; $879 = $877 * $878; $880 = $876 + $879; $881 = $c232; $882 = $tau1r19; $883 = $881 * $882; $884 = $880 + $883; $885 = $c3; $886 = $tau2r21; $887 = $885 * $886; $888 = $884 + $887; $tau6r29 = $888; $889 = $0; $890 = (($889) + 8|0); $891 = +HEAPF64[$890>>3]; $892 = $c131; $893 = $tau0i18; $894 = $892 * $893; $895 = $891 + $894; $896 = $c232; $897 = $tau1i20; $898 = $896 * $897; $899 = $895 + $898; $900 = $c3; $901 = $tau2i22; $902 = $900 * $901; $903 = $899 + $902; $tau6i30 = $903; $904 = $3; $905 = ($904|0)==(1); if ($905) { $906 = $s133; $907 = -$906; $908 = $tau3r23; $909 = $907 * $908; $910 = $s234; $911 = $tau4r25; $912 = $910 * $911; $913 = $909 - $912; $914 = $s3; $915 = $tau5r27; $916 = $914 * $915; $917 = $913 - $916; $tau7r = $917; $918 = $s133; $919 = -$918; $920 = $tau3i24; $921 = $919 * $920; $922 = $s234; $923 = $tau4i26; $924 = $922 * $923; $925 = $921 - $924; $926 = $s3; $927 = $tau5i28; $928 = $926 * $927; $929 = $925 - $928; $tau7i = $929; } else { $930 = $s133; $931 = $tau3r23; $932 = $930 * $931; $933 = $s234; $934 = $tau4r25; $935 = $933 * $934; $936 = $932 + $935; $937 = $s3; $938 = $tau5r27; $939 = $937 * $938; $940 = $936 + $939; $tau7r = $940; $941 = $s133; $942 = $tau3i24; $943 = $941 * $942; $944 = $s234; $945 = $tau4i26; $946 = $944 * $945; $947 = $943 + $946; $948 = $s3; $949 = $tau5i28; $950 = $948 * $949; $951 = $947 + $950; $tau7i = $951; } $952 = $tau6r29; $953 = $tau7i; $954 = $952 - $953; $955 = $0; $956 = (($955) + 16|0); HEAPF64[$956>>3] = $954; $957 = $tau6r29; $958 = $tau7i; $959 = $957 + $958; $960 = $0; $961 = (($960) + 96|0); HEAPF64[$961>>3] = $959; $962 = $tau6i30; $963 = $tau7r; $964 = $962 + $963; $965 = $0; $966 = (($965) + 16|0); $967 = (($966) + 8|0); HEAPF64[$967>>3] = $964; $968 = $tau6i30; $969 = $tau7r; $970 = $968 - $969; $971 = $0; $972 = (($971) + 96|0); $973 = (($972) + 8|0); HEAPF64[$973>>3] = $970; $974 = $0; $975 = +HEAPF64[$974>>3]; $976 = $c232; $977 = $tau0r17; $978 = $976 * $977; $979 = $975 + $978; $980 = $c3; $981 = $tau1r19; $982 = $980 * $981; $983 = $979 + $982; $984 = $c131; $985 = $tau2r21; $986 = $984 * $985; $987 = $983 + $986; $tau6r29 = $987; $988 = $0; $989 = (($988) + 8|0); $990 = +HEAPF64[$989>>3]; $991 = $c232; $992 = $tau0i18; $993 = $991 * $992; $994 = $990 + $993; $995 = $c3; $996 = $tau1i20; $997 = $995 * $996; $998 = $994 + $997; $999 = $c131; $1000 = $tau2i22; $1001 = $999 * $1000; $1002 = $998 + $1001; $tau6i30 = $1002; $1003 = $3; $1004 = ($1003|0)==(1); if ($1004) { $1005 = $s234; $1006 = -$1005; $1007 = $tau3r23; $1008 = $1006 * $1007; $1009 = $s3; $1010 = $tau4r25; $1011 = $1009 * $1010; $1012 = $1008 + $1011; $1013 = $s133; $1014 = $tau5r27; $1015 = $1013 * $1014; $1016 = $1012 + $1015; $tau7r = $1016; $1017 = $s234; $1018 = -$1017; $1019 = $tau3i24; $1020 = $1018 * $1019; $1021 = $s3; $1022 = $tau4i26; $1023 = $1021 * $1022; $1024 = $1020 + $1023; $1025 = $s133; $1026 = $tau5i28; $1027 = $1025 * $1026; $1028 = $1024 + $1027; $tau7i = $1028; } else { $1029 = $s234; $1030 = $tau3r23; $1031 = $1029 * $1030; $1032 = $s3; $1033 = $tau4r25; $1034 = $1032 * $1033; $1035 = $1031 - $1034; $1036 = $s133; $1037 = $tau5r27; $1038 = $1036 * $1037; $1039 = $1035 - $1038; $tau7r = $1039; $1040 = $s234; $1041 = $tau3i24; $1042 = $1040 * $1041; $1043 = $s3; $1044 = $tau4i26; $1045 = $1043 * $1044; $1046 = $1042 - $1045; $1047 = $s133; $1048 = $tau5i28; $1049 = $1047 * $1048; $1050 = $1046 - $1049; $tau7i = $1050; } $1051 = $tau6r29; $1052 = $tau7i; $1053 = $1051 - $1052; $1054 = $0; $1055 = (($1054) + 32|0); HEAPF64[$1055>>3] = $1053; $1056 = $tau6r29; $1057 = $tau7i; $1058 = $1056 + $1057; $1059 = $0; $1060 = (($1059) + 80|0); HEAPF64[$1060>>3] = $1058; $1061 = $tau6i30; $1062 = $tau7r; $1063 = $1061 + $1062; $1064 = $0; $1065 = (($1064) + 32|0); $1066 = (($1065) + 8|0); HEAPF64[$1066>>3] = $1063; $1067 = $tau6i30; $1068 = $tau7r; $1069 = $1067 - $1068; $1070 = $0; $1071 = (($1070) + 80|0); $1072 = (($1071) + 8|0); HEAPF64[$1072>>3] = $1069; $1073 = $0; $1074 = +HEAPF64[$1073>>3]; $1075 = $c3; $1076 = $tau0r17; $1077 = $1075 * $1076; $1078 = $1074 + $1077; $1079 = $c131; $1080 = $tau1r19; $1081 = $1079 * $1080; $1082 = $1078 + $1081; $1083 = $c232; $1084 = $tau2r21; $1085 = $1083 * $1084; $1086 = $1082 + $1085; $tau6r29 = $1086; $1087 = $0; $1088 = (($1087) + 8|0); $1089 = +HEAPF64[$1088>>3]; $1090 = $c3; $1091 = $tau0i18; $1092 = $1090 * $1091; $1093 = $1089 + $1092; $1094 = $c131; $1095 = $tau1i20; $1096 = $1094 * $1095; $1097 = $1093 + $1096; $1098 = $c232; $1099 = $tau2i22; $1100 = $1098 * $1099; $1101 = $1097 + $1100; $tau6i30 = $1101; $1102 = $3; $1103 = ($1102|0)==(1); if ($1103) { $1104 = $s3; $1105 = -$1104; $1106 = $tau3r23; $1107 = $1105 * $1106; $1108 = $s133; $1109 = $tau4r25; $1110 = $1108 * $1109; $1111 = $1107 + $1110; $1112 = $s234; $1113 = $tau5r27; $1114 = $1112 * $1113; $1115 = $1111 - $1114; $tau7r = $1115; $1116 = $s3; $1117 = -$1116; $1118 = $tau3i24; $1119 = $1117 * $1118; $1120 = $s133; $1121 = $tau4i26; $1122 = $1120 * $1121; $1123 = $1119 + $1122; $1124 = $s234; $1125 = $tau5i28; $1126 = $1124 * $1125; $1127 = $1123 - $1126; $tau7i = $1127; } else { $1128 = $s3; $1129 = $tau3r23; $1130 = $1128 * $1129; $1131 = $s133; $1132 = $tau4r25; $1133 = $1131 * $1132; $1134 = $1130 - $1133; $1135 = $s234; $1136 = $tau5r27; $1137 = $1135 * $1136; $1138 = $1134 + $1137; $tau7r = $1138; $1139 = $s3; $1140 = $tau3i24; $1141 = $1139 * $1140; $1142 = $s133; $1143 = $tau4i26; $1144 = $1142 * $1143; $1145 = $1141 - $1144; $1146 = $s234; $1147 = $tau5i28; $1148 = $1146 * $1147; $1149 = $1145 + $1148; $tau7i = $1149; } $1150 = $tau6r29; $1151 = $tau7i; $1152 = $1150 - $1151; $1153 = $0; $1154 = (($1153) + 48|0); HEAPF64[$1154>>3] = $1152; $1155 = $tau6r29; $1156 = $tau7i; $1157 = $1155 + $1156; $1158 = $0; $1159 = (($1158) + 64|0); HEAPF64[$1159>>3] = $1157; $1160 = $tau6i30; $1161 = $tau7r; $1162 = $1160 + $1161; $1163 = $0; $1164 = (($1163) + 48|0); $1165 = (($1164) + 8|0); HEAPF64[$1165>>3] = $1162; $1166 = $tau6i30; $1167 = $tau7r; $1168 = $1166 - $1167; $1169 = $0; $1170 = (($1169) + 64|0); $1171 = (($1170) + 8|0); HEAPF64[$1171>>3] = $1168; $1172 = $tau0r17; $1173 = $tau1r19; $1174 = $1172 + $1173; $1175 = $tau2r21; $1176 = $1174 + $1175; $1177 = $0; $1178 = +HEAPF64[$1177>>3]; $1179 = $1178 + $1176; HEAPF64[$1177>>3] = $1179; $1180 = $tau0i18; $1181 = $tau1i20; $1182 = $1180 + $1181; $1183 = $tau2i22; $1184 = $1182 + $1183; $1185 = $0; $1186 = (($1185) + 8|0); $1187 = +HEAPF64[$1186>>3]; $1188 = $1187 + $1184; HEAPF64[$1186>>3] = $1188; } else { $1189 = $4; $1190 = ($1189|0)==(8); if ($1190) { $1191 = $1; $1192 = +HEAPF64[$1191>>3]; $1193 = $0; HEAPF64[$1193>>3] = $1192; $1194 = $1; $1195 = (($1194) + 8|0); $1196 = +HEAPF64[$1195>>3]; $1197 = $0; $1198 = (($1197) + 8|0); HEAPF64[$1198>>3] = $1196; $1199 = $5; $1200 = $1; $1201 = (($1200) + ($1199<<4)|0); $1202 = +HEAPF64[$1201>>3]; $1203 = $0; $1204 = (($1203) + 16|0); HEAPF64[$1204>>3] = $1202; $1205 = $5; $1206 = $1; $1207 = (($1206) + ($1205<<4)|0); $1208 = (($1207) + 8|0); $1209 = +HEAPF64[$1208>>3]; $1210 = $0; $1211 = (($1210) + 16|0); $1212 = (($1211) + 8|0); HEAPF64[$1212>>3] = $1209; $1213 = $5; $1214 = $1213<<1; $1215 = $1; $1216 = (($1215) + ($1214<<4)|0); $1217 = +HEAPF64[$1216>>3]; $1218 = $0; $1219 = (($1218) + 32|0); HEAPF64[$1219>>3] = $1217; $1220 = $5; $1221 = $1220<<1; $1222 = $1; $1223 = (($1222) + ($1221<<4)|0); $1224 = (($1223) + 8|0); $1225 = +HEAPF64[$1224>>3]; $1226 = $0; $1227 = (($1226) + 32|0); $1228 = (($1227) + 8|0); HEAPF64[$1228>>3] = $1225; $1229 = $5; $1230 = ($1229*3)|0; $1231 = $1; $1232 = (($1231) + ($1230<<4)|0); $1233 = +HEAPF64[$1232>>3]; $1234 = $0; $1235 = (($1234) + 48|0); HEAPF64[$1235>>3] = $1233; $1236 = $5; $1237 = ($1236*3)|0; $1238 = $1; $1239 = (($1238) + ($1237<<4)|0); $1240 = (($1239) + 8|0); $1241 = +HEAPF64[$1240>>3]; $1242 = $0; $1243 = (($1242) + 48|0); $1244 = (($1243) + 8|0); HEAPF64[$1244>>3] = $1241; $1245 = $5; $1246 = $1245<<2; $1247 = $1; $1248 = (($1247) + ($1246<<4)|0); $1249 = +HEAPF64[$1248>>3]; $1250 = $0; $1251 = (($1250) + 64|0); HEAPF64[$1251>>3] = $1249; $1252 = $5; $1253 = $1252<<2; $1254 = $1; $1255 = (($1254) + ($1253<<4)|0); $1256 = (($1255) + 8|0); $1257 = +HEAPF64[$1256>>3]; $1258 = $0; $1259 = (($1258) + 64|0); $1260 = (($1259) + 8|0); HEAPF64[$1260>>3] = $1257; $1261 = $5; $1262 = ($1261*5)|0; $1263 = $1; $1264 = (($1263) + ($1262<<4)|0); $1265 = +HEAPF64[$1264>>3]; $1266 = $0; $1267 = (($1266) + 80|0); HEAPF64[$1267>>3] = $1265; $1268 = $5; $1269 = ($1268*5)|0; $1270 = $1; $1271 = (($1270) + ($1269<<4)|0); $1272 = (($1271) + 8|0); $1273 = +HEAPF64[$1272>>3]; $1274 = $0; $1275 = (($1274) + 80|0); $1276 = (($1275) + 8|0); HEAPF64[$1276>>3] = $1273; $1277 = $5; $1278 = ($1277*6)|0; $1279 = $1; $1280 = (($1279) + ($1278<<4)|0); $1281 = +HEAPF64[$1280>>3]; $1282 = $0; $1283 = (($1282) + 96|0); HEAPF64[$1283>>3] = $1281; $1284 = $5; $1285 = ($1284*6)|0; $1286 = $1; $1287 = (($1286) + ($1285<<4)|0); $1288 = (($1287) + 8|0); $1289 = +HEAPF64[$1288>>3]; $1290 = $0; $1291 = (($1290) + 96|0); $1292 = (($1291) + 8|0); HEAPF64[$1292>>3] = $1289; $1293 = $5; $1294 = ($1293*7)|0; $1295 = $1; $1296 = (($1295) + ($1294<<4)|0); $1297 = +HEAPF64[$1296>>3]; $1298 = $0; $1299 = (($1298) + 112|0); HEAPF64[$1299>>3] = $1297; $1300 = $5; $1301 = ($1300*7)|0; $1302 = $1; $1303 = (($1302) + ($1301<<4)|0); $1304 = (($1303) + 8|0); $1305 = +HEAPF64[$1304>>3]; $1306 = $0; $1307 = (($1306) + 112|0); $1308 = (($1307) + 8|0); HEAPF64[$1308>>3] = $1305; $c151 = 0.707106781186547572737; $s152 = 0.707106781186547572737; $1309 = $0; $1310 = +HEAPF64[$1309>>3]; $1311 = $0; $1312 = (($1311) + 64|0); $1313 = +HEAPF64[$1312>>3]; $1314 = $1310 + $1313; $tau0r35 = $1314; $1315 = $0; $1316 = +HEAPF64[$1315>>3]; $1317 = $0; $1318 = (($1317) + 64|0); $1319 = +HEAPF64[$1318>>3]; $1320 = $1316 - $1319; $tau4r43 = $1320; $1321 = $0; $1322 = (($1321) + 8|0); $1323 = +HEAPF64[$1322>>3]; $1324 = $0; $1325 = (($1324) + 64|0); $1326 = (($1325) + 8|0); $1327 = +HEAPF64[$1326>>3]; $1328 = $1323 + $1327; $tau0i36 = $1328; $1329 = $0; $1330 = (($1329) + 8|0); $1331 = +HEAPF64[$1330>>3]; $1332 = $0; $1333 = (($1332) + 64|0); $1334 = (($1333) + 8|0); $1335 = +HEAPF64[$1334>>3]; $1336 = $1331 - $1335; $tau4i44 = $1336; $1337 = $0; $1338 = (($1337) + 16|0); $1339 = +HEAPF64[$1338>>3]; $1340 = $0; $1341 = (($1340) + 112|0); $1342 = +HEAPF64[$1341>>3]; $1343 = $1339 + $1342; $tau1r37 = $1343; $1344 = $0; $1345 = (($1344) + 16|0); $1346 = +HEAPF64[$1345>>3]; $1347 = $0; $1348 = (($1347) + 112|0); $1349 = +HEAPF64[$1348>>3]; $1350 = $1346 - $1349; $tau5r45 = $1350; $1351 = $0; $1352 = (($1351) + 16|0); $1353 = (($1352) + 8|0); $1354 = +HEAPF64[$1353>>3]; $1355 = $0; $1356 = (($1355) + 112|0); $1357 = (($1356) + 8|0); $1358 = +HEAPF64[$1357>>3]; $1359 = $1354 + $1358; $tau1i38 = $1359; $1360 = $0; $1361 = (($1360) + 16|0); $1362 = (($1361) + 8|0); $1363 = +HEAPF64[$1362>>3]; $1364 = $0; $1365 = (($1364) + 112|0); $1366 = (($1365) + 8|0); $1367 = +HEAPF64[$1366>>3]; $1368 = $1363 - $1367; $tau5i46 = $1368; $1369 = $0; $1370 = (($1369) + 48|0); $1371 = +HEAPF64[$1370>>3]; $1372 = $0; $1373 = (($1372) + 80|0); $1374 = +HEAPF64[$1373>>3]; $1375 = $1371 + $1374; $tau2r39 = $1375; $1376 = $0; $1377 = (($1376) + 48|0); $1378 = +HEAPF64[$1377>>3]; $1379 = $0; $1380 = (($1379) + 80|0); $1381 = +HEAPF64[$1380>>3]; $1382 = $1378 - $1381; $tau6r47 = $1382; $1383 = $0; $1384 = (($1383) + 48|0); $1385 = (($1384) + 8|0); $1386 = +HEAPF64[$1385>>3]; $1387 = $0; $1388 = (($1387) + 80|0); $1389 = (($1388) + 8|0); $1390 = +HEAPF64[$1389>>3]; $1391 = $1386 + $1390; $tau2i40 = $1391; $1392 = $0; $1393 = (($1392) + 48|0); $1394 = (($1393) + 8|0); $1395 = +HEAPF64[$1394>>3]; $1396 = $0; $1397 = (($1396) + 80|0); $1398 = (($1397) + 8|0); $1399 = +HEAPF64[$1398>>3]; $1400 = $1395 - $1399; $tau6i48 = $1400; $1401 = $0; $1402 = (($1401) + 32|0); $1403 = +HEAPF64[$1402>>3]; $1404 = $0; $1405 = (($1404) + 96|0); $1406 = +HEAPF64[$1405>>3]; $1407 = $1403 + $1406; $tau3r41 = $1407; $1408 = $0; $1409 = (($1408) + 32|0); $1410 = +HEAPF64[$1409>>3]; $1411 = $0; $1412 = (($1411) + 96|0); $1413 = +HEAPF64[$1412>>3]; $1414 = $1410 - $1413; $tau7r49 = $1414; $1415 = $0; $1416 = (($1415) + 32|0); $1417 = (($1416) + 8|0); $1418 = +HEAPF64[$1417>>3]; $1419 = $0; $1420 = (($1419) + 96|0); $1421 = (($1420) + 8|0); $1422 = +HEAPF64[$1421>>3]; $1423 = $1418 + $1422; $tau3i42 = $1423; $1424 = $0; $1425 = (($1424) + 32|0); $1426 = (($1425) + 8|0); $1427 = +HEAPF64[$1426>>3]; $1428 = $0; $1429 = (($1428) + 96|0); $1430 = (($1429) + 8|0); $1431 = +HEAPF64[$1430>>3]; $1432 = $1427 - $1431; $tau7i50 = $1432; $1433 = $tau0r35; $1434 = $tau1r37; $1435 = $1433 + $1434; $1436 = $tau2r39; $1437 = $1435 + $1436; $1438 = $tau3r41; $1439 = $1437 + $1438; $1440 = $0; HEAPF64[$1440>>3] = $1439; $1441 = $tau0i36; $1442 = $tau1i38; $1443 = $1441 + $1442; $1444 = $tau2i40; $1445 = $1443 + $1444; $1446 = $tau3i42; $1447 = $1445 + $1446; $1448 = $0; $1449 = (($1448) + 8|0); HEAPF64[$1449>>3] = $1447; $1450 = $tau0r35; $1451 = $tau1r37; $1452 = $1450 - $1451; $1453 = $tau2r39; $1454 = $1452 - $1453; $1455 = $tau3r41; $1456 = $1454 + $1455; $1457 = $0; $1458 = (($1457) + 64|0); HEAPF64[$1458>>3] = $1456; $1459 = $tau0i36; $1460 = $tau1i38; $1461 = $1459 - $1460; $1462 = $tau2i40; $1463 = $1461 - $1462; $1464 = $tau3i42; $1465 = $1463 + $1464; $1466 = $0; $1467 = (($1466) + 64|0); $1468 = (($1467) + 8|0); HEAPF64[$1468>>3] = $1465; $1469 = $tau1r37; $1470 = $tau2r39; $1471 = $1469 - $1470; $temp1r = $1471; $1472 = $tau1i38; $1473 = $tau2i40; $1474 = $1472 - $1473; $temp1i = $1474; $1475 = $tau5r45; $1476 = $tau6r47; $1477 = $1475 + $1476; $temp2r = $1477; $1478 = $tau5i46; $1479 = $tau6i48; $1480 = $1478 + $1479; $temp2i = $1480; $1481 = $tau4r43; $1482 = $c151; $1483 = $temp1r; $1484 = $1482 * $1483; $1485 = $1481 + $1484; $tau8r = $1485; $1486 = $tau4i44; $1487 = $c151; $1488 = $temp1i; $1489 = $1487 * $1488; $1490 = $1486 + $1489; $tau8i = $1490; $1491 = $3; $1492 = ($1491|0)==(1); if ($1492) { $1493 = $s152; $1494 = -$1493; $1495 = $temp2r; $1496 = $1494 * $1495; $1497 = $tau7r49; $1498 = $1496 - $1497; $tau9r = $1498; $1499 = $s152; $1500 = -$1499; $1501 = $temp2i; $1502 = $1500 * $1501; $1503 = $tau7i50; $1504 = $1502 - $1503; $tau9i = $1504; } else { $1505 = $s152; $1506 = $temp2r; $1507 = $1505 * $1506; $1508 = $tau7r49; $1509 = $1507 + $1508; $tau9r = $1509; $1510 = $s152; $1511 = $temp2i; $1512 = $1510 * $1511; $1513 = $tau7i50; $1514 = $1512 + $1513; $tau9i = $1514; } $1515 = $tau8r; $1516 = $tau9i; $1517 = $1515 - $1516; $1518 = $0; $1519 = (($1518) + 16|0); HEAPF64[$1519>>3] = $1517; $1520 = $tau8i; $1521 = $tau9r; $1522 = $1520 + $1521; $1523 = $0; $1524 = (($1523) + 16|0); $1525 = (($1524) + 8|0); HEAPF64[$1525>>3] = $1522; $1526 = $tau8r; $1527 = $tau9i; $1528 = $1526 + $1527; $1529 = $0; $1530 = (($1529) + 112|0); HEAPF64[$1530>>3] = $1528; $1531 = $tau8i; $1532 = $tau9r; $1533 = $1531 - $1532; $1534 = $0; $1535 = (($1534) + 112|0); $1536 = (($1535) + 8|0); HEAPF64[$1536>>3] = $1533; $1537 = $tau0r35; $1538 = $tau3r41; $1539 = $1537 - $1538; $tau8r = $1539; $1540 = $tau0i36; $1541 = $tau3i42; $1542 = $1540 - $1541; $tau8i = $1542; $1543 = $3; $1544 = ($1543|0)==(1); if ($1544) { $1545 = $tau5r45; $1546 = -$1545; $1547 = $tau6r47; $1548 = $1546 + $1547; $tau9r = $1548; $1549 = $tau5i46; $1550 = -$1549; $1551 = $tau6i48; $1552 = $1550 + $1551; $tau9i = $1552; } else { $1553 = $tau5r45; $1554 = $tau6r47; $1555 = $1553 - $1554; $tau9r = $1555; $1556 = $tau5i46; $1557 = $tau6i48; $1558 = $1556 - $1557; $tau9i = $1558; } $1559 = $tau8r; $1560 = $tau9i; $1561 = $1559 - $1560; $1562 = $0; $1563 = (($1562) + 32|0); HEAPF64[$1563>>3] = $1561; $1564 = $tau8i; $1565 = $tau9r; $1566 = $1564 + $1565; $1567 = $0; $1568 = (($1567) + 32|0); $1569 = (($1568) + 8|0); HEAPF64[$1569>>3] = $1566; $1570 = $tau8r; $1571 = $tau9i; $1572 = $1570 + $1571; $1573 = $0; $1574 = (($1573) + 96|0); HEAPF64[$1574>>3] = $1572; $1575 = $tau8i; $1576 = $tau9r; $1577 = $1575 - $1576; $1578 = $0; $1579 = (($1578) + 96|0); $1580 = (($1579) + 8|0); HEAPF64[$1580>>3] = $1577; $1581 = $tau4r43; $1582 = $c151; $1583 = $temp1r; $1584 = $1582 * $1583; $1585 = $1581 - $1584; $tau8r = $1585; $1586 = $tau4i44; $1587 = $c151; $1588 = $temp1i; $1589 = $1587 * $1588; $1590 = $1586 - $1589; $tau8i = $1590; $1591 = $3; $1592 = ($1591|0)==(1); if ($1592) { $1593 = $s152; $1594 = -$1593; $1595 = $temp2r; $1596 = $1594 * $1595; $1597 = $tau7r49; $1598 = $1596 + $1597; $tau9r = $1598; $1599 = $s152; $1600 = -$1599; $1601 = $temp2i; $1602 = $1600 * $1601; $1603 = $tau7i50; $1604 = $1602 + $1603; $tau9i = $1604; } else { $1605 = $s152; $1606 = $temp2r; $1607 = $1605 * $1606; $1608 = $tau7r49; $1609 = $1607 - $1608; $tau9r = $1609; $1610 = $s152; $1611 = $temp2i; $1612 = $1610 * $1611; $1613 = $tau7i50; $1614 = $1612 - $1613; $tau9i = $1614; } $1615 = $tau8r; $1616 = $tau9i; $1617 = $1615 - $1616; $1618 = $0; $1619 = (($1618) + 48|0); HEAPF64[$1619>>3] = $1617; $1620 = $tau8i; $1621 = $tau9r; $1622 = $1620 + $1621; $1623 = $0; $1624 = (($1623) + 48|0); $1625 = (($1624) + 8|0); HEAPF64[$1625>>3] = $1622; $1626 = $tau8r; $1627 = $tau9i; $1628 = $1626 + $1627; $1629 = $0; $1630 = (($1629) + 80|0); HEAPF64[$1630>>3] = $1628; $1631 = $tau8i; $1632 = $tau9r; $1633 = $1631 - $1632; $1634 = $0; $1635 = (($1634) + 80|0); $1636 = (($1635) + 8|0); HEAPF64[$1636>>3] = $1633; } else { $1637 = $radix; $1638 = ($1637|0)==(2); if ($1638) { $1639 = $4; $1640 = (($1639|0) / 2)&-1; $m = $1640; $1641 = $5; $1642 = $1641<<1; $ll = $1642; $1643 = $0; $1644 = $1; $1645 = $2; $1646 = $3; $1647 = $m; $1648 = $ll; $1649 = $6; $1650 = (($1649) + 1)|0; _mixed_radix_dit_rec($1643,$1644,$1645,$1646,$1647,$1648,$1650); $1651 = $0; $1652 = $m; $1653 = (($1651) + ($1652<<4)|0); $1654 = $1; $1655 = $5; $1656 = (($1654) + ($1655<<4)|0); $1657 = $2; $1658 = $3; $1659 = $m; $1660 = $ll; $1661 = $6; $1662 = (($1661) + 1)|0; _mixed_radix_dit_rec($1653,$1656,$1657,$1658,$1659,$1660,$1662); $k = 0; while(1) { $1663 = $k; $1664 = $m; $1665 = ($1663|0)<($1664|0); if (!($1665)) { break; } $1666 = $m; $1667 = (($1666) - 1)|0; $1668 = $k; $1669 = (($1667) + ($1668))|0; $ind = $1669; $1670 = $2; $1671 = (($1670) + 272|0); $1672 = $ind; $1673 = (($1671) + ($1672<<4)|0); $1674 = +HEAPF64[$1673>>3]; $wlr = $1674; $1675 = $2; $1676 = (($1675) + 272|0); $1677 = $ind; $1678 = (($1676) + ($1677<<4)|0); $1679 = (($1678) + 8|0); $1680 = +HEAPF64[$1679>>3]; $wli = $1680; $1681 = $k; $1682 = $m; $1683 = (($1681) + ($1682))|0; $tkm1 = $1683; $1684 = $k; $1685 = $0; $1686 = (($1685) + ($1684<<4)|0); $1687 = +HEAPF64[$1686>>3]; $tau1r53 = $1687; $1688 = $k; $1689 = $0; $1690 = (($1689) + ($1688<<4)|0); $1691 = (($1690) + 8|0); $1692 = +HEAPF64[$1691>>3]; $tau1i54 = $1692; $1693 = $tkm1; $1694 = $0; $1695 = (($1694) + ($1693<<4)|0); $1696 = +HEAPF64[$1695>>3]; $1697 = $wlr; $1698 = $1696 * $1697; $1699 = $tkm1; $1700 = $0; $1701 = (($1700) + ($1699<<4)|0); $1702 = (($1701) + 8|0); $1703 = +HEAPF64[$1702>>3]; $1704 = $wli; $1705 = $1703 * $1704; $1706 = $1698 - $1705; $tau2r55 = $1706; $1707 = $tkm1; $1708 = $0; $1709 = (($1708) + ($1707<<4)|0); $1710 = (($1709) + 8|0); $1711 = +HEAPF64[$1710>>3]; $1712 = $wlr; $1713 = $1711 * $1712; $1714 = $tkm1; $1715 = $0; $1716 = (($1715) + ($1714<<4)|0); $1717 = +HEAPF64[$1716>>3]; $1718 = $wli; $1719 = $1717 * $1718; $1720 = $1713 + $1719; $tau2i56 = $1720; $1721 = $tau1r53; $1722 = $tau2r55; $1723 = $1721 + $1722; $1724 = $k; $1725 = $0; $1726 = (($1725) + ($1724<<4)|0); HEAPF64[$1726>>3] = $1723; $1727 = $tau1i54; $1728 = $tau2i56; $1729 = $1727 + $1728; $1730 = $k; $1731 = $0; $1732 = (($1731) + ($1730<<4)|0); $1733 = (($1732) + 8|0); HEAPF64[$1733>>3] = $1729; $1734 = $tau1r53; $1735 = $tau2r55; $1736 = $1734 - $1735; $1737 = $tkm1; $1738 = $0; $1739 = (($1738) + ($1737<<4)|0); HEAPF64[$1739>>3] = $1736; $1740 = $tau1i54; $1741 = $tau2i56; $1742 = $1740 - $1741; $1743 = $tkm1; $1744 = $0; $1745 = (($1744) + ($1743<<4)|0); $1746 = (($1745) + 8|0); HEAPF64[$1746>>3] = $1742; $1747 = $k; $1748 = (($1747) + 1)|0; $k = $1748; } } else { $1749 = $radix; $1750 = ($1749|0)==(3); if ($1750) { $1751 = $4; $1752 = (($1751|0) / 3)&-1; $m = $1752; $1753 = $5; $1754 = ($1753*3)|0; $ll = $1754; $1755 = $0; $1756 = $1; $1757 = $2; $1758 = $3; $1759 = $m; $1760 = $ll; $1761 = $6; $1762 = (($1761) + 1)|0; _mixed_radix_dit_rec($1755,$1756,$1757,$1758,$1759,$1760,$1762); $1763 = $0; $1764 = $m; $1765 = (($1763) + ($1764<<4)|0); $1766 = $1; $1767 = $5; $1768 = (($1766) + ($1767<<4)|0); $1769 = $2; $1770 = $3; $1771 = $m; $1772 = $ll; $1773 = $6; $1774 = (($1773) + 1)|0; _mixed_radix_dit_rec($1765,$1768,$1769,$1770,$1771,$1772,$1774); $1775 = $0; $1776 = $m; $1777 = $1776<<1; $1778 = (($1775) + ($1777<<4)|0); $1779 = $1; $1780 = $5; $1781 = $1780<<1; $1782 = (($1779) + ($1781<<4)|0); $1783 = $2; $1784 = $3; $1785 = $m; $1786 = $ll; $1787 = $6; $1788 = (($1787) + 1)|0; _mixed_radix_dit_rec($1778,$1782,$1783,$1784,$1785,$1786,$1788); $k57 = 0; while(1) { $1789 = $k57; $1790 = $m; $1791 = ($1789|0)<($1790|0); if (!($1791)) { break; } $1792 = $m; $1793 = (($1792) - 1)|0; $1794 = $k57; $1795 = $1794<<1; $1796 = (($1793) + ($1795))|0; $ind59 = $1796; $1797 = $2; $1798 = (($1797) + 272|0); $1799 = $ind59; $1800 = (($1798) + ($1799<<4)|0); $1801 = +HEAPF64[$1800>>3]; $wlr60 = $1801; $1802 = $2; $1803 = (($1802) + 272|0); $1804 = $ind59; $1805 = (($1803) + ($1804<<4)|0); $1806 = (($1805) + 8|0); $1807 = +HEAPF64[$1806>>3]; $wli61 = $1807; $1808 = $ind59; $1809 = (($1808) + 1)|0; $ind59 = $1809; $1810 = $2; $1811 = (($1810) + 272|0); $1812 = $ind59; $1813 = (($1811) + ($1812<<4)|0); $1814 = +HEAPF64[$1813>>3]; $wl2r = $1814; $1815 = $2; $1816 = (($1815) + 272|0); $1817 = $ind59; $1818 = (($1816) + ($1817<<4)|0); $1819 = (($1818) + 8|0); $1820 = +HEAPF64[$1819>>3]; $wl2i = $1820; $1821 = $k57; $1822 = $m; $1823 = (($1821) + ($1822))|0; $tkm158 = $1823; $1824 = $tkm158; $1825 = $m; $1826 = (($1824) + ($1825))|0; $tkm2 = $1826; $1827 = $k57; $1828 = $0; $1829 = (($1828) + ($1827<<4)|0); $1830 = +HEAPF64[$1829>>3]; $ar = $1830; $1831 = $k57; $1832 = $0; $1833 = (($1832) + ($1831<<4)|0); $1834 = (($1833) + 8|0); $1835 = +HEAPF64[$1834>>3]; $ai = $1835; $1836 = $tkm158; $1837 = $0; $1838 = (($1837) + ($1836<<4)|0); $1839 = +HEAPF64[$1838>>3]; $1840 = $wlr60; $1841 = $1839 * $1840; $1842 = $tkm158; $1843 = $0; $1844 = (($1843) + ($1842<<4)|0); $1845 = (($1844) + 8|0); $1846 = +HEAPF64[$1845>>3]; $1847 = $wli61; $1848 = $1846 * $1847; $1849 = $1841 - $1848; $br = $1849; $1850 = $tkm158; $1851 = $0; $1852 = (($1851) + ($1850<<4)|0); $1853 = (($1852) + 8|0); $1854 = +HEAPF64[$1853>>3]; $1855 = $wlr60; $1856 = $1854 * $1855; $1857 = $tkm158; $1858 = $0; $1859 = (($1858) + ($1857<<4)|0); $1860 = +HEAPF64[$1859>>3]; $1861 = $wli61; $1862 = $1860 * $1861; $1863 = $1856 + $1862; $bi = $1863; $1864 = $tkm2; $1865 = $0; $1866 = (($1865) + ($1864<<4)|0); $1867 = +HEAPF64[$1866>>3]; $1868 = $wl2r; $1869 = $1867 * $1868; $1870 = $tkm2; $1871 = $0; $1872 = (($1871) + ($1870<<4)|0); $1873 = (($1872) + 8|0); $1874 = +HEAPF64[$1873>>3]; $1875 = $wl2i; $1876 = $1874 * $1875; $1877 = $1869 - $1876; $cr = $1877; $1878 = $tkm2; $1879 = $0; $1880 = (($1879) + ($1878<<4)|0); $1881 = (($1880) + 8|0); $1882 = +HEAPF64[$1881>>3]; $1883 = $wl2r; $1884 = $1882 * $1883; $1885 = $tkm2; $1886 = $0; $1887 = (($1886) + ($1885<<4)|0); $1888 = +HEAPF64[$1887>>3]; $1889 = $wl2i; $1890 = $1888 * $1889; $1891 = $1884 + $1890; $ci = $1891; $1892 = $br; $1893 = $cr; $1894 = $1892 + $1893; $tau0r62 = $1894; $1895 = $bi; $1896 = $ci; $1897 = $1895 + $1896; $tau0i63 = $1897; $1898 = $3; $1899 = (+($1898|0)); $1900 = $1899 * 0.866025403780000035958; $1901 = $br; $1902 = $cr; $1903 = $1901 - $1902; $1904 = $1900 * $1903; $tau1r64 = $1904; $1905 = $3; $1906 = (+($1905|0)); $1907 = $1906 * 0.866025403780000035958; $1908 = $bi; $1909 = $ci; $1910 = $1908 - $1909; $1911 = $1907 * $1910; $tau1i65 = $1911; $1912 = $ar; $1913 = $tau0r62; $1914 = $1913 * 0.5; $1915 = $1912 - $1914; $tau2r66 = $1915; $1916 = $ai; $1917 = $tau0i63; $1918 = $1917 * 0.5; $1919 = $1916 - $1918; $tau2i67 = $1919; $1920 = $ar; $1921 = $tau0r62; $1922 = $1920 + $1921; $1923 = $k57; $1924 = $0; $1925 = (($1924) + ($1923<<4)|0); HEAPF64[$1925>>3] = $1922; $1926 = $ai; $1927 = $tau0i63; $1928 = $1926 + $1927; $1929 = $k57; $1930 = $0; $1931 = (($1930) + ($1929<<4)|0); $1932 = (($1931) + 8|0); HEAPF64[$1932>>3] = $1928; $1933 = $tau2r66; $1934 = $tau1i65; $1935 = $1933 + $1934; $1936 = $tkm158; $1937 = $0; $1938 = (($1937) + ($1936<<4)|0); HEAPF64[$1938>>3] = $1935; $1939 = $tau2i67; $1940 = $tau1r64; $1941 = $1939 - $1940; $1942 = $tkm158; $1943 = $0; $1944 = (($1943) + ($1942<<4)|0); $1945 = (($1944) + 8|0); HEAPF64[$1945>>3] = $1941; $1946 = $tau2r66; $1947 = $tau1i65; $1948 = $1946 - $1947; $1949 = $tkm2; $1950 = $0; $1951 = (($1950) + ($1949<<4)|0); HEAPF64[$1951>>3] = $1948; $1952 = $tau2i67; $1953 = $tau1r64; $1954 = $1952 + $1953; $1955 = $tkm2; $1956 = $0; $1957 = (($1956) + ($1955<<4)|0); $1958 = (($1957) + 8|0); HEAPF64[$1958>>3] = $1954; $1959 = $k57; $1960 = (($1959) + 1)|0; $k57 = $1960; } } else { $1961 = $radix; $1962 = ($1961|0)==(4); if ($1962) { $1963 = $4; $1964 = (($1963|0) / 4)&-1; $m = $1964; $1965 = $5; $1966 = $1965<<2; $ll = $1966; $1967 = $0; $1968 = $1; $1969 = $2; $1970 = $3; $1971 = $m; $1972 = $ll; $1973 = $6; $1974 = (($1973) + 1)|0; _mixed_radix_dit_rec($1967,$1968,$1969,$1970,$1971,$1972,$1974); $1975 = $0; $1976 = $m; $1977 = (($1975) + ($1976<<4)|0); $1978 = $1; $1979 = $5; $1980 = (($1978) + ($1979<<4)|0); $1981 = $2; $1982 = $3; $1983 = $m; $1984 = $ll; $1985 = $6; $1986 = (($1985) + 1)|0; _mixed_radix_dit_rec($1977,$1980,$1981,$1982,$1983,$1984,$1986); $1987 = $0; $1988 = $m; $1989 = $1988<<1; $1990 = (($1987) + ($1989<<4)|0); $1991 = $1; $1992 = $5; $1993 = $1992<<1; $1994 = (($1991) + ($1993<<4)|0); $1995 = $2; $1996 = $3; $1997 = $m; $1998 = $ll; $1999 = $6; $2000 = (($1999) + 1)|0; _mixed_radix_dit_rec($1990,$1994,$1995,$1996,$1997,$1998,$2000); $2001 = $0; $2002 = $m; $2003 = ($2002*3)|0; $2004 = (($2001) + ($2003<<4)|0); $2005 = $1; $2006 = $5; $2007 = ($2006*3)|0; $2008 = (($2005) + ($2007<<4)|0); $2009 = $2; $2010 = $3; $2011 = $m; $2012 = $ll; $2013 = $6; $2014 = (($2013) + 1)|0; _mixed_radix_dit_rec($2004,$2008,$2009,$2010,$2011,$2012,$2014); $2015 = $m; $tkm169 = $2015; $2016 = $tkm169; $2017 = $m; $2018 = (($2016) + ($2017))|0; $tkm270 = $2018; $2019 = $tkm270; $2020 = $m; $2021 = (($2019) + ($2020))|0; $tkm3 = $2021; $2022 = $0; $2023 = +HEAPF64[$2022>>3]; $ar84 = $2023; $2024 = $0; $2025 = (($2024) + 8|0); $2026 = +HEAPF64[$2025>>3]; $ai85 = $2026; $2027 = $tkm169; $2028 = $0; $2029 = (($2028) + ($2027<<4)|0); $2030 = +HEAPF64[$2029>>3]; $br86 = $2030; $2031 = $tkm169; $2032 = $0; $2033 = (($2032) + ($2031<<4)|0); $2034 = (($2033) + 8|0); $2035 = +HEAPF64[$2034>>3]; $bi87 = $2035; $2036 = $tkm270; $2037 = $0; $2038 = (($2037) + ($2036<<4)|0); $2039 = +HEAPF64[$2038>>3]; $cr88 = $2039; $2040 = $tkm270; $2041 = $0; $2042 = (($2041) + ($2040<<4)|0); $2043 = (($2042) + 8|0); $2044 = +HEAPF64[$2043>>3]; $ci89 = $2044; $2045 = $tkm3; $2046 = $0; $2047 = (($2046) + ($2045<<4)|0); $2048 = +HEAPF64[$2047>>3]; $dr = $2048; $2049 = $tkm3; $2050 = $0; $2051 = (($2050) + ($2049<<4)|0); $2052 = (($2051) + 8|0); $2053 = +HEAPF64[$2052>>3]; $di = $2053; $2054 = $ar84; $2055 = $cr88; $2056 = $2054 + $2055; $tau0r76 = $2056; $2057 = $ai85; $2058 = $ci89; $2059 = $2057 + $2058; $tau0i77 = $2059; $2060 = $ar84; $2061 = $cr88; $2062 = $2060 - $2061; $tau1r78 = $2062; $2063 = $ai85; $2064 = $ci89; $2065 = $2063 - $2064; $tau1i79 = $2065; $2066 = $br86; $2067 = $dr; $2068 = $2066 + $2067; $tau2r80 = $2068; $2069 = $bi87; $2070 = $di; $2071 = $2069 + $2070; $tau2i81 = $2071; $2072 = $3; $2073 = (+($2072|0)); $2074 = $br86; $2075 = $dr; $2076 = $2074 - $2075; $2077 = $2073 * $2076; $tau3r82 = $2077; $2078 = $3; $2079 = (+($2078|0)); $2080 = $bi87; $2081 = $di; $2082 = $2080 - $2081; $2083 = $2079 * $2082; $tau3i83 = $2083; $2084 = $tau0r76; $2085 = $tau2r80; $2086 = $2084 + $2085; $2087 = $0; HEAPF64[$2087>>3] = $2086; $2088 = $tau0i77; $2089 = $tau2i81; $2090 = $2088 + $2089; $2091 = $0; $2092 = (($2091) + 8|0); HEAPF64[$2092>>3] = $2090; $2093 = $tau1r78; $2094 = $tau3i83; $2095 = $2093 + $2094; $2096 = $tkm169; $2097 = $0; $2098 = (($2097) + ($2096<<4)|0); HEAPF64[$2098>>3] = $2095; $2099 = $tau1i79; $2100 = $tau3r82; $2101 = $2099 - $2100; $2102 = $tkm169; $2103 = $0; $2104 = (($2103) + ($2102<<4)|0); $2105 = (($2104) + 8|0); HEAPF64[$2105>>3] = $2101; $2106 = $tau0r76; $2107 = $tau2r80; $2108 = $2106 - $2107; $2109 = $tkm270; $2110 = $0; $2111 = (($2110) + ($2109<<4)|0); HEAPF64[$2111>>3] = $2108; $2112 = $tau0i77; $2113 = $tau2i81; $2114 = $2112 - $2113; $2115 = $tkm270; $2116 = $0; $2117 = (($2116) + ($2115<<4)|0); $2118 = (($2117) + 8|0); HEAPF64[$2118>>3] = $2114; $2119 = $tau1r78; $2120 = $tau3i83; $2121 = $2119 - $2120; $2122 = $tkm3; $2123 = $0; $2124 = (($2123) + ($2122<<4)|0); HEAPF64[$2124>>3] = $2121; $2125 = $tau1i79; $2126 = $tau3r82; $2127 = $2125 + $2126; $2128 = $tkm3; $2129 = $0; $2130 = (($2129) + ($2128<<4)|0); $2131 = (($2130) + 8|0); HEAPF64[$2131>>3] = $2127; $k68 = 1; while(1) { $2132 = $k68; $2133 = $m; $2134 = ($2132|0)<($2133|0); if (!($2134)) { break; } $2135 = $m; $2136 = (($2135) - 1)|0; $2137 = $k68; $2138 = ($2137*3)|0; $2139 = (($2136) + ($2138))|0; $ind71 = $2139; $2140 = $2; $2141 = (($2140) + 272|0); $2142 = $ind71; $2143 = (($2141) + ($2142<<4)|0); $2144 = +HEAPF64[$2143>>3]; $wlr72 = $2144; $2145 = $2; $2146 = (($2145) + 272|0); $2147 = $ind71; $2148 = (($2146) + ($2147<<4)|0); $2149 = (($2148) + 8|0); $2150 = +HEAPF64[$2149>>3]; $wli73 = $2150; $2151 = $ind71; $2152 = (($2151) + 1)|0; $ind71 = $2152; $2153 = $2; $2154 = (($2153) + 272|0); $2155 = $ind71; $2156 = (($2154) + ($2155<<4)|0); $2157 = +HEAPF64[$2156>>3]; $wl2r74 = $2157; $2158 = $2; $2159 = (($2158) + 272|0); $2160 = $ind71; $2161 = (($2159) + ($2160<<4)|0); $2162 = (($2161) + 8|0); $2163 = +HEAPF64[$2162>>3]; $wl2i75 = $2163; $2164 = $ind71; $2165 = (($2164) + 1)|0; $ind71 = $2165; $2166 = $2; $2167 = (($2166) + 272|0); $2168 = $ind71; $2169 = (($2167) + ($2168<<4)|0); $2170 = +HEAPF64[$2169>>3]; $wl3r = $2170; $2171 = $2; $2172 = (($2171) + 272|0); $2173 = $ind71; $2174 = (($2172) + ($2173<<4)|0); $2175 = (($2174) + 8|0); $2176 = +HEAPF64[$2175>>3]; $wl3i = $2176; $2177 = $k68; $2178 = $m; $2179 = (($2177) + ($2178))|0; $tkm169 = $2179; $2180 = $tkm169; $2181 = $m; $2182 = (($2180) + ($2181))|0; $tkm270 = $2182; $2183 = $tkm270; $2184 = $m; $2185 = (($2183) + ($2184))|0; $tkm3 = $2185; $2186 = $k68; $2187 = $0; $2188 = (($2187) + ($2186<<4)|0); $2189 = +HEAPF64[$2188>>3]; $ar84 = $2189; $2190 = $k68; $2191 = $0; $2192 = (($2191) + ($2190<<4)|0); $2193 = (($2192) + 8|0); $2194 = +HEAPF64[$2193>>3]; $ai85 = $2194; $2195 = $tkm169; $2196 = $0; $2197 = (($2196) + ($2195<<4)|0); $2198 = +HEAPF64[$2197>>3]; $2199 = $wlr72; $2200 = $2198 * $2199; $2201 = $tkm169; $2202 = $0; $2203 = (($2202) + ($2201<<4)|0); $2204 = (($2203) + 8|0); $2205 = +HEAPF64[$2204>>3]; $2206 = $wli73; $2207 = $2205 * $2206; $2208 = $2200 - $2207; $br86 = $2208; $2209 = $tkm169; $2210 = $0; $2211 = (($2210) + ($2209<<4)|0); $2212 = (($2211) + 8|0); $2213 = +HEAPF64[$2212>>3]; $2214 = $wlr72; $2215 = $2213 * $2214; $2216 = $tkm169; $2217 = $0; $2218 = (($2217) + ($2216<<4)|0); $2219 = +HEAPF64[$2218>>3]; $2220 = $wli73; $2221 = $2219 * $2220; $2222 = $2215 + $2221; $bi87 = $2222; $2223 = $tkm270; $2224 = $0; $2225 = (($2224) + ($2223<<4)|0); $2226 = +HEAPF64[$2225>>3]; $2227 = $wl2r74; $2228 = $2226 * $2227; $2229 = $tkm270; $2230 = $0; $2231 = (($2230) + ($2229<<4)|0); $2232 = (($2231) + 8|0); $2233 = +HEAPF64[$2232>>3]; $2234 = $wl2i75; $2235 = $2233 * $2234; $2236 = $2228 - $2235; $cr88 = $2236; $2237 = $tkm270; $2238 = $0; $2239 = (($2238) + ($2237<<4)|0); $2240 = (($2239) + 8|0); $2241 = +HEAPF64[$2240>>3]; $2242 = $wl2r74; $2243 = $2241 * $2242; $2244 = $tkm270; $2245 = $0; $2246 = (($2245) + ($2244<<4)|0); $2247 = +HEAPF64[$2246>>3]; $2248 = $wl2i75; $2249 = $2247 * $2248; $2250 = $2243 + $2249; $ci89 = $2250; $2251 = $tkm3; $2252 = $0; $2253 = (($2252) + ($2251<<4)|0); $2254 = +HEAPF64[$2253>>3]; $2255 = $wl3r; $2256 = $2254 * $2255; $2257 = $tkm3; $2258 = $0; $2259 = (($2258) + ($2257<<4)|0); $2260 = (($2259) + 8|0); $2261 = +HEAPF64[$2260>>3]; $2262 = $wl3i; $2263 = $2261 * $2262; $2264 = $2256 - $2263; $dr = $2264; $2265 = $tkm3; $2266 = $0; $2267 = (($2266) + ($2265<<4)|0); $2268 = (($2267) + 8|0); $2269 = +HEAPF64[$2268>>3]; $2270 = $wl3r; $2271 = $2269 * $2270; $2272 = $tkm3; $2273 = $0; $2274 = (($2273) + ($2272<<4)|0); $2275 = +HEAPF64[$2274>>3]; $2276 = $wl3i; $2277 = $2275 * $2276; $2278 = $2271 + $2277; $di = $2278; $2279 = $ar84; $2280 = $cr88; $2281 = $2279 + $2280; $tau0r76 = $2281; $2282 = $ai85; $2283 = $ci89; $2284 = $2282 + $2283; $tau0i77 = $2284; $2285 = $ar84; $2286 = $cr88; $2287 = $2285 - $2286; $tau1r78 = $2287; $2288 = $ai85; $2289 = $ci89; $2290 = $2288 - $2289; $tau1i79 = $2290; $2291 = $br86; $2292 = $dr; $2293 = $2291 + $2292; $tau2r80 = $2293; $2294 = $bi87; $2295 = $di; $2296 = $2294 + $2295; $tau2i81 = $2296; $2297 = $3; $2298 = (+($2297|0)); $2299 = $br86; $2300 = $dr; $2301 = $2299 - $2300; $2302 = $2298 * $2301; $tau3r82 = $2302; $2303 = $3; $2304 = (+($2303|0)); $2305 = $bi87; $2306 = $di; $2307 = $2305 - $2306; $2308 = $2304 * $2307; $tau3i83 = $2308; $2309 = $tau0r76; $2310 = $tau2r80; $2311 = $2309 + $2310; $2312 = $k68; $2313 = $0; $2314 = (($2313) + ($2312<<4)|0); HEAPF64[$2314>>3] = $2311; $2315 = $tau0i77; $2316 = $tau2i81; $2317 = $2315 + $2316; $2318 = $k68; $2319 = $0; $2320 = (($2319) + ($2318<<4)|0); $2321 = (($2320) + 8|0); HEAPF64[$2321>>3] = $2317; $2322 = $tau1r78; $2323 = $tau3i83; $2324 = $2322 + $2323; $2325 = $tkm169; $2326 = $0; $2327 = (($2326) + ($2325<<4)|0); HEAPF64[$2327>>3] = $2324; $2328 = $tau1i79; $2329 = $tau3r82; $2330 = $2328 - $2329; $2331 = $tkm169; $2332 = $0; $2333 = (($2332) + ($2331<<4)|0); $2334 = (($2333) + 8|0); HEAPF64[$2334>>3] = $2330; $2335 = $tau0r76; $2336 = $tau2r80; $2337 = $2335 - $2336; $2338 = $tkm270; $2339 = $0; $2340 = (($2339) + ($2338<<4)|0); HEAPF64[$2340>>3] = $2337; $2341 = $tau0i77; $2342 = $tau2i81; $2343 = $2341 - $2342; $2344 = $tkm270; $2345 = $0; $2346 = (($2345) + ($2344<<4)|0); $2347 = (($2346) + 8|0); HEAPF64[$2347>>3] = $2343; $2348 = $tau1r78; $2349 = $tau3i83; $2350 = $2348 - $2349; $2351 = $tkm3; $2352 = $0; $2353 = (($2352) + ($2351<<4)|0); HEAPF64[$2353>>3] = $2350; $2354 = $tau1i79; $2355 = $tau3r82; $2356 = $2354 + $2355; $2357 = $tkm3; $2358 = $0; $2359 = (($2358) + ($2357<<4)|0); $2360 = (($2359) + 8|0); HEAPF64[$2360>>3] = $2356; $2361 = $k68; $2362 = (($2361) + 1)|0; $k68 = $2362; } } else { $2363 = $radix; $2364 = ($2363|0)==(5); if ($2364) { $2365 = $4; $2366 = (($2365|0) / 5)&-1; $m = $2366; $2367 = $5; $2368 = ($2367*5)|0; $ll = $2368; $2369 = $0; $2370 = $1; $2371 = $2; $2372 = $3; $2373 = $m; $2374 = $ll; $2375 = $6; $2376 = (($2375) + 1)|0; _mixed_radix_dit_rec($2369,$2370,$2371,$2372,$2373,$2374,$2376); $2377 = $0; $2378 = $m; $2379 = (($2377) + ($2378<<4)|0); $2380 = $1; $2381 = $5; $2382 = (($2380) + ($2381<<4)|0); $2383 = $2; $2384 = $3; $2385 = $m; $2386 = $ll; $2387 = $6; $2388 = (($2387) + 1)|0; _mixed_radix_dit_rec($2379,$2382,$2383,$2384,$2385,$2386,$2388); $2389 = $0; $2390 = $m; $2391 = $2390<<1; $2392 = (($2389) + ($2391<<4)|0); $2393 = $1; $2394 = $5; $2395 = $2394<<1; $2396 = (($2393) + ($2395<<4)|0); $2397 = $2; $2398 = $3; $2399 = $m; $2400 = $ll; $2401 = $6; $2402 = (($2401) + 1)|0; _mixed_radix_dit_rec($2392,$2396,$2397,$2398,$2399,$2400,$2402); $2403 = $0; $2404 = $m; $2405 = ($2404*3)|0; $2406 = (($2403) + ($2405<<4)|0); $2407 = $1; $2408 = $5; $2409 = ($2408*3)|0; $2410 = (($2407) + ($2409<<4)|0); $2411 = $2; $2412 = $3; $2413 = $m; $2414 = $ll; $2415 = $6; $2416 = (($2415) + 1)|0; _mixed_radix_dit_rec($2406,$2410,$2411,$2412,$2413,$2414,$2416); $2417 = $0; $2418 = $m; $2419 = $2418<<2; $2420 = (($2417) + ($2419<<4)|0); $2421 = $1; $2422 = $5; $2423 = $2422<<2; $2424 = (($2421) + ($2423<<4)|0); $2425 = $2; $2426 = $3; $2427 = $m; $2428 = $ll; $2429 = $6; $2430 = (($2429) + 1)|0; _mixed_radix_dit_rec($2420,$2424,$2425,$2426,$2427,$2428,$2430); $c1123 = 0.309016994370000019909; $c2124 = -0.809016994369999964398; $s1125 = 0.951056516289999986923; $s2126 = 0.587785252290000004294; $2431 = $m; $tkm191 = $2431; $2432 = $tkm191; $2433 = $m; $2434 = (($2432) + ($2433))|0; $tkm292 = $2434; $2435 = $tkm292; $2436 = $m; $2437 = (($2435) + ($2436))|0; $tkm393 = $2437; $2438 = $tkm393; $2439 = $m; $2440 = (($2438) + ($2439))|0; $tkm4 = $2440; $2441 = $0; $2442 = +HEAPF64[$2441>>3]; $ar109 = $2442; $2443 = $0; $2444 = (($2443) + 8|0); $2445 = +HEAPF64[$2444>>3]; $ai110 = $2445; $2446 = $tkm191; $2447 = $0; $2448 = (($2447) + ($2446<<4)|0); $2449 = +HEAPF64[$2448>>3]; $br111 = $2449; $2450 = $tkm191; $2451 = $0; $2452 = (($2451) + ($2450<<4)|0); $2453 = (($2452) + 8|0); $2454 = +HEAPF64[$2453>>3]; $bi112 = $2454; $2455 = $tkm292; $2456 = $0; $2457 = (($2456) + ($2455<<4)|0); $2458 = +HEAPF64[$2457>>3]; $cr113 = $2458; $2459 = $tkm292; $2460 = $0; $2461 = (($2460) + ($2459<<4)|0); $2462 = (($2461) + 8|0); $2463 = +HEAPF64[$2462>>3]; $ci114 = $2463; $2464 = $tkm393; $2465 = $0; $2466 = (($2465) + ($2464<<4)|0); $2467 = +HEAPF64[$2466>>3]; $dr115 = $2467; $2468 = $tkm393; $2469 = $0; $2470 = (($2469) + ($2468<<4)|0); $2471 = (($2470) + 8|0); $2472 = +HEAPF64[$2471>>3]; $di116 = $2472; $2473 = $tkm4; $2474 = $0; $2475 = (($2474) + ($2473<<4)|0); $2476 = +HEAPF64[$2475>>3]; $er = $2476; $2477 = $tkm4; $2478 = $0; $2479 = (($2478) + ($2477<<4)|0); $2480 = (($2479) + 8|0); $2481 = +HEAPF64[$2480>>3]; $ei = $2481; $2482 = $br111; $2483 = $er; $2484 = $2482 + $2483; $tau0r101 = $2484; $2485 = $bi112; $2486 = $ei; $2487 = $2485 + $2486; $tau0i102 = $2487; $2488 = $cr113; $2489 = $dr115; $2490 = $2488 + $2489; $tau1r103 = $2490; $2491 = $ci114; $2492 = $di116; $2493 = $2491 + $2492; $tau1i104 = $2493; $2494 = $br111; $2495 = $er; $2496 = $2494 - $2495; $tau2r105 = $2496; $2497 = $bi112; $2498 = $ei; $2499 = $2497 - $2498; $tau2i106 = $2499; $2500 = $cr113; $2501 = $dr115; $2502 = $2500 - $2501; $tau3r107 = $2502; $2503 = $ci114; $2504 = $di116; $2505 = $2503 - $2504; $tau3i108 = $2505; $2506 = $ar109; $2507 = $tau0r101; $2508 = $2506 + $2507; $2509 = $tau1r103; $2510 = $2508 + $2509; $2511 = $0; HEAPF64[$2511>>3] = $2510; $2512 = $ai110; $2513 = $tau0i102; $2514 = $2512 + $2513; $2515 = $tau1i104; $2516 = $2514 + $2515; $2517 = $0; $2518 = (($2517) + 8|0); HEAPF64[$2518>>3] = $2516; $2519 = $c1123; $2520 = $tau0r101; $2521 = $2519 * $2520; $2522 = $c2124; $2523 = $tau1r103; $2524 = $2522 * $2523; $2525 = $2521 + $2524; $tau4r117 = $2525; $2526 = $c1123; $2527 = $tau0i102; $2528 = $2526 * $2527; $2529 = $c2124; $2530 = $tau1i104; $2531 = $2529 * $2530; $2532 = $2528 + $2531; $tau4i118 = $2532; $2533 = $3; $2534 = (+($2533|0)); $2535 = $s1125; $2536 = $tau2r105; $2537 = $2535 * $2536; $2538 = $s2126; $2539 = $tau3r107; $2540 = $2538 * $2539; $2541 = $2537 + $2540; $2542 = $2534 * $2541; $tau5r119 = $2542; $2543 = $3; $2544 = (+($2543|0)); $2545 = $s1125; $2546 = $tau2i106; $2547 = $2545 * $2546; $2548 = $s2126; $2549 = $tau3i108; $2550 = $2548 * $2549; $2551 = $2547 + $2550; $2552 = $2544 * $2551; $tau5i120 = $2552; $2553 = $ar109; $2554 = $tau4r117; $2555 = $2553 + $2554; $tau6r121 = $2555; $2556 = $ai110; $2557 = $tau4i118; $2558 = $2556 + $2557; $tau6i122 = $2558; $2559 = $tau6r121; $2560 = $tau5i120; $2561 = $2559 + $2560; $2562 = $tkm191; $2563 = $0; $2564 = (($2563) + ($2562<<4)|0); HEAPF64[$2564>>3] = $2561; $2565 = $tau6i122; $2566 = $tau5r119; $2567 = $2565 - $2566; $2568 = $tkm191; $2569 = $0; $2570 = (($2569) + ($2568<<4)|0); $2571 = (($2570) + 8|0); HEAPF64[$2571>>3] = $2567; $2572 = $tau6r121; $2573 = $tau5i120; $2574 = $2572 - $2573; $2575 = $tkm4; $2576 = $0; $2577 = (($2576) + ($2575<<4)|0); HEAPF64[$2577>>3] = $2574; $2578 = $tau6i122; $2579 = $tau5r119; $2580 = $2578 + $2579; $2581 = $tkm4; $2582 = $0; $2583 = (($2582) + ($2581<<4)|0); $2584 = (($2583) + 8|0); HEAPF64[$2584>>3] = $2580; $2585 = $c2124; $2586 = $tau0r101; $2587 = $2585 * $2586; $2588 = $c1123; $2589 = $tau1r103; $2590 = $2588 * $2589; $2591 = $2587 + $2590; $tau4r117 = $2591; $2592 = $c2124; $2593 = $tau0i102; $2594 = $2592 * $2593; $2595 = $c1123; $2596 = $tau1i104; $2597 = $2595 * $2596; $2598 = $2594 + $2597; $tau4i118 = $2598; $2599 = $3; $2600 = (+($2599|0)); $2601 = $s2126; $2602 = $tau2r105; $2603 = $2601 * $2602; $2604 = $s1125; $2605 = $tau3r107; $2606 = $2604 * $2605; $2607 = $2603 - $2606; $2608 = $2600 * $2607; $tau5r119 = $2608; $2609 = $3; $2610 = (+($2609|0)); $2611 = $s2126; $2612 = $tau2i106; $2613 = $2611 * $2612; $2614 = $s1125; $2615 = $tau3i108; $2616 = $2614 * $2615; $2617 = $2613 - $2616; $2618 = $2610 * $2617; $tau5i120 = $2618; $2619 = $ar109; $2620 = $tau4r117; $2621 = $2619 + $2620; $tau6r121 = $2621; $2622 = $ai110; $2623 = $tau4i118; $2624 = $2622 + $2623; $tau6i122 = $2624; $2625 = $tau6r121; $2626 = $tau5i120; $2627 = $2625 + $2626; $2628 = $tkm292; $2629 = $0; $2630 = (($2629) + ($2628<<4)|0); HEAPF64[$2630>>3] = $2627; $2631 = $tau6i122; $2632 = $tau5r119; $2633 = $2631 - $2632; $2634 = $tkm292; $2635 = $0; $2636 = (($2635) + ($2634<<4)|0); $2637 = (($2636) + 8|0); HEAPF64[$2637>>3] = $2633; $2638 = $tau6r121; $2639 = $tau5i120; $2640 = $2638 - $2639; $2641 = $tkm393; $2642 = $0; $2643 = (($2642) + ($2641<<4)|0); HEAPF64[$2643>>3] = $2640; $2644 = $tau6i122; $2645 = $tau5r119; $2646 = $2644 + $2645; $2647 = $tkm393; $2648 = $0; $2649 = (($2648) + ($2647<<4)|0); $2650 = (($2649) + 8|0); HEAPF64[$2650>>3] = $2646; $k90 = 1; while(1) { $2651 = $k90; $2652 = $m; $2653 = ($2651|0)<($2652|0); if (!($2653)) { break; } $2654 = $m; $2655 = (($2654) - 1)|0; $2656 = $k90; $2657 = $2656<<2; $2658 = (($2655) + ($2657))|0; $ind94 = $2658; $2659 = $2; $2660 = (($2659) + 272|0); $2661 = $ind94; $2662 = (($2660) + ($2661<<4)|0); $2663 = +HEAPF64[$2662>>3]; $wlr95 = $2663; $2664 = $2; $2665 = (($2664) + 272|0); $2666 = $ind94; $2667 = (($2665) + ($2666<<4)|0); $2668 = (($2667) + 8|0); $2669 = +HEAPF64[$2668>>3]; $wli96 = $2669; $2670 = $ind94; $2671 = (($2670) + 1)|0; $ind94 = $2671; $2672 = $2; $2673 = (($2672) + 272|0); $2674 = $ind94; $2675 = (($2673) + ($2674<<4)|0); $2676 = +HEAPF64[$2675>>3]; $wl2r97 = $2676; $2677 = $2; $2678 = (($2677) + 272|0); $2679 = $ind94; $2680 = (($2678) + ($2679<<4)|0); $2681 = (($2680) + 8|0); $2682 = +HEAPF64[$2681>>3]; $wl2i98 = $2682; $2683 = $ind94; $2684 = (($2683) + 1)|0; $ind94 = $2684; $2685 = $2; $2686 = (($2685) + 272|0); $2687 = $ind94; $2688 = (($2686) + ($2687<<4)|0); $2689 = +HEAPF64[$2688>>3]; $wl3r99 = $2689; $2690 = $2; $2691 = (($2690) + 272|0); $2692 = $ind94; $2693 = (($2691) + ($2692<<4)|0); $2694 = (($2693) + 8|0); $2695 = +HEAPF64[$2694>>3]; $wl3i100 = $2695; $2696 = $ind94; $2697 = (($2696) + 1)|0; $ind94 = $2697; $2698 = $2; $2699 = (($2698) + 272|0); $2700 = $ind94; $2701 = (($2699) + ($2700<<4)|0); $2702 = +HEAPF64[$2701>>3]; $wl4r = $2702; $2703 = $2; $2704 = (($2703) + 272|0); $2705 = $ind94; $2706 = (($2704) + ($2705<<4)|0); $2707 = (($2706) + 8|0); $2708 = +HEAPF64[$2707>>3]; $wl4i = $2708; $2709 = $k90; $2710 = $m; $2711 = (($2709) + ($2710))|0; $tkm191 = $2711; $2712 = $tkm191; $2713 = $m; $2714 = (($2712) + ($2713))|0; $tkm292 = $2714; $2715 = $tkm292; $2716 = $m; $2717 = (($2715) + ($2716))|0; $tkm393 = $2717; $2718 = $tkm393; $2719 = $m; $2720 = (($2718) + ($2719))|0; $tkm4 = $2720; $2721 = $k90; $2722 = $0; $2723 = (($2722) + ($2721<<4)|0); $2724 = +HEAPF64[$2723>>3]; $ar109 = $2724; $2725 = $k90; $2726 = $0; $2727 = (($2726) + ($2725<<4)|0); $2728 = (($2727) + 8|0); $2729 = +HEAPF64[$2728>>3]; $ai110 = $2729; $2730 = $tkm191; $2731 = $0; $2732 = (($2731) + ($2730<<4)|0); $2733 = +HEAPF64[$2732>>3]; $2734 = $wlr95; $2735 = $2733 * $2734; $2736 = $tkm191; $2737 = $0; $2738 = (($2737) + ($2736<<4)|0); $2739 = (($2738) + 8|0); $2740 = +HEAPF64[$2739>>3]; $2741 = $wli96; $2742 = $2740 * $2741; $2743 = $2735 - $2742; $br111 = $2743; $2744 = $tkm191; $2745 = $0; $2746 = (($2745) + ($2744<<4)|0); $2747 = (($2746) + 8|0); $2748 = +HEAPF64[$2747>>3]; $2749 = $wlr95; $2750 = $2748 * $2749; $2751 = $tkm191; $2752 = $0; $2753 = (($2752) + ($2751<<4)|0); $2754 = +HEAPF64[$2753>>3]; $2755 = $wli96; $2756 = $2754 * $2755; $2757 = $2750 + $2756; $bi112 = $2757; $2758 = $tkm292; $2759 = $0; $2760 = (($2759) + ($2758<<4)|0); $2761 = +HEAPF64[$2760>>3]; $2762 = $wl2r97; $2763 = $2761 * $2762; $2764 = $tkm292; $2765 = $0; $2766 = (($2765) + ($2764<<4)|0); $2767 = (($2766) + 8|0); $2768 = +HEAPF64[$2767>>3]; $2769 = $wl2i98; $2770 = $2768 * $2769; $2771 = $2763 - $2770; $cr113 = $2771; $2772 = $tkm292; $2773 = $0; $2774 = (($2773) + ($2772<<4)|0); $2775 = (($2774) + 8|0); $2776 = +HEAPF64[$2775>>3]; $2777 = $wl2r97; $2778 = $2776 * $2777; $2779 = $tkm292; $2780 = $0; $2781 = (($2780) + ($2779<<4)|0); $2782 = +HEAPF64[$2781>>3]; $2783 = $wl2i98; $2784 = $2782 * $2783; $2785 = $2778 + $2784; $ci114 = $2785; $2786 = $tkm393; $2787 = $0; $2788 = (($2787) + ($2786<<4)|0); $2789 = +HEAPF64[$2788>>3]; $2790 = $wl3r99; $2791 = $2789 * $2790; $2792 = $tkm393; $2793 = $0; $2794 = (($2793) + ($2792<<4)|0); $2795 = (($2794) + 8|0); $2796 = +HEAPF64[$2795>>3]; $2797 = $wl3i100; $2798 = $2796 * $2797; $2799 = $2791 - $2798; $dr115 = $2799; $2800 = $tkm393; $2801 = $0; $2802 = (($2801) + ($2800<<4)|0); $2803 = (($2802) + 8|0); $2804 = +HEAPF64[$2803>>3]; $2805 = $wl3r99; $2806 = $2804 * $2805; $2807 = $tkm393; $2808 = $0; $2809 = (($2808) + ($2807<<4)|0); $2810 = +HEAPF64[$2809>>3]; $2811 = $wl3i100; $2812 = $2810 * $2811; $2813 = $2806 + $2812; $di116 = $2813; $2814 = $tkm4; $2815 = $0; $2816 = (($2815) + ($2814<<4)|0); $2817 = +HEAPF64[$2816>>3]; $2818 = $wl4r; $2819 = $2817 * $2818; $2820 = $tkm4; $2821 = $0; $2822 = (($2821) + ($2820<<4)|0); $2823 = (($2822) + 8|0); $2824 = +HEAPF64[$2823>>3]; $2825 = $wl4i; $2826 = $2824 * $2825; $2827 = $2819 - $2826; $er = $2827; $2828 = $tkm4; $2829 = $0; $2830 = (($2829) + ($2828<<4)|0); $2831 = (($2830) + 8|0); $2832 = +HEAPF64[$2831>>3]; $2833 = $wl4r; $2834 = $2832 * $2833; $2835 = $tkm4; $2836 = $0; $2837 = (($2836) + ($2835<<4)|0); $2838 = +HEAPF64[$2837>>3]; $2839 = $wl4i; $2840 = $2838 * $2839; $2841 = $2834 + $2840; $ei = $2841; $2842 = $br111; $2843 = $er; $2844 = $2842 + $2843; $tau0r101 = $2844; $2845 = $bi112; $2846 = $ei; $2847 = $2845 + $2846; $tau0i102 = $2847; $2848 = $cr113; $2849 = $dr115; $2850 = $2848 + $2849; $tau1r103 = $2850; $2851 = $ci114; $2852 = $di116; $2853 = $2851 + $2852; $tau1i104 = $2853; $2854 = $br111; $2855 = $er; $2856 = $2854 - $2855; $tau2r105 = $2856; $2857 = $bi112; $2858 = $ei; $2859 = $2857 - $2858; $tau2i106 = $2859; $2860 = $cr113; $2861 = $dr115; $2862 = $2860 - $2861; $tau3r107 = $2862; $2863 = $ci114; $2864 = $di116; $2865 = $2863 - $2864; $tau3i108 = $2865; $2866 = $ar109; $2867 = $tau0r101; $2868 = $2866 + $2867; $2869 = $tau1r103; $2870 = $2868 + $2869; $2871 = $k90; $2872 = $0; $2873 = (($2872) + ($2871<<4)|0); HEAPF64[$2873>>3] = $2870; $2874 = $ai110; $2875 = $tau0i102; $2876 = $2874 + $2875; $2877 = $tau1i104; $2878 = $2876 + $2877; $2879 = $k90; $2880 = $0; $2881 = (($2880) + ($2879<<4)|0); $2882 = (($2881) + 8|0); HEAPF64[$2882>>3] = $2878; $2883 = $c1123; $2884 = $tau0r101; $2885 = $2883 * $2884; $2886 = $c2124; $2887 = $tau1r103; $2888 = $2886 * $2887; $2889 = $2885 + $2888; $tau4r117 = $2889; $2890 = $c1123; $2891 = $tau0i102; $2892 = $2890 * $2891; $2893 = $c2124; $2894 = $tau1i104; $2895 = $2893 * $2894; $2896 = $2892 + $2895; $tau4i118 = $2896; $2897 = $3; $2898 = ($2897|0)==(1); if ($2898) { $2899 = $s1125; $2900 = $tau2r105; $2901 = $2899 * $2900; $2902 = $s2126; $2903 = $tau3r107; $2904 = $2902 * $2903; $2905 = $2901 + $2904; $tau5r119 = $2905; $2906 = $s1125; $2907 = $tau2i106; $2908 = $2906 * $2907; $2909 = $s2126; $2910 = $tau3i108; $2911 = $2909 * $2910; $2912 = $2908 + $2911; $tau5i120 = $2912; } else { $2913 = $s1125; $2914 = -$2913; $2915 = $tau2r105; $2916 = $2914 * $2915; $2917 = $s2126; $2918 = $tau3r107; $2919 = $2917 * $2918; $2920 = $2916 - $2919; $tau5r119 = $2920; $2921 = $s1125; $2922 = -$2921; $2923 = $tau2i106; $2924 = $2922 * $2923; $2925 = $s2126; $2926 = $tau3i108; $2927 = $2925 * $2926; $2928 = $2924 - $2927; $tau5i120 = $2928; } $2929 = $ar109; $2930 = $tau4r117; $2931 = $2929 + $2930; $tau6r121 = $2931; $2932 = $ai110; $2933 = $tau4i118; $2934 = $2932 + $2933; $tau6i122 = $2934; $2935 = $tau6r121; $2936 = $tau5i120; $2937 = $2935 + $2936; $2938 = $tkm191; $2939 = $0; $2940 = (($2939) + ($2938<<4)|0); HEAPF64[$2940>>3] = $2937; $2941 = $tau6i122; $2942 = $tau5r119; $2943 = $2941 - $2942; $2944 = $tkm191; $2945 = $0; $2946 = (($2945) + ($2944<<4)|0); $2947 = (($2946) + 8|0); HEAPF64[$2947>>3] = $2943; $2948 = $tau6r121; $2949 = $tau5i120; $2950 = $2948 - $2949; $2951 = $tkm4; $2952 = $0; $2953 = (($2952) + ($2951<<4)|0); HEAPF64[$2953>>3] = $2950; $2954 = $tau6i122; $2955 = $tau5r119; $2956 = $2954 + $2955; $2957 = $tkm4; $2958 = $0; $2959 = (($2958) + ($2957<<4)|0); $2960 = (($2959) + 8|0); HEAPF64[$2960>>3] = $2956; $2961 = $c2124; $2962 = $tau0r101; $2963 = $2961 * $2962; $2964 = $c1123; $2965 = $tau1r103; $2966 = $2964 * $2965; $2967 = $2963 + $2966; $tau4r117 = $2967; $2968 = $c2124; $2969 = $tau0i102; $2970 = $2968 * $2969; $2971 = $c1123; $2972 = $tau1i104; $2973 = $2971 * $2972; $2974 = $2970 + $2973; $tau4i118 = $2974; $2975 = $3; $2976 = ($2975|0)==(1); if ($2976) { $2977 = $s2126; $2978 = $tau2r105; $2979 = $2977 * $2978; $2980 = $s1125; $2981 = $tau3r107; $2982 = $2980 * $2981; $2983 = $2979 - $2982; $tau5r119 = $2983; $2984 = $s2126; $2985 = $tau2i106; $2986 = $2984 * $2985; $2987 = $s1125; $2988 = $tau3i108; $2989 = $2987 * $2988; $2990 = $2986 - $2989; $tau5i120 = $2990; } else { $2991 = $s2126; $2992 = -$2991; $2993 = $tau2r105; $2994 = $2992 * $2993; $2995 = $s1125; $2996 = $tau3r107; $2997 = $2995 * $2996; $2998 = $2994 + $2997; $tau5r119 = $2998; $2999 = $s2126; $3000 = -$2999; $3001 = $tau2i106; $3002 = $3000 * $3001; $3003 = $s1125; $3004 = $tau3i108; $3005 = $3003 * $3004; $3006 = $3002 + $3005; $tau5i120 = $3006; } $3007 = $ar109; $3008 = $tau4r117; $3009 = $3007 + $3008; $tau6r121 = $3009; $3010 = $ai110; $3011 = $tau4i118; $3012 = $3010 + $3011; $tau6i122 = $3012; $3013 = $tau6r121; $3014 = $tau5i120; $3015 = $3013 + $3014; $3016 = $tkm292; $3017 = $0; $3018 = (($3017) + ($3016<<4)|0); HEAPF64[$3018>>3] = $3015; $3019 = $tau6i122; $3020 = $tau5r119; $3021 = $3019 - $3020; $3022 = $tkm292; $3023 = $0; $3024 = (($3023) + ($3022<<4)|0); $3025 = (($3024) + 8|0); HEAPF64[$3025>>3] = $3021; $3026 = $tau6r121; $3027 = $tau5i120; $3028 = $3026 - $3027; $3029 = $tkm393; $3030 = $0; $3031 = (($3030) + ($3029<<4)|0); HEAPF64[$3031>>3] = $3028; $3032 = $tau6i122; $3033 = $tau5r119; $3034 = $3032 + $3033; $3035 = $tkm393; $3036 = $0; $3037 = (($3036) + ($3035<<4)|0); $3038 = (($3037) + 8|0); HEAPF64[$3038>>3] = $3034; $3039 = $k90; $3040 = (($3039) + 1)|0; $k90 = $3040; } } else { $3041 = $radix; $3042 = ($3041|0)==(7); if ($3042) { $3043 = $4; $3044 = (($3043|0) / 7)&-1; $m = $3044; $3045 = $5; $3046 = ($3045*7)|0; $ll = $3046; $3047 = $0; $3048 = $1; $3049 = $2; $3050 = $3; $3051 = $m; $3052 = $ll; $3053 = $6; $3054 = (($3053) + 1)|0; _mixed_radix_dit_rec($3047,$3048,$3049,$3050,$3051,$3052,$3054); $3055 = $0; $3056 = $m; $3057 = (($3055) + ($3056<<4)|0); $3058 = $1; $3059 = $5; $3060 = (($3058) + ($3059<<4)|0); $3061 = $2; $3062 = $3; $3063 = $m; $3064 = $ll; $3065 = $6; $3066 = (($3065) + 1)|0; _mixed_radix_dit_rec($3057,$3060,$3061,$3062,$3063,$3064,$3066); $3067 = $0; $3068 = $m; $3069 = $3068<<1; $3070 = (($3067) + ($3069<<4)|0); $3071 = $1; $3072 = $5; $3073 = $3072<<1; $3074 = (($3071) + ($3073<<4)|0); $3075 = $2; $3076 = $3; $3077 = $m; $3078 = $ll; $3079 = $6; $3080 = (($3079) + 1)|0; _mixed_radix_dit_rec($3070,$3074,$3075,$3076,$3077,$3078,$3080); $3081 = $0; $3082 = $m; $3083 = ($3082*3)|0; $3084 = (($3081) + ($3083<<4)|0); $3085 = $1; $3086 = $5; $3087 = ($3086*3)|0; $3088 = (($3085) + ($3087<<4)|0); $3089 = $2; $3090 = $3; $3091 = $m; $3092 = $ll; $3093 = $6; $3094 = (($3093) + 1)|0; _mixed_radix_dit_rec($3084,$3088,$3089,$3090,$3091,$3092,$3094); $3095 = $0; $3096 = $m; $3097 = $3096<<2; $3098 = (($3095) + ($3097<<4)|0); $3099 = $1; $3100 = $5; $3101 = $3100<<2; $3102 = (($3099) + ($3101<<4)|0); $3103 = $2; $3104 = $3; $3105 = $m; $3106 = $ll; $3107 = $6; $3108 = (($3107) + 1)|0; _mixed_radix_dit_rec($3098,$3102,$3103,$3104,$3105,$3106,$3108); $3109 = $0; $3110 = $m; $3111 = ($3110*5)|0; $3112 = (($3109) + ($3111<<4)|0); $3113 = $1; $3114 = $5; $3115 = ($3114*5)|0; $3116 = (($3113) + ($3115<<4)|0); $3117 = $2; $3118 = $3; $3119 = $m; $3120 = $ll; $3121 = $6; $3122 = (($3121) + 1)|0; _mixed_radix_dit_rec($3112,$3116,$3117,$3118,$3119,$3120,$3122); $3123 = $0; $3124 = $m; $3125 = ($3124*6)|0; $3126 = (($3123) + ($3125<<4)|0); $3127 = $1; $3128 = $5; $3129 = ($3128*6)|0; $3130 = (($3127) + ($3129<<4)|0); $3131 = $2; $3132 = $3; $3133 = $m; $3134 = $ll; $3135 = $6; $3136 = (($3135) + 1)|0; _mixed_radix_dit_rec($3126,$3130,$3131,$3132,$3133,$3134,$3136); $c1167 = 0.623489801850000024963; $c2168 = -0.222520933949999999424; $c3169 = -0.900968867899999970028; $s1170 = 0.781831482460000004586; $s2171 = 0.974927912179999967001; $s3172 = 0.433883739109999999606; $3137 = $m; $tkm1128 = $3137; $3138 = $tkm1128; $3139 = $m; $3140 = (($3138) + ($3139))|0; $tkm2129 = $3140; $3141 = $tkm2129; $3142 = $m; $3143 = (($3141) + ($3142))|0; $tkm3130 = $3143; $3144 = $tkm3130; $3145 = $m; $3146 = (($3144) + ($3145))|0; $tkm4131 = $3146; $3147 = $tkm4131; $3148 = $m; $3149 = (($3147) + ($3148))|0; $tkm5 = $3149; $3150 = $tkm5; $3151 = $m; $3152 = (($3150) + ($3151))|0; $tkm6 = $3152; $3153 = $0; $3154 = +HEAPF64[$3153>>3]; $ar149 = $3154; $3155 = $0; $3156 = (($3155) + 8|0); $3157 = +HEAPF64[$3156>>3]; $ai150 = $3157; $3158 = $tkm1128; $3159 = $0; $3160 = (($3159) + ($3158<<4)|0); $3161 = +HEAPF64[$3160>>3]; $br151 = $3161; $3162 = $tkm1128; $3163 = $0; $3164 = (($3163) + ($3162<<4)|0); $3165 = (($3164) + 8|0); $3166 = +HEAPF64[$3165>>3]; $bi152 = $3166; $3167 = $tkm2129; $3168 = $0; $3169 = (($3168) + ($3167<<4)|0); $3170 = +HEAPF64[$3169>>3]; $cr153 = $3170; $3171 = $tkm2129; $3172 = $0; $3173 = (($3172) + ($3171<<4)|0); $3174 = (($3173) + 8|0); $3175 = +HEAPF64[$3174>>3]; $ci154 = $3175; $3176 = $tkm3130; $3177 = $0; $3178 = (($3177) + ($3176<<4)|0); $3179 = +HEAPF64[$3178>>3]; $dr155 = $3179; $3180 = $tkm3130; $3181 = $0; $3182 = (($3181) + ($3180<<4)|0); $3183 = (($3182) + 8|0); $3184 = +HEAPF64[$3183>>3]; $di156 = $3184; $3185 = $tkm4131; $3186 = $0; $3187 = (($3186) + ($3185<<4)|0); $3188 = +HEAPF64[$3187>>3]; $er157 = $3188; $3189 = $tkm4131; $3190 = $0; $3191 = (($3190) + ($3189<<4)|0); $3192 = (($3191) + 8|0); $3193 = +HEAPF64[$3192>>3]; $ei158 = $3193; $3194 = $tkm5; $3195 = $0; $3196 = (($3195) + ($3194<<4)|0); $3197 = +HEAPF64[$3196>>3]; $fr = $3197; $3198 = $tkm5; $3199 = $0; $3200 = (($3199) + ($3198<<4)|0); $3201 = (($3200) + 8|0); $3202 = +HEAPF64[$3201>>3]; $fi = $3202; $3203 = $tkm6; $3204 = $0; $3205 = (($3204) + ($3203<<4)|0); $3206 = +HEAPF64[$3205>>3]; $gr = $3206; $3207 = $tkm6; $3208 = $0; $3209 = (($3208) + ($3207<<4)|0); $3210 = (($3209) + 8|0); $3211 = +HEAPF64[$3210>>3]; $gi = $3211; $3212 = $br151; $3213 = $gr; $3214 = $3212 + $3213; $tau0r141 = $3214; $3215 = $br151; $3216 = $gr; $3217 = $3215 - $3216; $tau3r147 = $3217; $3218 = $bi152; $3219 = $gi; $3220 = $3218 + $3219; $tau0i142 = $3220; $3221 = $bi152; $3222 = $gi; $3223 = $3221 - $3222; $tau3i148 = $3223; $3224 = $cr153; $3225 = $fr; $3226 = $3224 + $3225; $tau1r143 = $3226; $3227 = $cr153; $3228 = $fr; $3229 = $3227 - $3228; $tau4r159 = $3229; $3230 = $ci154; $3231 = $fi; $3232 = $3230 + $3231; $tau1i144 = $3232; $3233 = $ci154; $3234 = $fi; $3235 = $3233 - $3234; $tau4i160 = $3235; $3236 = $dr155; $3237 = $er157; $3238 = $3236 + $3237; $tau2r145 = $3238; $3239 = $dr155; $3240 = $er157; $3241 = $3239 - $3240; $tau5r161 = $3241; $3242 = $di156; $3243 = $ei158; $3244 = $3242 + $3243; $tau2i146 = $3244; $3245 = $di156; $3246 = $ei158; $3247 = $3245 - $3246; $tau5i162 = $3247; $3248 = $ar149; $3249 = $tau0r141; $3250 = $3248 + $3249; $3251 = $tau1r143; $3252 = $3250 + $3251; $3253 = $tau2r145; $3254 = $3252 + $3253; $3255 = $0; HEAPF64[$3255>>3] = $3254; $3256 = $ai150; $3257 = $tau0i142; $3258 = $3256 + $3257; $3259 = $tau1i144; $3260 = $3258 + $3259; $3261 = $tau2i146; $3262 = $3260 + $3261; $3263 = $0; $3264 = (($3263) + 8|0); HEAPF64[$3264>>3] = $3262; $3265 = $ar149; $3266 = $c1167; $3267 = $tau0r141; $3268 = $3266 * $3267; $3269 = $3265 + $3268; $3270 = $c2168; $3271 = $tau1r143; $3272 = $3270 * $3271; $3273 = $3269 + $3272; $3274 = $c3169; $3275 = $tau2r145; $3276 = $3274 * $3275; $3277 = $3273 + $3276; $tau6r163 = $3277; $3278 = $ai150; $3279 = $c1167; $3280 = $tau0i142; $3281 = $3279 * $3280; $3282 = $3278 + $3281; $3283 = $c2168; $3284 = $tau1i144; $3285 = $3283 * $3284; $3286 = $3282 + $3285; $3287 = $c3169; $3288 = $tau2i146; $3289 = $3287 * $3288; $3290 = $3286 + $3289; $tau6i164 = $3290; $3291 = $3; $3292 = ($3291|0)==(1); if ($3292) { $3293 = $s1170; $3294 = -$3293; $3295 = $tau3r147; $3296 = $3294 * $3295; $3297 = $s2171; $3298 = $tau4r159; $3299 = $3297 * $3298; $3300 = $3296 - $3299; $3301 = $s3172; $3302 = $tau5r161; $3303 = $3301 * $3302; $3304 = $3300 - $3303; $tau7r165 = $3304; $3305 = $s1170; $3306 = -$3305; $3307 = $tau3i148; $3308 = $3306 * $3307; $3309 = $s2171; $3310 = $tau4i160; $3311 = $3309 * $3310; $3312 = $3308 - $3311; $3313 = $s3172; $3314 = $tau5i162; $3315 = $3313 * $3314; $3316 = $3312 - $3315; $tau7i166 = $3316; } else { $3317 = $s1170; $3318 = $tau3r147; $3319 = $3317 * $3318; $3320 = $s2171; $3321 = $tau4r159; $3322 = $3320 * $3321; $3323 = $3319 + $3322; $3324 = $s3172; $3325 = $tau5r161; $3326 = $3324 * $3325; $3327 = $3323 + $3326; $tau7r165 = $3327; $3328 = $s1170; $3329 = $tau3i148; $3330 = $3328 * $3329; $3331 = $s2171; $3332 = $tau4i160; $3333 = $3331 * $3332; $3334 = $3330 + $3333; $3335 = $s3172; $3336 = $tau5i162; $3337 = $3335 * $3336; $3338 = $3334 + $3337; $tau7i166 = $3338; } $3339 = $tau6r163; $3340 = $tau7i166; $3341 = $3339 - $3340; $3342 = $tkm1128; $3343 = $0; $3344 = (($3343) + ($3342<<4)|0); HEAPF64[$3344>>3] = $3341; $3345 = $tau6i164; $3346 = $tau7r165; $3347 = $3345 + $3346; $3348 = $tkm1128; $3349 = $0; $3350 = (($3349) + ($3348<<4)|0); $3351 = (($3350) + 8|0); HEAPF64[$3351>>3] = $3347; $3352 = $tau6r163; $3353 = $tau7i166; $3354 = $3352 + $3353; $3355 = $tkm6; $3356 = $0; $3357 = (($3356) + ($3355<<4)|0); HEAPF64[$3357>>3] = $3354; $3358 = $tau6i164; $3359 = $tau7r165; $3360 = $3358 - $3359; $3361 = $tkm6; $3362 = $0; $3363 = (($3362) + ($3361<<4)|0); $3364 = (($3363) + 8|0); HEAPF64[$3364>>3] = $3360; $3365 = $ar149; $3366 = $c2168; $3367 = $tau0r141; $3368 = $3366 * $3367; $3369 = $3365 + $3368; $3370 = $c3169; $3371 = $tau1r143; $3372 = $3370 * $3371; $3373 = $3369 + $3372; $3374 = $c1167; $3375 = $tau2r145; $3376 = $3374 * $3375; $3377 = $3373 + $3376; $tau6r163 = $3377; $3378 = $ai150; $3379 = $c2168; $3380 = $tau0i142; $3381 = $3379 * $3380; $3382 = $3378 + $3381; $3383 = $c3169; $3384 = $tau1i144; $3385 = $3383 * $3384; $3386 = $3382 + $3385; $3387 = $c1167; $3388 = $tau2i146; $3389 = $3387 * $3388; $3390 = $3386 + $3389; $tau6i164 = $3390; $3391 = $3; $3392 = ($3391|0)==(1); if ($3392) { $3393 = $s2171; $3394 = -$3393; $3395 = $tau3r147; $3396 = $3394 * $3395; $3397 = $s3172; $3398 = $tau4r159; $3399 = $3397 * $3398; $3400 = $3396 + $3399; $3401 = $s1170; $3402 = $tau5r161; $3403 = $3401 * $3402; $3404 = $3400 + $3403; $tau7r165 = $3404; $3405 = $s2171; $3406 = -$3405; $3407 = $tau3i148; $3408 = $3406 * $3407; $3409 = $s3172; $3410 = $tau4i160; $3411 = $3409 * $3410; $3412 = $3408 + $3411; $3413 = $s1170; $3414 = $tau5i162; $3415 = $3413 * $3414; $3416 = $3412 + $3415; $tau7i166 = $3416; } else { $3417 = $s2171; $3418 = $tau3r147; $3419 = $3417 * $3418; $3420 = $s3172; $3421 = $tau4r159; $3422 = $3420 * $3421; $3423 = $3419 - $3422; $3424 = $s1170; $3425 = $tau5r161; $3426 = $3424 * $3425; $3427 = $3423 - $3426; $tau7r165 = $3427; $3428 = $s2171; $3429 = $tau3i148; $3430 = $3428 * $3429; $3431 = $s3172; $3432 = $tau4i160; $3433 = $3431 * $3432; $3434 = $3430 - $3433; $3435 = $s1170; $3436 = $tau5i162; $3437 = $3435 * $3436; $3438 = $3434 - $3437; $tau7i166 = $3438; } $3439 = $tau6r163; $3440 = $tau7i166; $3441 = $3439 - $3440; $3442 = $tkm2129; $3443 = $0; $3444 = (($3443) + ($3442<<4)|0); HEAPF64[$3444>>3] = $3441; $3445 = $tau6i164; $3446 = $tau7r165; $3447 = $3445 + $3446; $3448 = $tkm2129; $3449 = $0; $3450 = (($3449) + ($3448<<4)|0); $3451 = (($3450) + 8|0); HEAPF64[$3451>>3] = $3447; $3452 = $tau6r163; $3453 = $tau7i166; $3454 = $3452 + $3453; $3455 = $tkm5; $3456 = $0; $3457 = (($3456) + ($3455<<4)|0); HEAPF64[$3457>>3] = $3454; $3458 = $tau6i164; $3459 = $tau7r165; $3460 = $3458 - $3459; $3461 = $tkm5; $3462 = $0; $3463 = (($3462) + ($3461<<4)|0); $3464 = (($3463) + 8|0); HEAPF64[$3464>>3] = $3460; $3465 = $ar149; $3466 = $c3169; $3467 = $tau0r141; $3468 = $3466 * $3467; $3469 = $3465 + $3468; $3470 = $c1167; $3471 = $tau1r143; $3472 = $3470 * $3471; $3473 = $3469 + $3472; $3474 = $c2168; $3475 = $tau2r145; $3476 = $3474 * $3475; $3477 = $3473 + $3476; $tau6r163 = $3477; $3478 = $ai150; $3479 = $c3169; $3480 = $tau0i142; $3481 = $3479 * $3480; $3482 = $3478 + $3481; $3483 = $c1167; $3484 = $tau1i144; $3485 = $3483 * $3484; $3486 = $3482 + $3485; $3487 = $c2168; $3488 = $tau2i146; $3489 = $3487 * $3488; $3490 = $3486 + $3489; $tau6i164 = $3490; $3491 = $3; $3492 = ($3491|0)==(1); if ($3492) { $3493 = $s3172; $3494 = -$3493; $3495 = $tau3r147; $3496 = $3494 * $3495; $3497 = $s1170; $3498 = $tau4r159; $3499 = $3497 * $3498; $3500 = $3496 + $3499; $3501 = $s2171; $3502 = $tau5r161; $3503 = $3501 * $3502; $3504 = $3500 - $3503; $tau7r165 = $3504; $3505 = $s3172; $3506 = -$3505; $3507 = $tau3i148; $3508 = $3506 * $3507; $3509 = $s1170; $3510 = $tau4i160; $3511 = $3509 * $3510; $3512 = $3508 + $3511; $3513 = $s2171; $3514 = $tau5i162; $3515 = $3513 * $3514; $3516 = $3512 - $3515; $tau7i166 = $3516; } else { $3517 = $s3172; $3518 = $tau3r147; $3519 = $3517 * $3518; $3520 = $s1170; $3521 = $tau4r159; $3522 = $3520 * $3521; $3523 = $3519 - $3522; $3524 = $s2171; $3525 = $tau5r161; $3526 = $3524 * $3525; $3527 = $3523 + $3526; $tau7r165 = $3527; $3528 = $s3172; $3529 = $tau3i148; $3530 = $3528 * $3529; $3531 = $s1170; $3532 = $tau4i160; $3533 = $3531 * $3532; $3534 = $3530 - $3533; $3535 = $s2171; $3536 = $tau5i162; $3537 = $3535 * $3536; $3538 = $3534 + $3537; $tau7i166 = $3538; } $3539 = $tau6r163; $3540 = $tau7i166; $3541 = $3539 - $3540; $3542 = $tkm3130; $3543 = $0; $3544 = (($3543) + ($3542<<4)|0); HEAPF64[$3544>>3] = $3541; $3545 = $tau6i164; $3546 = $tau7r165; $3547 = $3545 + $3546; $3548 = $tkm3130; $3549 = $0; $3550 = (($3549) + ($3548<<4)|0); $3551 = (($3550) + 8|0); HEAPF64[$3551>>3] = $3547; $3552 = $tau6r163; $3553 = $tau7i166; $3554 = $3552 + $3553; $3555 = $tkm4131; $3556 = $0; $3557 = (($3556) + ($3555<<4)|0); HEAPF64[$3557>>3] = $3554; $3558 = $tau6i164; $3559 = $tau7r165; $3560 = $3558 - $3559; $3561 = $tkm4131; $3562 = $0; $3563 = (($3562) + ($3561<<4)|0); $3564 = (($3563) + 8|0); HEAPF64[$3564>>3] = $3560; $k127 = 1; while(1) { $3565 = $k127; $3566 = $m; $3567 = ($3565|0)<($3566|0); if (!($3567)) { break; } $3568 = $m; $3569 = (($3568) - 1)|0; $3570 = $k127; $3571 = ($3570*6)|0; $3572 = (($3569) + ($3571))|0; $ind132 = $3572; $3573 = $2; $3574 = (($3573) + 272|0); $3575 = $ind132; $3576 = (($3574) + ($3575<<4)|0); $3577 = +HEAPF64[$3576>>3]; $wlr133 = $3577; $3578 = $2; $3579 = (($3578) + 272|0); $3580 = $ind132; $3581 = (($3579) + ($3580<<4)|0); $3582 = (($3581) + 8|0); $3583 = +HEAPF64[$3582>>3]; $wli134 = $3583; $3584 = $ind132; $3585 = (($3584) + 1)|0; $ind132 = $3585; $3586 = $2; $3587 = (($3586) + 272|0); $3588 = $ind132; $3589 = (($3587) + ($3588<<4)|0); $3590 = +HEAPF64[$3589>>3]; $wl2r135 = $3590; $3591 = $2; $3592 = (($3591) + 272|0); $3593 = $ind132; $3594 = (($3592) + ($3593<<4)|0); $3595 = (($3594) + 8|0); $3596 = +HEAPF64[$3595>>3]; $wl2i136 = $3596; $3597 = $ind132; $3598 = (($3597) + 1)|0; $ind132 = $3598; $3599 = $2; $3600 = (($3599) + 272|0); $3601 = $ind132; $3602 = (($3600) + ($3601<<4)|0); $3603 = +HEAPF64[$3602>>3]; $wl3r137 = $3603; $3604 = $2; $3605 = (($3604) + 272|0); $3606 = $ind132; $3607 = (($3605) + ($3606<<4)|0); $3608 = (($3607) + 8|0); $3609 = +HEAPF64[$3608>>3]; $wl3i138 = $3609; $3610 = $ind132; $3611 = (($3610) + 1)|0; $ind132 = $3611; $3612 = $2; $3613 = (($3612) + 272|0); $3614 = $ind132; $3615 = (($3613) + ($3614<<4)|0); $3616 = +HEAPF64[$3615>>3]; $wl4r139 = $3616; $3617 = $2; $3618 = (($3617) + 272|0); $3619 = $ind132; $3620 = (($3618) + ($3619<<4)|0); $3621 = (($3620) + 8|0); $3622 = +HEAPF64[$3621>>3]; $wl4i140 = $3622; $3623 = $ind132; $3624 = (($3623) + 1)|0; $ind132 = $3624; $3625 = $2; $3626 = (($3625) + 272|0); $3627 = $ind132; $3628 = (($3626) + ($3627<<4)|0); $3629 = +HEAPF64[$3628>>3]; $wl5r = $3629; $3630 = $2; $3631 = (($3630) + 272|0); $3632 = $ind132; $3633 = (($3631) + ($3632<<4)|0); $3634 = (($3633) + 8|0); $3635 = +HEAPF64[$3634>>3]; $wl5i = $3635; $3636 = $ind132; $3637 = (($3636) + 1)|0; $ind132 = $3637; $3638 = $2; $3639 = (($3638) + 272|0); $3640 = $ind132; $3641 = (($3639) + ($3640<<4)|0); $3642 = +HEAPF64[$3641>>3]; $wl6r = $3642; $3643 = $2; $3644 = (($3643) + 272|0); $3645 = $ind132; $3646 = (($3644) + ($3645<<4)|0); $3647 = (($3646) + 8|0); $3648 = +HEAPF64[$3647>>3]; $wl6i = $3648; $3649 = $k127; $3650 = $m; $3651 = (($3649) + ($3650))|0; $tkm1128 = $3651; $3652 = $tkm1128; $3653 = $m; $3654 = (($3652) + ($3653))|0; $tkm2129 = $3654; $3655 = $tkm2129; $3656 = $m; $3657 = (($3655) + ($3656))|0; $tkm3130 = $3657; $3658 = $tkm3130; $3659 = $m; $3660 = (($3658) + ($3659))|0; $tkm4131 = $3660; $3661 = $tkm4131; $3662 = $m; $3663 = (($3661) + ($3662))|0; $tkm5 = $3663; $3664 = $tkm5; $3665 = $m; $3666 = (($3664) + ($3665))|0; $tkm6 = $3666; $3667 = $k127; $3668 = $0; $3669 = (($3668) + ($3667<<4)|0); $3670 = +HEAPF64[$3669>>3]; $ar149 = $3670; $3671 = $k127; $3672 = $0; $3673 = (($3672) + ($3671<<4)|0); $3674 = (($3673) + 8|0); $3675 = +HEAPF64[$3674>>3]; $ai150 = $3675; $3676 = $tkm1128; $3677 = $0; $3678 = (($3677) + ($3676<<4)|0); $3679 = +HEAPF64[$3678>>3]; $3680 = $wlr133; $3681 = $3679 * $3680; $3682 = $tkm1128; $3683 = $0; $3684 = (($3683) + ($3682<<4)|0); $3685 = (($3684) + 8|0); $3686 = +HEAPF64[$3685>>3]; $3687 = $wli134; $3688 = $3686 * $3687; $3689 = $3681 - $3688; $br151 = $3689; $3690 = $tkm1128; $3691 = $0; $3692 = (($3691) + ($3690<<4)|0); $3693 = (($3692) + 8|0); $3694 = +HEAPF64[$3693>>3]; $3695 = $wlr133; $3696 = $3694 * $3695; $3697 = $tkm1128; $3698 = $0; $3699 = (($3698) + ($3697<<4)|0); $3700 = +HEAPF64[$3699>>3]; $3701 = $wli134; $3702 = $3700 * $3701; $3703 = $3696 + $3702; $bi152 = $3703; $3704 = $tkm2129; $3705 = $0; $3706 = (($3705) + ($3704<<4)|0); $3707 = +HEAPF64[$3706>>3]; $3708 = $wl2r135; $3709 = $3707 * $3708; $3710 = $tkm2129; $3711 = $0; $3712 = (($3711) + ($3710<<4)|0); $3713 = (($3712) + 8|0); $3714 = +HEAPF64[$3713>>3]; $3715 = $wl2i136; $3716 = $3714 * $3715; $3717 = $3709 - $3716; $cr153 = $3717; $3718 = $tkm2129; $3719 = $0; $3720 = (($3719) + ($3718<<4)|0); $3721 = (($3720) + 8|0); $3722 = +HEAPF64[$3721>>3]; $3723 = $wl2r135; $3724 = $3722 * $3723; $3725 = $tkm2129; $3726 = $0; $3727 = (($3726) + ($3725<<4)|0); $3728 = +HEAPF64[$3727>>3]; $3729 = $wl2i136; $3730 = $3728 * $3729; $3731 = $3724 + $3730; $ci154 = $3731; $3732 = $tkm3130; $3733 = $0; $3734 = (($3733) + ($3732<<4)|0); $3735 = +HEAPF64[$3734>>3]; $3736 = $wl3r137; $3737 = $3735 * $3736; $3738 = $tkm3130; $3739 = $0; $3740 = (($3739) + ($3738<<4)|0); $3741 = (($3740) + 8|0); $3742 = +HEAPF64[$3741>>3]; $3743 = $wl3i138; $3744 = $3742 * $3743; $3745 = $3737 - $3744; $dr155 = $3745; $3746 = $tkm3130; $3747 = $0; $3748 = (($3747) + ($3746<<4)|0); $3749 = (($3748) + 8|0); $3750 = +HEAPF64[$3749>>3]; $3751 = $wl3r137; $3752 = $3750 * $3751; $3753 = $tkm3130; $3754 = $0; $3755 = (($3754) + ($3753<<4)|0); $3756 = +HEAPF64[$3755>>3]; $3757 = $wl3i138; $3758 = $3756 * $3757; $3759 = $3752 + $3758; $di156 = $3759; $3760 = $tkm4131; $3761 = $0; $3762 = (($3761) + ($3760<<4)|0); $3763 = +HEAPF64[$3762>>3]; $3764 = $wl4r139; $3765 = $3763 * $3764; $3766 = $tkm4131; $3767 = $0; $3768 = (($3767) + ($3766<<4)|0); $3769 = (($3768) + 8|0); $3770 = +HEAPF64[$3769>>3]; $3771 = $wl4i140; $3772 = $3770 * $3771; $3773 = $3765 - $3772; $er157 = $3773; $3774 = $tkm4131; $3775 = $0; $3776 = (($3775) + ($3774<<4)|0); $3777 = (($3776) + 8|0); $3778 = +HEAPF64[$3777>>3]; $3779 = $wl4r139; $3780 = $3778 * $3779; $3781 = $tkm4131; $3782 = $0; $3783 = (($3782) + ($3781<<4)|0); $3784 = +HEAPF64[$3783>>3]; $3785 = $wl4i140; $3786 = $3784 * $3785; $3787 = $3780 + $3786; $ei158 = $3787; $3788 = $tkm5; $3789 = $0; $3790 = (($3789) + ($3788<<4)|0); $3791 = +HEAPF64[$3790>>3]; $3792 = $wl5r; $3793 = $3791 * $3792; $3794 = $tkm5; $3795 = $0; $3796 = (($3795) + ($3794<<4)|0); $3797 = (($3796) + 8|0); $3798 = +HEAPF64[$3797>>3]; $3799 = $wl5i; $3800 = $3798 * $3799; $3801 = $3793 - $3800; $fr = $3801; $3802 = $tkm5; $3803 = $0; $3804 = (($3803) + ($3802<<4)|0); $3805 = (($3804) + 8|0); $3806 = +HEAPF64[$3805>>3]; $3807 = $wl5r; $3808 = $3806 * $3807; $3809 = $tkm5; $3810 = $0; $3811 = (($3810) + ($3809<<4)|0); $3812 = +HEAPF64[$3811>>3]; $3813 = $wl5i; $3814 = $3812 * $3813; $3815 = $3808 + $3814; $fi = $3815; $3816 = $tkm6; $3817 = $0; $3818 = (($3817) + ($3816<<4)|0); $3819 = +HEAPF64[$3818>>3]; $3820 = $wl6r; $3821 = $3819 * $3820; $3822 = $tkm6; $3823 = $0; $3824 = (($3823) + ($3822<<4)|0); $3825 = (($3824) + 8|0); $3826 = +HEAPF64[$3825>>3]; $3827 = $wl6i; $3828 = $3826 * $3827; $3829 = $3821 - $3828; $gr = $3829; $3830 = $tkm6; $3831 = $0; $3832 = (($3831) + ($3830<<4)|0); $3833 = (($3832) + 8|0); $3834 = +HEAPF64[$3833>>3]; $3835 = $wl6r; $3836 = $3834 * $3835; $3837 = $tkm6; $3838 = $0; $3839 = (($3838) + ($3837<<4)|0); $3840 = +HEAPF64[$3839>>3]; $3841 = $wl6i; $3842 = $3840 * $3841; $3843 = $3836 + $3842; $gi = $3843; $3844 = $br151; $3845 = $gr; $3846 = $3844 + $3845; $tau0r141 = $3846; $3847 = $br151; $3848 = $gr; $3849 = $3847 - $3848; $tau3r147 = $3849; $3850 = $bi152; $3851 = $gi; $3852 = $3850 + $3851; $tau0i142 = $3852; $3853 = $bi152; $3854 = $gi; $3855 = $3853 - $3854; $tau3i148 = $3855; $3856 = $cr153; $3857 = $fr; $3858 = $3856 + $3857; $tau1r143 = $3858; $3859 = $cr153; $3860 = $fr; $3861 = $3859 - $3860; $tau4r159 = $3861; $3862 = $ci154; $3863 = $fi; $3864 = $3862 + $3863; $tau1i144 = $3864; $3865 = $ci154; $3866 = $fi; $3867 = $3865 - $3866; $tau4i160 = $3867; $3868 = $dr155; $3869 = $er157; $3870 = $3868 + $3869; $tau2r145 = $3870; $3871 = $dr155; $3872 = $er157; $3873 = $3871 - $3872; $tau5r161 = $3873; $3874 = $di156; $3875 = $ei158; $3876 = $3874 + $3875; $tau2i146 = $3876; $3877 = $di156; $3878 = $ei158; $3879 = $3877 - $3878; $tau5i162 = $3879; $3880 = $ar149; $3881 = $tau0r141; $3882 = $3880 + $3881; $3883 = $tau1r143; $3884 = $3882 + $3883; $3885 = $tau2r145; $3886 = $3884 + $3885; $3887 = $k127; $3888 = $0; $3889 = (($3888) + ($3887<<4)|0); HEAPF64[$3889>>3] = $3886; $3890 = $ai150; $3891 = $tau0i142; $3892 = $3890 + $3891; $3893 = $tau1i144; $3894 = $3892 + $3893; $3895 = $tau2i146; $3896 = $3894 + $3895; $3897 = $k127; $3898 = $0; $3899 = (($3898) + ($3897<<4)|0); $3900 = (($3899) + 8|0); HEAPF64[$3900>>3] = $3896; $3901 = $ar149; $3902 = $c1167; $3903 = $tau0r141; $3904 = $3902 * $3903; $3905 = $3901 + $3904; $3906 = $c2168; $3907 = $tau1r143; $3908 = $3906 * $3907; $3909 = $3905 + $3908; $3910 = $c3169; $3911 = $tau2r145; $3912 = $3910 * $3911; $3913 = $3909 + $3912; $tau6r163 = $3913; $3914 = $ai150; $3915 = $c1167; $3916 = $tau0i142; $3917 = $3915 * $3916; $3918 = $3914 + $3917; $3919 = $c2168; $3920 = $tau1i144; $3921 = $3919 * $3920; $3922 = $3918 + $3921; $3923 = $c3169; $3924 = $tau2i146; $3925 = $3923 * $3924; $3926 = $3922 + $3925; $tau6i164 = $3926; $3927 = $3; $3928 = ($3927|0)==(1); if ($3928) { $3929 = $s1170; $3930 = -$3929; $3931 = $tau3r147; $3932 = $3930 * $3931; $3933 = $s2171; $3934 = $tau4r159; $3935 = $3933 * $3934; $3936 = $3932 - $3935; $3937 = $s3172; $3938 = $tau5r161; $3939 = $3937 * $3938; $3940 = $3936 - $3939; $tau7r165 = $3940; $3941 = $s1170; $3942 = -$3941; $3943 = $tau3i148; $3944 = $3942 * $3943; $3945 = $s2171; $3946 = $tau4i160; $3947 = $3945 * $3946; $3948 = $3944 - $3947; $3949 = $s3172; $3950 = $tau5i162; $3951 = $3949 * $3950; $3952 = $3948 - $3951; $tau7i166 = $3952; } else { $3953 = $s1170; $3954 = $tau3r147; $3955 = $3953 * $3954; $3956 = $s2171; $3957 = $tau4r159; $3958 = $3956 * $3957; $3959 = $3955 + $3958; $3960 = $s3172; $3961 = $tau5r161; $3962 = $3960 * $3961; $3963 = $3959 + $3962; $tau7r165 = $3963; $3964 = $s1170; $3965 = $tau3i148; $3966 = $3964 * $3965; $3967 = $s2171; $3968 = $tau4i160; $3969 = $3967 * $3968; $3970 = $3966 + $3969; $3971 = $s3172; $3972 = $tau5i162; $3973 = $3971 * $3972; $3974 = $3970 + $3973; $tau7i166 = $3974; } $3975 = $tau6r163; $3976 = $tau7i166; $3977 = $3975 - $3976; $3978 = $tkm1128; $3979 = $0; $3980 = (($3979) + ($3978<<4)|0); HEAPF64[$3980>>3] = $3977; $3981 = $tau6i164; $3982 = $tau7r165; $3983 = $3981 + $3982; $3984 = $tkm1128; $3985 = $0; $3986 = (($3985) + ($3984<<4)|0); $3987 = (($3986) + 8|0); HEAPF64[$3987>>3] = $3983; $3988 = $tau6r163; $3989 = $tau7i166; $3990 = $3988 + $3989; $3991 = $tkm6; $3992 = $0; $3993 = (($3992) + ($3991<<4)|0); HEAPF64[$3993>>3] = $3990; $3994 = $tau6i164; $3995 = $tau7r165; $3996 = $3994 - $3995; $3997 = $tkm6; $3998 = $0; $3999 = (($3998) + ($3997<<4)|0); $4000 = (($3999) + 8|0); HEAPF64[$4000>>3] = $3996; $4001 = $ar149; $4002 = $c2168; $4003 = $tau0r141; $4004 = $4002 * $4003; $4005 = $4001 + $4004; $4006 = $c3169; $4007 = $tau1r143; $4008 = $4006 * $4007; $4009 = $4005 + $4008; $4010 = $c1167; $4011 = $tau2r145; $4012 = $4010 * $4011; $4013 = $4009 + $4012; $tau6r163 = $4013; $4014 = $ai150; $4015 = $c2168; $4016 = $tau0i142; $4017 = $4015 * $4016; $4018 = $4014 + $4017; $4019 = $c3169; $4020 = $tau1i144; $4021 = $4019 * $4020; $4022 = $4018 + $4021; $4023 = $c1167; $4024 = $tau2i146; $4025 = $4023 * $4024; $4026 = $4022 + $4025; $tau6i164 = $4026; $4027 = $3; $4028 = ($4027|0)==(1); if ($4028) { $4029 = $s2171; $4030 = -$4029; $4031 = $tau3r147; $4032 = $4030 * $4031; $4033 = $s3172; $4034 = $tau4r159; $4035 = $4033 * $4034; $4036 = $4032 + $4035; $4037 = $s1170; $4038 = $tau5r161; $4039 = $4037 * $4038; $4040 = $4036 + $4039; $tau7r165 = $4040; $4041 = $s2171; $4042 = -$4041; $4043 = $tau3i148; $4044 = $4042 * $4043; $4045 = $s3172; $4046 = $tau4i160; $4047 = $4045 * $4046; $4048 = $4044 + $4047; $4049 = $s1170; $4050 = $tau5i162; $4051 = $4049 * $4050; $4052 = $4048 + $4051; $tau7i166 = $4052; } else { $4053 = $s2171; $4054 = $tau3r147; $4055 = $4053 * $4054; $4056 = $s3172; $4057 = $tau4r159; $4058 = $4056 * $4057; $4059 = $4055 - $4058; $4060 = $s1170; $4061 = $tau5r161; $4062 = $4060 * $4061; $4063 = $4059 - $4062; $tau7r165 = $4063; $4064 = $s2171; $4065 = $tau3i148; $4066 = $4064 * $4065; $4067 = $s3172; $4068 = $tau4i160; $4069 = $4067 * $4068; $4070 = $4066 - $4069; $4071 = $s1170; $4072 = $tau5i162; $4073 = $4071 * $4072; $4074 = $4070 - $4073; $tau7i166 = $4074; } $4075 = $tau6r163; $4076 = $tau7i166; $4077 = $4075 - $4076; $4078 = $tkm2129; $4079 = $0; $4080 = (($4079) + ($4078<<4)|0); HEAPF64[$4080>>3] = $4077; $4081 = $tau6i164; $4082 = $tau7r165; $4083 = $4081 + $4082; $4084 = $tkm2129; $4085 = $0; $4086 = (($4085) + ($4084<<4)|0); $4087 = (($4086) + 8|0); HEAPF64[$4087>>3] = $4083; $4088 = $tau6r163; $4089 = $tau7i166; $4090 = $4088 + $4089; $4091 = $tkm5; $4092 = $0; $4093 = (($4092) + ($4091<<4)|0); HEAPF64[$4093>>3] = $4090; $4094 = $tau6i164; $4095 = $tau7r165; $4096 = $4094 - $4095; $4097 = $tkm5; $4098 = $0; $4099 = (($4098) + ($4097<<4)|0); $4100 = (($4099) + 8|0); HEAPF64[$4100>>3] = $4096; $4101 = $ar149; $4102 = $c3169; $4103 = $tau0r141; $4104 = $4102 * $4103; $4105 = $4101 + $4104; $4106 = $c1167; $4107 = $tau1r143; $4108 = $4106 * $4107; $4109 = $4105 + $4108; $4110 = $c2168; $4111 = $tau2r145; $4112 = $4110 * $4111; $4113 = $4109 + $4112; $tau6r163 = $4113; $4114 = $ai150; $4115 = $c3169; $4116 = $tau0i142; $4117 = $4115 * $4116; $4118 = $4114 + $4117; $4119 = $c1167; $4120 = $tau1i144; $4121 = $4119 * $4120; $4122 = $4118 + $4121; $4123 = $c2168; $4124 = $tau2i146; $4125 = $4123 * $4124; $4126 = $4122 + $4125; $tau6i164 = $4126; $4127 = $3; $4128 = ($4127|0)==(1); if ($4128) { $4129 = $s3172; $4130 = -$4129; $4131 = $tau3r147; $4132 = $4130 * $4131; $4133 = $s1170; $4134 = $tau4r159; $4135 = $4133 * $4134; $4136 = $4132 + $4135; $4137 = $s2171; $4138 = $tau5r161; $4139 = $4137 * $4138; $4140 = $4136 - $4139; $tau7r165 = $4140; $4141 = $s3172; $4142 = -$4141; $4143 = $tau3i148; $4144 = $4142 * $4143; $4145 = $s1170; $4146 = $tau4i160; $4147 = $4145 * $4146; $4148 = $4144 + $4147; $4149 = $s2171; $4150 = $tau5i162; $4151 = $4149 * $4150; $4152 = $4148 - $4151; $tau7i166 = $4152; } else { $4153 = $s3172; $4154 = $tau3r147; $4155 = $4153 * $4154; $4156 = $s1170; $4157 = $tau4r159; $4158 = $4156 * $4157; $4159 = $4155 - $4158; $4160 = $s2171; $4161 = $tau5r161; $4162 = $4160 * $4161; $4163 = $4159 + $4162; $tau7r165 = $4163; $4164 = $s3172; $4165 = $tau3i148; $4166 = $4164 * $4165; $4167 = $s1170; $4168 = $tau4i160; $4169 = $4167 * $4168; $4170 = $4166 - $4169; $4171 = $s2171; $4172 = $tau5i162; $4173 = $4171 * $4172; $4174 = $4170 + $4173; $tau7i166 = $4174; } $4175 = $tau6r163; $4176 = $tau7i166; $4177 = $4175 - $4176; $4178 = $tkm3130; $4179 = $0; $4180 = (($4179) + ($4178<<4)|0); HEAPF64[$4180>>3] = $4177; $4181 = $tau6i164; $4182 = $tau7r165; $4183 = $4181 + $4182; $4184 = $tkm3130; $4185 = $0; $4186 = (($4185) + ($4184<<4)|0); $4187 = (($4186) + 8|0); HEAPF64[$4187>>3] = $4183; $4188 = $tau6r163; $4189 = $tau7i166; $4190 = $4188 + $4189; $4191 = $tkm4131; $4192 = $0; $4193 = (($4192) + ($4191<<4)|0); HEAPF64[$4193>>3] = $4190; $4194 = $tau6i164; $4195 = $tau7r165; $4196 = $4194 - $4195; $4197 = $tkm4131; $4198 = $0; $4199 = (($4198) + ($4197<<4)|0); $4200 = (($4199) + 8|0); HEAPF64[$4200>>3] = $4196; $4201 = $k127; $4202 = (($4201) + 1)|0; $k127 = $4202; } } else { $4203 = $radix; $4204 = ($4203|0)==(8); if ($4204) { $4205 = $4; $4206 = (($4205|0) / 8)&-1; $m = $4206; $4207 = $5; $4208 = $4207<<3; $ll = $4208; $4209 = $0; $4210 = $1; $4211 = $2; $4212 = $3; $4213 = $m; $4214 = $ll; $4215 = $6; $4216 = (($4215) + 1)|0; _mixed_radix_dit_rec($4209,$4210,$4211,$4212,$4213,$4214,$4216); $4217 = $0; $4218 = $m; $4219 = (($4217) + ($4218<<4)|0); $4220 = $1; $4221 = $5; $4222 = (($4220) + ($4221<<4)|0); $4223 = $2; $4224 = $3; $4225 = $m; $4226 = $ll; $4227 = $6; $4228 = (($4227) + 1)|0; _mixed_radix_dit_rec($4219,$4222,$4223,$4224,$4225,$4226,$4228); $4229 = $0; $4230 = $m; $4231 = $4230<<1; $4232 = (($4229) + ($4231<<4)|0); $4233 = $1; $4234 = $5; $4235 = $4234<<1; $4236 = (($4233) + ($4235<<4)|0); $4237 = $2; $4238 = $3; $4239 = $m; $4240 = $ll; $4241 = $6; $4242 = (($4241) + 1)|0; _mixed_radix_dit_rec($4232,$4236,$4237,$4238,$4239,$4240,$4242); $4243 = $0; $4244 = $m; $4245 = ($4244*3)|0; $4246 = (($4243) + ($4245<<4)|0); $4247 = $1; $4248 = $5; $4249 = ($4248*3)|0; $4250 = (($4247) + ($4249<<4)|0); $4251 = $2; $4252 = $3; $4253 = $m; $4254 = $ll; $4255 = $6; $4256 = (($4255) + 1)|0; _mixed_radix_dit_rec($4246,$4250,$4251,$4252,$4253,$4254,$4256); $4257 = $0; $4258 = $m; $4259 = $4258<<2; $4260 = (($4257) + ($4259<<4)|0); $4261 = $1; $4262 = $5; $4263 = $4262<<2; $4264 = (($4261) + ($4263<<4)|0); $4265 = $2; $4266 = $3; $4267 = $m; $4268 = $ll; $4269 = $6; $4270 = (($4269) + 1)|0; _mixed_radix_dit_rec($4260,$4264,$4265,$4266,$4267,$4268,$4270); $4271 = $0; $4272 = $m; $4273 = ($4272*5)|0; $4274 = (($4271) + ($4273<<4)|0); $4275 = $1; $4276 = $5; $4277 = ($4276*5)|0; $4278 = (($4275) + ($4277<<4)|0); $4279 = $2; $4280 = $3; $4281 = $m; $4282 = $ll; $4283 = $6; $4284 = (($4283) + 1)|0; _mixed_radix_dit_rec($4274,$4278,$4279,$4280,$4281,$4282,$4284); $4285 = $0; $4286 = $m; $4287 = ($4286*6)|0; $4288 = (($4285) + ($4287<<4)|0); $4289 = $1; $4290 = $5; $4291 = ($4290*6)|0; $4292 = (($4289) + ($4291<<4)|0); $4293 = $2; $4294 = $3; $4295 = $m; $4296 = $ll; $4297 = $6; $4298 = (($4297) + 1)|0; _mixed_radix_dit_rec($4288,$4292,$4293,$4294,$4295,$4296,$4298); $4299 = $0; $4300 = $m; $4301 = ($4300*7)|0; $4302 = (($4299) + ($4301<<4)|0); $4303 = $1; $4304 = $5; $4305 = ($4304*7)|0; $4306 = (($4303) + ($4305<<4)|0); $4307 = $2; $4308 = $3; $4309 = $m; $4310 = $ll; $4311 = $6; $4312 = (($4311) + 1)|0; _mixed_radix_dit_rec($4302,$4306,$4307,$4308,$4309,$4310,$4312); $c1227 = 0.707106781186547572737; $s1228 = 0.707106781186547572737; $k173 = 0; while(1) { $4313 = $k173; $4314 = $m; $4315 = ($4313|0)<($4314|0); if (!($4315)) { break; } $4316 = $m; $4317 = (($4316) - 1)|0; $4318 = $k173; $4319 = ($4318*7)|0; $4320 = (($4317) + ($4319))|0; $ind180 = $4320; $4321 = $2; $4322 = (($4321) + 272|0); $4323 = $ind180; $4324 = (($4322) + ($4323<<4)|0); $4325 = +HEAPF64[$4324>>3]; $wlr181 = $4325; $4326 = $2; $4327 = (($4326) + 272|0); $4328 = $ind180; $4329 = (($4327) + ($4328<<4)|0); $4330 = (($4329) + 8|0); $4331 = +HEAPF64[$4330>>3]; $wli182 = $4331; $4332 = $ind180; $4333 = (($4332) + 1)|0; $ind180 = $4333; $4334 = $2; $4335 = (($4334) + 272|0); $4336 = $ind180; $4337 = (($4335) + ($4336<<4)|0); $4338 = +HEAPF64[$4337>>3]; $wl2r183 = $4338; $4339 = $2; $4340 = (($4339) + 272|0); $4341 = $ind180; $4342 = (($4340) + ($4341<<4)|0); $4343 = (($4342) + 8|0); $4344 = +HEAPF64[$4343>>3]; $wl2i184 = $4344; $4345 = $ind180; $4346 = (($4345) + 1)|0; $ind180 = $4346; $4347 = $2; $4348 = (($4347) + 272|0); $4349 = $ind180; $4350 = (($4348) + ($4349<<4)|0); $4351 = +HEAPF64[$4350>>3]; $wl3r185 = $4351; $4352 = $2; $4353 = (($4352) + 272|0); $4354 = $ind180; $4355 = (($4353) + ($4354<<4)|0); $4356 = (($4355) + 8|0); $4357 = +HEAPF64[$4356>>3]; $wl3i186 = $4357; $4358 = $ind180; $4359 = (($4358) + 1)|0; $ind180 = $4359; $4360 = $2; $4361 = (($4360) + 272|0); $4362 = $ind180; $4363 = (($4361) + ($4362<<4)|0); $4364 = +HEAPF64[$4363>>3]; $wl4r187 = $4364; $4365 = $2; $4366 = (($4365) + 272|0); $4367 = $ind180; $4368 = (($4366) + ($4367<<4)|0); $4369 = (($4368) + 8|0); $4370 = +HEAPF64[$4369>>3]; $wl4i188 = $4370; $4371 = $ind180; $4372 = (($4371) + 1)|0; $ind180 = $4372; $4373 = $2; $4374 = (($4373) + 272|0); $4375 = $ind180; $4376 = (($4374) + ($4375<<4)|0); $4377 = +HEAPF64[$4376>>3]; $wl5r189 = $4377; $4378 = $2; $4379 = (($4378) + 272|0); $4380 = $ind180; $4381 = (($4379) + ($4380<<4)|0); $4382 = (($4381) + 8|0); $4383 = +HEAPF64[$4382>>3]; $wl5i190 = $4383; $4384 = $ind180; $4385 = (($4384) + 1)|0; $ind180 = $4385; $4386 = $2; $4387 = (($4386) + 272|0); $4388 = $ind180; $4389 = (($4387) + ($4388<<4)|0); $4390 = +HEAPF64[$4389>>3]; $wl6r191 = $4390; $4391 = $2; $4392 = (($4391) + 272|0); $4393 = $ind180; $4394 = (($4392) + ($4393<<4)|0); $4395 = (($4394) + 8|0); $4396 = +HEAPF64[$4395>>3]; $wl6i192 = $4396; $4397 = $ind180; $4398 = (($4397) + 1)|0; $ind180 = $4398; $4399 = $2; $4400 = (($4399) + 272|0); $4401 = $ind180; $4402 = (($4400) + ($4401<<4)|0); $4403 = +HEAPF64[$4402>>3]; $wl7r = $4403; $4404 = $2; $4405 = (($4404) + 272|0); $4406 = $ind180; $4407 = (($4405) + ($4406<<4)|0); $4408 = (($4407) + 8|0); $4409 = +HEAPF64[$4408>>3]; $wl7i = $4409; $4410 = $k173; $4411 = $m; $4412 = (($4410) + ($4411))|0; $tkm1174 = $4412; $4413 = $tkm1174; $4414 = $m; $4415 = (($4413) + ($4414))|0; $tkm2175 = $4415; $4416 = $tkm2175; $4417 = $m; $4418 = (($4416) + ($4417))|0; $tkm3176 = $4418; $4419 = $tkm3176; $4420 = $m; $4421 = (($4419) + ($4420))|0; $tkm4177 = $4421; $4422 = $tkm4177; $4423 = $m; $4424 = (($4422) + ($4423))|0; $tkm5178 = $4424; $4425 = $tkm5178; $4426 = $m; $4427 = (($4425) + ($4426))|0; $tkm6179 = $4427; $4428 = $tkm6179; $4429 = $m; $4430 = (($4428) + ($4429))|0; $tkm7 = $4430; $4431 = $k173; $4432 = $0; $4433 = (($4432) + ($4431<<4)|0); $4434 = +HEAPF64[$4433>>3]; $ar201 = $4434; $4435 = $k173; $4436 = $0; $4437 = (($4436) + ($4435<<4)|0); $4438 = (($4437) + 8|0); $4439 = +HEAPF64[$4438>>3]; $ai202 = $4439; $4440 = $tkm1174; $4441 = $0; $4442 = (($4441) + ($4440<<4)|0); $4443 = +HEAPF64[$4442>>3]; $4444 = $wlr181; $4445 = $4443 * $4444; $4446 = $tkm1174; $4447 = $0; $4448 = (($4447) + ($4446<<4)|0); $4449 = (($4448) + 8|0); $4450 = +HEAPF64[$4449>>3]; $4451 = $wli182; $4452 = $4450 * $4451; $4453 = $4445 - $4452; $br203 = $4453; $4454 = $tkm1174; $4455 = $0; $4456 = (($4455) + ($4454<<4)|0); $4457 = (($4456) + 8|0); $4458 = +HEAPF64[$4457>>3]; $4459 = $wlr181; $4460 = $4458 * $4459; $4461 = $tkm1174; $4462 = $0; $4463 = (($4462) + ($4461<<4)|0); $4464 = +HEAPF64[$4463>>3]; $4465 = $wli182; $4466 = $4464 * $4465; $4467 = $4460 + $4466; $bi204 = $4467; $4468 = $tkm2175; $4469 = $0; $4470 = (($4469) + ($4468<<4)|0); $4471 = +HEAPF64[$4470>>3]; $4472 = $wl2r183; $4473 = $4471 * $4472; $4474 = $tkm2175; $4475 = $0; $4476 = (($4475) + ($4474<<4)|0); $4477 = (($4476) + 8|0); $4478 = +HEAPF64[$4477>>3]; $4479 = $wl2i184; $4480 = $4478 * $4479; $4481 = $4473 - $4480; $cr205 = $4481; $4482 = $tkm2175; $4483 = $0; $4484 = (($4483) + ($4482<<4)|0); $4485 = (($4484) + 8|0); $4486 = +HEAPF64[$4485>>3]; $4487 = $wl2r183; $4488 = $4486 * $4487; $4489 = $tkm2175; $4490 = $0; $4491 = (($4490) + ($4489<<4)|0); $4492 = +HEAPF64[$4491>>3]; $4493 = $wl2i184; $4494 = $4492 * $4493; $4495 = $4488 + $4494; $ci206 = $4495; $4496 = $tkm3176; $4497 = $0; $4498 = (($4497) + ($4496<<4)|0); $4499 = +HEAPF64[$4498>>3]; $4500 = $wl3r185; $4501 = $4499 * $4500; $4502 = $tkm3176; $4503 = $0; $4504 = (($4503) + ($4502<<4)|0); $4505 = (($4504) + 8|0); $4506 = +HEAPF64[$4505>>3]; $4507 = $wl3i186; $4508 = $4506 * $4507; $4509 = $4501 - $4508; $dr207 = $4509; $4510 = $tkm3176; $4511 = $0; $4512 = (($4511) + ($4510<<4)|0); $4513 = (($4512) + 8|0); $4514 = +HEAPF64[$4513>>3]; $4515 = $wl3r185; $4516 = $4514 * $4515; $4517 = $tkm3176; $4518 = $0; $4519 = (($4518) + ($4517<<4)|0); $4520 = +HEAPF64[$4519>>3]; $4521 = $wl3i186; $4522 = $4520 * $4521; $4523 = $4516 + $4522; $di208 = $4523; $4524 = $tkm4177; $4525 = $0; $4526 = (($4525) + ($4524<<4)|0); $4527 = +HEAPF64[$4526>>3]; $4528 = $wl4r187; $4529 = $4527 * $4528; $4530 = $tkm4177; $4531 = $0; $4532 = (($4531) + ($4530<<4)|0); $4533 = (($4532) + 8|0); $4534 = +HEAPF64[$4533>>3]; $4535 = $wl4i188; $4536 = $4534 * $4535; $4537 = $4529 - $4536; $er209 = $4537; $4538 = $tkm4177; $4539 = $0; $4540 = (($4539) + ($4538<<4)|0); $4541 = (($4540) + 8|0); $4542 = +HEAPF64[$4541>>3]; $4543 = $wl4r187; $4544 = $4542 * $4543; $4545 = $tkm4177; $4546 = $0; $4547 = (($4546) + ($4545<<4)|0); $4548 = +HEAPF64[$4547>>3]; $4549 = $wl4i188; $4550 = $4548 * $4549; $4551 = $4544 + $4550; $ei210 = $4551; $4552 = $tkm5178; $4553 = $0; $4554 = (($4553) + ($4552<<4)|0); $4555 = +HEAPF64[$4554>>3]; $4556 = $wl5r189; $4557 = $4555 * $4556; $4558 = $tkm5178; $4559 = $0; $4560 = (($4559) + ($4558<<4)|0); $4561 = (($4560) + 8|0); $4562 = +HEAPF64[$4561>>3]; $4563 = $wl5i190; $4564 = $4562 * $4563; $4565 = $4557 - $4564; $fr211 = $4565; $4566 = $tkm5178; $4567 = $0; $4568 = (($4567) + ($4566<<4)|0); $4569 = (($4568) + 8|0); $4570 = +HEAPF64[$4569>>3]; $4571 = $wl5r189; $4572 = $4570 * $4571; $4573 = $tkm5178; $4574 = $0; $4575 = (($4574) + ($4573<<4)|0); $4576 = +HEAPF64[$4575>>3]; $4577 = $wl5i190; $4578 = $4576 * $4577; $4579 = $4572 + $4578; $fi212 = $4579; $4580 = $tkm6179; $4581 = $0; $4582 = (($4581) + ($4580<<4)|0); $4583 = +HEAPF64[$4582>>3]; $4584 = $wl6r191; $4585 = $4583 * $4584; $4586 = $tkm6179; $4587 = $0; $4588 = (($4587) + ($4586<<4)|0); $4589 = (($4588) + 8|0); $4590 = +HEAPF64[$4589>>3]; $4591 = $wl6i192; $4592 = $4590 * $4591; $4593 = $4585 - $4592; $gr213 = $4593; $4594 = $tkm6179; $4595 = $0; $4596 = (($4595) + ($4594<<4)|0); $4597 = (($4596) + 8|0); $4598 = +HEAPF64[$4597>>3]; $4599 = $wl6r191; $4600 = $4598 * $4599; $4601 = $tkm6179; $4602 = $0; $4603 = (($4602) + ($4601<<4)|0); $4604 = +HEAPF64[$4603>>3]; $4605 = $wl6i192; $4606 = $4604 * $4605; $4607 = $4600 + $4606; $gi214 = $4607; $4608 = $tkm7; $4609 = $0; $4610 = (($4609) + ($4608<<4)|0); $4611 = +HEAPF64[$4610>>3]; $4612 = $wl7r; $4613 = $4611 * $4612; $4614 = $tkm7; $4615 = $0; $4616 = (($4615) + ($4614<<4)|0); $4617 = (($4616) + 8|0); $4618 = +HEAPF64[$4617>>3]; $4619 = $wl7i; $4620 = $4618 * $4619; $4621 = $4613 - $4620; $hr = $4621; $4622 = $tkm7; $4623 = $0; $4624 = (($4623) + ($4622<<4)|0); $4625 = (($4624) + 8|0); $4626 = +HEAPF64[$4625>>3]; $4627 = $wl7r; $4628 = $4626 * $4627; $4629 = $tkm7; $4630 = $0; $4631 = (($4630) + ($4629<<4)|0); $4632 = +HEAPF64[$4631>>3]; $4633 = $wl7i; $4634 = $4632 * $4633; $4635 = $4628 + $4634; $hi = $4635; $4636 = $ar201; $4637 = $er209; $4638 = $4636 + $4637; $tau0r193 = $4638; $4639 = $ar201; $4640 = $er209; $4641 = $4639 - $4640; $tau4r215 = $4641; $4642 = $ai202; $4643 = $ei210; $4644 = $4642 + $4643; $tau0i194 = $4644; $4645 = $ai202; $4646 = $ei210; $4647 = $4645 - $4646; $tau4i216 = $4647; $4648 = $br203; $4649 = $hr; $4650 = $4648 + $4649; $tau1r195 = $4650; $4651 = $br203; $4652 = $hr; $4653 = $4651 - $4652; $tau5r217 = $4653; $4654 = $bi204; $4655 = $hi; $4656 = $4654 + $4655; $tau1i196 = $4656; $4657 = $bi204; $4658 = $hi; $4659 = $4657 - $4658; $tau5i218 = $4659; $4660 = $dr207; $4661 = $fr211; $4662 = $4660 + $4661; $tau2r197 = $4662; $4663 = $dr207; $4664 = $fr211; $4665 = $4663 - $4664; $tau6r219 = $4665; $4666 = $di208; $4667 = $fi212; $4668 = $4666 - $4667; $tau6i220 = $4668; $4669 = $di208; $4670 = $fi212; $4671 = $4669 + $4670; $tau2i198 = $4671; $4672 = $cr205; $4673 = $gr213; $4674 = $4672 + $4673; $tau3r199 = $4674; $4675 = $cr205; $4676 = $gr213; $4677 = $4675 - $4676; $tau7r221 = $4677; $4678 = $ci206; $4679 = $gi214; $4680 = $4678 - $4679; $tau7i222 = $4680; $4681 = $ci206; $4682 = $gi214; $4683 = $4681 + $4682; $tau3i200 = $4683; $4684 = $tau0r193; $4685 = $tau1r195; $4686 = $4684 + $4685; $4687 = $tau2r197; $4688 = $4686 + $4687; $4689 = $tau3r199; $4690 = $4688 + $4689; $4691 = $k173; $4692 = $0; $4693 = (($4692) + ($4691<<4)|0); HEAPF64[$4693>>3] = $4690; $4694 = $tau0i194; $4695 = $tau1i196; $4696 = $4694 + $4695; $4697 = $tau2i198; $4698 = $4696 + $4697; $4699 = $tau3i200; $4700 = $4698 + $4699; $4701 = $k173; $4702 = $0; $4703 = (($4702) + ($4701<<4)|0); $4704 = (($4703) + 8|0); HEAPF64[$4704>>3] = $4700; $4705 = $tau0r193; $4706 = $tau1r195; $4707 = $4705 - $4706; $4708 = $tau2r197; $4709 = $4707 - $4708; $4710 = $tau3r199; $4711 = $4709 + $4710; $4712 = $tkm4177; $4713 = $0; $4714 = (($4713) + ($4712<<4)|0); HEAPF64[$4714>>3] = $4711; $4715 = $tau0i194; $4716 = $tau1i196; $4717 = $4715 - $4716; $4718 = $tau2i198; $4719 = $4717 - $4718; $4720 = $tau3i200; $4721 = $4719 + $4720; $4722 = $tkm4177; $4723 = $0; $4724 = (($4723) + ($4722<<4)|0); $4725 = (($4724) + 8|0); HEAPF64[$4725>>3] = $4721; $4726 = $tau1r195; $4727 = $tau2r197; $4728 = $4726 - $4727; $temp1r229 = $4728; $4729 = $tau1i196; $4730 = $tau2i198; $4731 = $4729 - $4730; $temp1i230 = $4731; $4732 = $tau5r217; $4733 = $tau6r219; $4734 = $4732 + $4733; $temp2r231 = $4734; $4735 = $tau5i218; $4736 = $tau6i220; $4737 = $4735 + $4736; $temp2i232 = $4737; $4738 = $tau4r215; $4739 = $c1227; $4740 = $temp1r229; $4741 = $4739 * $4740; $4742 = $4738 + $4741; $tau8r223 = $4742; $4743 = $tau4i216; $4744 = $c1227; $4745 = $temp1i230; $4746 = $4744 * $4745; $4747 = $4743 + $4746; $tau8i224 = $4747; $4748 = $3; $4749 = ($4748|0)==(1); if ($4749) { $4750 = $s1228; $4751 = -$4750; $4752 = $temp2r231; $4753 = $4751 * $4752; $4754 = $tau7r221; $4755 = $4753 - $4754; $tau9r225 = $4755; $4756 = $s1228; $4757 = -$4756; $4758 = $temp2i232; $4759 = $4757 * $4758; $4760 = $tau7i222; $4761 = $4759 - $4760; $tau9i226 = $4761; } else { $4762 = $s1228; $4763 = $temp2r231; $4764 = $4762 * $4763; $4765 = $tau7r221; $4766 = $4764 + $4765; $tau9r225 = $4766; $4767 = $s1228; $4768 = $temp2i232; $4769 = $4767 * $4768; $4770 = $tau7i222; $4771 = $4769 + $4770; $tau9i226 = $4771; } $4772 = $tau8r223; $4773 = $tau9i226; $4774 = $4772 - $4773; $4775 = $tkm1174; $4776 = $0; $4777 = (($4776) + ($4775<<4)|0); HEAPF64[$4777>>3] = $4774; $4778 = $tau8i224; $4779 = $tau9r225; $4780 = $4778 + $4779; $4781 = $tkm1174; $4782 = $0; $4783 = (($4782) + ($4781<<4)|0); $4784 = (($4783) + 8|0); HEAPF64[$4784>>3] = $4780; $4785 = $tau8r223; $4786 = $tau9i226; $4787 = $4785 + $4786; $4788 = $tkm7; $4789 = $0; $4790 = (($4789) + ($4788<<4)|0); HEAPF64[$4790>>3] = $4787; $4791 = $tau8i224; $4792 = $tau9r225; $4793 = $4791 - $4792; $4794 = $tkm7; $4795 = $0; $4796 = (($4795) + ($4794<<4)|0); $4797 = (($4796) + 8|0); HEAPF64[$4797>>3] = $4793; $4798 = $tau0r193; $4799 = $tau3r199; $4800 = $4798 - $4799; $tau8r223 = $4800; $4801 = $tau0i194; $4802 = $tau3i200; $4803 = $4801 - $4802; $tau8i224 = $4803; $4804 = $3; $4805 = ($4804|0)==(1); if ($4805) { $4806 = $tau5r217; $4807 = -$4806; $4808 = $tau6r219; $4809 = $4807 + $4808; $tau9r225 = $4809; $4810 = $tau5i218; $4811 = -$4810; $4812 = $tau6i220; $4813 = $4811 + $4812; $tau9i226 = $4813; } else { $4814 = $tau5r217; $4815 = $tau6r219; $4816 = $4814 - $4815; $tau9r225 = $4816; $4817 = $tau5i218; $4818 = $tau6i220; $4819 = $4817 - $4818; $tau9i226 = $4819; } $4820 = $tau8r223; $4821 = $tau9i226; $4822 = $4820 - $4821; $4823 = $tkm2175; $4824 = $0; $4825 = (($4824) + ($4823<<4)|0); HEAPF64[$4825>>3] = $4822; $4826 = $tau8i224; $4827 = $tau9r225; $4828 = $4826 + $4827; $4829 = $tkm2175; $4830 = $0; $4831 = (($4830) + ($4829<<4)|0); $4832 = (($4831) + 8|0); HEAPF64[$4832>>3] = $4828; $4833 = $tau8r223; $4834 = $tau9i226; $4835 = $4833 + $4834; $4836 = $tkm6179; $4837 = $0; $4838 = (($4837) + ($4836<<4)|0); HEAPF64[$4838>>3] = $4835; $4839 = $tau8i224; $4840 = $tau9r225; $4841 = $4839 - $4840; $4842 = $tkm6179; $4843 = $0; $4844 = (($4843) + ($4842<<4)|0); $4845 = (($4844) + 8|0); HEAPF64[$4845>>3] = $4841; $4846 = $tau4r215; $4847 = $c1227; $4848 = $temp1r229; $4849 = $4847 * $4848; $4850 = $4846 - $4849; $tau8r223 = $4850; $4851 = $tau4i216; $4852 = $c1227; $4853 = $temp1i230; $4854 = $4852 * $4853; $4855 = $4851 - $4854; $tau8i224 = $4855; $4856 = $3; $4857 = ($4856|0)==(1); if ($4857) { $4858 = $s1228; $4859 = -$4858; $4860 = $temp2r231; $4861 = $4859 * $4860; $4862 = $tau7r221; $4863 = $4861 + $4862; $tau9r225 = $4863; $4864 = $s1228; $4865 = -$4864; $4866 = $temp2i232; $4867 = $4865 * $4866; $4868 = $tau7i222; $4869 = $4867 + $4868; $tau9i226 = $4869; } else { $4870 = $s1228; $4871 = $temp2r231; $4872 = $4870 * $4871; $4873 = $tau7r221; $4874 = $4872 - $4873; $tau9r225 = $4874; $4875 = $s1228; $4876 = $temp2i232; $4877 = $4875 * $4876; $4878 = $tau7i222; $4879 = $4877 - $4878; $tau9i226 = $4879; } $4880 = $tau8r223; $4881 = $tau9i226; $4882 = $4880 - $4881; $4883 = $tkm3176; $4884 = $0; $4885 = (($4884) + ($4883<<4)|0); HEAPF64[$4885>>3] = $4882; $4886 = $tau8i224; $4887 = $tau9r225; $4888 = $4886 + $4887; $4889 = $tkm3176; $4890 = $0; $4891 = (($4890) + ($4889<<4)|0); $4892 = (($4891) + 8|0); HEAPF64[$4892>>3] = $4888; $4893 = $tau8r223; $4894 = $tau9i226; $4895 = $4893 + $4894; $4896 = $tkm5178; $4897 = $0; $4898 = (($4897) + ($4896<<4)|0); HEAPF64[$4898>>3] = $4895; $4899 = $tau8i224; $4900 = $tau9r225; $4901 = $4899 - $4900; $4902 = $tkm5178; $4903 = $0; $4904 = (($4903) + ($4902<<4)|0); $4905 = (($4904) + 8|0); HEAPF64[$4905>>3] = $4901; $4906 = $k173; $4907 = (($4906) + 1)|0; $k173 = $4907; } } else { $4908 = $radix; $4909 = (($4908) - 1)|0; $4910 = $4909<<3; $4911 = (_malloc($4910)|0); $wlr239 = $4911; $4912 = $radix; $4913 = (($4912) - 1)|0; $4914 = $4913<<3; $4915 = (_malloc($4914)|0); $wli240 = $4915; $4916 = $radix; $4917 = (($4916) - 1)|0; $4918 = $4917<<3; $4919 = (_malloc($4918)|0); $taur = $4919; $4920 = $radix; $4921 = (($4920) - 1)|0; $4922 = $4921<<3; $4923 = (_malloc($4922)|0); $taui = $4923; $4924 = $radix; $4925 = (($4924) - 1)|0; $4926 = $4925<<3; $4927 = (_malloc($4926)|0); $c1241 = $4927; $4928 = $radix; $4929 = (($4928) - 1)|0; $4930 = $4929<<3; $4931 = (_malloc($4930)|0); $s1242 = $4931; $4932 = $radix; $4933 = $4932<<3; $4934 = (_malloc($4933)|0); $yr = $4934; $4935 = $radix; $4936 = $4935<<3; $4937 = (_malloc($4936)|0); $yi = $4937; $4938 = $4; $4939 = $radix; $4940 = (($4938|0) / ($4939|0))&-1; $m = $4940; $4941 = $radix; $4942 = $5; $4943 = Math_imul($4941, $4942)|0; $ll = $4943; $i = 0; while(1) { $4944 = $i; $4945 = $radix; $4946 = ($4944|0)<($4945|0); if (!($4946)) { break; } $4947 = $0; $4948 = $i; $4949 = $m; $4950 = Math_imul($4948, $4949)|0; $4951 = (($4947) + ($4950<<4)|0); $4952 = $1; $4953 = $i; $4954 = $5; $4955 = Math_imul($4953, $4954)|0; $4956 = (($4952) + ($4955<<4)|0); $4957 = $2; $4958 = $3; $4959 = $m; $4960 = $ll; $4961 = $6; $4962 = (($4961) + 1)|0; _mixed_radix_dit_rec($4951,$4956,$4957,$4958,$4959,$4960,$4962); $4963 = $i; $4964 = (($4963) + 1)|0; $i = $4964; } $4965 = $radix; $4966 = (($4965) - 1)|0; $4967 = (($4966|0) / 2)&-1; $M = $4967; $i = 1; while(1) { $4968 = $i; $4969 = $M; $4970 = (($4969) + 1)|0; $4971 = ($4968|0)<($4970|0); if (!($4971)) { break; } $4972 = $i; $4973 = (+($4972|0)); $4974 = $4973 * 6.283185307179586232; $4975 = $radix; $4976 = (+($4975|0)); $4977 = $4974 / $4976; $4978 = (+Math_cos((+$4977))); $4979 = $i; $4980 = (($4979) - 1)|0; $4981 = $c1241; $4982 = (($4981) + ($4980<<3)|0); HEAPF64[$4982>>3] = $4978; $4983 = $i; $4984 = (+($4983|0)); $4985 = $4984 * 6.283185307179586232; $4986 = $radix; $4987 = (+($4986|0)); $4988 = $4985 / $4987; $4989 = (+Math_sin((+$4988))); $4990 = $i; $4991 = (($4990) - 1)|0; $4992 = $s1242; $4993 = (($4992) + ($4991<<3)|0); HEAPF64[$4993>>3] = $4989; $4994 = $i; $4995 = (($4994) + 1)|0; $i = $4995; } $i = 0; while(1) { $4996 = $i; $4997 = $M; $4998 = ($4996|0)<($4997|0); if (!($4998)) { break; } $4999 = $M; $5000 = (($4999) - 1)|0; $5001 = $i; $5002 = (($5000) - ($5001))|0; $5003 = $s1242; $5004 = (($5003) + ($5002<<3)|0); $5005 = +HEAPF64[$5004>>3]; $5006 = -$5005; $5007 = $i; $5008 = $M; $5009 = (($5007) + ($5008))|0; $5010 = $s1242; $5011 = (($5010) + ($5009<<3)|0); HEAPF64[$5011>>3] = $5006; $5012 = $M; $5013 = (($5012) - 1)|0; $5014 = $i; $5015 = (($5013) - ($5014))|0; $5016 = $c1241; $5017 = (($5016) + ($5015<<3)|0); $5018 = +HEAPF64[$5017>>3]; $5019 = $i; $5020 = $M; $5021 = (($5019) + ($5020))|0; $5022 = $c1241; $5023 = (($5022) + ($5021<<3)|0); HEAPF64[$5023>>3] = $5018; $5024 = $i; $5025 = (($5024) + 1)|0; $i = $5025; } $k233 = 0; while(1) { $5026 = $k233; $5027 = $m; $5028 = ($5026|0)<($5027|0); if (!($5028)) { break; } $5029 = $m; $5030 = (($5029) - 1)|0; $5031 = $radix; $5032 = (($5031) - 1)|0; $5033 = $k233; $5034 = Math_imul($5032, $5033)|0; $5035 = (($5030) + ($5034))|0; $ind234 = $5035; $5036 = $k233; $5037 = $0; $5038 = (($5037) + ($5036<<4)|0); $5039 = +HEAPF64[$5038>>3]; $5040 = $yr; HEAPF64[$5040>>3] = $5039; $5041 = $k233; $5042 = $0; $5043 = (($5042) + ($5041<<4)|0); $5044 = (($5043) + 8|0); $5045 = +HEAPF64[$5044>>3]; $5046 = $yi; HEAPF64[$5046>>3] = $5045; $i = 0; while(1) { $5047 = $i; $5048 = $radix; $5049 = (($5048) - 1)|0; $5050 = ($5047|0)<($5049|0); if (!($5050)) { break; } $5051 = $2; $5052 = (($5051) + 272|0); $5053 = $ind234; $5054 = (($5052) + ($5053<<4)|0); $5055 = +HEAPF64[$5054>>3]; $5056 = $i; $5057 = $wlr239; $5058 = (($5057) + ($5056<<3)|0); HEAPF64[$5058>>3] = $5055; $5059 = $2; $5060 = (($5059) + 272|0); $5061 = $ind234; $5062 = (($5060) + ($5061<<4)|0); $5063 = (($5062) + 8|0); $5064 = +HEAPF64[$5063>>3]; $5065 = $i; $5066 = $wli240; $5067 = (($5066) + ($5065<<3)|0); HEAPF64[$5067>>3] = $5064; $5068 = $k233; $5069 = $i; $5070 = (($5069) + 1)|0; $5071 = $m; $5072 = Math_imul($5070, $5071)|0; $5073 = (($5068) + ($5072))|0; $tkm = $5073; $5074 = $tkm; $5075 = $0; $5076 = (($5075) + ($5074<<4)|0); $5077 = +HEAPF64[$5076>>3]; $5078 = $i; $5079 = $wlr239; $5080 = (($5079) + ($5078<<3)|0); $5081 = +HEAPF64[$5080>>3]; $5082 = $5077 * $5081; $5083 = $tkm; $5084 = $0; $5085 = (($5084) + ($5083<<4)|0); $5086 = (($5085) + 8|0); $5087 = +HEAPF64[$5086>>3]; $5088 = $i; $5089 = $wli240; $5090 = (($5089) + ($5088<<3)|0); $5091 = +HEAPF64[$5090>>3]; $5092 = $5087 * $5091; $5093 = $5082 - $5092; $5094 = $i; $5095 = (($5094) + 1)|0; $5096 = $yr; $5097 = (($5096) + ($5095<<3)|0); HEAPF64[$5097>>3] = $5093; $5098 = $tkm; $5099 = $0; $5100 = (($5099) + ($5098<<4)|0); $5101 = (($5100) + 8|0); $5102 = +HEAPF64[$5101>>3]; $5103 = $i; $5104 = $wlr239; $5105 = (($5104) + ($5103<<3)|0); $5106 = +HEAPF64[$5105>>3]; $5107 = $5102 * $5106; $5108 = $tkm; $5109 = $0; $5110 = (($5109) + ($5108<<4)|0); $5111 = +HEAPF64[$5110>>3]; $5112 = $i; $5113 = $wli240; $5114 = (($5113) + ($5112<<3)|0); $5115 = +HEAPF64[$5114>>3]; $5116 = $5111 * $5115; $5117 = $5107 + $5116; $5118 = $i; $5119 = (($5118) + 1)|0; $5120 = $yi; $5121 = (($5120) + ($5119<<3)|0); HEAPF64[$5121>>3] = $5117; $5122 = $ind234; $5123 = (($5122) + 1)|0; $ind234 = $5123; $5124 = $i; $5125 = (($5124) + 1)|0; $i = $5125; } $i = 0; while(1) { $5126 = $i; $5127 = $M; $5128 = ($5126|0)<($5127|0); if (!($5128)) { break; } $5129 = $i; $5130 = (($5129) + 1)|0; $5131 = $yr; $5132 = (($5131) + ($5130<<3)|0); $5133 = +HEAPF64[$5132>>3]; $5134 = $radix; $5135 = (($5134) - 1)|0; $5136 = $i; $5137 = (($5135) - ($5136))|0; $5138 = $yr; $5139 = (($5138) + ($5137<<3)|0); $5140 = +HEAPF64[$5139>>3]; $5141 = $5133 + $5140; $5142 = $i; $5143 = $taur; $5144 = (($5143) + ($5142<<3)|0); HEAPF64[$5144>>3] = $5141; $5145 = $i; $5146 = (($5145) + 1)|0; $5147 = $yi; $5148 = (($5147) + ($5146<<3)|0); $5149 = +HEAPF64[$5148>>3]; $5150 = $radix; $5151 = (($5150) - 1)|0; $5152 = $i; $5153 = (($5151) - ($5152))|0; $5154 = $yi; $5155 = (($5154) + ($5153<<3)|0); $5156 = +HEAPF64[$5155>>3]; $5157 = $5149 - $5156; $5158 = $i; $5159 = $M; $5160 = (($5158) + ($5159))|0; $5161 = $taui; $5162 = (($5161) + ($5160<<3)|0); HEAPF64[$5162>>3] = $5157; $5163 = $i; $5164 = (($5163) + 1)|0; $5165 = $yi; $5166 = (($5165) + ($5164<<3)|0); $5167 = +HEAPF64[$5166>>3]; $5168 = $radix; $5169 = (($5168) - 1)|0; $5170 = $i; $5171 = (($5169) - ($5170))|0; $5172 = $yi; $5173 = (($5172) + ($5171<<3)|0); $5174 = +HEAPF64[$5173>>3]; $5175 = $5167 + $5174; $5176 = $i; $5177 = $taui; $5178 = (($5177) + ($5176<<3)|0); HEAPF64[$5178>>3] = $5175; $5179 = $i; $5180 = (($5179) + 1)|0; $5181 = $yr; $5182 = (($5181) + ($5180<<3)|0); $5183 = +HEAPF64[$5182>>3]; $5184 = $radix; $5185 = (($5184) - 1)|0; $5186 = $i; $5187 = (($5185) - ($5186))|0; $5188 = $yr; $5189 = (($5188) + ($5187<<3)|0); $5190 = +HEAPF64[$5189>>3]; $5191 = $5183 - $5190; $5192 = $i; $5193 = $M; $5194 = (($5192) + ($5193))|0; $5195 = $taur; $5196 = (($5195) + ($5194<<3)|0); HEAPF64[$5196>>3] = $5191; $5197 = $i; $5198 = (($5197) + 1)|0; $i = $5198; } $5199 = $yr; $5200 = +HEAPF64[$5199>>3]; $temp1r235 = $5200; $5201 = $yi; $5202 = +HEAPF64[$5201>>3]; $temp1i236 = $5202; $i = 0; while(1) { $5203 = $i; $5204 = $M; $5205 = ($5203|0)<($5204|0); if (!($5205)) { break; } $5206 = $i; $5207 = $taur; $5208 = (($5207) + ($5206<<3)|0); $5209 = +HEAPF64[$5208>>3]; $5210 = $temp1r235; $5211 = $5210 + $5209; $temp1r235 = $5211; $5212 = $i; $5213 = $taui; $5214 = (($5213) + ($5212<<3)|0); $5215 = +HEAPF64[$5214>>3]; $5216 = $temp1i236; $5217 = $5216 + $5215; $temp1i236 = $5217; $5218 = $i; $5219 = (($5218) + 1)|0; $i = $5219; } $5220 = $temp1r235; $5221 = $k233; $5222 = $0; $5223 = (($5222) + ($5221<<4)|0); HEAPF64[$5223>>3] = $5220; $5224 = $temp1i236; $5225 = $k233; $5226 = $0; $5227 = (($5226) + ($5225<<4)|0); $5228 = (($5227) + 8|0); HEAPF64[$5228>>3] = $5224; $u = 0; while(1) { $5229 = $u; $5230 = $M; $5231 = ($5229|0)<($5230|0); if (!($5231)) { break; } $5232 = $yr; $5233 = +HEAPF64[$5232>>3]; $temp1r235 = $5233; $5234 = $yi; $5235 = +HEAPF64[$5234>>3]; $temp1i236 = $5235; $temp2r237 = 0.0; $temp2i238 = 0.0; $v = 0; while(1) { $5236 = $v; $5237 = $M; $5238 = ($5236|0)<($5237|0); if (!($5238)) { break; } $5239 = $u; $5240 = (($5239) + 1)|0; $5241 = $v; $5242 = (($5241) + 1)|0; $5243 = Math_imul($5240, $5242)|0; $t = $5243; while(1) { $5244 = $t; $5245 = $radix; $5246 = ($5244|0)>=($5245|0); if (!($5246)) { break; } $5247 = $radix; $5248 = $t; $5249 = (($5248) - ($5247))|0; $t = $5249; } $5250 = $t; $5251 = (($5250) - 1)|0; $tt = $5251; $5252 = $tt; $5253 = $c1241; $5254 = (($5253) + ($5252<<3)|0); $5255 = +HEAPF64[$5254>>3]; $5256 = $v; $5257 = $taur; $5258 = (($5257) + ($5256<<3)|0); $5259 = +HEAPF64[$5258>>3]; $5260 = $5255 * $5259; $5261 = $temp1r235; $5262 = $5261 + $5260; $temp1r235 = $5262; $5263 = $tt; $5264 = $c1241; $5265 = (($5264) + ($5263<<3)|0); $5266 = +HEAPF64[$5265>>3]; $5267 = $v; $5268 = $taui; $5269 = (($5268) + ($5267<<3)|0); $5270 = +HEAPF64[$5269>>3]; $5271 = $5266 * $5270; $5272 = $temp1i236; $5273 = $5272 + $5271; $temp1i236 = $5273; $5274 = $tt; $5275 = $s1242; $5276 = (($5275) + ($5274<<3)|0); $5277 = +HEAPF64[$5276>>3]; $5278 = $v; $5279 = $M; $5280 = (($5278) + ($5279))|0; $5281 = $taur; $5282 = (($5281) + ($5280<<3)|0); $5283 = +HEAPF64[$5282>>3]; $5284 = $5277 * $5283; $5285 = $temp2r237; $5286 = $5285 - $5284; $temp2r237 = $5286; $5287 = $tt; $5288 = $s1242; $5289 = (($5288) + ($5287<<3)|0); $5290 = +HEAPF64[$5289>>3]; $5291 = $v; $5292 = $M; $5293 = (($5291) + ($5292))|0; $5294 = $taui; $5295 = (($5294) + ($5293<<3)|0); $5296 = +HEAPF64[$5295>>3]; $5297 = $5290 * $5296; $5298 = $temp2i238; $5299 = $5298 - $5297; $temp2i238 = $5299; $5300 = $v; $5301 = (($5300) + 1)|0; $v = $5301; } $5302 = $3; $5303 = (+($5302|0)); $5304 = $temp2r237; $5305 = $5303 * $5304; $temp2r237 = $5305; $5306 = $3; $5307 = (+($5306|0)); $5308 = $temp2i238; $5309 = $5307 * $5308; $temp2i238 = $5309; $5310 = $temp1r235; $5311 = $temp2i238; $5312 = $5310 - $5311; $5313 = $k233; $5314 = $u; $5315 = (($5314) + 1)|0; $5316 = $m; $5317 = Math_imul($5315, $5316)|0; $5318 = (($5313) + ($5317))|0; $5319 = $0; $5320 = (($5319) + ($5318<<4)|0); HEAPF64[$5320>>3] = $5312; $5321 = $temp1i236; $5322 = $temp2r237; $5323 = $5321 + $5322; $5324 = $k233; $5325 = $u; $5326 = (($5325) + 1)|0; $5327 = $m; $5328 = Math_imul($5326, $5327)|0; $5329 = (($5324) + ($5328))|0; $5330 = $0; $5331 = (($5330) + ($5329<<4)|0); $5332 = (($5331) + 8|0); HEAPF64[$5332>>3] = $5323; $5333 = $temp1r235; $5334 = $temp2i238; $5335 = $5333 + $5334; $5336 = $k233; $5337 = $radix; $5338 = $u; $5339 = (($5337) - ($5338))|0; $5340 = (($5339) - 1)|0; $5341 = $m; $5342 = Math_imul($5340, $5341)|0; $5343 = (($5336) + ($5342))|0; $5344 = $0; $5345 = (($5344) + ($5343<<4)|0); HEAPF64[$5345>>3] = $5335; $5346 = $temp1i236; $5347 = $temp2r237; $5348 = $5346 - $5347; $5349 = $k233; $5350 = $radix; $5351 = $u; $5352 = (($5350) - ($5351))|0; $5353 = (($5352) - 1)|0; $5354 = $m; $5355 = Math_imul($5353, $5354)|0; $5356 = (($5349) + ($5355))|0; $5357 = $0; $5358 = (($5357) + ($5356<<4)|0); $5359 = (($5358) + 8|0); HEAPF64[$5359>>3] = $5348; $5360 = $u; $5361 = (($5360) + 1)|0; $u = $5361; } $5362 = $k233; $5363 = (($5362) + 1)|0; $k233 = $5363; } $5364 = $wlr239; _free($5364); $5365 = $wli240; _free($5365); $5366 = $taur; _free($5366); $5367 = $taui; _free($5367); $5368 = $c1241; _free($5368); $5369 = $s1242; _free($5369); $5370 = $yr; _free($5370); $5371 = $yi; _free($5371); } } } } } } } } } } } STACKTOP = sp;return; } function _bluestein_fft($data,$oup,$obj,$sgn,$N) { $data = $data|0; $oup = $oup|0; $obj = $obj|0; $sgn = $sgn|0; $N = $N|0; var $0 = 0, $1 = 0, $10 = 0.0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0.0, $110 = 0, $111 = 0.0, $112 = 0.0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0.0, $118 = 0, $119 = 0, $12 = 0.0, $120 = 0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0.0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0.0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0.0; var $152 = 0.0, $153 = 0.0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0.0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0.0, $166 = 0.0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; var $170 = 0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; var $206 = 0, $207 = 0, $208 = 0.0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0.0, $213 = 0.0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0.0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0.0; var $224 = 0.0, $225 = 0.0, $226 = 0, $227 = 0, $228 = 0, $229 = 0.0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0.0, $235 = 0.0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0.0, $241 = 0; var $242 = 0, $243 = 0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0.0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; var $260 = 0, $261 = 0, $262 = 0, $263 = 0.0, $264 = 0, $265 = 0, $266 = 0, $267 = 0.0, $268 = 0.0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0.0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0.0; var $279 = 0.0, $28 = 0, $280 = 0.0, $281 = 0, $282 = 0, $283 = 0, $284 = 0.0, $285 = 0.0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0.0, $291 = 0.0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0.0; var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0.0, $301 = 0.0, $302 = 0.0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0.0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0.0, $322 = 0.0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0.0, $346 = 0, $347 = 0, $348 = 0, $349 = 0.0, $35 = 0; var $350 = 0.0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0.0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0.0, $361 = 0.0, $362 = 0.0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; var $369 = 0.0, $37 = 0, $370 = 0.0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0.0, $376 = 0.0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0.0, $382 = 0, $383 = 0, $384 = 0, $385 = 0.0, $386 = 0.0; var $387 = 0.0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0.0, $401 = 0, $402 = 0, $403 = 0; var $404 = 0.0, $405 = 0.0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0.0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0.0, $416 = 0.0, $417 = 0.0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; var $422 = 0, $423 = 0, $424 = 0.0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0.0, $43 = 0, $430 = 0.0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0.0, $436 = 0, $437 = 0, $438 = 0, $439 = 0.0, $44 = 0; var $440 = 0.0, $441 = 0.0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0.0, $465 = 0.0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; var $477 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0, $64 = 0; var $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0.0, $82 = 0; var $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0.0, $90 = 0, $91 = 0.0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0, $K = 0, $M = 0; var $def_N = 0, $def_lt = 0, $def_sgn = 0, $hk = 0, $hlt = 0, $i = 0, $ii = 0, $scale = 0.0, $temp = 0.0, $tempop = 0, $yn = 0, $yno = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $data; $1 = $oup; $2 = $obj; $3 = $sgn; $4 = $N; $5 = $2; $6 = (($5) + 268|0); HEAP32[$6>>2] = 0; $7 = $4; $8 = (+($7|0)); $9 = (+_log10((+$8))); $10 = (+_log10(2.0)); $11 = $9 / $10; $12 = (+Math_ceil((+$11))); $13 = (+Math_pow(2.0,(+$12))); $14 = (~~(($13))); $K = $14; $def_lt = 1; $15 = $2; $16 = (($15) + 4|0); $17 = HEAP32[$16>>2]|0; $def_sgn = $17; $18 = $2; $19 = HEAP32[$18>>2]|0; $def_N = $19; $20 = $K; $21 = $4; $22 = $21<<1; $23 = (($22) - 2)|0; $24 = ($20|0)<($23|0); if ($24) { $25 = $K; $26 = $25<<1; $M = $26; } else { $27 = $K; $M = $27; } $28 = $M; $29 = $2; HEAP32[$29>>2] = $28; $30 = $M; $31 = $30<<4; $32 = (_malloc($31)|0); $yn = $32; $33 = $M; $34 = $33<<4; $35 = (_malloc($34)|0); $hk = $35; $36 = $M; $37 = $36<<4; $38 = (_malloc($37)|0); $tempop = $38; $39 = $M; $40 = $39<<4; $41 = (_malloc($40)|0); $yno = $41; $42 = $4; $43 = $42<<4; $44 = (_malloc($43)|0); $hlt = $44; $45 = $tempop; $46 = $hlt; $47 = $4; $48 = $M; _bluestein_exp($45,$46,$47,$48); $49 = $M; $50 = (+($49|0)); $51 = 1.0 / $50; $scale = $51; $ii = 0; while(1) { $52 = $ii; $53 = $M; $54 = ($52|0)<($53|0); if (!($54)) { break; } $55 = $scale; $56 = $ii; $57 = $tempop; $58 = (($57) + ($56<<4)|0); $59 = (($58) + 8|0); $60 = +HEAPF64[$59>>3]; $61 = $60 * $55; HEAPF64[$59>>3] = $61; $62 = $scale; $63 = $ii; $64 = $tempop; $65 = (($64) + ($63<<4)|0); $66 = +HEAPF64[$65>>3]; $67 = $66 * $62; HEAPF64[$65>>3] = $67; $68 = $ii; $69 = (($68) + 1)|0; $ii = $69; } $70 = $2; $71 = $tempop; $72 = $hk; _fft_exec($70,$71,$72); $73 = $3; $74 = ($73|0)==(1); if ($74) { $i = 0; while(1) { $75 = $i; $76 = $4; $77 = ($75|0)<($76|0); if (!($77)) { break; } $78 = $i; $79 = $0; $80 = (($79) + ($78<<4)|0); $81 = +HEAPF64[$80>>3]; $82 = $i; $83 = $hlt; $84 = (($83) + ($82<<4)|0); $85 = +HEAPF64[$84>>3]; $86 = $81 * $85; $87 = $i; $88 = $0; $89 = (($88) + ($87<<4)|0); $90 = (($89) + 8|0); $91 = +HEAPF64[$90>>3]; $92 = $i; $93 = $hlt; $94 = (($93) + ($92<<4)|0); $95 = (($94) + 8|0); $96 = +HEAPF64[$95>>3]; $97 = $91 * $96; $98 = $86 + $97; $99 = $i; $100 = $tempop; $101 = (($100) + ($99<<4)|0); HEAPF64[$101>>3] = $98; $102 = $i; $103 = $0; $104 = (($103) + ($102<<4)|0); $105 = +HEAPF64[$104>>3]; $106 = -$105; $107 = $i; $108 = $hlt; $109 = (($108) + ($107<<4)|0); $110 = (($109) + 8|0); $111 = +HEAPF64[$110>>3]; $112 = $106 * $111; $113 = $i; $114 = $0; $115 = (($114) + ($113<<4)|0); $116 = (($115) + 8|0); $117 = +HEAPF64[$116>>3]; $118 = $i; $119 = $hlt; $120 = (($119) + ($118<<4)|0); $121 = +HEAPF64[$120>>3]; $122 = $117 * $121; $123 = $112 + $122; $124 = $i; $125 = $tempop; $126 = (($125) + ($124<<4)|0); $127 = (($126) + 8|0); HEAPF64[$127>>3] = $123; $128 = $i; $129 = (($128) + 1)|0; $i = $129; } } else { $i = 0; while(1) { $130 = $i; $131 = $4; $132 = ($130|0)<($131|0); if (!($132)) { break; } $133 = $i; $134 = $0; $135 = (($134) + ($133<<4)|0); $136 = +HEAPF64[$135>>3]; $137 = $i; $138 = $hlt; $139 = (($138) + ($137<<4)|0); $140 = +HEAPF64[$139>>3]; $141 = $136 * $140; $142 = $i; $143 = $0; $144 = (($143) + ($142<<4)|0); $145 = (($144) + 8|0); $146 = +HEAPF64[$145>>3]; $147 = $i; $148 = $hlt; $149 = (($148) + ($147<<4)|0); $150 = (($149) + 8|0); $151 = +HEAPF64[$150>>3]; $152 = $146 * $151; $153 = $141 - $152; $154 = $i; $155 = $tempop; $156 = (($155) + ($154<<4)|0); HEAPF64[$156>>3] = $153; $157 = $i; $158 = $0; $159 = (($158) + ($157<<4)|0); $160 = +HEAPF64[$159>>3]; $161 = $i; $162 = $hlt; $163 = (($162) + ($161<<4)|0); $164 = (($163) + 8|0); $165 = +HEAPF64[$164>>3]; $166 = $160 * $165; $167 = $i; $168 = $0; $169 = (($168) + ($167<<4)|0); $170 = (($169) + 8|0); $171 = +HEAPF64[$170>>3]; $172 = $i; $173 = $hlt; $174 = (($173) + ($172<<4)|0); $175 = +HEAPF64[$174>>3]; $176 = $171 * $175; $177 = $166 + $176; $178 = $i; $179 = $tempop; $180 = (($179) + ($178<<4)|0); $181 = (($180) + 8|0); HEAPF64[$181>>3] = $177; $182 = $i; $183 = (($182) + 1)|0; $i = $183; } } $184 = $4; $i = $184; while(1) { $185 = $i; $186 = $M; $187 = ($185|0)<($186|0); if (!($187)) { break; } $188 = $i; $189 = $tempop; $190 = (($189) + ($188<<4)|0); HEAPF64[$190>>3] = 0.0; $191 = $i; $192 = $tempop; $193 = (($192) + ($191<<4)|0); $194 = (($193) + 8|0); HEAPF64[$194>>3] = 0.0; $195 = $i; $196 = (($195) + 1)|0; $i = $196; } $197 = $2; $198 = $tempop; $199 = $yn; _fft_exec($197,$198,$199); $200 = $3; $201 = ($200|0)==(1); if ($201) { $i = 0; while(1) { $202 = $i; $203 = $M; $204 = ($202|0)<($203|0); if (!($204)) { break; } $205 = $i; $206 = $yn; $207 = (($206) + ($205<<4)|0); $208 = +HEAPF64[$207>>3]; $209 = $i; $210 = $hk; $211 = (($210) + ($209<<4)|0); $212 = +HEAPF64[$211>>3]; $213 = $208 * $212; $214 = $i; $215 = $yn; $216 = (($215) + ($214<<4)|0); $217 = (($216) + 8|0); $218 = +HEAPF64[$217>>3]; $219 = $i; $220 = $hk; $221 = (($220) + ($219<<4)|0); $222 = (($221) + 8|0); $223 = +HEAPF64[$222>>3]; $224 = $218 * $223; $225 = $213 - $224; $temp = $225; $226 = $i; $227 = $yn; $228 = (($227) + ($226<<4)|0); $229 = +HEAPF64[$228>>3]; $230 = $i; $231 = $hk; $232 = (($231) + ($230<<4)|0); $233 = (($232) + 8|0); $234 = +HEAPF64[$233>>3]; $235 = $229 * $234; $236 = $i; $237 = $yn; $238 = (($237) + ($236<<4)|0); $239 = (($238) + 8|0); $240 = +HEAPF64[$239>>3]; $241 = $i; $242 = $hk; $243 = (($242) + ($241<<4)|0); $244 = +HEAPF64[$243>>3]; $245 = $240 * $244; $246 = $235 + $245; $247 = $i; $248 = $yn; $249 = (($248) + ($247<<4)|0); $250 = (($249) + 8|0); HEAPF64[$250>>3] = $246; $251 = $temp; $252 = $i; $253 = $yn; $254 = (($253) + ($252<<4)|0); HEAPF64[$254>>3] = $251; $255 = $i; $256 = (($255) + 1)|0; $i = $256; } } else { $i = 0; while(1) { $257 = $i; $258 = $M; $259 = ($257|0)<($258|0); if (!($259)) { break; } $260 = $i; $261 = $yn; $262 = (($261) + ($260<<4)|0); $263 = +HEAPF64[$262>>3]; $264 = $i; $265 = $hk; $266 = (($265) + ($264<<4)|0); $267 = +HEAPF64[$266>>3]; $268 = $263 * $267; $269 = $i; $270 = $yn; $271 = (($270) + ($269<<4)|0); $272 = (($271) + 8|0); $273 = +HEAPF64[$272>>3]; $274 = $i; $275 = $hk; $276 = (($275) + ($274<<4)|0); $277 = (($276) + 8|0); $278 = +HEAPF64[$277>>3]; $279 = $273 * $278; $280 = $268 + $279; $temp = $280; $281 = $i; $282 = $yn; $283 = (($282) + ($281<<4)|0); $284 = +HEAPF64[$283>>3]; $285 = -$284; $286 = $i; $287 = $hk; $288 = (($287) + ($286<<4)|0); $289 = (($288) + 8|0); $290 = +HEAPF64[$289>>3]; $291 = $285 * $290; $292 = $i; $293 = $yn; $294 = (($293) + ($292<<4)|0); $295 = (($294) + 8|0); $296 = +HEAPF64[$295>>3]; $297 = $i; $298 = $hk; $299 = (($298) + ($297<<4)|0); $300 = +HEAPF64[$299>>3]; $301 = $296 * $300; $302 = $291 + $301; $303 = $i; $304 = $yn; $305 = (($304) + ($303<<4)|0); $306 = (($305) + 8|0); HEAPF64[$306>>3] = $302; $307 = $temp; $308 = $i; $309 = $yn; $310 = (($309) + ($308<<4)|0); HEAPF64[$310>>3] = $307; $311 = $i; $312 = (($311) + 1)|0; $i = $312; } } $ii = 0; while(1) { $313 = $ii; $314 = $M; $315 = ($313|0)<($314|0); if (!($315)) { break; } $316 = $2; $317 = (($316) + 272|0); $318 = $ii; $319 = (($317) + ($318<<4)|0); $320 = (($319) + 8|0); $321 = +HEAPF64[$320>>3]; $322 = -$321; $323 = $2; $324 = (($323) + 272|0); $325 = $ii; $326 = (($324) + ($325<<4)|0); $327 = (($326) + 8|0); HEAPF64[$327>>3] = $322; $328 = $ii; $329 = (($328) + 1)|0; $ii = $329; } $330 = $3; $331 = Math_imul(-1, $330)|0; $332 = $2; $333 = (($332) + 4|0); HEAP32[$333>>2] = $331; $334 = $2; $335 = $yn; $336 = $yno; _fft_exec($334,$335,$336); $337 = $3; $338 = ($337|0)==(1); if ($338) { $i = 0; while(1) { $339 = $i; $340 = $4; $341 = ($339|0)<($340|0); if (!($341)) { break; } $342 = $i; $343 = $yno; $344 = (($343) + ($342<<4)|0); $345 = +HEAPF64[$344>>3]; $346 = $i; $347 = $hlt; $348 = (($347) + ($346<<4)|0); $349 = +HEAPF64[$348>>3]; $350 = $345 * $349; $351 = $i; $352 = $yno; $353 = (($352) + ($351<<4)|0); $354 = (($353) + 8|0); $355 = +HEAPF64[$354>>3]; $356 = $i; $357 = $hlt; $358 = (($357) + ($356<<4)|0); $359 = (($358) + 8|0); $360 = +HEAPF64[$359>>3]; $361 = $355 * $360; $362 = $350 + $361; $363 = $i; $364 = $1; $365 = (($364) + ($363<<4)|0); HEAPF64[$365>>3] = $362; $366 = $i; $367 = $yno; $368 = (($367) + ($366<<4)|0); $369 = +HEAPF64[$368>>3]; $370 = -$369; $371 = $i; $372 = $hlt; $373 = (($372) + ($371<<4)|0); $374 = (($373) + 8|0); $375 = +HEAPF64[$374>>3]; $376 = $370 * $375; $377 = $i; $378 = $yno; $379 = (($378) + ($377<<4)|0); $380 = (($379) + 8|0); $381 = +HEAPF64[$380>>3]; $382 = $i; $383 = $hlt; $384 = (($383) + ($382<<4)|0); $385 = +HEAPF64[$384>>3]; $386 = $381 * $385; $387 = $376 + $386; $388 = $i; $389 = $1; $390 = (($389) + ($388<<4)|0); $391 = (($390) + 8|0); HEAPF64[$391>>3] = $387; $392 = $i; $393 = (($392) + 1)|0; $i = $393; } } else { $i = 0; while(1) { $394 = $i; $395 = $4; $396 = ($394|0)<($395|0); if (!($396)) { break; } $397 = $i; $398 = $yno; $399 = (($398) + ($397<<4)|0); $400 = +HEAPF64[$399>>3]; $401 = $i; $402 = $hlt; $403 = (($402) + ($401<<4)|0); $404 = +HEAPF64[$403>>3]; $405 = $400 * $404; $406 = $i; $407 = $yno; $408 = (($407) + ($406<<4)|0); $409 = (($408) + 8|0); $410 = +HEAPF64[$409>>3]; $411 = $i; $412 = $hlt; $413 = (($412) + ($411<<4)|0); $414 = (($413) + 8|0); $415 = +HEAPF64[$414>>3]; $416 = $410 * $415; $417 = $405 - $416; $418 = $i; $419 = $1; $420 = (($419) + ($418<<4)|0); HEAPF64[$420>>3] = $417; $421 = $i; $422 = $yno; $423 = (($422) + ($421<<4)|0); $424 = +HEAPF64[$423>>3]; $425 = $i; $426 = $hlt; $427 = (($426) + ($425<<4)|0); $428 = (($427) + 8|0); $429 = +HEAPF64[$428>>3]; $430 = $424 * $429; $431 = $i; $432 = $yno; $433 = (($432) + ($431<<4)|0); $434 = (($433) + 8|0); $435 = +HEAPF64[$434>>3]; $436 = $i; $437 = $hlt; $438 = (($437) + ($436<<4)|0); $439 = +HEAPF64[$438>>3]; $440 = $435 * $439; $441 = $430 + $440; $442 = $i; $443 = $1; $444 = (($443) + ($442<<4)|0); $445 = (($444) + 8|0); HEAPF64[$445>>3] = $441; $446 = $i; $447 = (($446) + 1)|0; $i = $447; } } $448 = $def_sgn; $449 = $2; $450 = (($449) + 4|0); HEAP32[$450>>2] = $448; $451 = $def_N; $452 = $2; HEAP32[$452>>2] = $451; $453 = $def_lt; $454 = $2; $455 = (($454) + 268|0); HEAP32[$455>>2] = $453; $ii = 0; while(1) { $456 = $ii; $457 = $M; $458 = ($456|0)<($457|0); if (!($458)) { break; } $459 = $2; $460 = (($459) + 272|0); $461 = $ii; $462 = (($460) + ($461<<4)|0); $463 = (($462) + 8|0); $464 = +HEAPF64[$463>>3]; $465 = -$464; $466 = $2; $467 = (($466) + 272|0); $468 = $ii; $469 = (($467) + ($468<<4)|0); $470 = (($469) + 8|0); HEAPF64[$470>>3] = $465; $471 = $ii; $472 = (($471) + 1)|0; $ii = $472; } $473 = $yn; _free($473); $474 = $yno; _free($474); $475 = $tempop; _free($475); $476 = $hk; _free($476); $477 = $hlt; _free($477); STACKTOP = sp;return; } function _bluestein_exp($hl,$hlt,$len,$M) { $hl = $hl|0; $hlt = $hlt|0; $len = $len|0; $M = $M|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0.0, $40 = 0, $41 = 0, $42 = 0; var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0.0, $60 = 0; var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0, $97 = 0; var $98 = 0, $99 = 0, $PI = 0.0, $angle = 0.0, $i = 0, $l2 = 0, $len2 = 0, $theta = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $hl; $1 = $hlt; $2 = $len; $3 = $M; $PI = 3.141592653589793116; $4 = $PI; $5 = $2; $6 = (+($5|0)); $7 = $4 / $6; $theta = $7; $l2 = 0; $8 = $2; $9 = $8<<1; $len2 = $9; $i = 0; while(1) { $10 = $i; $11 = $2; $12 = ($10|0)<($11|0); if (!($12)) { break; } $13 = $theta; $14 = $l2; $15 = (+($14|0)); $16 = $13 * $15; $angle = $16; $17 = $angle; $18 = (+Math_cos((+$17))); $19 = $i; $20 = $1; $21 = (($20) + ($19<<4)|0); HEAPF64[$21>>3] = $18; $22 = $angle; $23 = (+Math_sin((+$22))); $24 = $i; $25 = $1; $26 = (($25) + ($24<<4)|0); $27 = (($26) + 8|0); HEAPF64[$27>>3] = $23; $28 = $i; $29 = $1; $30 = (($29) + ($28<<4)|0); $31 = +HEAPF64[$30>>3]; $32 = $i; $33 = $0; $34 = (($33) + ($32<<4)|0); HEAPF64[$34>>3] = $31; $35 = $i; $36 = $1; $37 = (($36) + ($35<<4)|0); $38 = (($37) + 8|0); $39 = +HEAPF64[$38>>3]; $40 = $i; $41 = $0; $42 = (($41) + ($40<<4)|0); $43 = (($42) + 8|0); HEAPF64[$43>>3] = $39; $44 = $i; $45 = $44<<1; $46 = (($45) + 1)|0; $47 = $l2; $48 = (($47) + ($46))|0; $l2 = $48; while(1) { $49 = $l2; $50 = $len2; $51 = ($49|0)>($50|0); if (!($51)) { break; } $52 = $len2; $53 = $l2; $54 = (($53) - ($52))|0; $l2 = $54; } $55 = $i; $56 = (($55) + 1)|0; $i = $56; } $57 = $2; $i = $57; while(1) { $58 = $i; $59 = $3; $60 = $2; $61 = (($59) - ($60))|0; $62 = (($61) + 1)|0; $63 = ($58|0)<($62|0); if (!($63)) { break; } $64 = $i; $65 = $0; $66 = (($65) + ($64<<4)|0); HEAPF64[$66>>3] = 0.0; $67 = $i; $68 = $0; $69 = (($68) + ($67<<4)|0); $70 = (($69) + 8|0); HEAPF64[$70>>3] = 0.0; $71 = $i; $72 = (($71) + 1)|0; $i = $72; } $73 = $3; $74 = $2; $75 = (($73) - ($74))|0; $76 = (($75) + 1)|0; $i = $76; while(1) { $77 = $i; $78 = $3; $79 = ($77|0)<($78|0); if (!($79)) { break; } $80 = $3; $81 = $i; $82 = (($80) - ($81))|0; $83 = $1; $84 = (($83) + ($82<<4)|0); $85 = +HEAPF64[$84>>3]; $86 = $i; $87 = $0; $88 = (($87) + ($86<<4)|0); HEAPF64[$88>>3] = $85; $89 = $3; $90 = $i; $91 = (($89) - ($90))|0; $92 = $1; $93 = (($92) + ($91<<4)|0); $94 = (($93) + 8|0); $95 = +HEAPF64[$94>>3]; $96 = $i; $97 = $0; $98 = (($97) + ($96<<4)|0); $99 = (($98) + 8|0); HEAPF64[$99>>3] = $95; $100 = $i; $101 = (($100) + 1)|0; $i = $101; } STACKTOP = sp;return; } function _fft_real_init($N,$sgn) { $N = $N|0; $sgn = $sgn|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $PI = 0.0, $k = 0; var $obj = 0, $theta = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $N; $1 = $sgn; $obj = 0; $PI = 3.141592653589793116; $2 = $0; $3 = (($2|0) / 2)&-1; $4 = $3<<4; $5 = (24 + ($4))|0; $6 = (_malloc($5)|0); $obj = $6; $7 = $0; $8 = (($7|0) / 2)&-1; $9 = $1; $10 = (_fft_init($8,$9)|0); $11 = $obj; HEAP32[$11>>2] = $10; $k = 0; while(1) { $12 = $k; $13 = $0; $14 = (($13|0) / 2)&-1; $15 = ($12|0)<($14|0); if (!($15)) { break; } $16 = $k; $17 = (+($16|0)); $18 = 6.283185307179586232 * $17; $19 = $0; $20 = (+($19|0)); $21 = $18 / $20; $theta = $21; $22 = $theta; $23 = (+Math_cos((+$22))); $24 = $k; $25 = $obj; $26 = (($25) + 8|0); $27 = (($26) + ($24<<4)|0); HEAPF64[$27>>3] = $23; $28 = $theta; $29 = (+Math_sin((+$28))); $30 = $k; $31 = $obj; $32 = (($31) + 8|0); $33 = (($32) + ($30<<4)|0); $34 = (($33) + 8|0); HEAPF64[$34>>3] = $29; $35 = $k; $36 = (($35) + 1)|0; $k = $36; } $37 = $obj; STACKTOP = sp;return ($37|0); } function _fft_r2c_exec($obj,$inp,$oup) { $obj = $obj|0; $inp = $inp|0; $oup = $oup|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0.0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0.0, $148 = 0, $149 = 0, $15 = 0, $150 = 0.0, $151 = 0.0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0.0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $19 = 0, $2 = 0; var $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; var $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0; var $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; var $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $N = 0, $N2 = 0, $cinp = 0, $coup = 0, $i = 0, $temp1 = 0.0, $temp2 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $obj; $1 = $inp; $2 = $oup; $3 = $0; $4 = HEAP32[$3>>2]|0; $5 = HEAP32[$4>>2]|0; $N2 = $5; $6 = $N2; $7 = $6<<1; $N = $7; $8 = $N2; $9 = $8<<4; $10 = (_malloc($9)|0); $cinp = $10; $11 = $N2; $12 = $11<<4; $13 = (_malloc($12)|0); $coup = $13; $i = 0; while(1) { $14 = $i; $15 = $N2; $16 = ($14|0)<($15|0); if (!($16)) { break; } $17 = $i; $18 = $17<<1; $19 = $1; $20 = (($19) + ($18<<3)|0); $21 = +HEAPF64[$20>>3]; $22 = $i; $23 = $cinp; $24 = (($23) + ($22<<4)|0); HEAPF64[$24>>3] = $21; $25 = $i; $26 = $25<<1; $27 = (($26) + 1)|0; $28 = $1; $29 = (($28) + ($27<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $i; $32 = $cinp; $33 = (($32) + ($31<<4)|0); $34 = (($33) + 8|0); HEAPF64[$34>>3] = $30; $35 = $i; $36 = (($35) + 1)|0; $i = $36; } $37 = $0; $38 = HEAP32[$37>>2]|0; $39 = $cinp; $40 = $coup; _fft_exec($38,$39,$40); $41 = $coup; $42 = +HEAPF64[$41>>3]; $43 = $coup; $44 = (($43) + 8|0); $45 = +HEAPF64[$44>>3]; $46 = $42 + $45; $47 = $2; HEAPF64[$47>>3] = $46; $48 = $2; $49 = (($48) + 8|0); HEAPF64[$49>>3] = 0.0; $i = 1; while(1) { $50 = $i; $51 = $N2; $52 = ($50|0)<($51|0); if (!($52)) { break; } $53 = $i; $54 = $coup; $55 = (($54) + ($53<<4)|0); $56 = (($55) + 8|0); $57 = +HEAPF64[$56>>3]; $58 = $N2; $59 = $i; $60 = (($58) - ($59))|0; $61 = $coup; $62 = (($61) + ($60<<4)|0); $63 = (($62) + 8|0); $64 = +HEAPF64[$63>>3]; $65 = $57 + $64; $temp1 = $65; $66 = $N2; $67 = $i; $68 = (($66) - ($67))|0; $69 = $coup; $70 = (($69) + ($68<<4)|0); $71 = +HEAPF64[$70>>3]; $72 = $i; $73 = $coup; $74 = (($73) + ($72<<4)|0); $75 = +HEAPF64[$74>>3]; $76 = $71 - $75; $temp2 = $76; $77 = $i; $78 = $coup; $79 = (($78) + ($77<<4)|0); $80 = +HEAPF64[$79>>3]; $81 = $N2; $82 = $i; $83 = (($81) - ($82))|0; $84 = $coup; $85 = (($84) + ($83<<4)|0); $86 = +HEAPF64[$85>>3]; $87 = $80 + $86; $88 = $temp1; $89 = $i; $90 = $0; $91 = (($90) + 8|0); $92 = (($91) + ($89<<4)|0); $93 = +HEAPF64[$92>>3]; $94 = $88 * $93; $95 = $87 + $94; $96 = $temp2; $97 = $i; $98 = $0; $99 = (($98) + 8|0); $100 = (($99) + ($97<<4)|0); $101 = (($100) + 8|0); $102 = +HEAPF64[$101>>3]; $103 = $96 * $102; $104 = $95 + $103; $105 = $104 / 2.0; $106 = $i; $107 = $2; $108 = (($107) + ($106<<4)|0); HEAPF64[$108>>3] = $105; $109 = $i; $110 = $coup; $111 = (($110) + ($109<<4)|0); $112 = (($111) + 8|0); $113 = +HEAPF64[$112>>3]; $114 = $N2; $115 = $i; $116 = (($114) - ($115))|0; $117 = $coup; $118 = (($117) + ($116<<4)|0); $119 = (($118) + 8|0); $120 = +HEAPF64[$119>>3]; $121 = $113 - $120; $122 = $temp2; $123 = $i; $124 = $0; $125 = (($124) + 8|0); $126 = (($125) + ($123<<4)|0); $127 = +HEAPF64[$126>>3]; $128 = $122 * $127; $129 = $121 + $128; $130 = $temp1; $131 = $i; $132 = $0; $133 = (($132) + 8|0); $134 = (($133) + ($131<<4)|0); $135 = (($134) + 8|0); $136 = +HEAPF64[$135>>3]; $137 = $130 * $136; $138 = $129 - $137; $139 = $138 / 2.0; $140 = $i; $141 = $2; $142 = (($141) + ($140<<4)|0); $143 = (($142) + 8|0); HEAPF64[$143>>3] = $139; $144 = $i; $145 = (($144) + 1)|0; $i = $145; } $146 = $coup; $147 = +HEAPF64[$146>>3]; $148 = $coup; $149 = (($148) + 8|0); $150 = +HEAPF64[$149>>3]; $151 = $147 - $150; $152 = $N2; $153 = $2; $154 = (($153) + ($152<<4)|0); HEAPF64[$154>>3] = $151; $155 = $N2; $156 = $2; $157 = (($156) + ($155<<4)|0); $158 = (($157) + 8|0); HEAPF64[$158>>3] = 0.0; $i = 1; while(1) { $159 = $i; $160 = $N2; $161 = ($159|0)<($160|0); if (!($161)) { break; } $162 = $i; $163 = $2; $164 = (($163) + ($162<<4)|0); $165 = +HEAPF64[$164>>3]; $166 = $N; $167 = $i; $168 = (($166) - ($167))|0; $169 = $2; $170 = (($169) + ($168<<4)|0); HEAPF64[$170>>3] = $165; $171 = $i; $172 = $2; $173 = (($172) + ($171<<4)|0); $174 = (($173) + 8|0); $175 = +HEAPF64[$174>>3]; $176 = -$175; $177 = $N; $178 = $i; $179 = (($177) - ($178))|0; $180 = $2; $181 = (($180) + ($179<<4)|0); $182 = (($181) + 8|0); HEAPF64[$182>>3] = $176; $183 = $i; $184 = (($183) + 1)|0; $i = $184; } $185 = $cinp; _free($185); $186 = $coup; _free($186); STACKTOP = sp;return; } function _fft_c2r_exec($obj,$inp,$oup) { $obj = $obj|0; $inp = $inp|0; $oup = $oup|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0.0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0; var $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0; var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; var $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $N = 0; var $N2 = 0, $cinp = 0, $coup = 0, $i = 0, $temp1 = 0.0, $temp2 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $obj; $1 = $inp; $2 = $oup; $3 = $0; $4 = HEAP32[$3>>2]|0; $5 = HEAP32[$4>>2]|0; $N2 = $5; $6 = $N2; $7 = $6<<1; $N = $7; $8 = $N2; $9 = $8<<4; $10 = (_malloc($9)|0); $cinp = $10; $11 = $N2; $12 = $11<<4; $13 = (_malloc($12)|0); $coup = $13; $i = 0; while(1) { $14 = $i; $15 = $N2; $16 = ($14|0)<($15|0); if (!($16)) { break; } $17 = $i; $18 = $1; $19 = (($18) + ($17<<4)|0); $20 = (($19) + 8|0); $21 = +HEAPF64[$20>>3]; $22 = -$21; $23 = $N2; $24 = $i; $25 = (($23) - ($24))|0; $26 = $1; $27 = (($26) + ($25<<4)|0); $28 = (($27) + 8|0); $29 = +HEAPF64[$28>>3]; $30 = $22 - $29; $temp1 = $30; $31 = $N2; $32 = $i; $33 = (($31) - ($32))|0; $34 = $1; $35 = (($34) + ($33<<4)|0); $36 = +HEAPF64[$35>>3]; $37 = -$36; $38 = $i; $39 = $1; $40 = (($39) + ($38<<4)|0); $41 = +HEAPF64[$40>>3]; $42 = $37 + $41; $temp2 = $42; $43 = $i; $44 = $1; $45 = (($44) + ($43<<4)|0); $46 = +HEAPF64[$45>>3]; $47 = $N2; $48 = $i; $49 = (($47) - ($48))|0; $50 = $1; $51 = (($50) + ($49<<4)|0); $52 = +HEAPF64[$51>>3]; $53 = $46 + $52; $54 = $temp1; $55 = $i; $56 = $0; $57 = (($56) + 8|0); $58 = (($57) + ($55<<4)|0); $59 = +HEAPF64[$58>>3]; $60 = $54 * $59; $61 = $53 + $60; $62 = $temp2; $63 = $i; $64 = $0; $65 = (($64) + 8|0); $66 = (($65) + ($63<<4)|0); $67 = (($66) + 8|0); $68 = +HEAPF64[$67>>3]; $69 = $62 * $68; $70 = $61 - $69; $71 = $i; $72 = $cinp; $73 = (($72) + ($71<<4)|0); HEAPF64[$73>>3] = $70; $74 = $i; $75 = $1; $76 = (($75) + ($74<<4)|0); $77 = (($76) + 8|0); $78 = +HEAPF64[$77>>3]; $79 = $N2; $80 = $i; $81 = (($79) - ($80))|0; $82 = $1; $83 = (($82) + ($81<<4)|0); $84 = (($83) + 8|0); $85 = +HEAPF64[$84>>3]; $86 = $78 - $85; $87 = $temp2; $88 = $i; $89 = $0; $90 = (($89) + 8|0); $91 = (($90) + ($88<<4)|0); $92 = +HEAPF64[$91>>3]; $93 = $87 * $92; $94 = $86 + $93; $95 = $temp1; $96 = $i; $97 = $0; $98 = (($97) + 8|0); $99 = (($98) + ($96<<4)|0); $100 = (($99) + 8|0); $101 = +HEAPF64[$100>>3]; $102 = $95 * $101; $103 = $94 + $102; $104 = $i; $105 = $cinp; $106 = (($105) + ($104<<4)|0); $107 = (($106) + 8|0); HEAPF64[$107>>3] = $103; $108 = $i; $109 = (($108) + 1)|0; $i = $109; } $110 = $0; $111 = HEAP32[$110>>2]|0; $112 = $cinp; $113 = $coup; _fft_exec($111,$112,$113); $i = 0; while(1) { $114 = $i; $115 = $N2; $116 = ($114|0)<($115|0); if (!($116)) { break; } $117 = $i; $118 = $coup; $119 = (($118) + ($117<<4)|0); $120 = +HEAPF64[$119>>3]; $121 = $i; $122 = $121<<1; $123 = $2; $124 = (($123) + ($122<<3)|0); HEAPF64[$124>>3] = $120; $125 = $i; $126 = $coup; $127 = (($126) + ($125<<4)|0); $128 = (($127) + 8|0); $129 = +HEAPF64[$128>>3]; $130 = $i; $131 = $130<<1; $132 = (($131) + 1)|0; $133 = $2; $134 = (($133) + ($132<<3)|0); HEAPF64[$134>>3] = $129; $135 = $i; $136 = (($135) + 1)|0; $i = $136; } $137 = $cinp; _free($137); $138 = $coup; _free($138); STACKTOP = sp;return; } function _factorf($M) { $M = $M|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, $N = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $M; $1 = $0; $N = $1; while(1) { $2 = $N; $3 = (($2|0) % 7)&-1; $4 = ($3|0)==(0); if (!($4)) { break; } $5 = $N; $6 = (($5|0) / 7)&-1; $N = $6; } while(1) { $7 = $N; $8 = (($7|0) % 3)&-1; $9 = ($8|0)==(0); if (!($9)) { break; } $10 = $N; $11 = (($10|0) / 3)&-1; $N = $11; } while(1) { $12 = $N; $13 = (($12|0) % 5)&-1; $14 = ($13|0)==(0); if (!($14)) { break; } $15 = $N; $16 = (($15|0) / 5)&-1; $N = $16; } while(1) { $17 = $N; $18 = (($17|0) % 2)&-1; $19 = ($18|0)==(0); if (!($19)) { break; } $20 = $N; $21 = (($20|0) / 2)&-1; $N = $21; } $22 = $N; STACKTOP = sp;return ($22|0); } function _findnexte($M) { $M = $M|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $N = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $M; $1 = $0; $N = $1; while(1) { $2 = $N; $3 = (_factorf($2)|0); $4 = ($3|0)!=(1); if ($4) { $11 = 1; } else { $5 = $N; $6 = (($5|0) % 2)&-1; $7 = ($6|0)!=(0); $11 = $7; } if (!($11)) { break; } $8 = $N; $9 = (($8) + 1)|0; $N = $9; } $10 = $N; STACKTOP = sp;return ($10|0); } function _conv_init($N,$L) { $N = $N|0; $L = $L|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $conv_len = 0, $obj = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $N; $1 = $L; $obj = 0; $2 = $0; $3 = $1; $4 = (($2) + ($3))|0; $5 = (($4) - 1)|0; $conv_len = $5; $6 = (_malloc(20)|0); $obj = $6; $7 = $conv_len; $8 = (_findnexte($7)|0); $9 = $obj; $10 = (($9) + 16|0); HEAP32[$10>>2] = $8; $11 = $0; $12 = $obj; $13 = (($12) + 8|0); HEAP32[$13>>2] = $11; $14 = $1; $15 = $obj; $16 = (($15) + 12|0); HEAP32[$16>>2] = $14; $17 = $obj; $18 = (($17) + 16|0); $19 = HEAP32[$18>>2]|0; $20 = (_fft_real_init($19,1)|0); $21 = $obj; HEAP32[$21>>2] = $20; $22 = $obj; $23 = (($22) + 16|0); $24 = HEAP32[$23>>2]|0; $25 = (_fft_real_init($24,-1)|0); $26 = $obj; $27 = (($26) + 4|0); HEAP32[$27>>2] = $25; $28 = $obj; STACKTOP = sp;return ($28|0); } function _conv_direct($inp1,$N,$inp2,$L,$oup) { $inp1 = $inp1|0; $N = $N|0; $inp2 = $inp2|0; $L = $L|0; $oup = $oup|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0, $133 = 0.0; var $134 = 0, $135 = 0.0, $136 = 0.0, $137 = 0, $138 = 0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0.0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0.0; var $152 = 0.0, $153 = 0, $154 = 0, $155 = 0, $156 = 0.0, $157 = 0.0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0; var $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0, $79 = 0; var $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; var $98 = 0, $99 = 0.0, $M = 0, $i = 0, $k = 0, $m = 0, $t1 = 0.0, $tmin = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $inp1; $1 = $N; $2 = $inp2; $3 = $L; $4 = $oup; $5 = $1; $6 = $3; $7 = (($5) + ($6))|0; $8 = (($7) - 1)|0; $M = $8; $i = 0; $9 = $1; $10 = $3; $11 = ($9|0)>=($10|0); if ($11) { $k = 0; while(1) { $12 = $k; $13 = $3; $14 = ($12|0)<($13|0); if (!($14)) { break; } $15 = $k; $16 = $4; $17 = (($16) + ($15<<3)|0); HEAPF64[$17>>3] = 0.0; $m = 0; while(1) { $18 = $m; $19 = $k; $20 = ($18|0)<=($19|0); if (!($20)) { break; } $21 = $m; $22 = $0; $23 = (($22) + ($21<<3)|0); $24 = +HEAPF64[$23>>3]; $25 = $k; $26 = $m; $27 = (($25) - ($26))|0; $28 = $2; $29 = (($28) + ($27<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $24 * $30; $32 = $k; $33 = $4; $34 = (($33) + ($32<<3)|0); $35 = +HEAPF64[$34>>3]; $36 = $35 + $31; HEAPF64[$34>>3] = $36; $37 = $m; $38 = (($37) + 1)|0; $m = $38; } $39 = $k; $40 = (($39) + 1)|0; $k = $40; } $41 = $3; $k = $41; while(1) { $42 = $k; $43 = $M; $44 = ($42|0)<($43|0); if (!($44)) { break; } $45 = $k; $46 = $4; $47 = (($46) + ($45<<3)|0); HEAPF64[$47>>3] = 0.0; $48 = $i; $49 = (($48) + 1)|0; $i = $49; $50 = $3; $51 = $i; $52 = (($50) + ($51))|0; $53 = (+($52|0)); $t1 = $53; $54 = $t1; $55 = $1; $56 = (+($55|0)); $57 = $54 < $56; if ($57) { $58 = $t1; $61 = $58; } else { $59 = $1; $60 = (+($59|0)); $61 = $60; } $tmin = $61; $62 = $i; $m = $62; while(1) { $63 = $m; $64 = (+($63|0)); $65 = $tmin; $66 = $64 < $65; if (!($66)) { break; } $67 = $m; $68 = $0; $69 = (($68) + ($67<<3)|0); $70 = +HEAPF64[$69>>3]; $71 = $k; $72 = $m; $73 = (($71) - ($72))|0; $74 = $2; $75 = (($74) + ($73<<3)|0); $76 = +HEAPF64[$75>>3]; $77 = $70 * $76; $78 = $k; $79 = $4; $80 = (($79) + ($78<<3)|0); $81 = +HEAPF64[$80>>3]; $82 = $81 + $77; HEAPF64[$80>>3] = $82; $83 = $m; $84 = (($83) + 1)|0; $m = $84; } $85 = $k; $86 = (($85) + 1)|0; $k = $86; } STACKTOP = sp;return; } else { $k = 0; while(1) { $87 = $k; $88 = $1; $89 = ($87|0)<($88|0); if (!($89)) { break; } $90 = $k; $91 = $4; $92 = (($91) + ($90<<3)|0); HEAPF64[$92>>3] = 0.0; $m = 0; while(1) { $93 = $m; $94 = $k; $95 = ($93|0)<=($94|0); if (!($95)) { break; } $96 = $m; $97 = $2; $98 = (($97) + ($96<<3)|0); $99 = +HEAPF64[$98>>3]; $100 = $k; $101 = $m; $102 = (($100) - ($101))|0; $103 = $0; $104 = (($103) + ($102<<3)|0); $105 = +HEAPF64[$104>>3]; $106 = $99 * $105; $107 = $k; $108 = $4; $109 = (($108) + ($107<<3)|0); $110 = +HEAPF64[$109>>3]; $111 = $110 + $106; HEAPF64[$109>>3] = $111; $112 = $m; $113 = (($112) + 1)|0; $m = $113; } $114 = $k; $115 = (($114) + 1)|0; $k = $115; } $116 = $1; $k = $116; while(1) { $117 = $k; $118 = $M; $119 = ($117|0)<($118|0); if (!($119)) { break; } $120 = $k; $121 = $4; $122 = (($121) + ($120<<3)|0); HEAPF64[$122>>3] = 0.0; $123 = $i; $124 = (($123) + 1)|0; $i = $124; $125 = $1; $126 = $i; $127 = (($125) + ($126))|0; $128 = (+($127|0)); $t1 = $128; $129 = $t1; $130 = $3; $131 = (+($130|0)); $132 = $129 < $131; if ($132) { $133 = $t1; $136 = $133; } else { $134 = $3; $135 = (+($134|0)); $136 = $135; } $tmin = $136; $137 = $i; $m = $137; while(1) { $138 = $m; $139 = (+($138|0)); $140 = $tmin; $141 = $139 < $140; if (!($141)) { break; } $142 = $m; $143 = $2; $144 = (($143) + ($142<<3)|0); $145 = +HEAPF64[$144>>3]; $146 = $k; $147 = $m; $148 = (($146) - ($147))|0; $149 = $0; $150 = (($149) + ($148<<3)|0); $151 = +HEAPF64[$150>>3]; $152 = $145 * $151; $153 = $k; $154 = $4; $155 = (($154) + ($153<<3)|0); $156 = +HEAPF64[$155>>3]; $157 = $156 + $152; HEAPF64[$155>>3] = $157; $158 = $m; $159 = (($158) + 1)|0; $m = $159; } $160 = $k; $161 = (($160) + 1)|0; $k = $161; } STACKTOP = sp;return; } } function _conv_fft($obj,$inp1,$inp2,$oup) { $obj = $obj|0; $inp1 = $inp1|0; $inp2 = $inp2|0; $oup = $oup|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0, $113 = 0, $114 = 0.0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0.0, $14 = 0, $140 = 0, $141 = 0.0, $142 = 0.0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0, $83 = 0, $84 = 0.0, $85 = 0.0, $86 = 0; var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0, $L1 = 0, $L2 = 0, $N = 0, $a = 0, $ao = 0, $b = 0; var $bo = 0, $c = 0, $co = 0, $i = 0, $ls = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $obj; $1 = $inp1; $2 = $inp2; $3 = $oup; $4 = $0; $5 = (($4) + 16|0); $6 = HEAP32[$5>>2]|0; $N = $6; $7 = $0; $8 = (($7) + 8|0); $9 = HEAP32[$8>>2]|0; $L1 = $9; $10 = $0; $11 = (($10) + 12|0); $12 = HEAP32[$11>>2]|0; $L2 = $12; $13 = $L1; $14 = $L2; $15 = (($13) + ($14))|0; $16 = (($15) - 1)|0; $ls = $16; $17 = $N; $18 = $17<<4; $19 = (_malloc($18)|0); $a = $19; $20 = $N; $21 = $20<<4; $22 = (_malloc($21)|0); $b = $22; $23 = $N; $24 = $23<<4; $25 = (_malloc($24)|0); $c = $25; $26 = $N; $27 = $26<<4; $28 = (_malloc($27)|0); $ao = $28; $29 = $N; $30 = $29<<4; $31 = (_malloc($30)|0); $bo = $31; $32 = $N; $33 = $32<<4; $34 = (_malloc($33)|0); $co = $34; $i = 0; while(1) { $35 = $i; $36 = $N; $37 = ($35|0)<($36|0); if (!($37)) { break; } $38 = $i; $39 = $L1; $40 = ($38|0)<($39|0); if ($40) { $41 = $i; $42 = $1; $43 = (($42) + ($41<<3)|0); $44 = +HEAPF64[$43>>3]; $45 = $i; $46 = $a; $47 = (($46) + ($45<<3)|0); HEAPF64[$47>>3] = $44; } else { $48 = $i; $49 = $a; $50 = (($49) + ($48<<3)|0); HEAPF64[$50>>3] = 0.0; } $51 = $i; $52 = $L2; $53 = ($51|0)<($52|0); if ($53) { $54 = $i; $55 = $2; $56 = (($55) + ($54<<3)|0); $57 = +HEAPF64[$56>>3]; $58 = $i; $59 = $b; $60 = (($59) + ($58<<3)|0); HEAPF64[$60>>3] = $57; } else { $61 = $i; $62 = $b; $63 = (($62) + ($61<<3)|0); HEAPF64[$63>>3] = 0.0; } $64 = $i; $65 = (($64) + 1)|0; $i = $65; } $66 = $0; $67 = HEAP32[$66>>2]|0; $68 = $a; $69 = $ao; _fft_r2c_exec($67,$68,$69); $70 = $0; $71 = HEAP32[$70>>2]|0; $72 = $b; $73 = $bo; _fft_r2c_exec($71,$72,$73); $i = 0; while(1) { $74 = $i; $75 = $N; $76 = ($74|0)<($75|0); if (!($76)) { break; } $77 = $i; $78 = $ao; $79 = (($78) + ($77<<4)|0); $80 = +HEAPF64[$79>>3]; $81 = $i; $82 = $bo; $83 = (($82) + ($81<<4)|0); $84 = +HEAPF64[$83>>3]; $85 = $80 * $84; $86 = $i; $87 = $ao; $88 = (($87) + ($86<<4)|0); $89 = (($88) + 8|0); $90 = +HEAPF64[$89>>3]; $91 = $i; $92 = $bo; $93 = (($92) + ($91<<4)|0); $94 = (($93) + 8|0); $95 = +HEAPF64[$94>>3]; $96 = $90 * $95; $97 = $85 - $96; $98 = $i; $99 = $c; $100 = (($99) + ($98<<4)|0); HEAPF64[$100>>3] = $97; $101 = $i; $102 = $ao; $103 = (($102) + ($101<<4)|0); $104 = (($103) + 8|0); $105 = +HEAPF64[$104>>3]; $106 = $i; $107 = $bo; $108 = (($107) + ($106<<4)|0); $109 = +HEAPF64[$108>>3]; $110 = $105 * $109; $111 = $i; $112 = $ao; $113 = (($112) + ($111<<4)|0); $114 = +HEAPF64[$113>>3]; $115 = $i; $116 = $bo; $117 = (($116) + ($115<<4)|0); $118 = (($117) + 8|0); $119 = +HEAPF64[$118>>3]; $120 = $114 * $119; $121 = $110 + $120; $122 = $i; $123 = $c; $124 = (($123) + ($122<<4)|0); $125 = (($124) + 8|0); HEAPF64[$125>>3] = $121; $126 = $i; $127 = (($126) + 1)|0; $i = $127; } $128 = $0; $129 = (($128) + 4|0); $130 = HEAP32[$129>>2]|0; $131 = $c; $132 = $co; _fft_c2r_exec($130,$131,$132); $i = 0; while(1) { $133 = $i; $134 = $ls; $135 = ($133|0)<($134|0); if (!($135)) { break; } $136 = $i; $137 = $co; $138 = (($137) + ($136<<3)|0); $139 = +HEAPF64[$138>>3]; $140 = $N; $141 = (+($140|0)); $142 = $139 / $141; $143 = $i; $144 = $3; $145 = (($144) + ($143<<3)|0); HEAPF64[$145>>3] = $142; $146 = $i; $147 = (($146) + 1)|0; $i = $147; } $148 = $a; _free($148); $149 = $b; _free($149); $150 = $c; _free($150); $151 = $ao; _free($151); $152 = $bo; _free($152); $153 = $co; _free($153); STACKTOP = sp;return; } function _free_conv($object) { $object = $object|0; var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $object; $1 = $0; _free($1); STACKTOP = sp;return; } function _filtlength($name) { $name = $name|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0; var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $vararg_buffer = sp; $1 = $name; $2 = $1; $3 = (_strcmp($2,8)|0); $4 = ($3|0)!=(0); do { if ($4) { $5 = $1; $6 = (_strcmp($5,16)|0); $7 = ($6|0)!=(0); if ($7) { $8 = $1; $9 = (_strcmp($8,24)|0); $10 = ($9|0)!=(0); if (!($10)) { $0 = 4; break; } $11 = $1; $12 = (_strcmp($11,32)|0); $13 = ($12|0)!=(0); if (!($13)) { $0 = 6; break; } $14 = $1; $15 = (_strcmp($14,40)|0); $16 = ($15|0)!=(0); if (!($16)) { $0 = 8; break; } $17 = $1; $18 = (_strcmp($17,48)|0); $19 = ($18|0)!=(0); if (!($19)) { $0 = 10; break; } $20 = $1; $21 = (_strcmp($20,56)|0); $22 = ($21|0)!=(0); if (!($22)) { $0 = 12; break; } $23 = $1; $24 = (_strcmp($23,64)|0); $25 = ($24|0)!=(0); if (!($25)) { $0 = 14; break; } $26 = $1; $27 = (_strcmp($26,72)|0); $28 = ($27|0)!=(0); if (!($28)) { $0 = 16; break; } $29 = $1; $30 = (_strcmp($29,80)|0); $31 = ($30|0)!=(0); if (!($31)) { $0 = 18; break; } $32 = $1; $33 = (_strcmp($32,88)|0); $34 = ($33|0)!=(0); if (!($34)) { $0 = 20; break; } $35 = $1; $36 = (_strcmp($35,96)|0); $37 = ($36|0)!=(0); if (!($37)) { $0 = 24; break; } $38 = $1; $39 = (_strcmp($38,104)|0); $40 = ($39|0)!=(0); if (!($40)) { $0 = 26; break; } $41 = $1; $42 = (_strcmp($41,112)|0); $43 = ($42|0)!=(0); if (!($43)) { $0 = 22; break; } $44 = $1; $45 = (_strcmp($44,120)|0); $46 = ($45|0)!=(0); if (!($46)) { $0 = 28; break; } $47 = $1; $48 = (_strcmp($47,128)|0); $49 = ($48|0)!=(0); if (!($49)) { $0 = 30; break; } $50 = $1; $51 = (_strcmp($50,136)|0); $52 = ($51|0)!=(0); if (!($52)) { $0 = 2; break; } $53 = $1; $54 = (_strcmp($53,144)|0); $55 = ($54|0)!=(0); if (!($55)) { $0 = 6; break; } $56 = $1; $57 = (_strcmp($56,152)|0); $58 = ($57|0)!=(0); if (!($58)) { $0 = 10; break; } $59 = $1; $60 = (_strcmp($59,160)|0); $61 = ($60|0)!=(0); if (!($61)) { $0 = 6; break; } $62 = $1; $63 = (_strcmp($62,168)|0); $64 = ($63|0)!=(0); if (!($64)) { $0 = 10; break; } $65 = $1; $66 = (_strcmp($65,176)|0); $67 = ($66|0)!=(0); if (!($67)) { $0 = 14; break; } $68 = $1; $69 = (_strcmp($68,184)|0); $70 = ($69|0)!=(0); if (!($70)) { $0 = 18; break; } $71 = $1; $72 = (_strcmp($71,192)|0); $73 = ($72|0)!=(0); if (!($73)) { $0 = 8; break; } $74 = $1; $75 = (_strcmp($74,200)|0); $76 = ($75|0)!=(0); if (!($76)) { $0 = 12; break; } $77 = $1; $78 = (_strcmp($77,208)|0); $79 = ($78|0)!=(0); if (!($79)) { $0 = 16; break; } $80 = $1; $81 = (_strcmp($80,216)|0); $82 = ($81|0)!=(0); if (!($82)) { $0 = 20; break; } $83 = $1; $84 = (_strcmp($83,224)|0); $85 = ($84|0)!=(0); if (!($85)) { $0 = 10; break; } $86 = $1; $87 = (_strcmp($86,232)|0); $88 = ($87|0)!=(0); if (!($88)) { $0 = 12; break; } $89 = $1; $90 = (_strcmp($89,240)|0); $91 = ($90|0)!=(0); if (!($91)) { $0 = 18; break; } $92 = $1; $93 = (_strcmp($92,248)|0); $94 = ($93|0)!=(0); if (!($94)) { $0 = 6; break; } $95 = $1; $96 = (_strcmp($95,256)|0); $97 = ($96|0)!=(0); if (!($97)) { $0 = 12; break; } $98 = $1; $99 = (_strcmp($98,264)|0); $100 = ($99|0)!=(0); if (!($100)) { $0 = 18; break; } $101 = $1; $102 = (_strcmp($101,272)|0); $103 = ($102|0)!=(0); if (!($103)) { $0 = 24; break; } $104 = $1; $105 = (_strcmp($104,280)|0); $106 = ($105|0)!=(0); if (!($106)) { $0 = 30; break; } $107 = $1; $108 = (_strcmp($107,288)|0); $109 = ($108|0)!=(0); if (!($109)) { $0 = 4; break; } $110 = $1; $111 = (_strcmp($110,296)|0); $112 = ($111|0)!=(0); if (!($112)) { $0 = 6; break; } $113 = $1; $114 = (_strcmp($113,304)|0); $115 = ($114|0)!=(0); if (!($115)) { $0 = 8; break; } $116 = $1; $117 = (_strcmp($116,312)|0); $118 = ($117|0)!=(0); if (!($118)) { $0 = 10; break; } $119 = $1; $120 = (_strcmp($119,320)|0); $121 = ($120|0)!=(0); if (!($121)) { $0 = 12; break; } $122 = $1; $123 = (_strcmp($122,328)|0); $124 = ($123|0)!=(0); if (!($124)) { $0 = 14; break; } $125 = $1; $126 = (_strcmp($125,336)|0); $127 = ($126|0)!=(0); if (!($127)) { $0 = 16; break; } $128 = $1; $129 = (_strcmp($128,344)|0); $130 = ($129|0)!=(0); if (!($130)) { $0 = 18; break; } $131 = $1; $132 = (_strcmp($131,352)|0); $133 = ($132|0)!=(0); if ($133) { (_printf((360|0),($vararg_buffer|0))|0); $0 = -1; break; } else { $0 = 20; break; } } else { label = 3; } } else { label = 3; } } while(0); if ((label|0) == 3) { $0 = 2; } $134 = $0; STACKTOP = sp;return ($134|0); } function _filtcoef($name,$lp1,$hp1,$lp2,$hp2) { $name = $name|0; $lp1 = $lp1|0; $hp1 = $hp1|0; $lp2 = $lp2|0; $hp2 = $hp2|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0.0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0.0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0; var $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0.0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0.0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0.0, $1032 = 0; var $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0.0, $1038 = 0, $1039 = 0, $104 = 0.0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0; var $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0; var $107 = 0, $1070 = 0.0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0.0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0.0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0; var $1088 = 0.0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0.0, $1100 = 0, $1101 = 0.0, $1102 = 0, $1103 = 0, $1104 = 0; var $1105 = 0, $1106 = 0, $1107 = 0.0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0.0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0.0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0; var $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0.0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0.0, $1139 = 0, $114 = 0, $1140 = 0; var $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0.0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0.0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0; var $116 = 0.0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0.0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0.0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0.0, $1176 = 0, $1177 = 0; var $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0.0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0.0, $1195 = 0; var $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0.0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0.0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0.0; var $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0.0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0; var $1231 = 0.0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0.0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0.0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0; var $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0; var $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0.0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0.0, $1283 = 0, $1284 = 0, $1285 = 0; var $1286 = 0, $1287 = 0, $1288 = 0.0, $1289 = 0, $129 = 0.0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0.0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0; var $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0.0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0.0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0.0, $132 = 0, $1320 = 0; var $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0.0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0.0, $1339 = 0; var $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0.0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0.0, $1350 = 0.0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0.0, $1357 = 0; var $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0.0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0.0; var $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0.0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0.0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0; var $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0.0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0.0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0.0, $1410 = 0; var $1411 = 0, $1412 = 0.0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0.0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0; var $143 = 0, $1430 = 0, $1431 = 0.0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0.0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0.0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0; var $1448 = 0, $1449 = 0.0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0.0, $1463 = 0, $1464 = 0, $1465 = 0; var $1466 = 0, $1467 = 0, $1468 = 0.0, $1469 = 0, $147 = 0.0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0.0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0.0, $1481 = 0, $1482 = 0, $1483 = 0; var $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0.0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0.0, $15 = 0, $150 = 0, $1500 = 0; var $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0.0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0.0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $152 = 0, $153 = 0; var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0.0, $160 = 0.0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0.0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; var $172 = 0.0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; var $190 = 0, $191 = 0.0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0.0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0.0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; var $208 = 0, $209 = 0.0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0.0, $220 = 0, $221 = 0, $222 = 0.0, $223 = 0, $224 = 0, $225 = 0; var $226 = 0, $227 = 0, $228 = 0.0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0.0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0.0, $241 = 0, $242 = 0, $243 = 0; var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0.0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0.0, $26 = 0, $260 = 0, $261 = 0; var $262 = 0, $263 = 0, $264 = 0, $265 = 0.0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0.0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0; var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0.0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0.0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0.0, $297 = 0, $298 = 0; var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0.0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0.0; var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0.0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0.0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0.0; var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0.0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0.0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; var $352 = 0.0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0.0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0.0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0.0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0.0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; var $389 = 0.0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0.0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0; var $406 = 0, $407 = 0, $408 = 0.0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0.0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0.0, $421 = 0, $422 = 0, $423 = 0; var $424 = 0, $425 = 0, $426 = 0.0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0.0, $44 = 0, $440 = 0, $441 = 0; var $442 = 0, $443 = 0, $444 = 0, $445 = 0.0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0.0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0.0, $458 = 0, $459 = 0, $46 = 0; var $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0.0, $470 = 0.0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0.0, $477 = 0, $478 = 0; var $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0.0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0.0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0; var $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0.0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0.0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0.0; var $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0.0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0.0, $530 = 0, $531 = 0; var $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0.0, $547 = 0, $548 = 0, $549 = 0, $55 = 0; var $550 = 0, $551 = 0, $552 = 0.0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0.0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0.0, $565 = 0, $566 = 0, $567 = 0, $568 = 0; var $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0.0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0; var $587 = 0.0, $588 = 0, $589 = 0, $59 = 0.0, $590 = 0, $591 = 0, $592 = 0, $593 = 0.0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0.0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0; var $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0; var $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0.0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0.0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0; var $640 = 0.0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0.0, $647 = 0, $648 = 0, $649 = 0, $65 = 0.0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0; var $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0.0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0.0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0; var $677 = 0.0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0.0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0; var $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0.0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0.0, $709 = 0, $71 = 0, $710 = 0, $711 = 0; var $712 = 0, $713 = 0, $714 = 0.0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0.0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0; var $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0.0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0.0, $746 = 0, $747 = 0, $748 = 0; var $749 = 0, $75 = 0, $750 = 0, $751 = 0.0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0.0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0; var $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0.0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0.0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0.0, $783 = 0, $784 = 0; var $785 = 0, $786 = 0, $787 = 0, $788 = 0.0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0; var $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0.0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0.0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0; var $820 = 0, $821 = 0.0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0.0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0; var $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0.0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0.0, $855 = 0, $856 = 0; var $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0.0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0.0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0; var $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0.0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0; var $893 = 0.0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0.0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0.0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0; var $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0.0, $927 = 0, $928 = 0; var $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0.0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0.0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0.0, $945 = 0, $946 = 0; var $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0.0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0.0, $964 = 0; var $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0.0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0.0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0.0, $980 = 0, $981 = 0, $982 = 0; var $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0.0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0.0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $hp1_a = 0, $hp1_a10 = 0; var $hp1_a102 = 0, $hp1_a106 = 0, $hp1_a110 = 0, $hp1_a114 = 0, $hp1_a118 = 0, $hp1_a122 = 0, $hp1_a126 = 0, $hp1_a130 = 0, $hp1_a134 = 0, $hp1_a138 = 0, $hp1_a14 = 0, $hp1_a142 = 0, $hp1_a146 = 0, $hp1_a150 = 0, $hp1_a154 = 0, $hp1_a158 = 0, $hp1_a162 = 0, $hp1_a166 = 0, $hp1_a170 = 0, $hp1_a18 = 0; var $hp1_a2 = 0, $hp1_a22 = 0, $hp1_a26 = 0, $hp1_a30 = 0, $hp1_a34 = 0, $hp1_a38 = 0, $hp1_a42 = 0, $hp1_a46 = 0, $hp1_a50 = 0, $hp1_a54 = 0, $hp1_a58 = 0, $hp1_a6 = 0, $hp1_a62 = 0, $hp1_a66 = 0, $hp1_a70 = 0, $hp1_a74 = 0, $hp1_a78 = 0, $hp1_a82 = 0, $hp1_a86 = 0, $hp1_a90 = 0; var $hp1_a94 = 0, $hp1_a98 = 0, $hp2_a = 0, $hp2_a100 = 0, $hp2_a104 = 0, $hp2_a108 = 0, $hp2_a112 = 0, $hp2_a116 = 0, $hp2_a12 = 0, $hp2_a120 = 0, $hp2_a124 = 0, $hp2_a128 = 0, $hp2_a132 = 0, $hp2_a136 = 0, $hp2_a140 = 0, $hp2_a144 = 0, $hp2_a148 = 0, $hp2_a152 = 0, $hp2_a156 = 0, $hp2_a16 = 0; var $hp2_a160 = 0, $hp2_a164 = 0, $hp2_a168 = 0, $hp2_a172 = 0, $hp2_a20 = 0, $hp2_a24 = 0, $hp2_a28 = 0, $hp2_a32 = 0, $hp2_a36 = 0, $hp2_a4 = 0, $hp2_a40 = 0, $hp2_a44 = 0, $hp2_a48 = 0, $hp2_a52 = 0, $hp2_a56 = 0, $hp2_a60 = 0, $hp2_a64 = 0, $hp2_a68 = 0, $hp2_a72 = 0, $hp2_a76 = 0; var $hp2_a8 = 0, $hp2_a80 = 0, $hp2_a84 = 0, $hp2_a88 = 0, $hp2_a92 = 0, $hp2_a96 = 0, $i = 0, $lp1_a = 0, $lp1_a1 = 0, $lp1_a101 = 0, $lp1_a105 = 0, $lp1_a109 = 0, $lp1_a113 = 0, $lp1_a117 = 0, $lp1_a121 = 0, $lp1_a125 = 0, $lp1_a129 = 0, $lp1_a13 = 0, $lp1_a133 = 0, $lp1_a137 = 0; var $lp1_a141 = 0, $lp1_a145 = 0, $lp1_a149 = 0, $lp1_a153 = 0, $lp1_a157 = 0, $lp1_a161 = 0, $lp1_a165 = 0, $lp1_a169 = 0, $lp1_a17 = 0, $lp1_a21 = 0, $lp1_a25 = 0, $lp1_a29 = 0, $lp1_a33 = 0, $lp1_a37 = 0, $lp1_a41 = 0, $lp1_a45 = 0, $lp1_a49 = 0, $lp1_a5 = 0, $lp1_a53 = 0, $lp1_a57 = 0; var $lp1_a61 = 0, $lp1_a65 = 0, $lp1_a69 = 0, $lp1_a73 = 0, $lp1_a77 = 0, $lp1_a81 = 0, $lp1_a85 = 0, $lp1_a89 = 0, $lp1_a9 = 0, $lp1_a93 = 0, $lp1_a97 = 0, $lp2_a = 0, $lp2_a103 = 0, $lp2_a107 = 0, $lp2_a11 = 0, $lp2_a111 = 0, $lp2_a115 = 0, $lp2_a119 = 0, $lp2_a123 = 0, $lp2_a127 = 0; var $lp2_a131 = 0, $lp2_a135 = 0, $lp2_a139 = 0, $lp2_a143 = 0, $lp2_a147 = 0, $lp2_a15 = 0, $lp2_a151 = 0, $lp2_a155 = 0, $lp2_a159 = 0, $lp2_a163 = 0, $lp2_a167 = 0, $lp2_a171 = 0, $lp2_a19 = 0, $lp2_a23 = 0, $lp2_a27 = 0, $lp2_a3 = 0, $lp2_a31 = 0, $lp2_a35 = 0, $lp2_a39 = 0, $lp2_a43 = 0; var $lp2_a47 = 0, $lp2_a51 = 0, $lp2_a55 = 0, $lp2_a59 = 0, $lp2_a63 = 0, $lp2_a67 = 0, $lp2_a7 = 0, $lp2_a71 = 0, $lp2_a75 = 0, $lp2_a79 = 0, $lp2_a83 = 0, $lp2_a87 = 0, $lp2_a91 = 0, $lp2_a95 = 0, $lp2_a99 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0; var stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 19360|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $vararg_buffer = sp + 19328|0; $lp1_a = sp + 19312|0; $hp1_a = sp + 19296|0; $lp2_a = sp + 19280|0; $hp2_a = sp + 19264|0; $lp1_a1 = sp + 19232|0; $hp1_a2 = sp + 19200|0; $lp2_a3 = sp + 19168|0; $hp2_a4 = sp + 19136|0; $lp1_a5 = sp + 19088|0; $hp1_a6 = sp + 19040|0; $lp2_a7 = sp + 18992|0; $hp2_a8 = sp + 18944|0; $lp1_a9 = sp + 18880|0; $hp1_a10 = sp + 18816|0; $lp2_a11 = sp + 18752|0; $hp2_a12 = sp + 18688|0; $lp1_a13 = sp + 18608|0; $hp1_a14 = sp + 18528|0; $lp2_a15 = sp + 18448|0; $hp2_a16 = sp + 18368|0; $lp1_a17 = sp + 18272|0; $hp1_a18 = sp + 18176|0; $lp2_a19 = sp + 18080|0; $hp2_a20 = sp + 17984|0; $lp1_a21 = sp + 17872|0; $hp1_a22 = sp + 17760|0; $lp2_a23 = sp + 17648|0; $hp2_a24 = sp + 17536|0; $lp1_a25 = sp + 17408|0; $hp1_a26 = sp + 17280|0; $lp2_a27 = sp + 17152|0; $hp2_a28 = sp + 17024|0; $lp1_a29 = sp + 16880|0; $hp1_a30 = sp + 16736|0; $lp2_a31 = sp + 16592|0; $hp2_a32 = sp + 16448|0; $lp1_a33 = sp + 16288|0; $hp1_a34 = sp + 16128|0; $lp2_a35 = sp + 15968|0; $hp2_a36 = sp + 15808|0; $lp1_a37 = sp + 15616|0; $hp1_a38 = sp + 15424|0; $lp2_a39 = sp + 15232|0; $hp2_a40 = sp + 15040|0; $lp1_a41 = sp + 14832|0; $hp1_a42 = sp + 14624|0; $lp2_a43 = sp + 14416|0; $hp2_a44 = sp + 14208|0; $lp1_a45 = sp + 14032|0; $hp1_a46 = sp + 13856|0; $lp2_a47 = sp + 13680|0; $hp2_a48 = sp + 13504|0; $lp1_a49 = sp + 13280|0; $hp1_a50 = sp + 13056|0; $lp2_a51 = sp + 12832|0; $hp2_a52 = sp + 12608|0; $lp1_a53 = sp + 12368|0; $hp1_a54 = sp + 12128|0; $lp2_a55 = sp + 11888|0; $hp2_a56 = sp + 11648|0; $lp1_a57 = sp + 11632|0; $hp1_a58 = sp + 11616|0; $lp2_a59 = sp + 11600|0; $hp2_a60 = sp + 11584|0; $lp1_a61 = sp + 11536|0; $hp1_a62 = sp + 11488|0; $lp2_a63 = sp + 11440|0; $hp2_a64 = sp + 11392|0; $lp1_a65 = sp + 11312|0; $hp1_a66 = sp + 11232|0; $lp2_a67 = sp + 11152|0; $hp2_a68 = sp + 11072|0; $lp1_a69 = sp + 11024|0; $hp1_a70 = sp + 10976|0; $lp2_a71 = sp + 10928|0; $hp2_a72 = sp + 10880|0; $lp1_a73 = sp + 10800|0; $hp1_a74 = sp + 10720|0; $lp2_a75 = sp + 10640|0; $hp2_a76 = sp + 10560|0; $lp1_a77 = sp + 10448|0; $hp1_a78 = sp + 10336|0; $lp2_a79 = sp + 10224|0; $hp2_a80 = sp + 10112|0; $lp1_a81 = sp + 9968|0; $hp1_a82 = sp + 4352|0; $lp2_a83 = sp + 4208|0; $hp2_a84 = sp + 4064|0; $lp1_a85 = sp + 4032|0; $hp1_a86 = sp + 4000|0; $lp2_a87 = sp + 3968|0; $hp2_a88 = sp + 3936|0; $lp1_a89 = sp + 3872|0; $hp1_a90 = sp + 3808|0; $lp2_a91 = sp + 3744|0; $hp2_a92 = sp + 3680|0; $lp1_a93 = sp + 3584|0; $hp1_a94 = sp + 3488|0; $lp2_a95 = sp + 3392|0; $hp2_a96 = sp + 3296|0; $lp1_a97 = sp + 3168|0; $hp1_a98 = sp + 3040|0; $lp2_a99 = sp + 2912|0; $hp2_a100 = sp + 2784|0; $lp1_a101 = sp + 2624|0; $hp1_a102 = sp + 2464|0; $lp2_a103 = sp + 2304|0; $hp2_a104 = sp + 2144|0; $lp1_a105 = sp + 912|0; $hp1_a106 = sp + 832|0; $lp2_a107 = sp + 752|0; $hp2_a108 = sp + 672|0; $lp1_a109 = sp + 576|0; $hp1_a110 = sp + 480|0; $lp2_a111 = sp + 240|0; $hp2_a112 = sp + 144|0; $lp1_a113 = sp; $hp1_a114 = sp + 336|0; $lp2_a115 = sp + 992|0; $hp2_a116 = sp + 1136|0; $lp1_a117 = sp + 1280|0; $hp1_a118 = sp + 1328|0; $lp2_a119 = sp + 1376|0; $hp2_a120 = sp + 1424|0; $lp1_a121 = sp + 1472|0; $hp1_a122 = sp + 1568|0; $lp2_a123 = sp + 1664|0; $hp2_a124 = sp + 1760|0; $lp1_a125 = sp + 1856|0; $hp1_a126 = sp + 2000|0; $lp2_a127 = sp + 4496|0; $hp2_a128 = sp + 4640|0; $lp1_a129 = sp + 4784|0; $hp1_a130 = sp + 4976|0; $lp2_a131 = sp + 5168|0; $hp2_a132 = sp + 5360|0; $lp1_a133 = sp + 5552|0; $hp1_a134 = sp + 5792|0; $lp2_a135 = sp + 6032|0; $hp2_a136 = sp + 6272|0; $lp1_a137 = sp + 6512|0; $hp1_a138 = sp + 6544|0; $lp2_a139 = sp + 6576|0; $hp2_a140 = sp + 6608|0; $lp1_a141 = sp + 6640|0; $hp1_a142 = sp + 6688|0; $lp2_a143 = sp + 6736|0; $hp2_a144 = sp + 6784|0; $lp1_a145 = sp + 6832|0; $hp1_a146 = sp + 6896|0; $lp2_a147 = sp + 6960|0; $hp2_a148 = sp + 7024|0; $lp1_a149 = sp + 7088|0; $hp1_a150 = sp + 7168|0; $lp2_a151 = sp + 7248|0; $hp2_a152 = sp + 7328|0; $lp1_a153 = sp + 7408|0; $hp1_a154 = sp + 7504|0; $lp2_a155 = sp + 7600|0; $hp2_a156 = sp + 7696|0; $lp1_a157 = sp + 7792|0; $hp1_a158 = sp + 7904|0; $lp2_a159 = sp + 8016|0; $hp2_a160 = sp + 8128|0; $lp1_a161 = sp + 8240|0; $hp1_a162 = sp + 8368|0; $lp2_a163 = sp + 8496|0; $hp2_a164 = sp + 8624|0; $lp1_a165 = sp + 8752|0; $hp1_a166 = sp + 8896|0; $lp2_a167 = sp + 9040|0; $hp2_a168 = sp + 9184|0; $lp1_a169 = sp + 9328|0; $hp1_a170 = sp + 9488|0; $lp2_a171 = sp + 9648|0; $hp2_a172 = sp + 9808|0; $1 = $name; $2 = $lp1; $3 = $hp1; $4 = $lp2; $5 = $hp2; $6 = $1; $7 = (_strcmp($6,8)|0); $8 = ($7|0)!=(0); if ($8) { $9 = $1; $10 = (_strcmp($9,16)|0); $11 = ($10|0)!=(0); if ($11) { $40 = $1; $41 = (_strcmp($40,24)|0); $42 = ($41|0)!=(0); if (!($42)) { ;HEAP32[$lp1_a1+0>>2]=HEAP32[456+0>>2]|0;HEAP32[$lp1_a1+4>>2]=HEAP32[456+4>>2]|0;HEAP32[$lp1_a1+8>>2]=HEAP32[456+8>>2]|0;HEAP32[$lp1_a1+12>>2]=HEAP32[456+12>>2]|0;HEAP32[$lp1_a1+16>>2]=HEAP32[456+16>>2]|0;HEAP32[$lp1_a1+20>>2]=HEAP32[456+20>>2]|0;HEAP32[$lp1_a1+24>>2]=HEAP32[456+24>>2]|0;HEAP32[$lp1_a1+28>>2]=HEAP32[456+28>>2]|0; ;HEAP32[$hp1_a2+0>>2]=HEAP32[488+0>>2]|0;HEAP32[$hp1_a2+4>>2]=HEAP32[488+4>>2]|0;HEAP32[$hp1_a2+8>>2]=HEAP32[488+8>>2]|0;HEAP32[$hp1_a2+12>>2]=HEAP32[488+12>>2]|0;HEAP32[$hp1_a2+16>>2]=HEAP32[488+16>>2]|0;HEAP32[$hp1_a2+20>>2]=HEAP32[488+20>>2]|0;HEAP32[$hp1_a2+24>>2]=HEAP32[488+24>>2]|0;HEAP32[$hp1_a2+28>>2]=HEAP32[488+28>>2]|0; ;HEAP32[$lp2_a3+0>>2]=HEAP32[520+0>>2]|0;HEAP32[$lp2_a3+4>>2]=HEAP32[520+4>>2]|0;HEAP32[$lp2_a3+8>>2]=HEAP32[520+8>>2]|0;HEAP32[$lp2_a3+12>>2]=HEAP32[520+12>>2]|0;HEAP32[$lp2_a3+16>>2]=HEAP32[520+16>>2]|0;HEAP32[$lp2_a3+20>>2]=HEAP32[520+20>>2]|0;HEAP32[$lp2_a3+24>>2]=HEAP32[520+24>>2]|0;HEAP32[$lp2_a3+28>>2]=HEAP32[520+28>>2]|0; ;HEAP32[$hp2_a4+0>>2]=HEAP32[552+0>>2]|0;HEAP32[$hp2_a4+4>>2]=HEAP32[552+4>>2]|0;HEAP32[$hp2_a4+8>>2]=HEAP32[552+8>>2]|0;HEAP32[$hp2_a4+12>>2]=HEAP32[552+12>>2]|0;HEAP32[$hp2_a4+16>>2]=HEAP32[552+16>>2]|0;HEAP32[$hp2_a4+20>>2]=HEAP32[552+20>>2]|0;HEAP32[$hp2_a4+24>>2]=HEAP32[552+24>>2]|0;HEAP32[$hp2_a4+28>>2]=HEAP32[552+28>>2]|0; $i = 0; while(1) { $43 = $i; $44 = ($43|0)<(4); if (!($44)) { break; } $45 = $i; $46 = (($lp1_a1) + ($45<<3)|0); $47 = +HEAPF64[$46>>3]; $48 = $i; $49 = $2; $50 = (($49) + ($48<<3)|0); HEAPF64[$50>>3] = $47; $51 = $i; $52 = (($hp1_a2) + ($51<<3)|0); $53 = +HEAPF64[$52>>3]; $54 = $i; $55 = $3; $56 = (($55) + ($54<<3)|0); HEAPF64[$56>>3] = $53; $57 = $i; $58 = (($lp2_a3) + ($57<<3)|0); $59 = +HEAPF64[$58>>3]; $60 = $i; $61 = $4; $62 = (($61) + ($60<<3)|0); HEAPF64[$62>>3] = $59; $63 = $i; $64 = (($hp2_a4) + ($63<<3)|0); $65 = +HEAPF64[$64>>3]; $66 = $i; $67 = $5; $68 = (($67) + ($66<<3)|0); HEAPF64[$68>>3] = $65; $69 = $i; $70 = (($69) + 1)|0; $i = $70; } $0 = 4; $1517 = $0; STACKTOP = sp;return ($1517|0); } $71 = $1; $72 = (_strcmp($71,32)|0); $73 = ($72|0)!=(0); if (!($73)) { dest=$lp1_a5+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); HEAPF64[$lp1_a5>>3] = 0.0352262918821006562609; $74 = (($lp1_a5) + 8|0); HEAPF64[$74>>3] = -0.0854412738822414863371; $75 = (($lp1_a5) + 16|0); HEAPF64[$75>>3] = -0.135011020010390836443; $76 = (($lp1_a5) + 24|0); HEAPF64[$76>>3] = 0.459877502119331316166; $77 = (($lp1_a5) + 32|0); HEAPF64[$77>>3] = 0.806891509313338750609; $78 = (($lp1_a5) + 40|0); HEAPF64[$78>>3] = 0.332670552950956877059; dest=$hp1_a6+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); HEAPF64[$hp1_a6>>3] = -0.332670552950956877059; $79 = (($hp1_a6) + 8|0); HEAPF64[$79>>3] = 0.806891509313338750609; $80 = (($hp1_a6) + 16|0); HEAPF64[$80>>3] = -0.459877502119331316166; $81 = (($hp1_a6) + 24|0); HEAPF64[$81>>3] = -0.135011020010390836443; $82 = (($hp1_a6) + 32|0); HEAPF64[$82>>3] = 0.0854412738822414863371; $83 = (($hp1_a6) + 40|0); HEAPF64[$83>>3] = 0.0352262918821006562609; dest=$lp2_a7+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); HEAPF64[$lp2_a7>>3] = 0.332670552950956877059; $84 = (($lp2_a7) + 8|0); HEAPF64[$84>>3] = 0.806891509313338750609; $85 = (($lp2_a7) + 16|0); HEAPF64[$85>>3] = 0.459877502119331316166; $86 = (($lp2_a7) + 24|0); HEAPF64[$86>>3] = -0.135011020010390836443; $87 = (($lp2_a7) + 32|0); HEAPF64[$87>>3] = -0.0854412738822414863371; $88 = (($lp2_a7) + 40|0); HEAPF64[$88>>3] = 0.0352262918821006562609; dest=$hp2_a8+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); HEAPF64[$hp2_a8>>3] = 0.0352262918821006562609; $89 = (($hp2_a8) + 8|0); HEAPF64[$89>>3] = 0.0854412738822414863371; $90 = (($hp2_a8) + 16|0); HEAPF64[$90>>3] = -0.135011020010390836443; $91 = (($hp2_a8) + 24|0); HEAPF64[$91>>3] = -0.459877502119331316166; $92 = (($hp2_a8) + 32|0); HEAPF64[$92>>3] = 0.806891509313338750609; $93 = (($hp2_a8) + 40|0); HEAPF64[$93>>3] = -0.332670552950956877059; $i = 0; while(1) { $94 = $i; $95 = ($94|0)<(6); if (!($95)) { break; } $96 = $i; $97 = (($lp1_a5) + ($96<<3)|0); $98 = +HEAPF64[$97>>3]; $99 = $i; $100 = $2; $101 = (($100) + ($99<<3)|0); HEAPF64[$101>>3] = $98; $102 = $i; $103 = (($hp1_a6) + ($102<<3)|0); $104 = +HEAPF64[$103>>3]; $105 = $i; $106 = $3; $107 = (($106) + ($105<<3)|0); HEAPF64[$107>>3] = $104; $108 = $i; $109 = (($lp2_a7) + ($108<<3)|0); $110 = +HEAPF64[$109>>3]; $111 = $i; $112 = $4; $113 = (($112) + ($111<<3)|0); HEAPF64[$113>>3] = $110; $114 = $i; $115 = (($hp2_a8) + ($114<<3)|0); $116 = +HEAPF64[$115>>3]; $117 = $i; $118 = $5; $119 = (($118) + ($117<<3)|0); HEAPF64[$119>>3] = $116; $120 = $i; $121 = (($120) + 1)|0; $i = $121; } $0 = 6; $1517 = $0; STACKTOP = sp;return ($1517|0); } $122 = $1; $123 = (_strcmp($122,40)|0); $124 = ($123|0)!=(0); if (!($124)) { dest=$lp1_a9+0|0; src=584+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp1_a10+0|0; src=648+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$lp2_a11+0|0; src=712+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp2_a12+0|0; src=776+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $i = 0; while(1) { $125 = $i; $126 = ($125|0)<(8); if (!($126)) { break; } $127 = $i; $128 = (($lp1_a9) + ($127<<3)|0); $129 = +HEAPF64[$128>>3]; $130 = $i; $131 = $2; $132 = (($131) + ($130<<3)|0); HEAPF64[$132>>3] = $129; $133 = $i; $134 = (($hp1_a10) + ($133<<3)|0); $135 = +HEAPF64[$134>>3]; $136 = $i; $137 = $3; $138 = (($137) + ($136<<3)|0); HEAPF64[$138>>3] = $135; $139 = $i; $140 = (($lp2_a11) + ($139<<3)|0); $141 = +HEAPF64[$140>>3]; $142 = $i; $143 = $4; $144 = (($143) + ($142<<3)|0); HEAPF64[$144>>3] = $141; $145 = $i; $146 = (($hp2_a12) + ($145<<3)|0); $147 = +HEAPF64[$146>>3]; $148 = $i; $149 = $5; $150 = (($149) + ($148<<3)|0); HEAPF64[$150>>3] = $147; $151 = $i; $152 = (($151) + 1)|0; $i = $152; } $0 = 8; $1517 = $0; STACKTOP = sp;return ($1517|0); } $153 = $1; $154 = (_strcmp($153,48)|0); $155 = ($154|0)!=(0); if (!($155)) { dest=$lp1_a13+0|0; src=840+0|0; stop=dest+80|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp1_a14+0|0; src=920+0|0; stop=dest+80|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$lp2_a15+0|0; src=1000+0|0; stop=dest+80|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp2_a16+0|0; src=1080+0|0; stop=dest+80|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $i = 0; while(1) { $156 = $i; $157 = ($156|0)<(10); if (!($157)) { break; } $158 = $i; $159 = (($lp1_a13) + ($158<<3)|0); $160 = +HEAPF64[$159>>3]; $161 = $i; $162 = $2; $163 = (($162) + ($161<<3)|0); HEAPF64[$163>>3] = $160; $164 = $i; $165 = (($hp1_a14) + ($164<<3)|0); $166 = +HEAPF64[$165>>3]; $167 = $i; $168 = $3; $169 = (($168) + ($167<<3)|0); HEAPF64[$169>>3] = $166; $170 = $i; $171 = (($lp2_a15) + ($170<<3)|0); $172 = +HEAPF64[$171>>3]; $173 = $i; $174 = $4; $175 = (($174) + ($173<<3)|0); HEAPF64[$175>>3] = $172; $176 = $i; $177 = (($hp2_a16) + ($176<<3)|0); $178 = +HEAPF64[$177>>3]; $179 = $i; $180 = $5; $181 = (($180) + ($179<<3)|0); HEAPF64[$181>>3] = $178; $182 = $i; $183 = (($182) + 1)|0; $i = $183; } $0 = 10; $1517 = $0; STACKTOP = sp;return ($1517|0); } $184 = $1; $185 = (_strcmp($184,56)|0); $186 = ($185|0)!=(0); if (!($186)) { dest=$lp1_a17+0|0; src=1160+0|0; stop=dest+96|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp1_a18+0|0; src=1256+0|0; stop=dest+96|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$lp2_a19+0|0; src=1352+0|0; stop=dest+96|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp2_a20+0|0; src=1448+0|0; stop=dest+96|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $i = 0; while(1) { $187 = $i; $188 = ($187|0)<(12); if (!($188)) { break; } $189 = $i; $190 = (($lp1_a17) + ($189<<3)|0); $191 = +HEAPF64[$190>>3]; $192 = $i; $193 = $2; $194 = (($193) + ($192<<3)|0); HEAPF64[$194>>3] = $191; $195 = $i; $196 = (($hp1_a18) + ($195<<3)|0); $197 = +HEAPF64[$196>>3]; $198 = $i; $199 = $3; $200 = (($199) + ($198<<3)|0); HEAPF64[$200>>3] = $197; $201 = $i; $202 = (($lp2_a19) + ($201<<3)|0); $203 = +HEAPF64[$202>>3]; $204 = $i; $205 = $4; $206 = (($205) + ($204<<3)|0); HEAPF64[$206>>3] = $203; $207 = $i; $208 = (($hp2_a20) + ($207<<3)|0); $209 = +HEAPF64[$208>>3]; $210 = $i; $211 = $5; $212 = (($211) + ($210<<3)|0); HEAPF64[$212>>3] = $209; $213 = $i; $214 = (($213) + 1)|0; $i = $214; } $0 = 12; $1517 = $0; STACKTOP = sp;return ($1517|0); } $215 = $1; $216 = (_strcmp($215,64)|0); $217 = ($216|0)!=(0); if (!($217)) { dest=$lp1_a21+0|0; src=1544+0|0; stop=dest+112|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp1_a22+0|0; src=1656+0|0; stop=dest+112|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$lp2_a23+0|0; src=1768+0|0; stop=dest+112|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp2_a24+0|0; src=1880+0|0; stop=dest+112|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $i = 0; while(1) { $218 = $i; $219 = ($218|0)<(14); if (!($219)) { break; } $220 = $i; $221 = (($lp1_a21) + ($220<<3)|0); $222 = +HEAPF64[$221>>3]; $223 = $i; $224 = $2; $225 = (($224) + ($223<<3)|0); HEAPF64[$225>>3] = $222; $226 = $i; $227 = (($hp1_a22) + ($226<<3)|0); $228 = +HEAPF64[$227>>3]; $229 = $i; $230 = $3; $231 = (($230) + ($229<<3)|0); HEAPF64[$231>>3] = $228; $232 = $i; $233 = (($lp2_a23) + ($232<<3)|0); $234 = +HEAPF64[$233>>3]; $235 = $i; $236 = $4; $237 = (($236) + ($235<<3)|0); HEAPF64[$237>>3] = $234; $238 = $i; $239 = (($hp2_a24) + ($238<<3)|0); $240 = +HEAPF64[$239>>3]; $241 = $i; $242 = $5; $243 = (($242) + ($241<<3)|0); HEAPF64[$243>>3] = $240; $244 = $i; $245 = (($244) + 1)|0; $i = $245; } $0 = 14; $1517 = $0; STACKTOP = sp;return ($1517|0); } $246 = $1; $247 = (_strcmp($246,72)|0); $248 = ($247|0)!=(0); if (!($248)) { dest=$lp1_a25+0|0; src=1992+0|0; stop=dest+128|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp1_a26+0|0; src=2120+0|0; stop=dest+128|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$lp2_a27+0|0; src=2248+0|0; stop=dest+128|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp2_a28+0|0; src=2376+0|0; stop=dest+128|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $i = 0; while(1) { $249 = $i; $250 = ($249|0)<(16); if (!($250)) { break; } $251 = $i; $252 = (($lp1_a25) + ($251<<3)|0); $253 = +HEAPF64[$252>>3]; $254 = $i; $255 = $2; $256 = (($255) + ($254<<3)|0); HEAPF64[$256>>3] = $253; $257 = $i; $258 = (($hp1_a26) + ($257<<3)|0); $259 = +HEAPF64[$258>>3]; $260 = $i; $261 = $3; $262 = (($261) + ($260<<3)|0); HEAPF64[$262>>3] = $259; $263 = $i; $264 = (($lp2_a27) + ($263<<3)|0); $265 = +HEAPF64[$264>>3]; $266 = $i; $267 = $4; $268 = (($267) + ($266<<3)|0); HEAPF64[$268>>3] = $265; $269 = $i; $270 = (($hp2_a28) + ($269<<3)|0); $271 = +HEAPF64[$270>>3]; $272 = $i; $273 = $5; $274 = (($273) + ($272<<3)|0); HEAPF64[$274>>3] = $271; $275 = $i; $276 = (($275) + 1)|0; $i = $276; } $0 = 16; $1517 = $0; STACKTOP = sp;return ($1517|0); } $277 = $1; $278 = (_strcmp($277,80)|0); $279 = ($278|0)!=(0); if (!($279)) { _memcpy(($lp1_a29|0),(2504|0),144)|0; _memcpy(($hp1_a30|0),(2648|0),144)|0; _memcpy(($lp2_a31|0),(2792|0),144)|0; _memcpy(($hp2_a32|0),(2936|0),144)|0; $i = 0; while(1) { $280 = $i; $281 = ($280|0)<(18); if (!($281)) { break; } $282 = $i; $283 = (($lp1_a29) + ($282<<3)|0); $284 = +HEAPF64[$283>>3]; $285 = $i; $286 = $2; $287 = (($286) + ($285<<3)|0); HEAPF64[$287>>3] = $284; $288 = $i; $289 = (($hp1_a30) + ($288<<3)|0); $290 = +HEAPF64[$289>>3]; $291 = $i; $292 = $3; $293 = (($292) + ($291<<3)|0); HEAPF64[$293>>3] = $290; $294 = $i; $295 = (($lp2_a31) + ($294<<3)|0); $296 = +HEAPF64[$295>>3]; $297 = $i; $298 = $4; $299 = (($298) + ($297<<3)|0); HEAPF64[$299>>3] = $296; $300 = $i; $301 = (($hp2_a32) + ($300<<3)|0); $302 = +HEAPF64[$301>>3]; $303 = $i; $304 = $5; $305 = (($304) + ($303<<3)|0); HEAPF64[$305>>3] = $302; $306 = $i; $307 = (($306) + 1)|0; $i = $307; } $0 = 18; $1517 = $0; STACKTOP = sp;return ($1517|0); } $308 = $1; $309 = (_strcmp($308,88)|0); $310 = ($309|0)!=(0); if (!($310)) { _memcpy(($lp1_a33|0),(3080|0),160)|0; _memcpy(($hp1_a34|0),(3240|0),160)|0; _memcpy(($lp2_a35|0),(3400|0),160)|0; _memcpy(($hp2_a36|0),(3560|0),160)|0; $i = 0; while(1) { $311 = $i; $312 = ($311|0)<(20); if (!($312)) { break; } $313 = $i; $314 = (($lp1_a33) + ($313<<3)|0); $315 = +HEAPF64[$314>>3]; $316 = $i; $317 = $2; $318 = (($317) + ($316<<3)|0); HEAPF64[$318>>3] = $315; $319 = $i; $320 = (($hp1_a34) + ($319<<3)|0); $321 = +HEAPF64[$320>>3]; $322 = $i; $323 = $3; $324 = (($323) + ($322<<3)|0); HEAPF64[$324>>3] = $321; $325 = $i; $326 = (($lp2_a35) + ($325<<3)|0); $327 = +HEAPF64[$326>>3]; $328 = $i; $329 = $4; $330 = (($329) + ($328<<3)|0); HEAPF64[$330>>3] = $327; $331 = $i; $332 = (($hp2_a36) + ($331<<3)|0); $333 = +HEAPF64[$332>>3]; $334 = $i; $335 = $5; $336 = (($335) + ($334<<3)|0); HEAPF64[$336>>3] = $333; $337 = $i; $338 = (($337) + 1)|0; $i = $338; } $0 = 20; $1517 = $0; STACKTOP = sp;return ($1517|0); } $339 = $1; $340 = (_strcmp($339,96)|0); $341 = ($340|0)!=(0); if (!($341)) { _memcpy(($lp1_a37|0),(3720|0),192)|0; _memcpy(($hp1_a38|0),(3912|0),192)|0; _memcpy(($lp2_a39|0),(4104|0),192)|0; _memcpy(($hp2_a40|0),(4296|0),192)|0; $i = 0; while(1) { $342 = $i; $343 = ($342|0)<(24); if (!($343)) { break; } $344 = $i; $345 = (($lp1_a37) + ($344<<3)|0); $346 = +HEAPF64[$345>>3]; $347 = $i; $348 = $2; $349 = (($348) + ($347<<3)|0); HEAPF64[$349>>3] = $346; $350 = $i; $351 = (($hp1_a38) + ($350<<3)|0); $352 = +HEAPF64[$351>>3]; $353 = $i; $354 = $3; $355 = (($354) + ($353<<3)|0); HEAPF64[$355>>3] = $352; $356 = $i; $357 = (($lp2_a39) + ($356<<3)|0); $358 = +HEAPF64[$357>>3]; $359 = $i; $360 = $4; $361 = (($360) + ($359<<3)|0); HEAPF64[$361>>3] = $358; $362 = $i; $363 = (($hp2_a40) + ($362<<3)|0); $364 = +HEAPF64[$363>>3]; $365 = $i; $366 = $5; $367 = (($366) + ($365<<3)|0); HEAPF64[$367>>3] = $364; $368 = $i; $369 = (($368) + 1)|0; $i = $369; } $0 = 24; $1517 = $0; STACKTOP = sp;return ($1517|0); } $370 = $1; $371 = (_strcmp($370,104)|0); $372 = ($371|0)!=(0); if (!($372)) { _memcpy(($lp1_a41|0),(4488|0),208)|0; _memcpy(($hp1_a42|0),(4696|0),208)|0; _memcpy(($lp2_a43|0),(4904|0),208)|0; _memcpy(($hp2_a44|0),(5112|0),208)|0; $i = 0; while(1) { $373 = $i; $374 = ($373|0)<(26); if (!($374)) { break; } $375 = $i; $376 = (($lp1_a41) + ($375<<3)|0); $377 = +HEAPF64[$376>>3]; $378 = $i; $379 = $2; $380 = (($379) + ($378<<3)|0); HEAPF64[$380>>3] = $377; $381 = $i; $382 = (($hp1_a42) + ($381<<3)|0); $383 = +HEAPF64[$382>>3]; $384 = $i; $385 = $3; $386 = (($385) + ($384<<3)|0); HEAPF64[$386>>3] = $383; $387 = $i; $388 = (($lp2_a43) + ($387<<3)|0); $389 = +HEAPF64[$388>>3]; $390 = $i; $391 = $4; $392 = (($391) + ($390<<3)|0); HEAPF64[$392>>3] = $389; $393 = $i; $394 = (($hp2_a44) + ($393<<3)|0); $395 = +HEAPF64[$394>>3]; $396 = $i; $397 = $5; $398 = (($397) + ($396<<3)|0); HEAPF64[$398>>3] = $395; $399 = $i; $400 = (($399) + 1)|0; $i = $400; } $0 = 26; $1517 = $0; STACKTOP = sp;return ($1517|0); } $401 = $1; $402 = (_strcmp($401,112)|0); $403 = ($402|0)!=(0); if (!($403)) { _memcpy(($lp1_a45|0),(5320|0),176)|0; _memcpy(($hp1_a46|0),(5496|0),176)|0; _memcpy(($lp2_a47|0),(5672|0),176)|0; _memcpy(($hp2_a48|0),(5848|0),176)|0; $i = 0; while(1) { $404 = $i; $405 = ($404|0)<(22); if (!($405)) { break; } $406 = $i; $407 = (($lp1_a45) + ($406<<3)|0); $408 = +HEAPF64[$407>>3]; $409 = $i; $410 = $2; $411 = (($410) + ($409<<3)|0); HEAPF64[$411>>3] = $408; $412 = $i; $413 = (($hp1_a46) + ($412<<3)|0); $414 = +HEAPF64[$413>>3]; $415 = $i; $416 = $3; $417 = (($416) + ($415<<3)|0); HEAPF64[$417>>3] = $414; $418 = $i; $419 = (($lp2_a47) + ($418<<3)|0); $420 = +HEAPF64[$419>>3]; $421 = $i; $422 = $4; $423 = (($422) + ($421<<3)|0); HEAPF64[$423>>3] = $420; $424 = $i; $425 = (($hp2_a48) + ($424<<3)|0); $426 = +HEAPF64[$425>>3]; $427 = $i; $428 = $5; $429 = (($428) + ($427<<3)|0); HEAPF64[$429>>3] = $426; $430 = $i; $431 = (($430) + 1)|0; $i = $431; } $0 = 22; $1517 = $0; STACKTOP = sp;return ($1517|0); } $432 = $1; $433 = (_strcmp($432,120)|0); $434 = ($433|0)!=(0); if (!($434)) { _memcpy(($lp1_a49|0),(6024|0),224)|0; _memcpy(($hp1_a50|0),(6248|0),224)|0; _memcpy(($lp2_a51|0),(6472|0),224)|0; _memcpy(($hp2_a52|0),(6696|0),224)|0; $i = 0; while(1) { $435 = $i; $436 = ($435|0)<(28); if (!($436)) { break; } $437 = $i; $438 = (($lp1_a49) + ($437<<3)|0); $439 = +HEAPF64[$438>>3]; $440 = $i; $441 = $2; $442 = (($441) + ($440<<3)|0); HEAPF64[$442>>3] = $439; $443 = $i; $444 = (($hp1_a50) + ($443<<3)|0); $445 = +HEAPF64[$444>>3]; $446 = $i; $447 = $3; $448 = (($447) + ($446<<3)|0); HEAPF64[$448>>3] = $445; $449 = $i; $450 = (($lp2_a51) + ($449<<3)|0); $451 = +HEAPF64[$450>>3]; $452 = $i; $453 = $4; $454 = (($453) + ($452<<3)|0); HEAPF64[$454>>3] = $451; $455 = $i; $456 = (($hp2_a52) + ($455<<3)|0); $457 = +HEAPF64[$456>>3]; $458 = $i; $459 = $5; $460 = (($459) + ($458<<3)|0); HEAPF64[$460>>3] = $457; $461 = $i; $462 = (($461) + 1)|0; $i = $462; } $0 = 28; $1517 = $0; STACKTOP = sp;return ($1517|0); } $463 = $1; $464 = (_strcmp($463,128)|0); $465 = ($464|0)!=(0); if (!($465)) { _memcpy(($lp1_a53|0),(6920|0),240)|0; _memcpy(($hp1_a54|0),(7160|0),240)|0; _memcpy(($lp2_a55|0),(7400|0),240)|0; _memcpy(($hp2_a56|0),(7640|0),240)|0; $i = 0; while(1) { $466 = $i; $467 = ($466|0)<(30); if (!($467)) { break; } $468 = $i; $469 = (($lp1_a53) + ($468<<3)|0); $470 = +HEAPF64[$469>>3]; $471 = $i; $472 = $2; $473 = (($472) + ($471<<3)|0); HEAPF64[$473>>3] = $470; $474 = $i; $475 = (($hp1_a54) + ($474<<3)|0); $476 = +HEAPF64[$475>>3]; $477 = $i; $478 = $3; $479 = (($478) + ($477<<3)|0); HEAPF64[$479>>3] = $476; $480 = $i; $481 = (($lp2_a55) + ($480<<3)|0); $482 = +HEAPF64[$481>>3]; $483 = $i; $484 = $4; $485 = (($484) + ($483<<3)|0); HEAPF64[$485>>3] = $482; $486 = $i; $487 = (($hp2_a56) + ($486<<3)|0); $488 = +HEAPF64[$487>>3]; $489 = $i; $490 = $5; $491 = (($490) + ($489<<3)|0); HEAPF64[$491>>3] = $488; $492 = $i; $493 = (($492) + 1)|0; $i = $493; } $0 = 30; $1517 = $0; STACKTOP = sp;return ($1517|0); } $494 = $1; $495 = (_strcmp($494,136)|0); $496 = ($495|0)!=(0); if (!($496)) { ;HEAP32[$lp1_a57+0>>2]=HEAP32[7880+0>>2]|0;HEAP32[$lp1_a57+4>>2]=HEAP32[7880+4>>2]|0;HEAP32[$lp1_a57+8>>2]=HEAP32[7880+8>>2]|0;HEAP32[$lp1_a57+12>>2]=HEAP32[7880+12>>2]|0; ;HEAP32[$hp1_a58+0>>2]=HEAP32[7896+0>>2]|0;HEAP32[$hp1_a58+4>>2]=HEAP32[7896+4>>2]|0;HEAP32[$hp1_a58+8>>2]=HEAP32[7896+8>>2]|0;HEAP32[$hp1_a58+12>>2]=HEAP32[7896+12>>2]|0; ;HEAP32[$lp2_a59+0>>2]=HEAP32[7912+0>>2]|0;HEAP32[$lp2_a59+4>>2]=HEAP32[7912+4>>2]|0;HEAP32[$lp2_a59+8>>2]=HEAP32[7912+8>>2]|0;HEAP32[$lp2_a59+12>>2]=HEAP32[7912+12>>2]|0; ;HEAP32[$hp2_a60+0>>2]=HEAP32[7928+0>>2]|0;HEAP32[$hp2_a60+4>>2]=HEAP32[7928+4>>2]|0;HEAP32[$hp2_a60+8>>2]=HEAP32[7928+8>>2]|0;HEAP32[$hp2_a60+12>>2]=HEAP32[7928+12>>2]|0; $i = 0; while(1) { $497 = $i; $498 = ($497|0)<(2); if (!($498)) { break; } $499 = $i; $500 = (($lp1_a57) + ($499<<3)|0); $501 = +HEAPF64[$500>>3]; $502 = $i; $503 = $2; $504 = (($503) + ($502<<3)|0); HEAPF64[$504>>3] = $501; $505 = $i; $506 = (($hp1_a58) + ($505<<3)|0); $507 = +HEAPF64[$506>>3]; $508 = $i; $509 = $3; $510 = (($509) + ($508<<3)|0); HEAPF64[$510>>3] = $507; $511 = $i; $512 = (($lp2_a59) + ($511<<3)|0); $513 = +HEAPF64[$512>>3]; $514 = $i; $515 = $4; $516 = (($515) + ($514<<3)|0); HEAPF64[$516>>3] = $513; $517 = $i; $518 = (($hp2_a60) + ($517<<3)|0); $519 = +HEAPF64[$518>>3]; $520 = $i; $521 = $5; $522 = (($521) + ($520<<3)|0); HEAPF64[$522>>3] = $519; $523 = $i; $524 = (($523) + 1)|0; $i = $524; } $0 = 2; $1517 = $0; STACKTOP = sp;return ($1517|0); } $525 = $1; $526 = (_strcmp($525,144)|0); $527 = ($526|0)!=(0); if (!($527)) { dest=$lp1_a61+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); HEAPF64[$lp1_a61>>3] = -0.0883883476483184465921; $528 = (($lp1_a61) + 8|0); HEAPF64[$528>>3] = 0.0883883476483184465921; $529 = (($lp1_a61) + 16|0); HEAPF64[$529>>3] = 0.707106781186547572737; $530 = (($lp1_a61) + 24|0); HEAPF64[$530>>3] = 0.707106781186547572737; $531 = (($lp1_a61) + 32|0); HEAPF64[$531>>3] = 0.0883883476483184465921; $532 = (($lp1_a61) + 40|0); HEAPF64[$532>>3] = -0.0883883476483184465921; dest=$hp1_a62+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $533 = (($hp1_a62) + 16|0); HEAPF64[$533>>3] = -0.707106781186547572737; $534 = (($hp1_a62) + 24|0); HEAPF64[$534>>3] = 0.707106781186547572737; dest=$lp2_a63+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $535 = (($lp2_a63) + 16|0); HEAPF64[$535>>3] = 0.707106781186547572737; $536 = (($lp2_a63) + 24|0); HEAPF64[$536>>3] = 0.707106781186547572737; dest=$hp2_a64+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); HEAPF64[$hp2_a64>>3] = -0.0883883476483184465921; $537 = (($hp2_a64) + 8|0); HEAPF64[$537>>3] = -0.0883883476483184465921; $538 = (($hp2_a64) + 16|0); HEAPF64[$538>>3] = 0.707106781186547572737; $539 = (($hp2_a64) + 24|0); HEAPF64[$539>>3] = -0.707106781186547572737; $540 = (($hp2_a64) + 32|0); HEAPF64[$540>>3] = 0.0883883476483184465921; $541 = (($hp2_a64) + 40|0); HEAPF64[$541>>3] = 0.0883883476483184465921; $i = 0; while(1) { $542 = $i; $543 = ($542|0)<(6); if (!($543)) { break; } $544 = $i; $545 = (($lp1_a61) + ($544<<3)|0); $546 = +HEAPF64[$545>>3]; $547 = $i; $548 = $2; $549 = (($548) + ($547<<3)|0); HEAPF64[$549>>3] = $546; $550 = $i; $551 = (($hp1_a62) + ($550<<3)|0); $552 = +HEAPF64[$551>>3]; $553 = $i; $554 = $3; $555 = (($554) + ($553<<3)|0); HEAPF64[$555>>3] = $552; $556 = $i; $557 = (($lp2_a63) + ($556<<3)|0); $558 = +HEAPF64[$557>>3]; $559 = $i; $560 = $4; $561 = (($560) + ($559<<3)|0); HEAPF64[$561>>3] = $558; $562 = $i; $563 = (($hp2_a64) + ($562<<3)|0); $564 = +HEAPF64[$563>>3]; $565 = $i; $566 = $5; $567 = (($566) + ($565<<3)|0); HEAPF64[$567>>3] = $564; $568 = $i; $569 = (($568) + 1)|0; $i = $569; } $0 = 6; $1517 = $0; STACKTOP = sp;return ($1517|0); } $570 = $1; $571 = (_strcmp($570,152)|0); $572 = ($571|0)!=(0); if (!($572)) { dest=$lp1_a65+0|0; src=7944+0|0; stop=dest+80|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp1_a66+0|0; stop=dest+80|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $573 = (($hp1_a66) + 32|0); HEAPF64[$573>>3] = -0.707106781186547572737; $574 = (($hp1_a66) + 40|0); HEAPF64[$574>>3] = 0.707106781186547572737; dest=$lp2_a67+0|0; stop=dest+80|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $575 = (($lp2_a67) + 32|0); HEAPF64[$575>>3] = 0.707106781186547572737; $576 = (($lp2_a67) + 40|0); HEAPF64[$576>>3] = 0.707106781186547572737; dest=$hp2_a68+0|0; src=8024+0|0; stop=dest+80|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $i = 0; while(1) { $577 = $i; $578 = ($577|0)<(10); if (!($578)) { break; } $579 = $i; $580 = (($lp1_a65) + ($579<<3)|0); $581 = +HEAPF64[$580>>3]; $582 = $i; $583 = $2; $584 = (($583) + ($582<<3)|0); HEAPF64[$584>>3] = $581; $585 = $i; $586 = (($hp1_a66) + ($585<<3)|0); $587 = +HEAPF64[$586>>3]; $588 = $i; $589 = $3; $590 = (($589) + ($588<<3)|0); HEAPF64[$590>>3] = $587; $591 = $i; $592 = (($lp2_a67) + ($591<<3)|0); $593 = +HEAPF64[$592>>3]; $594 = $i; $595 = $4; $596 = (($595) + ($594<<3)|0); HEAPF64[$596>>3] = $593; $597 = $i; $598 = (($hp2_a68) + ($597<<3)|0); $599 = +HEAPF64[$598>>3]; $600 = $i; $601 = $5; $602 = (($601) + ($600<<3)|0); HEAPF64[$602>>3] = $599; $603 = $i; $604 = (($603) + 1)|0; $i = $604; } $0 = 10; $1517 = $0; STACKTOP = sp;return ($1517|0); } $605 = $1; $606 = (_strcmp($605,160)|0); $607 = ($606|0)!=(0); if (!($607)) { dest=$lp1_a69+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $608 = (($lp1_a69) + 8|0); HEAPF64[$608>>3] = -0.176776695296636893184; $609 = (($lp1_a69) + 16|0); HEAPF64[$609>>3] = 0.353553390593273786369; $610 = (($lp1_a69) + 24|0); HEAPF64[$610>>3] = 1.06066017177982141462; $611 = (($lp1_a69) + 32|0); HEAPF64[$611>>3] = 0.353553390593273786369; $612 = (($lp1_a69) + 40|0); HEAPF64[$612>>3] = -0.176776695296636893184; dest=$hp1_a70+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $613 = (($hp1_a70) + 8|0); HEAPF64[$613>>3] = 0.353553390593273786369; $614 = (($hp1_a70) + 16|0); HEAPF64[$614>>3] = -0.707106781186547572737; $615 = (($hp1_a70) + 24|0); HEAPF64[$615>>3] = 0.353553390593273786369; dest=$lp2_a71+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $616 = (($lp2_a71) + 8|0); HEAPF64[$616>>3] = 0.353553390593273786369; $617 = (($lp2_a71) + 16|0); HEAPF64[$617>>3] = 0.707106781186547572737; $618 = (($lp2_a71) + 24|0); HEAPF64[$618>>3] = 0.353553390593273786369; dest=$hp2_a72+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $619 = (($hp2_a72) + 8|0); HEAPF64[$619>>3] = 0.176776695296636893184; $620 = (($hp2_a72) + 16|0); HEAPF64[$620>>3] = 0.353553390593273786369; $621 = (($hp2_a72) + 24|0); HEAPF64[$621>>3] = -1.06066017177982141462; $622 = (($hp2_a72) + 32|0); HEAPF64[$622>>3] = 0.353553390593273786369; $623 = (($hp2_a72) + 40|0); HEAPF64[$623>>3] = 0.176776695296636893184; $i = 0; while(1) { $624 = $i; $625 = ($624|0)<(6); if (!($625)) { break; } $626 = $i; $627 = (($lp1_a69) + ($626<<3)|0); $628 = +HEAPF64[$627>>3]; $629 = $i; $630 = $2; $631 = (($630) + ($629<<3)|0); HEAPF64[$631>>3] = $628; $632 = $i; $633 = (($hp1_a70) + ($632<<3)|0); $634 = +HEAPF64[$633>>3]; $635 = $i; $636 = $3; $637 = (($636) + ($635<<3)|0); HEAPF64[$637>>3] = $634; $638 = $i; $639 = (($lp2_a71) + ($638<<3)|0); $640 = +HEAPF64[$639>>3]; $641 = $i; $642 = $4; $643 = (($642) + ($641<<3)|0); HEAPF64[$643>>3] = $640; $644 = $i; $645 = (($hp2_a72) + ($644<<3)|0); $646 = +HEAPF64[$645>>3]; $647 = $i; $648 = $5; $649 = (($648) + ($647<<3)|0); HEAPF64[$649>>3] = $646; $650 = $i; $651 = (($650) + 1)|0; $i = $651; } $0 = 6; $1517 = $0; STACKTOP = sp;return ($1517|0); } $652 = $1; $653 = (_strcmp($652,168)|0); $654 = ($653|0)!=(0); if (!($654)) { dest=$lp1_a73+0|0; src=8104+0|0; stop=dest+80|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp1_a74+0|0; stop=dest+80|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $655 = (($hp1_a74) + 24|0); HEAPF64[$655>>3] = 0.353553390593273786369; $656 = (($hp1_a74) + 32|0); HEAPF64[$656>>3] = -0.707106781186547572737; $657 = (($hp1_a74) + 40|0); HEAPF64[$657>>3] = 0.353553390593273786369; dest=$lp2_a75+0|0; stop=dest+80|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $658 = (($lp2_a75) + 24|0); HEAPF64[$658>>3] = 0.353553390593273786369; $659 = (($lp2_a75) + 32|0); HEAPF64[$659>>3] = 0.707106781186547572737; $660 = (($lp2_a75) + 40|0); HEAPF64[$660>>3] = 0.353553390593273786369; dest=$hp2_a76+0|0; src=8184+0|0; stop=dest+80|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $i = 0; while(1) { $661 = $i; $662 = ($661|0)<(10); if (!($662)) { break; } $663 = $i; $664 = (($lp1_a73) + ($663<<3)|0); $665 = +HEAPF64[$664>>3]; $666 = $i; $667 = $2; $668 = (($667) + ($666<<3)|0); HEAPF64[$668>>3] = $665; $669 = $i; $670 = (($hp1_a74) + ($669<<3)|0); $671 = +HEAPF64[$670>>3]; $672 = $i; $673 = $3; $674 = (($673) + ($672<<3)|0); HEAPF64[$674>>3] = $671; $675 = $i; $676 = (($lp2_a75) + ($675<<3)|0); $677 = +HEAPF64[$676>>3]; $678 = $i; $679 = $4; $680 = (($679) + ($678<<3)|0); HEAPF64[$680>>3] = $677; $681 = $i; $682 = (($hp2_a76) + ($681<<3)|0); $683 = +HEAPF64[$682>>3]; $684 = $i; $685 = $5; $686 = (($685) + ($684<<3)|0); HEAPF64[$686>>3] = $683; $687 = $i; $688 = (($687) + 1)|0; $i = $688; } $0 = 10; $1517 = $0; STACKTOP = sp;return ($1517|0); } $689 = $1; $690 = (_strcmp($689,176)|0); $691 = ($690|0)!=(0); if (!($691)) { dest=$lp1_a77+0|0; src=8264+0|0; stop=dest+112|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp1_a78+0|0; stop=dest+112|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $692 = (($hp1_a78) + 40|0); HEAPF64[$692>>3] = 0.353553390593273786369; $693 = (($hp1_a78) + 48|0); HEAPF64[$693>>3] = -0.707106781186547572737; $694 = (($hp1_a78) + 56|0); HEAPF64[$694>>3] = 0.353553390593273786369; dest=$lp2_a79+0|0; stop=dest+112|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $695 = (($lp2_a79) + 40|0); HEAPF64[$695>>3] = 0.353553390593273786369; $696 = (($lp2_a79) + 48|0); HEAPF64[$696>>3] = 0.707106781186547572737; $697 = (($lp2_a79) + 56|0); HEAPF64[$697>>3] = 0.353553390593273786369; dest=$hp2_a80+0|0; src=8376+0|0; stop=dest+112|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $i = 0; while(1) { $698 = $i; $699 = ($698|0)<(14); if (!($699)) { break; } $700 = $i; $701 = (($lp1_a77) + ($700<<3)|0); $702 = +HEAPF64[$701>>3]; $703 = $i; $704 = $2; $705 = (($704) + ($703<<3)|0); HEAPF64[$705>>3] = $702; $706 = $i; $707 = (($hp1_a78) + ($706<<3)|0); $708 = +HEAPF64[$707>>3]; $709 = $i; $710 = $3; $711 = (($710) + ($709<<3)|0); HEAPF64[$711>>3] = $708; $712 = $i; $713 = (($lp2_a79) + ($712<<3)|0); $714 = +HEAPF64[$713>>3]; $715 = $i; $716 = $4; $717 = (($716) + ($715<<3)|0); HEAPF64[$717>>3] = $714; $718 = $i; $719 = (($hp2_a80) + ($718<<3)|0); $720 = +HEAPF64[$719>>3]; $721 = $i; $722 = $5; $723 = (($722) + ($721<<3)|0); HEAPF64[$723>>3] = $720; $724 = $i; $725 = (($724) + 1)|0; $i = $725; } $0 = 14; $1517 = $0; STACKTOP = sp;return ($1517|0); } $726 = $1; $727 = (_strcmp($726,184)|0); $728 = ($727|0)!=(0); if (!($728)) { _memcpy(($lp1_a81|0),(8488|0),144)|0; _memset(($hp1_a82|0),0,144)|0; $729 = (($hp1_a82) + 56|0); HEAPF64[$729>>3] = 0.353553390593273786369; $730 = (($hp1_a82) + 64|0); HEAPF64[$730>>3] = -0.707106781186547572737; $731 = (($hp1_a82) + 72|0); HEAPF64[$731>>3] = 0.353553390593273786369; _memset(($lp2_a83|0),0,144)|0; $732 = (($lp2_a83) + 56|0); HEAPF64[$732>>3] = 0.353553390593273786369; $733 = (($lp2_a83) + 64|0); HEAPF64[$733>>3] = 0.707106781186547572737; $734 = (($lp2_a83) + 72|0); HEAPF64[$734>>3] = 0.353553390593273786369; _memcpy(($hp2_a84|0),(8632|0),144)|0; $i = 0; while(1) { $735 = $i; $736 = ($735|0)<(18); if (!($736)) { break; } $737 = $i; $738 = (($lp1_a81) + ($737<<3)|0); $739 = +HEAPF64[$738>>3]; $740 = $i; $741 = $2; $742 = (($741) + ($740<<3)|0); HEAPF64[$742>>3] = $739; $743 = $i; $744 = (($hp1_a82) + ($743<<3)|0); $745 = +HEAPF64[$744>>3]; $746 = $i; $747 = $3; $748 = (($747) + ($746<<3)|0); HEAPF64[$748>>3] = $745; $749 = $i; $750 = (($lp2_a83) + ($749<<3)|0); $751 = +HEAPF64[$750>>3]; $752 = $i; $753 = $4; $754 = (($753) + ($752<<3)|0); HEAPF64[$754>>3] = $751; $755 = $i; $756 = (($hp2_a84) + ($755<<3)|0); $757 = +HEAPF64[$756>>3]; $758 = $i; $759 = $5; $760 = (($759) + ($758<<3)|0); HEAPF64[$760>>3] = $757; $761 = $i; $762 = (($761) + 1)|0; $i = $762; } $0 = 18; $1517 = $0; STACKTOP = sp;return ($1517|0); } $763 = $1; $764 = (_strcmp($763,192)|0); $765 = ($764|0)!=(0); if (!($765)) { ;HEAP32[$lp1_a85+0>>2]=HEAP32[8776+0>>2]|0;HEAP32[$lp1_a85+4>>2]=HEAP32[8776+4>>2]|0;HEAP32[$lp1_a85+8>>2]=HEAP32[8776+8>>2]|0;HEAP32[$lp1_a85+12>>2]=HEAP32[8776+12>>2]|0;HEAP32[$lp1_a85+16>>2]=HEAP32[8776+16>>2]|0;HEAP32[$lp1_a85+20>>2]=HEAP32[8776+20>>2]|0;HEAP32[$lp1_a85+24>>2]=HEAP32[8776+24>>2]|0;HEAP32[$lp1_a85+28>>2]=HEAP32[8776+28>>2]|0; ;HEAP32[$hp1_a86+0>>2]=HEAP32[8808+0>>2]|0;HEAP32[$hp1_a86+4>>2]=HEAP32[8808+4>>2]|0;HEAP32[$hp1_a86+8>>2]=HEAP32[8808+8>>2]|0;HEAP32[$hp1_a86+12>>2]=HEAP32[8808+12>>2]|0;HEAP32[$hp1_a86+16>>2]=HEAP32[8808+16>>2]|0;HEAP32[$hp1_a86+20>>2]=HEAP32[8808+20>>2]|0;HEAP32[$hp1_a86+24>>2]=HEAP32[8808+24>>2]|0;HEAP32[$hp1_a86+28>>2]=HEAP32[8808+28>>2]|0; ;HEAP32[$lp2_a87+0>>2]=HEAP32[8840+0>>2]|0;HEAP32[$lp2_a87+4>>2]=HEAP32[8840+4>>2]|0;HEAP32[$lp2_a87+8>>2]=HEAP32[8840+8>>2]|0;HEAP32[$lp2_a87+12>>2]=HEAP32[8840+12>>2]|0;HEAP32[$lp2_a87+16>>2]=HEAP32[8840+16>>2]|0;HEAP32[$lp2_a87+20>>2]=HEAP32[8840+20>>2]|0;HEAP32[$lp2_a87+24>>2]=HEAP32[8840+24>>2]|0;HEAP32[$lp2_a87+28>>2]=HEAP32[8840+28>>2]|0; ;HEAP32[$hp2_a88+0>>2]=HEAP32[8872+0>>2]|0;HEAP32[$hp2_a88+4>>2]=HEAP32[8872+4>>2]|0;HEAP32[$hp2_a88+8>>2]=HEAP32[8872+8>>2]|0;HEAP32[$hp2_a88+12>>2]=HEAP32[8872+12>>2]|0;HEAP32[$hp2_a88+16>>2]=HEAP32[8872+16>>2]|0;HEAP32[$hp2_a88+20>>2]=HEAP32[8872+20>>2]|0;HEAP32[$hp2_a88+24>>2]=HEAP32[8872+24>>2]|0;HEAP32[$hp2_a88+28>>2]=HEAP32[8872+28>>2]|0; $i = 0; while(1) { $766 = $i; $767 = ($766|0)<(4); if (!($767)) { break; } $768 = $i; $769 = (($lp1_a85) + ($768<<3)|0); $770 = +HEAPF64[$769>>3]; $771 = $i; $772 = $2; $773 = (($772) + ($771<<3)|0); HEAPF64[$773>>3] = $770; $774 = $i; $775 = (($hp1_a86) + ($774<<3)|0); $776 = +HEAPF64[$775>>3]; $777 = $i; $778 = $3; $779 = (($778) + ($777<<3)|0); HEAPF64[$779>>3] = $776; $780 = $i; $781 = (($lp2_a87) + ($780<<3)|0); $782 = +HEAPF64[$781>>3]; $783 = $i; $784 = $4; $785 = (($784) + ($783<<3)|0); HEAPF64[$785>>3] = $782; $786 = $i; $787 = (($hp2_a88) + ($786<<3)|0); $788 = +HEAPF64[$787>>3]; $789 = $i; $790 = $5; $791 = (($790) + ($789<<3)|0); HEAPF64[$791>>3] = $788; $792 = $i; $793 = (($792) + 1)|0; $i = $793; } $0 = 4; $1517 = $0; STACKTOP = sp;return ($1517|0); } $794 = $1; $795 = (_strcmp($794,8904)|0); $796 = ($795|0)!=(0); if (!($796)) { dest=$lp1_a89+0|0; src=8912+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp1_a90+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $797 = (($hp1_a90) + 16|0); HEAPF64[$797>>3] = -0.176776695296636893184; $798 = (($hp1_a90) + 24|0); HEAPF64[$798>>3] = 0.530330085889910707309; $799 = (($hp1_a90) + 32|0); HEAPF64[$799>>3] = -0.530330085889910707309; $800 = (($hp1_a90) + 40|0); HEAPF64[$800>>3] = 0.176776695296636893184; dest=$lp2_a91+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $801 = (($lp2_a91) + 16|0); HEAPF64[$801>>3] = 0.176776695296636893184; $802 = (($lp2_a91) + 24|0); HEAPF64[$802>>3] = 0.530330085889910707309; $803 = (($lp2_a91) + 32|0); HEAPF64[$803>>3] = 0.530330085889910707309; $804 = (($lp2_a91) + 40|0); HEAPF64[$804>>3] = 0.176776695296636893184; dest=$hp2_a92+0|0; src=8976+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $i = 0; while(1) { $805 = $i; $806 = ($805|0)<(8); if (!($806)) { break; } $807 = $i; $808 = (($lp1_a89) + ($807<<3)|0); $809 = +HEAPF64[$808>>3]; $810 = $i; $811 = $2; $812 = (($811) + ($810<<3)|0); HEAPF64[$812>>3] = $809; $813 = $i; $814 = (($hp1_a90) + ($813<<3)|0); $815 = +HEAPF64[$814>>3]; $816 = $i; $817 = $3; $818 = (($817) + ($816<<3)|0); HEAPF64[$818>>3] = $815; $819 = $i; $820 = (($lp2_a91) + ($819<<3)|0); $821 = +HEAPF64[$820>>3]; $822 = $i; $823 = $4; $824 = (($823) + ($822<<3)|0); HEAPF64[$824>>3] = $821; $825 = $i; $826 = (($hp2_a92) + ($825<<3)|0); $827 = +HEAPF64[$826>>3]; $828 = $i; $829 = $5; $830 = (($829) + ($828<<3)|0); HEAPF64[$830>>3] = $827; $831 = $i; $832 = (($831) + 1)|0; $i = $832; } $0 = 8; $1517 = $0; STACKTOP = sp;return ($1517|0); } $833 = $1; $834 = (_strcmp($833,200)|0); $835 = ($834|0)!=(0); if (!($835)) { dest=$lp1_a93+0|0; src=9040+0|0; stop=dest+96|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp1_a94+0|0; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $836 = (($hp1_a94) + 32|0); HEAPF64[$836>>3] = -0.176776695296636893184; $837 = (($hp1_a94) + 40|0); HEAPF64[$837>>3] = 0.530330085889910707309; $838 = (($hp1_a94) + 48|0); HEAPF64[$838>>3] = -0.530330085889910707309; $839 = (($hp1_a94) + 56|0); HEAPF64[$839>>3] = 0.176776695296636893184; dest=$lp2_a95+0|0; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $840 = (($lp2_a95) + 32|0); HEAPF64[$840>>3] = 0.176776695296636893184; $841 = (($lp2_a95) + 40|0); HEAPF64[$841>>3] = 0.530330085889910707309; $842 = (($lp2_a95) + 48|0); HEAPF64[$842>>3] = 0.530330085889910707309; $843 = (($lp2_a95) + 56|0); HEAPF64[$843>>3] = 0.176776695296636893184; dest=$hp2_a96+0|0; src=9136+0|0; stop=dest+96|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $i = 0; while(1) { $844 = $i; $845 = ($844|0)<(12); if (!($845)) { break; } $846 = $i; $847 = (($lp1_a93) + ($846<<3)|0); $848 = +HEAPF64[$847>>3]; $849 = $i; $850 = $2; $851 = (($850) + ($849<<3)|0); HEAPF64[$851>>3] = $848; $852 = $i; $853 = (($hp1_a94) + ($852<<3)|0); $854 = +HEAPF64[$853>>3]; $855 = $i; $856 = $3; $857 = (($856) + ($855<<3)|0); HEAPF64[$857>>3] = $854; $858 = $i; $859 = (($lp2_a95) + ($858<<3)|0); $860 = +HEAPF64[$859>>3]; $861 = $i; $862 = $4; $863 = (($862) + ($861<<3)|0); HEAPF64[$863>>3] = $860; $864 = $i; $865 = (($hp2_a96) + ($864<<3)|0); $866 = +HEAPF64[$865>>3]; $867 = $i; $868 = $5; $869 = (($868) + ($867<<3)|0); HEAPF64[$869>>3] = $866; $870 = $i; $871 = (($870) + 1)|0; $i = $871; } $0 = 12; $1517 = $0; STACKTOP = sp;return ($1517|0); } $872 = $1; $873 = (_strcmp($872,208)|0); $874 = ($873|0)!=(0); if (!($874)) { dest=$lp1_a97+0|0; src=9232+0|0; stop=dest+128|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp1_a98+0|0; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $875 = (($hp1_a98) + 48|0); HEAPF64[$875>>3] = -0.176776695296636893184; $876 = (($hp1_a98) + 56|0); HEAPF64[$876>>3] = 0.530330085889910707309; $877 = (($hp1_a98) + 64|0); HEAPF64[$877>>3] = -0.530330085889910707309; $878 = (($hp1_a98) + 72|0); HEAPF64[$878>>3] = 0.176776695296636893184; dest=$lp2_a99+0|0; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $879 = (($lp2_a99) + 48|0); HEAPF64[$879>>3] = 0.176776695296636893184; $880 = (($lp2_a99) + 56|0); HEAPF64[$880>>3] = 0.530330085889910707309; $881 = (($lp2_a99) + 64|0); HEAPF64[$881>>3] = 0.530330085889910707309; $882 = (($lp2_a99) + 72|0); HEAPF64[$882>>3] = 0.176776695296636893184; dest=$hp2_a100+0|0; src=9360+0|0; stop=dest+128|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $i = 0; while(1) { $883 = $i; $884 = ($883|0)<(16); if (!($884)) { break; } $885 = $i; $886 = (($lp1_a97) + ($885<<3)|0); $887 = +HEAPF64[$886>>3]; $888 = $i; $889 = $2; $890 = (($889) + ($888<<3)|0); HEAPF64[$890>>3] = $887; $891 = $i; $892 = (($hp1_a98) + ($891<<3)|0); $893 = +HEAPF64[$892>>3]; $894 = $i; $895 = $3; $896 = (($895) + ($894<<3)|0); HEAPF64[$896>>3] = $893; $897 = $i; $898 = (($lp2_a99) + ($897<<3)|0); $899 = +HEAPF64[$898>>3]; $900 = $i; $901 = $4; $902 = (($901) + ($900<<3)|0); HEAPF64[$902>>3] = $899; $903 = $i; $904 = (($hp2_a100) + ($903<<3)|0); $905 = +HEAPF64[$904>>3]; $906 = $i; $907 = $5; $908 = (($907) + ($906<<3)|0); HEAPF64[$908>>3] = $905; $909 = $i; $910 = (($909) + 1)|0; $i = $910; } $0 = 16; $1517 = $0; STACKTOP = sp;return ($1517|0); } $911 = $1; $912 = (_strcmp($911,216)|0); $913 = ($912|0)!=(0); if (!($913)) { _memcpy(($lp1_a101|0),(9488|0),160)|0; _memset(($hp1_a102|0),0,160)|0; $914 = (($hp1_a102) + 64|0); HEAPF64[$914>>3] = -0.176776695296636893184; $915 = (($hp1_a102) + 72|0); HEAPF64[$915>>3] = 0.530330085889910707309; $916 = (($hp1_a102) + 80|0); HEAPF64[$916>>3] = -0.530330085889910707309; $917 = (($hp1_a102) + 88|0); HEAPF64[$917>>3] = 0.176776695296636893184; _memset(($lp2_a103|0),0,160)|0; $918 = (($lp2_a103) + 64|0); HEAPF64[$918>>3] = 0.176776695296636893184; $919 = (($lp2_a103) + 72|0); HEAPF64[$919>>3] = 0.530330085889910707309; $920 = (($lp2_a103) + 80|0); HEAPF64[$920>>3] = 0.530330085889910707309; $921 = (($lp2_a103) + 88|0); HEAPF64[$921>>3] = 0.176776695296636893184; _memcpy(($hp2_a104|0),(9648|0),160)|0; $i = 0; while(1) { $922 = $i; $923 = ($922|0)<(20); if (!($923)) { break; } $924 = $i; $925 = (($lp1_a101) + ($924<<3)|0); $926 = +HEAPF64[$925>>3]; $927 = $i; $928 = $2; $929 = (($928) + ($927<<3)|0); HEAPF64[$929>>3] = $926; $930 = $i; $931 = (($hp1_a102) + ($930<<3)|0); $932 = +HEAPF64[$931>>3]; $933 = $i; $934 = $3; $935 = (($934) + ($933<<3)|0); HEAPF64[$935>>3] = $932; $936 = $i; $937 = (($lp2_a103) + ($936<<3)|0); $938 = +HEAPF64[$937>>3]; $939 = $i; $940 = $4; $941 = (($940) + ($939<<3)|0); HEAPF64[$941>>3] = $938; $942 = $i; $943 = (($hp2_a104) + ($942<<3)|0); $944 = +HEAPF64[$943>>3]; $945 = $i; $946 = $5; $947 = (($946) + ($945<<3)|0); HEAPF64[$947>>3] = $944; $948 = $i; $949 = (($948) + 1)|0; $i = $949; } $0 = 20; $1517 = $0; STACKTOP = sp;return ($1517|0); } $950 = $1; $951 = (_strcmp($950,224)|0); $952 = ($951|0)!=(0); if (!($952)) { dest=$lp1_a105+0|0; src=9808+0|0; stop=dest+80|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp1_a106+0|0; src=9888+0|0; stop=dest+80|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$lp2_a107+0|0; src=9968+0|0; stop=dest+80|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp2_a108+0|0; src=10048+0|0; stop=dest+80|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $i = 0; while(1) { $953 = $i; $954 = ($953|0)<(10); if (!($954)) { break; } $955 = $i; $956 = (($lp1_a105) + ($955<<3)|0); $957 = +HEAPF64[$956>>3]; $958 = $i; $959 = $2; $960 = (($959) + ($958<<3)|0); HEAPF64[$960>>3] = $957; $961 = $i; $962 = (($hp1_a106) + ($961<<3)|0); $963 = +HEAPF64[$962>>3]; $964 = $i; $965 = $3; $966 = (($965) + ($964<<3)|0); HEAPF64[$966>>3] = $963; $967 = $i; $968 = (($lp2_a107) + ($967<<3)|0); $969 = +HEAPF64[$968>>3]; $970 = $i; $971 = $4; $972 = (($971) + ($970<<3)|0); HEAPF64[$972>>3] = $969; $973 = $i; $974 = (($hp2_a108) + ($973<<3)|0); $975 = +HEAPF64[$974>>3]; $976 = $i; $977 = $5; $978 = (($977) + ($976<<3)|0); HEAPF64[$978>>3] = $975; $979 = $i; $980 = (($979) + 1)|0; $i = $980; } $0 = 10; $1517 = $0; STACKTOP = sp;return ($1517|0); } $981 = $1; $982 = (_strcmp($981,232)|0); $983 = ($982|0)!=(0); if (!($983)) { dest=$lp1_a109+0|0; src=10128+0|0; stop=dest+96|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp1_a110+0|0; src=10224+0|0; stop=dest+96|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$lp2_a111+0|0; src=10320+0|0; stop=dest+96|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp2_a112+0|0; src=10416+0|0; stop=dest+96|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $i = 0; while(1) { $984 = $i; $985 = ($984|0)<(12); if (!($985)) { break; } $986 = $i; $987 = (($lp1_a109) + ($986<<3)|0); $988 = +HEAPF64[$987>>3]; $989 = $i; $990 = $2; $991 = (($990) + ($989<<3)|0); HEAPF64[$991>>3] = $988; $992 = $i; $993 = (($hp1_a110) + ($992<<3)|0); $994 = +HEAPF64[$993>>3]; $995 = $i; $996 = $3; $997 = (($996) + ($995<<3)|0); HEAPF64[$997>>3] = $994; $998 = $i; $999 = (($lp2_a111) + ($998<<3)|0); $1000 = +HEAPF64[$999>>3]; $1001 = $i; $1002 = $4; $1003 = (($1002) + ($1001<<3)|0); HEAPF64[$1003>>3] = $1000; $1004 = $i; $1005 = (($hp2_a112) + ($1004<<3)|0); $1006 = +HEAPF64[$1005>>3]; $1007 = $i; $1008 = $5; $1009 = (($1008) + ($1007<<3)|0); HEAPF64[$1009>>3] = $1006; $1010 = $i; $1011 = (($1010) + 1)|0; $i = $1011; } $0 = 12; $1517 = $0; STACKTOP = sp;return ($1517|0); } $1012 = $1; $1013 = (_strcmp($1012,240)|0); $1014 = ($1013|0)!=(0); if (!($1014)) { _memcpy(($lp1_a113|0),(10512|0),144)|0; _memcpy(($hp1_a114|0),(10656|0),144)|0; _memcpy(($lp2_a115|0),(10800|0),144)|0; _memcpy(($hp2_a116|0),(10944|0),144)|0; $i = 0; while(1) { $1015 = $i; $1016 = ($1015|0)<(18); if (!($1016)) { break; } $1017 = $i; $1018 = (($lp1_a113) + ($1017<<3)|0); $1019 = +HEAPF64[$1018>>3]; $1020 = $i; $1021 = $2; $1022 = (($1021) + ($1020<<3)|0); HEAPF64[$1022>>3] = $1019; $1023 = $i; $1024 = (($hp1_a114) + ($1023<<3)|0); $1025 = +HEAPF64[$1024>>3]; $1026 = $i; $1027 = $3; $1028 = (($1027) + ($1026<<3)|0); HEAPF64[$1028>>3] = $1025; $1029 = $i; $1030 = (($lp2_a115) + ($1029<<3)|0); $1031 = +HEAPF64[$1030>>3]; $1032 = $i; $1033 = $4; $1034 = (($1033) + ($1032<<3)|0); HEAPF64[$1034>>3] = $1031; $1035 = $i; $1036 = (($hp2_a116) + ($1035<<3)|0); $1037 = +HEAPF64[$1036>>3]; $1038 = $i; $1039 = $5; $1040 = (($1039) + ($1038<<3)|0); HEAPF64[$1040>>3] = $1037; $1041 = $i; $1042 = (($1041) + 1)|0; $i = $1042; } $0 = 18; $1517 = $0; STACKTOP = sp;return ($1517|0); } $1043 = $1; $1044 = (_strcmp($1043,248)|0); $1045 = ($1044|0)!=(0); if (!($1045)) { dest=$lp1_a117+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); HEAPF64[$lp1_a117>>3] = -0.015655728135464539591; $1046 = (($lp1_a117) + 8|0); HEAPF64[$1046>>3] = -0.0727326195128538965928; $1047 = (($lp1_a117) + 16|0); HEAPF64[$1047>>3] = 0.384864846864202858612; $1048 = (($lp1_a117) + 24|0); HEAPF64[$1048>>3] = 0.852572020212255421434; $1049 = (($lp1_a117) + 32|0); HEAPF64[$1049>>3] = 0.337897662457809222492; $1050 = (($lp1_a117) + 40|0); HEAPF64[$1050>>3] = -0.0727326195128538965928; dest=$hp1_a118+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); HEAPF64[$hp1_a118>>3] = 0.0727326195128538965928; $1051 = (($hp1_a118) + 8|0); HEAPF64[$1051>>3] = 0.337897662457809222492; $1052 = (($hp1_a118) + 16|0); HEAPF64[$1052>>3] = -0.852572020212255421434; $1053 = (($hp1_a118) + 24|0); HEAPF64[$1053>>3] = 0.384864846864202858612; $1054 = (($hp1_a118) + 32|0); HEAPF64[$1054>>3] = 0.0727326195128538965928; $1055 = (($hp1_a118) + 40|0); HEAPF64[$1055>>3] = -0.015655728135464539591; dest=$lp2_a119+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); HEAPF64[$lp2_a119>>3] = -0.0727326195128538965928; $1056 = (($lp2_a119) + 8|0); HEAPF64[$1056>>3] = 0.337897662457809222492; $1057 = (($lp2_a119) + 16|0); HEAPF64[$1057>>3] = 0.852572020212255421434; $1058 = (($lp2_a119) + 24|0); HEAPF64[$1058>>3] = 0.384864846864202858612; $1059 = (($lp2_a119) + 32|0); HEAPF64[$1059>>3] = -0.0727326195128538965928; $1060 = (($lp2_a119) + 40|0); HEAPF64[$1060>>3] = -0.015655728135464539591; dest=$hp2_a120+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); HEAPF64[$hp2_a120>>3] = -0.015655728135464539591; $1061 = (($hp2_a120) + 8|0); HEAPF64[$1061>>3] = 0.0727326195128538965928; $1062 = (($hp2_a120) + 16|0); HEAPF64[$1062>>3] = 0.384864846864202858612; $1063 = (($hp2_a120) + 24|0); HEAPF64[$1063>>3] = -0.852572020212255421434; $1064 = (($hp2_a120) + 32|0); HEAPF64[$1064>>3] = 0.337897662457809222492; $1065 = (($hp2_a120) + 40|0); HEAPF64[$1065>>3] = 0.0727326195128538965928; $i = 0; while(1) { $1066 = $i; $1067 = ($1066|0)<(6); if (!($1067)) { break; } $1068 = $i; $1069 = (($lp1_a117) + ($1068<<3)|0); $1070 = +HEAPF64[$1069>>3]; $1071 = $i; $1072 = $2; $1073 = (($1072) + ($1071<<3)|0); HEAPF64[$1073>>3] = $1070; $1074 = $i; $1075 = (($hp1_a118) + ($1074<<3)|0); $1076 = +HEAPF64[$1075>>3]; $1077 = $i; $1078 = $3; $1079 = (($1078) + ($1077<<3)|0); HEAPF64[$1079>>3] = $1076; $1080 = $i; $1081 = (($lp2_a119) + ($1080<<3)|0); $1082 = +HEAPF64[$1081>>3]; $1083 = $i; $1084 = $4; $1085 = (($1084) + ($1083<<3)|0); HEAPF64[$1085>>3] = $1082; $1086 = $i; $1087 = (($hp2_a120) + ($1086<<3)|0); $1088 = +HEAPF64[$1087>>3]; $1089 = $i; $1090 = $5; $1091 = (($1090) + ($1089<<3)|0); HEAPF64[$1091>>3] = $1088; $1092 = $i; $1093 = (($1092) + 1)|0; $i = $1093; } $0 = 6; $1517 = $0; STACKTOP = sp;return ($1517|0); } $1094 = $1; $1095 = (_strcmp($1094,256)|0); $1096 = ($1095|0)!=(0); if (!($1096)) { dest=$lp1_a121+0|0; src=11088+0|0; stop=dest+96|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp1_a122+0|0; src=11184+0|0; stop=dest+96|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$lp2_a123+0|0; src=11280+0|0; stop=dest+96|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp2_a124+0|0; src=11376+0|0; stop=dest+96|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $i = 0; while(1) { $1097 = $i; $1098 = ($1097|0)<(12); if (!($1098)) { break; } $1099 = $i; $1100 = (($lp1_a121) + ($1099<<3)|0); $1101 = +HEAPF64[$1100>>3]; $1102 = $i; $1103 = $2; $1104 = (($1103) + ($1102<<3)|0); HEAPF64[$1104>>3] = $1101; $1105 = $i; $1106 = (($hp1_a122) + ($1105<<3)|0); $1107 = +HEAPF64[$1106>>3]; $1108 = $i; $1109 = $3; $1110 = (($1109) + ($1108<<3)|0); HEAPF64[$1110>>3] = $1107; $1111 = $i; $1112 = (($lp2_a123) + ($1111<<3)|0); $1113 = +HEAPF64[$1112>>3]; $1114 = $i; $1115 = $4; $1116 = (($1115) + ($1114<<3)|0); HEAPF64[$1116>>3] = $1113; $1117 = $i; $1118 = (($hp2_a124) + ($1117<<3)|0); $1119 = +HEAPF64[$1118>>3]; $1120 = $i; $1121 = $5; $1122 = (($1121) + ($1120<<3)|0); HEAPF64[$1122>>3] = $1119; $1123 = $i; $1124 = (($1123) + 1)|0; $i = $1124; } $0 = 12; $1517 = $0; STACKTOP = sp;return ($1517|0); } $1125 = $1; $1126 = (_strcmp($1125,264)|0); $1127 = ($1126|0)!=(0); if (!($1127)) { _memcpy(($lp1_a125|0),(11472|0),144)|0; _memcpy(($hp1_a126|0),(11616|0),144)|0; _memcpy(($lp2_a127|0),(11760|0),144)|0; _memcpy(($hp2_a128|0),(11904|0),144)|0; $i = 0; while(1) { $1128 = $i; $1129 = ($1128|0)<(18); if (!($1129)) { break; } $1130 = $i; $1131 = (($lp1_a125) + ($1130<<3)|0); $1132 = +HEAPF64[$1131>>3]; $1133 = $i; $1134 = $2; $1135 = (($1134) + ($1133<<3)|0); HEAPF64[$1135>>3] = $1132; $1136 = $i; $1137 = (($hp1_a126) + ($1136<<3)|0); $1138 = +HEAPF64[$1137>>3]; $1139 = $i; $1140 = $3; $1141 = (($1140) + ($1139<<3)|0); HEAPF64[$1141>>3] = $1138; $1142 = $i; $1143 = (($lp2_a127) + ($1142<<3)|0); $1144 = +HEAPF64[$1143>>3]; $1145 = $i; $1146 = $4; $1147 = (($1146) + ($1145<<3)|0); HEAPF64[$1147>>3] = $1144; $1148 = $i; $1149 = (($hp2_a128) + ($1148<<3)|0); $1150 = +HEAPF64[$1149>>3]; $1151 = $i; $1152 = $5; $1153 = (($1152) + ($1151<<3)|0); HEAPF64[$1153>>3] = $1150; $1154 = $i; $1155 = (($1154) + 1)|0; $i = $1155; } $0 = 18; $1517 = $0; STACKTOP = sp;return ($1517|0); } $1156 = $1; $1157 = (_strcmp($1156,272)|0); $1158 = ($1157|0)!=(0); if (!($1158)) { _memcpy(($lp1_a129|0),(12048|0),192)|0; _memcpy(($hp1_a130|0),(12240|0),192)|0; _memcpy(($lp2_a131|0),(12432|0),192)|0; _memcpy(($hp2_a132|0),(12624|0),192)|0; $i = 0; while(1) { $1159 = $i; $1160 = ($1159|0)<(24); if (!($1160)) { break; } $1161 = $i; $1162 = (($lp1_a129) + ($1161<<3)|0); $1163 = +HEAPF64[$1162>>3]; $1164 = $i; $1165 = $2; $1166 = (($1165) + ($1164<<3)|0); HEAPF64[$1166>>3] = $1163; $1167 = $i; $1168 = (($hp1_a130) + ($1167<<3)|0); $1169 = +HEAPF64[$1168>>3]; $1170 = $i; $1171 = $3; $1172 = (($1171) + ($1170<<3)|0); HEAPF64[$1172>>3] = $1169; $1173 = $i; $1174 = (($lp2_a131) + ($1173<<3)|0); $1175 = +HEAPF64[$1174>>3]; $1176 = $i; $1177 = $4; $1178 = (($1177) + ($1176<<3)|0); HEAPF64[$1178>>3] = $1175; $1179 = $i; $1180 = (($hp2_a132) + ($1179<<3)|0); $1181 = +HEAPF64[$1180>>3]; $1182 = $i; $1183 = $5; $1184 = (($1183) + ($1182<<3)|0); HEAPF64[$1184>>3] = $1181; $1185 = $i; $1186 = (($1185) + 1)|0; $i = $1186; } $0 = 24; $1517 = $0; STACKTOP = sp;return ($1517|0); } $1187 = $1; $1188 = (_strcmp($1187,280)|0); $1189 = ($1188|0)!=(0); if (!($1189)) { _memcpy(($lp1_a133|0),(12816|0),240)|0; _memcpy(($hp1_a134|0),(13056|0),240)|0; _memcpy(($lp2_a135|0),(13296|0),240)|0; _memcpy(($hp2_a136|0),(13536|0),240)|0; $i = 0; while(1) { $1190 = $i; $1191 = ($1190|0)<(30); if (!($1191)) { break; } $1192 = $i; $1193 = (($lp1_a133) + ($1192<<3)|0); $1194 = +HEAPF64[$1193>>3]; $1195 = $i; $1196 = $2; $1197 = (($1196) + ($1195<<3)|0); HEAPF64[$1197>>3] = $1194; $1198 = $i; $1199 = (($hp1_a134) + ($1198<<3)|0); $1200 = +HEAPF64[$1199>>3]; $1201 = $i; $1202 = $3; $1203 = (($1202) + ($1201<<3)|0); HEAPF64[$1203>>3] = $1200; $1204 = $i; $1205 = (($lp2_a135) + ($1204<<3)|0); $1206 = +HEAPF64[$1205>>3]; $1207 = $i; $1208 = $4; $1209 = (($1208) + ($1207<<3)|0); HEAPF64[$1209>>3] = $1206; $1210 = $i; $1211 = (($hp2_a136) + ($1210<<3)|0); $1212 = +HEAPF64[$1211>>3]; $1213 = $i; $1214 = $5; $1215 = (($1214) + ($1213<<3)|0); HEAPF64[$1215>>3] = $1212; $1216 = $i; $1217 = (($1216) + 1)|0; $i = $1217; } $0 = 30; $1517 = $0; STACKTOP = sp;return ($1517|0); } $1218 = $1; $1219 = (_strcmp($1218,288)|0); $1220 = ($1219|0)!=(0); if (!($1220)) { ;HEAP32[$lp1_a137+0>>2]=HEAP32[13776+0>>2]|0;HEAP32[$lp1_a137+4>>2]=HEAP32[13776+4>>2]|0;HEAP32[$lp1_a137+8>>2]=HEAP32[13776+8>>2]|0;HEAP32[$lp1_a137+12>>2]=HEAP32[13776+12>>2]|0;HEAP32[$lp1_a137+16>>2]=HEAP32[13776+16>>2]|0;HEAP32[$lp1_a137+20>>2]=HEAP32[13776+20>>2]|0;HEAP32[$lp1_a137+24>>2]=HEAP32[13776+24>>2]|0;HEAP32[$lp1_a137+28>>2]=HEAP32[13776+28>>2]|0; ;HEAP32[$hp1_a138+0>>2]=HEAP32[13808+0>>2]|0;HEAP32[$hp1_a138+4>>2]=HEAP32[13808+4>>2]|0;HEAP32[$hp1_a138+8>>2]=HEAP32[13808+8>>2]|0;HEAP32[$hp1_a138+12>>2]=HEAP32[13808+12>>2]|0;HEAP32[$hp1_a138+16>>2]=HEAP32[13808+16>>2]|0;HEAP32[$hp1_a138+20>>2]=HEAP32[13808+20>>2]|0;HEAP32[$hp1_a138+24>>2]=HEAP32[13808+24>>2]|0;HEAP32[$hp1_a138+28>>2]=HEAP32[13808+28>>2]|0; ;HEAP32[$lp2_a139+0>>2]=HEAP32[13840+0>>2]|0;HEAP32[$lp2_a139+4>>2]=HEAP32[13840+4>>2]|0;HEAP32[$lp2_a139+8>>2]=HEAP32[13840+8>>2]|0;HEAP32[$lp2_a139+12>>2]=HEAP32[13840+12>>2]|0;HEAP32[$lp2_a139+16>>2]=HEAP32[13840+16>>2]|0;HEAP32[$lp2_a139+20>>2]=HEAP32[13840+20>>2]|0;HEAP32[$lp2_a139+24>>2]=HEAP32[13840+24>>2]|0;HEAP32[$lp2_a139+28>>2]=HEAP32[13840+28>>2]|0; ;HEAP32[$hp2_a140+0>>2]=HEAP32[13872+0>>2]|0;HEAP32[$hp2_a140+4>>2]=HEAP32[13872+4>>2]|0;HEAP32[$hp2_a140+8>>2]=HEAP32[13872+8>>2]|0;HEAP32[$hp2_a140+12>>2]=HEAP32[13872+12>>2]|0;HEAP32[$hp2_a140+16>>2]=HEAP32[13872+16>>2]|0;HEAP32[$hp2_a140+20>>2]=HEAP32[13872+20>>2]|0;HEAP32[$hp2_a140+24>>2]=HEAP32[13872+24>>2]|0;HEAP32[$hp2_a140+28>>2]=HEAP32[13872+28>>2]|0; $i = 0; while(1) { $1221 = $i; $1222 = ($1221|0)<(4); if (!($1222)) { break; } $1223 = $i; $1224 = (($lp1_a137) + ($1223<<3)|0); $1225 = +HEAPF64[$1224>>3]; $1226 = $i; $1227 = $2; $1228 = (($1227) + ($1226<<3)|0); HEAPF64[$1228>>3] = $1225; $1229 = $i; $1230 = (($hp1_a138) + ($1229<<3)|0); $1231 = +HEAPF64[$1230>>3]; $1232 = $i; $1233 = $3; $1234 = (($1233) + ($1232<<3)|0); HEAPF64[$1234>>3] = $1231; $1235 = $i; $1236 = (($lp2_a139) + ($1235<<3)|0); $1237 = +HEAPF64[$1236>>3]; $1238 = $i; $1239 = $4; $1240 = (($1239) + ($1238<<3)|0); HEAPF64[$1240>>3] = $1237; $1241 = $i; $1242 = (($hp2_a140) + ($1241<<3)|0); $1243 = +HEAPF64[$1242>>3]; $1244 = $i; $1245 = $5; $1246 = (($1245) + ($1244<<3)|0); HEAPF64[$1246>>3] = $1243; $1247 = $i; $1248 = (($1247) + 1)|0; $i = $1248; } $0 = 4; $1517 = $0; STACKTOP = sp;return ($1517|0); } $1249 = $1; $1250 = (_strcmp($1249,296)|0); $1251 = ($1250|0)!=(0); if (!($1251)) { dest=$lp1_a141+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); HEAPF64[$lp1_a141>>3] = 0.0352262918821006562609; $1252 = (($lp1_a141) + 8|0); HEAPF64[$1252>>3] = -0.0854412738822414863371; $1253 = (($lp1_a141) + 16|0); HEAPF64[$1253>>3] = -0.135011020010390836443; $1254 = (($lp1_a141) + 24|0); HEAPF64[$1254>>3] = 0.459877502119331316166; $1255 = (($lp1_a141) + 32|0); HEAPF64[$1255>>3] = 0.806891509313338750609; $1256 = (($lp1_a141) + 40|0); HEAPF64[$1256>>3] = 0.332670552950956877059; dest=$hp1_a142+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); HEAPF64[$hp1_a142>>3] = -0.332670552950956877059; $1257 = (($hp1_a142) + 8|0); HEAPF64[$1257>>3] = 0.806891509313338750609; $1258 = (($hp1_a142) + 16|0); HEAPF64[$1258>>3] = -0.459877502119331316166; $1259 = (($hp1_a142) + 24|0); HEAPF64[$1259>>3] = -0.135011020010390836443; $1260 = (($hp1_a142) + 32|0); HEAPF64[$1260>>3] = 0.0854412738822414863371; $1261 = (($hp1_a142) + 40|0); HEAPF64[$1261>>3] = 0.0352262918821006562609; dest=$lp2_a143+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); HEAPF64[$lp2_a143>>3] = 0.332670552950956877059; $1262 = (($lp2_a143) + 8|0); HEAPF64[$1262>>3] = 0.806891509313338750609; $1263 = (($lp2_a143) + 16|0); HEAPF64[$1263>>3] = 0.459877502119331316166; $1264 = (($lp2_a143) + 24|0); HEAPF64[$1264>>3] = -0.135011020010390836443; $1265 = (($lp2_a143) + 32|0); HEAPF64[$1265>>3] = -0.0854412738822414863371; $1266 = (($lp2_a143) + 40|0); HEAPF64[$1266>>3] = 0.0352262918821006562609; dest=$hp2_a144+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); HEAPF64[$hp2_a144>>3] = 0.0352262918821006562609; $1267 = (($hp2_a144) + 8|0); HEAPF64[$1267>>3] = 0.0854412738822414863371; $1268 = (($hp2_a144) + 16|0); HEAPF64[$1268>>3] = -0.135011020010390836443; $1269 = (($hp2_a144) + 24|0); HEAPF64[$1269>>3] = -0.459877502119331316166; $1270 = (($hp2_a144) + 32|0); HEAPF64[$1270>>3] = 0.806891509313338750609; $1271 = (($hp2_a144) + 40|0); HEAPF64[$1271>>3] = -0.332670552950956877059; $i = 0; while(1) { $1272 = $i; $1273 = ($1272|0)<(6); if (!($1273)) { break; } $1274 = $i; $1275 = (($lp1_a141) + ($1274<<3)|0); $1276 = +HEAPF64[$1275>>3]; $1277 = $i; $1278 = $2; $1279 = (($1278) + ($1277<<3)|0); HEAPF64[$1279>>3] = $1276; $1280 = $i; $1281 = (($hp1_a142) + ($1280<<3)|0); $1282 = +HEAPF64[$1281>>3]; $1283 = $i; $1284 = $3; $1285 = (($1284) + ($1283<<3)|0); HEAPF64[$1285>>3] = $1282; $1286 = $i; $1287 = (($lp2_a143) + ($1286<<3)|0); $1288 = +HEAPF64[$1287>>3]; $1289 = $i; $1290 = $4; $1291 = (($1290) + ($1289<<3)|0); HEAPF64[$1291>>3] = $1288; $1292 = $i; $1293 = (($hp2_a144) + ($1292<<3)|0); $1294 = +HEAPF64[$1293>>3]; $1295 = $i; $1296 = $5; $1297 = (($1296) + ($1295<<3)|0); HEAPF64[$1297>>3] = $1294; $1298 = $i; $1299 = (($1298) + 1)|0; $i = $1299; } $0 = 6; $1517 = $0; STACKTOP = sp;return ($1517|0); } $1300 = $1; $1301 = (_strcmp($1300,304)|0); $1302 = ($1301|0)!=(0); if (!($1302)) { dest=$lp1_a145+0|0; src=13904+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp1_a146+0|0; src=13968+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$lp2_a147+0|0; src=14032+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp2_a148+0|0; src=14096+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $i = 0; while(1) { $1303 = $i; $1304 = ($1303|0)<(8); if (!($1304)) { break; } $1305 = $i; $1306 = (($lp1_a145) + ($1305<<3)|0); $1307 = +HEAPF64[$1306>>3]; $1308 = $i; $1309 = $2; $1310 = (($1309) + ($1308<<3)|0); HEAPF64[$1310>>3] = $1307; $1311 = $i; $1312 = (($hp1_a146) + ($1311<<3)|0); $1313 = +HEAPF64[$1312>>3]; $1314 = $i; $1315 = $3; $1316 = (($1315) + ($1314<<3)|0); HEAPF64[$1316>>3] = $1313; $1317 = $i; $1318 = (($lp2_a147) + ($1317<<3)|0); $1319 = +HEAPF64[$1318>>3]; $1320 = $i; $1321 = $4; $1322 = (($1321) + ($1320<<3)|0); HEAPF64[$1322>>3] = $1319; $1323 = $i; $1324 = (($hp2_a148) + ($1323<<3)|0); $1325 = +HEAPF64[$1324>>3]; $1326 = $i; $1327 = $5; $1328 = (($1327) + ($1326<<3)|0); HEAPF64[$1328>>3] = $1325; $1329 = $i; $1330 = (($1329) + 1)|0; $i = $1330; } $0 = 8; $1517 = $0; STACKTOP = sp;return ($1517|0); } $1331 = $1; $1332 = (_strcmp($1331,312)|0); $1333 = ($1332|0)!=(0); if (!($1333)) { dest=$lp1_a149+0|0; src=14160+0|0; stop=dest+80|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp1_a150+0|0; src=14240+0|0; stop=dest+80|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$lp2_a151+0|0; src=14320+0|0; stop=dest+80|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp2_a152+0|0; src=14400+0|0; stop=dest+80|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $i = 0; while(1) { $1334 = $i; $1335 = ($1334|0)<(10); if (!($1335)) { break; } $1336 = $i; $1337 = (($lp1_a149) + ($1336<<3)|0); $1338 = +HEAPF64[$1337>>3]; $1339 = $i; $1340 = $2; $1341 = (($1340) + ($1339<<3)|0); HEAPF64[$1341>>3] = $1338; $1342 = $i; $1343 = (($hp1_a150) + ($1342<<3)|0); $1344 = +HEAPF64[$1343>>3]; $1345 = $i; $1346 = $3; $1347 = (($1346) + ($1345<<3)|0); HEAPF64[$1347>>3] = $1344; $1348 = $i; $1349 = (($lp2_a151) + ($1348<<3)|0); $1350 = +HEAPF64[$1349>>3]; $1351 = $i; $1352 = $4; $1353 = (($1352) + ($1351<<3)|0); HEAPF64[$1353>>3] = $1350; $1354 = $i; $1355 = (($hp2_a152) + ($1354<<3)|0); $1356 = +HEAPF64[$1355>>3]; $1357 = $i; $1358 = $5; $1359 = (($1358) + ($1357<<3)|0); HEAPF64[$1359>>3] = $1356; $1360 = $i; $1361 = (($1360) + 1)|0; $i = $1361; } $0 = 10; $1517 = $0; STACKTOP = sp;return ($1517|0); } $1362 = $1; $1363 = (_strcmp($1362,320)|0); $1364 = ($1363|0)!=(0); if (!($1364)) { dest=$lp1_a153+0|0; src=14480+0|0; stop=dest+96|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp1_a154+0|0; src=14576+0|0; stop=dest+96|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$lp2_a155+0|0; src=14672+0|0; stop=dest+96|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp2_a156+0|0; src=14768+0|0; stop=dest+96|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $i = 0; while(1) { $1365 = $i; $1366 = ($1365|0)<(12); if (!($1366)) { break; } $1367 = $i; $1368 = (($lp1_a153) + ($1367<<3)|0); $1369 = +HEAPF64[$1368>>3]; $1370 = $i; $1371 = $2; $1372 = (($1371) + ($1370<<3)|0); HEAPF64[$1372>>3] = $1369; $1373 = $i; $1374 = (($hp1_a154) + ($1373<<3)|0); $1375 = +HEAPF64[$1374>>3]; $1376 = $i; $1377 = $3; $1378 = (($1377) + ($1376<<3)|0); HEAPF64[$1378>>3] = $1375; $1379 = $i; $1380 = (($lp2_a155) + ($1379<<3)|0); $1381 = +HEAPF64[$1380>>3]; $1382 = $i; $1383 = $4; $1384 = (($1383) + ($1382<<3)|0); HEAPF64[$1384>>3] = $1381; $1385 = $i; $1386 = (($hp2_a156) + ($1385<<3)|0); $1387 = +HEAPF64[$1386>>3]; $1388 = $i; $1389 = $5; $1390 = (($1389) + ($1388<<3)|0); HEAPF64[$1390>>3] = $1387; $1391 = $i; $1392 = (($1391) + 1)|0; $i = $1392; } $0 = 12; $1517 = $0; STACKTOP = sp;return ($1517|0); } $1393 = $1; $1394 = (_strcmp($1393,328)|0); $1395 = ($1394|0)!=(0); if (!($1395)) { dest=$lp1_a157+0|0; src=14864+0|0; stop=dest+112|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp1_a158+0|0; src=14976+0|0; stop=dest+112|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$lp2_a159+0|0; src=15088+0|0; stop=dest+112|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp2_a160+0|0; src=15200+0|0; stop=dest+112|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $i = 0; while(1) { $1396 = $i; $1397 = ($1396|0)<(14); if (!($1397)) { break; } $1398 = $i; $1399 = (($lp1_a157) + ($1398<<3)|0); $1400 = +HEAPF64[$1399>>3]; $1401 = $i; $1402 = $2; $1403 = (($1402) + ($1401<<3)|0); HEAPF64[$1403>>3] = $1400; $1404 = $i; $1405 = (($hp1_a158) + ($1404<<3)|0); $1406 = +HEAPF64[$1405>>3]; $1407 = $i; $1408 = $3; $1409 = (($1408) + ($1407<<3)|0); HEAPF64[$1409>>3] = $1406; $1410 = $i; $1411 = (($lp2_a159) + ($1410<<3)|0); $1412 = +HEAPF64[$1411>>3]; $1413 = $i; $1414 = $4; $1415 = (($1414) + ($1413<<3)|0); HEAPF64[$1415>>3] = $1412; $1416 = $i; $1417 = (($hp2_a160) + ($1416<<3)|0); $1418 = +HEAPF64[$1417>>3]; $1419 = $i; $1420 = $5; $1421 = (($1420) + ($1419<<3)|0); HEAPF64[$1421>>3] = $1418; $1422 = $i; $1423 = (($1422) + 1)|0; $i = $1423; } $0 = 14; $1517 = $0; STACKTOP = sp;return ($1517|0); } $1424 = $1; $1425 = (_strcmp($1424,336)|0); $1426 = ($1425|0)!=(0); if (!($1426)) { dest=$lp1_a161+0|0; src=15312+0|0; stop=dest+128|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp1_a162+0|0; src=15440+0|0; stop=dest+128|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$lp2_a163+0|0; src=15568+0|0; stop=dest+128|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$hp2_a164+0|0; src=15696+0|0; stop=dest+128|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $i = 0; while(1) { $1427 = $i; $1428 = ($1427|0)<(16); if (!($1428)) { break; } $1429 = $i; $1430 = (($lp1_a161) + ($1429<<3)|0); $1431 = +HEAPF64[$1430>>3]; $1432 = $i; $1433 = $2; $1434 = (($1433) + ($1432<<3)|0); HEAPF64[$1434>>3] = $1431; $1435 = $i; $1436 = (($hp1_a162) + ($1435<<3)|0); $1437 = +HEAPF64[$1436>>3]; $1438 = $i; $1439 = $3; $1440 = (($1439) + ($1438<<3)|0); HEAPF64[$1440>>3] = $1437; $1441 = $i; $1442 = (($lp2_a163) + ($1441<<3)|0); $1443 = +HEAPF64[$1442>>3]; $1444 = $i; $1445 = $4; $1446 = (($1445) + ($1444<<3)|0); HEAPF64[$1446>>3] = $1443; $1447 = $i; $1448 = (($hp2_a164) + ($1447<<3)|0); $1449 = +HEAPF64[$1448>>3]; $1450 = $i; $1451 = $5; $1452 = (($1451) + ($1450<<3)|0); HEAPF64[$1452>>3] = $1449; $1453 = $i; $1454 = (($1453) + 1)|0; $i = $1454; } $0 = 16; $1517 = $0; STACKTOP = sp;return ($1517|0); } $1455 = $1; $1456 = (_strcmp($1455,344)|0); $1457 = ($1456|0)!=(0); if (!($1457)) { _memcpy(($lp1_a165|0),(15824|0),144)|0; _memcpy(($hp1_a166|0),(15968|0),144)|0; _memcpy(($lp2_a167|0),(16112|0),144)|0; _memcpy(($hp2_a168|0),(16256|0),144)|0; $i = 0; while(1) { $1458 = $i; $1459 = ($1458|0)<(18); if (!($1459)) { break; } $1460 = $i; $1461 = (($lp1_a165) + ($1460<<3)|0); $1462 = +HEAPF64[$1461>>3]; $1463 = $i; $1464 = $2; $1465 = (($1464) + ($1463<<3)|0); HEAPF64[$1465>>3] = $1462; $1466 = $i; $1467 = (($hp1_a166) + ($1466<<3)|0); $1468 = +HEAPF64[$1467>>3]; $1469 = $i; $1470 = $3; $1471 = (($1470) + ($1469<<3)|0); HEAPF64[$1471>>3] = $1468; $1472 = $i; $1473 = (($lp2_a167) + ($1472<<3)|0); $1474 = +HEAPF64[$1473>>3]; $1475 = $i; $1476 = $4; $1477 = (($1476) + ($1475<<3)|0); HEAPF64[$1477>>3] = $1474; $1478 = $i; $1479 = (($hp2_a168) + ($1478<<3)|0); $1480 = +HEAPF64[$1479>>3]; $1481 = $i; $1482 = $5; $1483 = (($1482) + ($1481<<3)|0); HEAPF64[$1483>>3] = $1480; $1484 = $i; $1485 = (($1484) + 1)|0; $i = $1485; } $0 = 18; $1517 = $0; STACKTOP = sp;return ($1517|0); } $1486 = $1; $1487 = (_strcmp($1486,352)|0); $1488 = ($1487|0)!=(0); if ($1488) { (_printf((360|0),($vararg_buffer|0))|0); $0 = -1; $1517 = $0; STACKTOP = sp;return ($1517|0); } _memcpy(($lp1_a169|0),(16400|0),160)|0; _memcpy(($hp1_a170|0),(16560|0),160)|0; _memcpy(($lp2_a171|0),(16720|0),160)|0; _memcpy(($hp2_a172|0),(16880|0),160)|0; $i = 0; while(1) { $1489 = $i; $1490 = ($1489|0)<(20); if (!($1490)) { break; } $1491 = $i; $1492 = (($lp1_a169) + ($1491<<3)|0); $1493 = +HEAPF64[$1492>>3]; $1494 = $i; $1495 = $2; $1496 = (($1495) + ($1494<<3)|0); HEAPF64[$1496>>3] = $1493; $1497 = $i; $1498 = (($hp1_a170) + ($1497<<3)|0); $1499 = +HEAPF64[$1498>>3]; $1500 = $i; $1501 = $3; $1502 = (($1501) + ($1500<<3)|0); HEAPF64[$1502>>3] = $1499; $1503 = $i; $1504 = (($lp2_a171) + ($1503<<3)|0); $1505 = +HEAPF64[$1504>>3]; $1506 = $i; $1507 = $4; $1508 = (($1507) + ($1506<<3)|0); HEAPF64[$1508>>3] = $1505; $1509 = $i; $1510 = (($hp2_a172) + ($1509<<3)|0); $1511 = +HEAPF64[$1510>>3]; $1512 = $i; $1513 = $5; $1514 = (($1513) + ($1512<<3)|0); HEAPF64[$1514>>3] = $1511; $1515 = $i; $1516 = (($1515) + 1)|0; $i = $1516; } $0 = 20; $1517 = $0; STACKTOP = sp;return ($1517|0); } } ;HEAP32[$lp1_a+0>>2]=HEAP32[392+0>>2]|0;HEAP32[$lp1_a+4>>2]=HEAP32[392+4>>2]|0;HEAP32[$lp1_a+8>>2]=HEAP32[392+8>>2]|0;HEAP32[$lp1_a+12>>2]=HEAP32[392+12>>2]|0; ;HEAP32[$hp1_a+0>>2]=HEAP32[408+0>>2]|0;HEAP32[$hp1_a+4>>2]=HEAP32[408+4>>2]|0;HEAP32[$hp1_a+8>>2]=HEAP32[408+8>>2]|0;HEAP32[$hp1_a+12>>2]=HEAP32[408+12>>2]|0; ;HEAP32[$lp2_a+0>>2]=HEAP32[424+0>>2]|0;HEAP32[$lp2_a+4>>2]=HEAP32[424+4>>2]|0;HEAP32[$lp2_a+8>>2]=HEAP32[424+8>>2]|0;HEAP32[$lp2_a+12>>2]=HEAP32[424+12>>2]|0; ;HEAP32[$hp2_a+0>>2]=HEAP32[440+0>>2]|0;HEAP32[$hp2_a+4>>2]=HEAP32[440+4>>2]|0;HEAP32[$hp2_a+8>>2]=HEAP32[440+8>>2]|0;HEAP32[$hp2_a+12>>2]=HEAP32[440+12>>2]|0; $i = 0; while(1) { $12 = $i; $13 = ($12|0)<(2); if (!($13)) { break; } $14 = $i; $15 = (($lp1_a) + ($14<<3)|0); $16 = +HEAPF64[$15>>3]; $17 = $i; $18 = $2; $19 = (($18) + ($17<<3)|0); HEAPF64[$19>>3] = $16; $20 = $i; $21 = (($hp1_a) + ($20<<3)|0); $22 = +HEAPF64[$21>>3]; $23 = $i; $24 = $3; $25 = (($24) + ($23<<3)|0); HEAPF64[$25>>3] = $22; $26 = $i; $27 = (($lp2_a) + ($26<<3)|0); $28 = +HEAPF64[$27>>3]; $29 = $i; $30 = $4; $31 = (($30) + ($29<<3)|0); HEAPF64[$31>>3] = $28; $32 = $i; $33 = (($hp2_a) + ($32<<3)|0); $34 = +HEAPF64[$33>>3]; $35 = $i; $36 = $5; $37 = (($36) + ($35<<3)|0); HEAPF64[$37>>3] = $34; $38 = $i; $39 = (($38) + 1)|0; $i = $39; } $0 = 2; $1517 = $0; STACKTOP = sp;return ($1517|0); } function _upsamp($x,$lenx,$M,$y) { $x = $x|0; $lenx = $lenx|0; $M = $M|0; $y = $y|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $N = 0, $i = 0, $j = 0, $k = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $1 = $x; $2 = $lenx; $3 = $M; $4 = $y; $5 = $3; $6 = ($5|0)<(0); if ($6) { $0 = -1; $50 = $0; STACKTOP = sp;return ($50|0); } $7 = $3; $8 = ($7|0)==(0); if ($8) { $i = 0; while(1) { $9 = $i; $10 = $2; $11 = ($9|0)<($10|0); if (!($11)) { break; } $12 = $i; $13 = $1; $14 = (($13) + ($12<<3)|0); $15 = +HEAPF64[$14>>3]; $16 = $i; $17 = $4; $18 = (($17) + ($16<<3)|0); HEAPF64[$18>>3] = $15; $19 = $i; $20 = (($19) + 1)|0; $i = $20; } $21 = $2; $0 = $21; $50 = $0; STACKTOP = sp;return ($50|0); } $22 = $3; $23 = $2; $24 = (($23) - 1)|0; $25 = Math_imul($22, $24)|0; $26 = (($25) + 1)|0; $N = $26; $j = 1; $k = 0; $i = 0; while(1) { $27 = $i; $28 = $N; $29 = ($27|0)<($28|0); if (!($29)) { break; } $30 = $j; $31 = (($30) + -1)|0; $j = $31; $32 = $i; $33 = $4; $34 = (($33) + ($32<<3)|0); HEAPF64[$34>>3] = 0.0; $35 = $j; $36 = ($35|0)==(0); if ($36) { $37 = $k; $38 = $1; $39 = (($38) + ($37<<3)|0); $40 = +HEAPF64[$39>>3]; $41 = $i; $42 = $4; $43 = (($42) + ($41<<3)|0); HEAPF64[$43>>3] = $40; $44 = $k; $45 = (($44) + 1)|0; $k = $45; $46 = $3; $j = $46; } $47 = $i; $48 = (($47) + 1)|0; $i = $48; } $49 = $N; $0 = $49; $50 = $0; STACKTOP = sp;return ($50|0); } function _upsamp2($x,$lenx,$M,$y) { $x = $x|0; $lenx = $lenx|0; $M = $M|0; $y = $y|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $N = 0, $i = 0, $j = 0, $k = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $1 = $x; $2 = $lenx; $3 = $M; $4 = $y; $5 = $3; $6 = ($5|0)<(0); if ($6) { $0 = -1; $48 = $0; STACKTOP = sp;return ($48|0); } $7 = $3; $8 = ($7|0)==(0); if ($8) { $i = 0; while(1) { $9 = $i; $10 = $2; $11 = ($9|0)<($10|0); if (!($11)) { break; } $12 = $i; $13 = $1; $14 = (($13) + ($12<<3)|0); $15 = +HEAPF64[$14>>3]; $16 = $i; $17 = $4; $18 = (($17) + ($16<<3)|0); HEAPF64[$18>>3] = $15; $19 = $i; $20 = (($19) + 1)|0; $i = $20; } $21 = $2; $0 = $21; $48 = $0; STACKTOP = sp;return ($48|0); } $22 = $3; $23 = $2; $24 = Math_imul($22, $23)|0; $N = $24; $j = 1; $k = 0; $i = 0; while(1) { $25 = $i; $26 = $N; $27 = ($25|0)<($26|0); if (!($27)) { break; } $28 = $j; $29 = (($28) + -1)|0; $j = $29; $30 = $i; $31 = $4; $32 = (($31) + ($30<<3)|0); HEAPF64[$32>>3] = 0.0; $33 = $j; $34 = ($33|0)==(0); if ($34) { $35 = $k; $36 = $1; $37 = (($36) + ($35<<3)|0); $38 = +HEAPF64[$37>>3]; $39 = $i; $40 = $4; $41 = (($40) + ($39<<3)|0); HEAPF64[$41>>3] = $38; $42 = $k; $43 = (($42) + 1)|0; $k = $43; $44 = $3; $j = $44; } $45 = $i; $46 = (($45) + 1)|0; $i = $46; } $47 = $N; $0 = $47; $48 = $0; STACKTOP = sp;return ($48|0); } function _downsamp($x,$lenx,$M,$y) { $x = $x|0; $lenx = $lenx|0; $M = $M|0; $y = $y|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, $N = 0, $i = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $1 = $x; $2 = $lenx; $3 = $M; $4 = $y; $5 = $3; $6 = ($5|0)<(0); if ($6) { $0 = -1; $42 = $0; STACKTOP = sp;return ($42|0); } $7 = $3; $8 = ($7|0)==(0); if ($8) { $i = 0; while(1) { $9 = $i; $10 = $2; $11 = ($9|0)<($10|0); if (!($11)) { break; } $12 = $i; $13 = $1; $14 = (($13) + ($12<<3)|0); $15 = +HEAPF64[$14>>3]; $16 = $i; $17 = $4; $18 = (($17) + ($16<<3)|0); HEAPF64[$18>>3] = $15; $19 = $i; $20 = (($19) + 1)|0; $i = $20; } $21 = $2; $0 = $21; $42 = $0; STACKTOP = sp;return ($42|0); } else { $22 = $2; $23 = (($22) - 1)|0; $24 = $3; $25 = (($23|0) / ($24|0))&-1; $26 = (($25) + 1)|0; $N = $26; $i = 0; while(1) { $27 = $i; $28 = $N; $29 = ($27|0)<($28|0); if (!($29)) { break; } $30 = $i; $31 = $3; $32 = Math_imul($30, $31)|0; $33 = $1; $34 = (($33) + ($32<<3)|0); $35 = +HEAPF64[$34>>3]; $36 = $i; $37 = $4; $38 = (($37) + ($36<<3)|0); HEAPF64[$38>>3] = $35; $39 = $i; $40 = (($39) + 1)|0; $i = $40; } $41 = $N; $0 = $41; $42 = $0; STACKTOP = sp;return ($42|0); } return 0|0; } function _per_ext($sig,$len,$a,$oup) { $sig = $sig|0; $len = $len|0; $a = $a|0; $oup = $oup|0; var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $len2 = 0, $temp1 = 0.0, $temp2 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $sig; $1 = $len; $2 = $a; $3 = $oup; $i = 0; while(1) { $4 = $i; $5 = $1; $6 = ($4|0)<($5|0); if (!($6)) { break; } $7 = $i; $8 = $0; $9 = (($8) + ($7<<3)|0); $10 = +HEAPF64[$9>>3]; $11 = $2; $12 = $i; $13 = (($11) + ($12))|0; $14 = $3; $15 = (($14) + ($13<<3)|0); HEAPF64[$15>>3] = $10; $16 = $i; $17 = (($16) + 1)|0; $i = $17; } $18 = $1; $len2 = $18; $19 = $1; $20 = (($19|0) % 2)&-1; $21 = ($20|0)!=(0); if ($21) { $22 = $1; $23 = (($22) + 1)|0; $len2 = $23; $24 = $1; $25 = (($24) - 1)|0; $26 = $0; $27 = (($26) + ($25<<3)|0); $28 = +HEAPF64[$27>>3]; $29 = $2; $30 = $1; $31 = (($29) + ($30))|0; $32 = $3; $33 = (($32) + ($31<<3)|0); HEAPF64[$33>>3] = $28; } $i = 0; while(1) { $34 = $i; $35 = $2; $36 = ($34|0)<($35|0); if (!($36)) { break; } $37 = $2; $38 = $i; $39 = (($37) + ($38))|0; $40 = $3; $41 = (($40) + ($39<<3)|0); $42 = +HEAPF64[$41>>3]; $temp1 = $42; $43 = $2; $44 = $len2; $45 = (($43) + ($44))|0; $46 = (($45) - 1)|0; $47 = $i; $48 = (($46) - ($47))|0; $49 = $3; $50 = (($49) + ($48<<3)|0); $51 = +HEAPF64[$50>>3]; $temp2 = $51; $52 = $temp2; $53 = $2; $54 = (($53) - 1)|0; $55 = $i; $56 = (($54) - ($55))|0; $57 = $3; $58 = (($57) + ($56<<3)|0); HEAPF64[$58>>3] = $52; $59 = $temp1; $60 = $len2; $61 = $2; $62 = (($60) + ($61))|0; $63 = $i; $64 = (($62) + ($63))|0; $65 = $3; $66 = (($65) + ($64<<3)|0); HEAPF64[$66>>3] = $59; $67 = $i; $68 = (($67) + 1)|0; $i = $68; } $69 = $len2; STACKTOP = sp;return ($69|0); } function _symm_ext($sig,$len,$a,$oup) { $sig = $sig|0; $len = $len|0; $a = $a|0; $oup = $oup|0; var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0.0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $len2 = 0, $temp1 = 0.0, $temp2 = 0.0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $sig; $1 = $len; $2 = $a; $3 = $oup; $i = 0; while(1) { $4 = $i; $5 = $1; $6 = ($4|0)<($5|0); if (!($6)) { break; } $7 = $i; $8 = $0; $9 = (($8) + ($7<<3)|0); $10 = +HEAPF64[$9>>3]; $11 = $2; $12 = $i; $13 = (($11) + ($12))|0; $14 = $3; $15 = (($14) + ($13<<3)|0); HEAPF64[$15>>3] = $10; $16 = $i; $17 = (($16) + 1)|0; $i = $17; } $18 = $1; $len2 = $18; $i = 0; while(1) { $19 = $i; $20 = $2; $21 = ($19|0)<($20|0); if (!($21)) { break; } $22 = $2; $23 = $i; $24 = (($22) + ($23))|0; $25 = $3; $26 = (($25) + ($24<<3)|0); $27 = +HEAPF64[$26>>3]; $temp1 = $27; $28 = $2; $29 = $len2; $30 = (($28) + ($29))|0; $31 = (($30) - 1)|0; $32 = $i; $33 = (($31) - ($32))|0; $34 = $3; $35 = (($34) + ($33<<3)|0); $36 = +HEAPF64[$35>>3]; $temp2 = $36; $37 = $temp1; $38 = $2; $39 = (($38) - 1)|0; $40 = $i; $41 = (($39) - ($40))|0; $42 = $3; $43 = (($42) + ($41<<3)|0); HEAPF64[$43>>3] = $37; $44 = $temp2; $45 = $len2; $46 = $2; $47 = (($45) + ($46))|0; $48 = $i; $49 = (($47) + ($48))|0; $50 = $3; $51 = (($50) + ($49<<3)|0); HEAPF64[$51>>3] = $44; $52 = $i; $53 = (($52) + 1)|0; $i = $53; } $54 = $len2; STACKTOP = sp;return ($54|0); } function _circshift($array,$N,$L) { $array = $array|0; $N = $N|0; $L = $L|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $temp = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $array; $1 = $N; $2 = $L; $3 = $2; $4 = (_iabs($3)|0); $5 = $1; $6 = ($4|0)>($5|0); if ($6) { $7 = $2; $8 = (_isign($7)|0); $9 = $2; $10 = (_iabs($9)|0); $11 = $1; $12 = (($10|0) % ($11|0))&-1; $13 = Math_imul($8, $12)|0; $2 = $13; } $14 = $2; $15 = ($14|0)<(0); if ($15) { $16 = $1; $17 = $2; $18 = (($16) + ($17))|0; $19 = $1; $20 = (($18|0) % ($19|0))&-1; $2 = $20; } $21 = $2; $22 = $21<<3; $23 = (_malloc($22)|0); $temp = $23; $i = 0; while(1) { $24 = $i; $25 = $2; $26 = ($24|0)<($25|0); if (!($26)) { break; } $27 = $i; $28 = $0; $29 = (($28) + ($27<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $i; $32 = $temp; $33 = (($32) + ($31<<3)|0); HEAPF64[$33>>3] = $30; $34 = $i; $35 = (($34) + 1)|0; $i = $35; } $i = 0; while(1) { $36 = $i; $37 = $1; $38 = $2; $39 = (($37) - ($38))|0; $40 = ($36|0)<($39|0); if (!($40)) { break; } $41 = $i; $42 = $2; $43 = (($41) + ($42))|0; $44 = $0; $45 = (($44) + ($43<<3)|0); $46 = +HEAPF64[$45>>3]; $47 = $i; $48 = $0; $49 = (($48) + ($47<<3)|0); HEAPF64[$49>>3] = $46; $50 = $i; $51 = (($50) + 1)|0; $i = $51; } $i = 0; while(1) { $52 = $i; $53 = $2; $54 = ($52|0)<($53|0); if (!($54)) { break; } $55 = $i; $56 = $temp; $57 = (($56) + ($55<<3)|0); $58 = +HEAPF64[$57>>3]; $59 = $1; $60 = $2; $61 = (($59) - ($60))|0; $62 = $i; $63 = (($61) + ($62))|0; $64 = $0; $65 = (($64) + ($63<<3)|0); HEAPF64[$65>>3] = $58; $66 = $i; $67 = (($66) + 1)|0; $i = $67; } $68 = $temp; _free($68); STACKTOP = sp;return; } function _iabs($N) { $N = $N|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $1 = $N; $2 = $1; $3 = ($2|0)>=(0); if ($3) { $4 = $1; $0 = $4; } else { $5 = $1; $6 = (0 - ($5))|0; $0 = $6; } $7 = $0; STACKTOP = sp;return ($7|0); } function _isign($N) { $N = $N|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $M = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $N; $1 = $0; $2 = ($1|0)>=(0); if ($2) { $M = 1; } else { $M = -1; } $3 = $M; STACKTOP = sp;return ($3|0); } function _testSWTlength($N,$J) { $N = $N|0; $J = $J|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $i = 0, $ret = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $N; $1 = $J; $ret = 1; $div = 1; $i = 0; while(1) { $2 = $i; $3 = $1; $4 = ($2|0)<($3|0); if (!($4)) { break; } $5 = $div; $6 = $5<<1; $div = $6; $7 = $i; $8 = (($7) + 1)|0; $i = $8; } $9 = $0; $10 = $div; $11 = (($9|0) % ($10|0))&-1; $12 = ($11|0)!=(0); if (!($12)) { $13 = $ret; STACKTOP = sp;return ($13|0); } $ret = 0; $13 = $ret; STACKTOP = sp;return ($13|0); } function _wmaxiter($sig_len,$filt_len) { $sig_len = $sig_len|0; $filt_len = $filt_len|0; var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $lev = 0, $temp = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $sig_len; $1 = $filt_len; $2 = $0; $3 = (+($2|0)); $4 = $1; $5 = (+($4|0)); $6 = $5 - 1.0; $7 = $3 / $6; $8 = (+Math_log((+$7))); $9 = (+Math_log(2.0)); $10 = $8 / $9; $temp = $10; $11 = $temp; $12 = (~~(($11))); $lev = $12; $13 = $lev; STACKTOP = sp;return ($13|0); } function _wave_init($wname) { $wname = $wname|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $obj = 0, $retval = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $wname; $obj = 0; $retval = 0; $1 = $0; $2 = ($1|0)!=(0|0); if ($2) { $3 = $0; $4 = (_filtlength($3)|0); $retval = $4; } $5 = $retval; $6 = $5<<5; $7 = (88 + ($6))|0; $8 = (_malloc($7)|0); $obj = $8; $9 = $retval; $10 = $obj; $11 = (($10) + 52|0); HEAP32[$11>>2] = $9; $12 = $obj; $13 = (($12) + 52|0); $14 = HEAP32[$13>>2]|0; $15 = $obj; $16 = (($15) + 68|0); HEAP32[$16>>2] = $14; $17 = $obj; $18 = (($17) + 64|0); HEAP32[$18>>2] = $14; $19 = $obj; $20 = (($19) + 60|0); HEAP32[$20>>2] = $14; $21 = $obj; $22 = (($21) + 56|0); HEAP32[$22>>2] = $14; $23 = $obj; $24 = $0; (_strcpy(($23|0),($24|0))|0); $25 = $0; $26 = ($25|0)!=(0|0); if ($26) { $27 = $0; $28 = $obj; $29 = (($28) + 88|0); $30 = $obj; $31 = (($30) + 88|0); $32 = $retval; $33 = (($31) + ($32<<3)|0); $34 = $obj; $35 = (($34) + 88|0); $36 = $retval; $37 = $36<<1; $38 = (($35) + ($37<<3)|0); $39 = $obj; $40 = (($39) + 88|0); $41 = $retval; $42 = ($41*3)|0; $43 = (($40) + ($42<<3)|0); (_filtcoef($27,$29,$33,$38,$43)|0); } $44 = $obj; $45 = (($44) + 88|0); $46 = $obj; $47 = (($46) + 72|0); HEAP32[$47>>2] = $45; $48 = $retval; $49 = $obj; $50 = (($49) + 88|0); $51 = (($50) + ($48<<3)|0); $52 = $obj; $53 = (($52) + 76|0); HEAP32[$53>>2] = $51; $54 = $retval; $55 = $54<<1; $56 = $obj; $57 = (($56) + 88|0); $58 = (($57) + ($55<<3)|0); $59 = $obj; $60 = (($59) + 80|0); HEAP32[$60>>2] = $58; $61 = $retval; $62 = ($61*3)|0; $63 = $obj; $64 = (($63) + 88|0); $65 = (($64) + ($62<<3)|0); $66 = $obj; $67 = (($66) + 84|0); HEAP32[$67>>2] = $65; $68 = $obj; STACKTOP = sp;return ($68|0); } function _wt_init($wave,$method,$siglength,$J) { $wave = $wave|0; $method = $method|0; $siglength = $siglength|0; $J = $J|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; var $98 = 0, $99 = 0, $MaxIter = 0, $i = 0, $obj = 0, $size = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $vararg_buffer5 = sp + 24|0; $vararg_buffer3 = sp; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp + 16|0; $0 = $wave; $1 = $method; $2 = $siglength; $3 = $J; $obj = 0; $4 = $0; $5 = (($4) + 52|0); $6 = HEAP32[$5>>2]|0; $size = $6; $7 = $3; $8 = ($7|0)>(100); if ($8) { (_printf((17040|0),($vararg_buffer|0))|0); _exit(-1); // unreachable; } $9 = $2; $10 = $size; $11 = (_wmaxiter($9,$10)|0); $MaxIter = $11; $12 = $3; $13 = $MaxIter; $14 = ($12|0)>($13|0); if ($14) { $15 = $MaxIter; HEAP32[$vararg_buffer1>>2] = $15; (_printf((17104|0),($vararg_buffer1|0))|0); _exit(-1); // unreachable; } $16 = $1; $17 = ($16|0)==(0|0); if ($17) { $18 = $2; $19 = $3; $20 = $19<<1; $21 = $size; $22 = (($21) + 1)|0; $23 = Math_imul($20, $22)|0; $24 = (($18) + ($23))|0; $25 = $24<<3; $26 = (488 + ($25))|0; $27 = (_malloc($26)|0); $obj = $27; $28 = $2; $29 = $3; $30 = $29<<1; $31 = $size; $32 = (($31) + 1)|0; $33 = Math_imul($30, $32)|0; $34 = (($28) + ($33))|0; $35 = $obj; $36 = (($35) + 24|0); HEAP32[$36>>2] = $34; $37 = $obj; $38 = (($37) + 44|0); (_strcpy(($38|0),(17184|0))|0); } else { $39 = $1; $40 = (_strcmp($39,17192)|0); $41 = ($40|0)!=(0); if ($41) { $42 = $1; $43 = (_strcmp($42,17200)|0); $44 = ($43|0)!=(0); if ($44) { $66 = $1; $67 = (_strcmp($66,17208)|0); $68 = ($67|0)!=(0); if ($68) { $69 = $1; $70 = (_strcmp($69,17216)|0); $71 = ($70|0)!=(0); if ($71) { $91 = $1; $92 = (_strcmp($91,17296)|0); $93 = ($92|0)!=(0); if ($93) { $94 = $1; $95 = (_strcmp($94,17304)|0); $96 = ($95|0)!=(0); if (!($96)) { label = 17; } } else { label = 17; } if ((label|0) == 17) { $97 = $0; $98 = (_strstr($97,17312)|0); $99 = ($98|0)!=(0|0); if (!($99)) { $100 = $0; $101 = (_strstr($100,17184)|0); $102 = ($101|0)!=(0|0); do { if (!($102)) { $103 = $0; $104 = (_strstr($103,17320)|0); $105 = ($104|0)!=(0|0); if ($105) { break; } else { (_printf((17328|0),($vararg_buffer5|0))|0); _exit(-1); // unreachable; } } } while(0); } $106 = $2; $107 = $3; $108 = (($107) + 1)|0; $109 = Math_imul($106, $108)|0; $110 = $109<<3; $111 = (488 + ($110))|0; $112 = (_malloc($111)|0); $obj = $112; $113 = $2; $114 = $3; $115 = (($114) + 1)|0; $116 = Math_imul($113, $115)|0; $117 = $obj; $118 = (($117) + 24|0); HEAP32[$118>>2] = $116; $119 = $obj; $120 = (($119) + 44|0); (_strcpy(($120|0),(17288|0))|0); } } else { label = 12; } } else { label = 12; } do { if ((label|0) == 12) { $72 = $2; $73 = $3; $74 = (_testSWTlength($72,$73)|0); $75 = ($74|0)!=(0); if ($75) { $76 = $2; $77 = $3; $78 = (($77) + 1)|0; $79 = Math_imul($76, $78)|0; $80 = $79<<3; $81 = (488 + ($80))|0; $82 = (_malloc($81)|0); $obj = $82; $83 = $2; $84 = $3; $85 = (($84) + 1)|0; $86 = Math_imul($83, $85)|0; $87 = $obj; $88 = (($87) + 24|0); HEAP32[$88>>2] = $86; $89 = $obj; $90 = (($89) + 44|0); (_strcpy(($90|0),(17288|0))|0); break; } else { (_printf((17224|0),($vararg_buffer3|0))|0); _exit(-1); // unreachable; } } } while(0); } else { label = 9; } } else { label = 9; } if ((label|0) == 9) { $45 = $2; $46 = $3; $47 = $46<<1; $48 = $size; $49 = (($48) + 1)|0; $50 = Math_imul($47, $49)|0; $51 = (($45) + ($50))|0; $52 = $51<<3; $53 = (488 + ($52))|0; $54 = (_malloc($53)|0); $obj = $54; $55 = $2; $56 = $3; $57 = $56<<1; $58 = $size; $59 = (($58) + 1)|0; $60 = Math_imul($57, $59)|0; $61 = (($55) + ($60))|0; $62 = $obj; $63 = (($62) + 24|0); HEAP32[$63>>2] = $61; $64 = $obj; $65 = (($64) + 44|0); (_strcpy(($65|0),(17184|0))|0); } } $121 = $0; $122 = $obj; HEAP32[$122>>2] = $121; $123 = $2; $124 = $obj; $125 = (($124) + 20|0); HEAP32[$125>>2] = $123; $126 = $3; $127 = $obj; $128 = (($127) + 32|0); HEAP32[$128>>2] = $126; $129 = $MaxIter; $130 = $obj; $131 = (($130) + 36|0); HEAP32[$131>>2] = $129; $132 = $obj; $133 = (($132) + 8|0); $134 = $1; (_strcpy(($133|0),($134|0))|0); $135 = $2; $136 = (($135|0) % 2)&-1; $137 = ($136|0)==(0); if ($137) { $138 = $obj; $139 = (($138) + 40|0); HEAP32[$139>>2] = 1; } else { $140 = $obj; $141 = (($140) + 40|0); HEAP32[$141>>2] = 0; } $142 = $obj; $143 = (($142) + 4|0); HEAP32[$143>>2] = 0; $144 = $obj; $145 = (($144) + 54|0); (_strcpy(($145|0),(17416|0))|0); $146 = $obj; $147 = (($146) + 68|0); HEAP32[$147>>2] = 0; $148 = $3; $149 = (($148) + 2)|0; $150 = $obj; $151 = (($150) + 28|0); HEAP32[$151>>2] = $149; $152 = $obj; $153 = (($152) + 488|0); $154 = $obj; $155 = (($154) + 484|0); HEAP32[$155>>2] = $153; $156 = $1; $157 = (_strcmp($156,17192)|0); $158 = ($157|0)!=(0); if ($158) { $159 = $1; $160 = (_strcmp($159,17200)|0); $161 = ($160|0)!=(0); if ($161) { $177 = $1; $178 = (_strcmp($177,17208)|0); $179 = ($178|0)!=(0); if ($179) { $180 = $1; $181 = (_strcmp($180,17216)|0); $182 = ($181|0)!=(0); if ($182) { $183 = $1; $184 = (_strcmp($183,17296)|0); $185 = ($184|0)!=(0); if ($185) { $186 = $1; $187 = (_strcmp($186,17304)|0); $188 = ($187|0)!=(0); if (!($188)) { label = 41; } } else { label = 41; } } else { label = 41; } } else { label = 41; } if ((label|0) == 41) { $i = 0; while(1) { $189 = $i; $190 = $2; $191 = $3; $192 = (($191) + 1)|0; $193 = Math_imul($190, $192)|0; $194 = ($189|0)<($193|0); if (!($194)) { break; } $195 = $i; $196 = $obj; $197 = (($196) + 488|0); $198 = (($197) + ($195<<3)|0); HEAPF64[$198>>3] = 0.0; $199 = $i; $200 = (($199) + 1)|0; $i = $200; } } $201 = $obj; STACKTOP = sp;return ($201|0); } } $i = 0; while(1) { $162 = $i; $163 = $2; $164 = $3; $165 = $164<<1; $166 = $size; $167 = (($166) + 1)|0; $168 = Math_imul($165, $167)|0; $169 = (($163) + ($168))|0; $170 = ($162|0)<($169|0); if (!($170)) { break; } $171 = $i; $172 = $obj; $173 = (($172) + 488|0); $174 = (($173) + ($171<<3)|0); HEAPF64[$174>>3] = 0.0; $175 = $i; $176 = (($175) + 1)|0; $i = $176; } $201 = $obj; STACKTOP = sp;return ($201|0); } function _dwt($wt,$inp) { $wt = $wt|0; $inp = $inp|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; var $170 = 0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0.0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0.0, $205 = 0.0; var $206 = 0.0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; var $297 = 0, $298 = 0.0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0.0, $312 = 0, $313 = 0; var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; var $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0; var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0; var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; var $99 = 0, $J = 0, $N = 0, $i = 0, $iter = 0, $len_cA = 0, $lp = 0, $orig = 0, $orig2 = 0, $temp_len = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $vararg_buffer = sp; $0 = $wt; $1 = $inp; $2 = $0; $3 = (($2) + 20|0); $4 = HEAP32[$3>>2]|0; $temp_len = $4; $5 = $0; $6 = (($5) + 32|0); $7 = HEAP32[$6>>2]|0; $J = $7; $8 = $temp_len; $9 = $J; $10 = (($9) + 1)|0; $11 = $0; $12 = (($11) + 76|0); $13 = (($12) + ($10<<2)|0); HEAP32[$13>>2] = $8; $14 = $0; $15 = (($14) + 24|0); HEAP32[$15>>2] = 0; $16 = $temp_len; $17 = (($16|0) % 2)&-1; $18 = ($17|0)==(0); if ($18) { $19 = $0; $20 = (($19) + 72|0); HEAP32[$20>>2] = 0; $21 = $temp_len; $22 = $21<<3; $23 = (_malloc($22)|0); $orig = $23; $24 = $temp_len; $25 = $24<<3; $26 = (_malloc($25)|0); $orig2 = $26; } else { $27 = $0; $28 = (($27) + 72|0); HEAP32[$28>>2] = 1; $29 = $temp_len; $30 = (($29) + 1)|0; $temp_len = $30; $31 = $temp_len; $32 = $31<<3; $33 = (_malloc($32)|0); $orig = $33; $34 = $temp_len; $35 = $34<<3; $36 = (_malloc($35)|0); $orig2 = $36; } $i = 0; while(1) { $37 = $i; $38 = $0; $39 = (($38) + 20|0); $40 = HEAP32[$39>>2]|0; $41 = ($37|0)<($40|0); if (!($41)) { break; } $42 = $i; $43 = $1; $44 = (($43) + ($42<<3)|0); $45 = +HEAPF64[$44>>3]; $46 = $i; $47 = $orig; $48 = (($47) + ($46<<3)|0); HEAPF64[$48>>3] = $45; $49 = $i; $50 = (($49) + 1)|0; $i = $50; } $51 = $0; $52 = (($51) + 72|0); $53 = HEAP32[$52>>2]|0; $54 = ($53|0)==(1); if ($54) { $55 = $temp_len; $56 = (($55) - 2)|0; $57 = $orig; $58 = (($57) + ($56<<3)|0); $59 = +HEAPF64[$58>>3]; $60 = $temp_len; $61 = (($60) - 1)|0; $62 = $orig; $63 = (($62) + ($61<<3)|0); HEAPF64[$63>>3] = $59; } $64 = $temp_len; $N = $64; $65 = $0; $66 = HEAP32[$65>>2]|0; $67 = (($66) + 56|0); $68 = HEAP32[$67>>2]|0; $lp = $68; $69 = $0; $70 = (($69) + 44|0); $71 = (_strcmp($70,17288)|0); $72 = ($71|0)!=(0); if (!($72)) { $73 = $J; $i = $73; while(1) { $74 = $i; $75 = ($74|0)>(0); if (!($75)) { break; } $76 = $N; $77 = (+($76|0)); $78 = $77 / 2.0; $79 = (+Math_ceil((+$78))); $80 = (~~(($79))); $N = $80; $81 = $N; $82 = $i; $83 = $0; $84 = (($83) + 76|0); $85 = (($84) + ($82<<2)|0); HEAP32[$85>>2] = $81; $86 = $i; $87 = $0; $88 = (($87) + 76|0); $89 = (($88) + ($86<<2)|0); $90 = HEAP32[$89>>2]|0; $91 = $0; $92 = (($91) + 24|0); $93 = HEAP32[$92>>2]|0; $94 = (($93) + ($90))|0; HEAP32[$92>>2] = $94; $95 = $i; $96 = (($95) + -1)|0; $i = $96; } $97 = $0; $98 = (($97) + 76|0); $99 = (($98) + 4|0); $100 = HEAP32[$99>>2]|0; $101 = $0; $102 = (($101) + 76|0); HEAP32[$102>>2] = $100; $103 = $0; $104 = (($103) + 76|0); $105 = HEAP32[$104>>2]|0; $106 = $0; $107 = (($106) + 24|0); $108 = HEAP32[$107>>2]|0; $109 = (($108) + ($105))|0; HEAP32[$107>>2] = $109; $110 = $0; $111 = (($110) + 24|0); $112 = HEAP32[$111>>2]|0; $N = $112; $iter = 0; while(1) { $113 = $iter; $114 = $J; $115 = ($113|0)<($114|0); if (!($115)) { break; } $116 = $J; $117 = $iter; $118 = (($116) - ($117))|0; $119 = $0; $120 = (($119) + 76|0); $121 = (($120) + ($118<<2)|0); $122 = HEAP32[$121>>2]|0; $len_cA = $122; $123 = $len_cA; $124 = $N; $125 = (($124) - ($123))|0; $N = $125; $126 = $0; $127 = (($126) + 54|0); $128 = (_strcmp($127,17424)|0); $129 = ($128|0)!=(0); if ($129) { $130 = $0; $131 = (($130) + 54|0); $132 = (_strcmp($131,17432)|0); $133 = ($132|0)!=(0); if ($133) { $144 = $0; $145 = $orig; $146 = $temp_len; $147 = $orig2; $148 = $len_cA; $149 = $0; $150 = (($149) + 488|0); $151 = $N; $152 = (($150) + ($151<<3)|0); $153 = $len_cA; _dwt_per($144,$145,$146,$147,$148,$152,$153); } else { label = 18; } } else { label = 18; } if ((label|0) == 18) { label = 0; $134 = $0; $135 = $orig; $136 = $temp_len; $137 = $orig2; $138 = $len_cA; $139 = $0; $140 = (($139) + 488|0); $141 = $N; $142 = (($140) + ($141<<3)|0); $143 = $len_cA; _dwt1($134,$135,$136,$137,$138,$142,$143); } $154 = $J; $155 = $iter; $156 = (($154) - ($155))|0; $157 = $0; $158 = (($157) + 76|0); $159 = (($158) + ($156<<2)|0); $160 = HEAP32[$159>>2]|0; $temp_len = $160; $161 = $iter; $162 = $J; $163 = (($162) - 1)|0; $164 = ($161|0)==($163|0); if ($164) { $i = 0; while(1) { $165 = $i; $166 = $len_cA; $167 = ($165|0)<($166|0); if (!($167)) { break; } $168 = $i; $169 = $orig2; $170 = (($169) + ($168<<3)|0); $171 = +HEAPF64[$170>>3]; $172 = $i; $173 = $0; $174 = (($173) + 488|0); $175 = (($174) + ($172<<3)|0); HEAPF64[$175>>3] = $171; $176 = $i; $177 = (($176) + 1)|0; $i = $177; } } else { $i = 0; while(1) { $178 = $i; $179 = $len_cA; $180 = ($178|0)<($179|0); if (!($180)) { break; } $181 = $i; $182 = $orig2; $183 = (($182) + ($181<<3)|0); $184 = +HEAPF64[$183>>3]; $185 = $i; $186 = $orig; $187 = (($186) + ($185<<3)|0); HEAPF64[$187>>3] = $184; $188 = $i; $189 = (($188) + 1)|0; $i = $189; } } $190 = $iter; $191 = (($190) + 1)|0; $iter = $191; } $319 = $orig; _free($319); $320 = $orig2; _free($320); STACKTOP = sp;return; } $192 = $0; $193 = (($192) + 44|0); $194 = (_strcmp($193,17184)|0); $195 = ($194|0)!=(0); if ($195) { (_printf((17440|0),($vararg_buffer|0))|0); _exit(-1); // unreachable; } $196 = $J; $i = $196; while(1) { $197 = $i; $198 = ($197|0)>(0); if (!($198)) { break; } $199 = $N; $200 = $lp; $201 = (($199) + ($200))|0; $202 = (($201) - 2)|0; $N = $202; $203 = $N; $204 = (+($203|0)); $205 = $204 / 2.0; $206 = (+Math_ceil((+$205))); $207 = (~~(($206))); $N = $207; $208 = $N; $209 = $i; $210 = $0; $211 = (($210) + 76|0); $212 = (($211) + ($209<<2)|0); HEAP32[$212>>2] = $208; $213 = $i; $214 = $0; $215 = (($214) + 76|0); $216 = (($215) + ($213<<2)|0); $217 = HEAP32[$216>>2]|0; $218 = $0; $219 = (($218) + 24|0); $220 = HEAP32[$219>>2]|0; $221 = (($220) + ($217))|0; HEAP32[$219>>2] = $221; $222 = $i; $223 = (($222) + -1)|0; $i = $223; } $224 = $0; $225 = (($224) + 76|0); $226 = (($225) + 4|0); $227 = HEAP32[$226>>2]|0; $228 = $0; $229 = (($228) + 76|0); HEAP32[$229>>2] = $227; $230 = $0; $231 = (($230) + 76|0); $232 = HEAP32[$231>>2]|0; $233 = $0; $234 = (($233) + 24|0); $235 = HEAP32[$234>>2]|0; $236 = (($235) + ($232))|0; HEAP32[$234>>2] = $236; $237 = $0; $238 = (($237) + 24|0); $239 = HEAP32[$238>>2]|0; $N = $239; $iter = 0; while(1) { $240 = $iter; $241 = $J; $242 = ($240|0)<($241|0); if (!($242)) { break; } $243 = $J; $244 = $iter; $245 = (($243) - ($244))|0; $246 = $0; $247 = (($246) + 76|0); $248 = (($247) + ($245<<2)|0); $249 = HEAP32[$248>>2]|0; $len_cA = $249; $250 = $len_cA; $251 = $N; $252 = (($251) - ($250))|0; $N = $252; $253 = $0; $254 = (($253) + 54|0); $255 = (_strcmp($254,17424)|0); $256 = ($255|0)!=(0); if ($256) { $257 = $0; $258 = (($257) + 54|0); $259 = (_strcmp($258,17432)|0); $260 = ($259|0)!=(0); if ($260) { $271 = $0; $272 = $orig; $273 = $temp_len; $274 = $orig2; $275 = $len_cA; $276 = $0; $277 = (($276) + 488|0); $278 = $N; $279 = (($277) + ($278<<3)|0); $280 = $len_cA; _dwt_sym($271,$272,$273,$274,$275,$279,$280); } else { label = 42; } } else { label = 42; } if ((label|0) == 42) { label = 0; $261 = $0; $262 = $orig; $263 = $temp_len; $264 = $orig2; $265 = $len_cA; $266 = $0; $267 = (($266) + 488|0); $268 = $N; $269 = (($267) + ($268<<3)|0); $270 = $len_cA; _dwt1($261,$262,$263,$264,$265,$269,$270); } $281 = $J; $282 = $iter; $283 = (($281) - ($282))|0; $284 = $0; $285 = (($284) + 76|0); $286 = (($285) + ($283<<2)|0); $287 = HEAP32[$286>>2]|0; $temp_len = $287; $288 = $iter; $289 = $J; $290 = (($289) - 1)|0; $291 = ($288|0)==($290|0); if ($291) { $i = 0; while(1) { $292 = $i; $293 = $len_cA; $294 = ($292|0)<($293|0); if (!($294)) { break; } $295 = $i; $296 = $orig2; $297 = (($296) + ($295<<3)|0); $298 = +HEAPF64[$297>>3]; $299 = $i; $300 = $0; $301 = (($300) + 488|0); $302 = (($301) + ($299<<3)|0); HEAPF64[$302>>3] = $298; $303 = $i; $304 = (($303) + 1)|0; $i = $304; } } else { $i = 0; while(1) { $305 = $i; $306 = $len_cA; $307 = ($305|0)<($306|0); if (!($307)) { break; } $308 = $i; $309 = $orig2; $310 = (($309) + ($308<<3)|0); $311 = +HEAPF64[$310>>3]; $312 = $i; $313 = $orig; $314 = (($313) + ($312<<3)|0); HEAPF64[$314>>3] = $311; $315 = $i; $316 = (($315) + 1)|0; $i = $316; } } $317 = $iter; $318 = (($317) + 1)|0; $iter = $318; } $319 = $orig; _free($319); $320 = $orig2; _free($320); STACKTOP = sp;return; } function _dwt1($wt,$sig,$len_sig,$cA,$len_cA,$cD,$len_cD) { $wt = $wt|0; $sig = $sig|0; $len_sig = $len_sig|0; $cA = $cA|0; $len_cA = $len_cA|0; $cD = $cD|0; $len_cD = $len_cD|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; var $260 = 0, $261 = 0, $262 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; var $97 = 0, $98 = 0, $99 = 0, $D = 0, $cA_undec = 0, $len_avg = 0, $lf = 0, $signal = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp; $vararg_buffer = sp + 8|0; $0 = $wt; $1 = $sig; $2 = $len_sig; $3 = $cA; $4 = $len_cA; $5 = $cD; $6 = $len_cD; $7 = $0; $8 = HEAP32[$7>>2]|0; $9 = (($8) + 56|0); $10 = HEAP32[$9>>2]|0; $11 = $0; $12 = HEAP32[$11>>2]|0; $13 = (($12) + 60|0); $14 = HEAP32[$13>>2]|0; $15 = (($10) + ($14))|0; $16 = (($15|0) / 2)&-1; $len_avg = $16; $D = 2; $17 = $0; $18 = (($17) + 44|0); $19 = (_strcmp($18,17288)|0); $20 = ($19|0)!=(0); if ($20) { $124 = $0; $125 = (($124) + 44|0); $126 = (_strcmp($125,17184)|0); $127 = ($126|0)!=(0); if ($127) { (_printf((17440|0),($vararg_buffer3|0))|0); _exit(-1); // unreachable; } $128 = $0; $129 = HEAP32[$128>>2]|0; $130 = (($129) + 56|0); $131 = HEAP32[$130>>2]|0; $lf = $131; $132 = $2; $133 = $lf; $134 = (($133) - 1)|0; $135 = $134<<1; $136 = (($132) + ($135))|0; $137 = $136<<3; $138 = (_malloc($137)|0); $signal = $138; $139 = $1; $140 = $2; $141 = $lf; $142 = (($141) - 1)|0; $143 = $signal; $144 = (_symm_ext($139,$140,$142,$143)|0); $2 = $144; $145 = $2; $146 = $lf; $147 = (($146) - 1)|0; $148 = ($147*3)|0; $149 = (($145) + ($148))|0; $150 = $149<<3; $151 = (_malloc($150)|0); $cA_undec = $151; $152 = $0; $153 = HEAP32[$152>>2]|0; $154 = (($153) + 56|0); $155 = HEAP32[$154>>2]|0; $156 = $0; $157 = HEAP32[$156>>2]|0; $158 = (($157) + 60|0); $159 = HEAP32[$158>>2]|0; $160 = ($155|0)==($159|0); do { if ($160) { $161 = $0; $162 = (($161) + 54|0); $163 = (_strcmp($162,17424)|0); $164 = ($163|0)!=(0); if ($164) { $165 = $0; $166 = (($165) + 54|0); $167 = (_strcmp($166,17432)|0); $168 = ($167|0)!=(0); if ($168) { label = 15; break; } } $169 = $2; $170 = $lf; $171 = (($170) - 1)|0; $172 = $171<<1; $173 = (($169) + ($172))|0; $174 = $lf; $175 = (_conv_init($173,$174)|0); $176 = $0; $177 = (($176) + 4|0); HEAP32[$177>>2] = $175; $178 = $0; $179 = (($178) + 68|0); HEAP32[$179>>2] = 1; } else { label = 15; } } while(0); do { if ((label|0) == 15) { $180 = $0; $181 = HEAP32[$180>>2]|0; $182 = (($181) + 56|0); $183 = HEAP32[$182>>2]|0; $184 = $0; $185 = HEAP32[$184>>2]|0; $186 = (($185) + 60|0); $187 = HEAP32[$186>>2]|0; $188 = ($183|0)==($187|0); if ($188) { break; } else { (_printf((17488|0),($vararg_buffer1|0))|0); _exit(-1); // unreachable; } } } while(0); $189 = $0; $190 = $signal; $191 = $2; $192 = $lf; $193 = (($192) - 1)|0; $194 = $193<<1; $195 = (($191) + ($194))|0; $196 = $0; $197 = HEAP32[$196>>2]|0; $198 = (($197) + 72|0); $199 = HEAP32[$198>>2]|0; $200 = $0; $201 = HEAP32[$200>>2]|0; $202 = (($201) + 56|0); $203 = HEAP32[$202>>2]|0; $204 = $cA_undec; _wconv($189,$190,$195,$199,$203,$204); $205 = $cA_undec; $206 = $lf; $207 = (($205) + ($206<<3)|0); $208 = $2; $209 = $lf; $210 = (($208) + ($209))|0; $211 = (($210) - 2)|0; $212 = $D; $213 = $3; (_downsamp($207,$211,$212,$213)|0); $214 = $0; $215 = $signal; $216 = $2; $217 = $lf; $218 = (($217) - 1)|0; $219 = $218<<1; $220 = (($216) + ($219))|0; $221 = $0; $222 = HEAP32[$221>>2]|0; $223 = (($222) + 76|0); $224 = HEAP32[$223>>2]|0; $225 = $0; $226 = HEAP32[$225>>2]|0; $227 = (($226) + 60|0); $228 = HEAP32[$227>>2]|0; $229 = $cA_undec; _wconv($214,$215,$220,$224,$228,$229); $230 = $cA_undec; $231 = $lf; $232 = (($230) + ($231<<3)|0); $233 = $2; $234 = $lf; $235 = (($233) + ($234))|0; $236 = (($235) - 2)|0; $237 = $D; $238 = $5; (_downsamp($232,$236,$237,$238)|0); } else { $21 = $2; $22 = $len_avg; $23 = (($21) + ($22))|0; $24 = $2; $25 = (($24|0) % 2)&-1; $26 = (($23) + ($25))|0; $27 = $26<<3; $28 = (_malloc($27)|0); $signal = $28; $29 = $1; $30 = $2; $31 = $len_avg; $32 = (($31|0) / 2)&-1; $33 = $signal; $34 = (_per_ext($29,$30,$32,$33)|0); $2 = $34; $35 = $2; $36 = $len_avg; $37 = (($35) + ($36))|0; $38 = $0; $39 = HEAP32[$38>>2]|0; $40 = (($39) + 56|0); $41 = HEAP32[$40>>2]|0; $42 = (($37) + ($41))|0; $43 = (($42) - 1)|0; $44 = $43<<3; $45 = (_malloc($44)|0); $cA_undec = $45; $46 = $0; $47 = HEAP32[$46>>2]|0; $48 = (($47) + 56|0); $49 = HEAP32[$48>>2]|0; $50 = $0; $51 = HEAP32[$50>>2]|0; $52 = (($51) + 60|0); $53 = HEAP32[$52>>2]|0; $54 = ($49|0)==($53|0); do { if ($54) { $55 = $0; $56 = (($55) + 54|0); $57 = (_strcmp($56,17424)|0); $58 = ($57|0)!=(0); if ($58) { $59 = $0; $60 = (($59) + 54|0); $61 = (_strcmp($60,17432)|0); $62 = ($61|0)!=(0); if ($62) { label = 6; break; } } $63 = $2; $64 = $len_avg; $65 = (($63) + ($64))|0; $66 = $0; $67 = HEAP32[$66>>2]|0; $68 = (($67) + 56|0); $69 = HEAP32[$68>>2]|0; $70 = (_conv_init($65,$69)|0); $71 = $0; $72 = (($71) + 4|0); HEAP32[$72>>2] = $70; $73 = $0; $74 = (($73) + 68|0); HEAP32[$74>>2] = 1; } else { label = 6; } } while(0); do { if ((label|0) == 6) { $75 = $0; $76 = HEAP32[$75>>2]|0; $77 = (($76) + 56|0); $78 = HEAP32[$77>>2]|0; $79 = $0; $80 = HEAP32[$79>>2]|0; $81 = (($80) + 60|0); $82 = HEAP32[$81>>2]|0; $83 = ($78|0)==($82|0); if ($83) { break; } else { (_printf((17488|0),($vararg_buffer|0))|0); _exit(-1); // unreachable; } } } while(0); $84 = $0; $85 = $signal; $86 = $2; $87 = $len_avg; $88 = (($86) + ($87))|0; $89 = $0; $90 = HEAP32[$89>>2]|0; $91 = (($90) + 72|0); $92 = HEAP32[$91>>2]|0; $93 = $0; $94 = HEAP32[$93>>2]|0; $95 = (($94) + 56|0); $96 = HEAP32[$95>>2]|0; $97 = $cA_undec; _wconv($84,$85,$88,$92,$96,$97); $98 = $cA_undec; $99 = $len_avg; $100 = (($98) + ($99<<3)|0); $101 = $2; $102 = $D; $103 = $3; (_downsamp($100,$101,$102,$103)|0); $104 = $0; $105 = $signal; $106 = $2; $107 = $len_avg; $108 = (($106) + ($107))|0; $109 = $0; $110 = HEAP32[$109>>2]|0; $111 = (($110) + 76|0); $112 = HEAP32[$111>>2]|0; $113 = $0; $114 = HEAP32[$113>>2]|0; $115 = (($114) + 60|0); $116 = HEAP32[$115>>2]|0; $117 = $cA_undec; _wconv($104,$105,$108,$112,$116,$117); $118 = $cA_undec; $119 = $len_avg; $120 = (($118) + ($119<<3)|0); $121 = $2; $122 = $D; $123 = $5; (_downsamp($120,$121,$122,$123)|0); } $239 = $0; $240 = HEAP32[$239>>2]|0; $241 = (($240) + 56|0); $242 = HEAP32[$241>>2]|0; $243 = $0; $244 = HEAP32[$243>>2]|0; $245 = (($244) + 60|0); $246 = HEAP32[$245>>2]|0; $247 = ($242|0)==($246|0); if (!($247)) { $261 = $signal; _free($261); $262 = $cA_undec; _free($262); STACKTOP = sp;return; } $248 = $0; $249 = (($248) + 54|0); $250 = (_strcmp($249,17424)|0); $251 = ($250|0)!=(0); if ($251) { $252 = $0; $253 = (($252) + 54|0); $254 = (_strcmp($253,17432)|0); $255 = ($254|0)!=(0); if ($255) { $261 = $signal; _free($261); $262 = $cA_undec; _free($262); STACKTOP = sp;return; } } $256 = $0; $257 = (($256) + 4|0); $258 = HEAP32[$257>>2]|0; _free_conv($258); $259 = $0; $260 = (($259) + 68|0); HEAP32[$260>>2] = 0; $261 = $signal; _free($261); $262 = $cA_undec; _free($262); STACKTOP = sp;return; } function _dwt_per($wt,$inp,$N,$cA,$len_cA,$cD,$len_cD) { $wt = $wt|0; $inp = $inp|0; $N = $N|0; $cA = $cA|0; $len_cA = $len_cA|0; $cD = $cD|0; $len_cD = $len_cD|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0.0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0, $122 = 0, $123 = 0, $124 = 0.0, $125 = 0.0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0.0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0.0, $145 = 0.0, $146 = 0, $147 = 0, $148 = 0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0.0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0.0, $166 = 0.0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; var $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0.0, $186 = 0, $187 = 0, $188 = 0; var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0.0, $194 = 0.0, $195 = 0, $196 = 0, $197 = 0, $198 = 0.0, $199 = 0.0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; var $206 = 0.0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0.0, $215 = 0.0, $216 = 0, $217 = 0, $218 = 0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0; var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0.0, $24 = 0, $240 = 0, $241 = 0; var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0.0, $249 = 0.0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0.0, $254 = 0.0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; var $260 = 0, $261 = 0.0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0.0, $271 = 0.0, $272 = 0, $273 = 0, $274 = 0, $275 = 0.0, $276 = 0.0, $277 = 0, $278 = 0; var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0.0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0.0, $289 = 0.0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0.0, $294 = 0.0, $295 = 0, $296 = 0; var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0.0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0.0, $307 = 0.0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0.0, $312 = 0.0, $313 = 0; var $314 = 0, $315 = 0, $316 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0; var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; var $66 = 0.0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0.0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $isodd = 0, $l = 0; var $l2 = 0, $len_avg = 0, $t = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $wt; $1 = $inp; $2 = $N; $3 = $cA; $4 = $len_cA; $5 = $cD; $6 = $len_cD; $7 = $0; $8 = HEAP32[$7>>2]|0; $9 = (($8) + 56|0); $10 = HEAP32[$9>>2]|0; $len_avg = $10; $11 = $len_avg; $12 = (($11|0) / 2)&-1; $l2 = $12; $13 = $2; $14 = (($13|0) % 2)&-1; $isodd = $14; $i = 0; while(1) { $15 = $i; $16 = $4; $17 = ($15|0)<($16|0); if (!($17)) { break; } $18 = $i; $19 = $18<<1; $20 = $l2; $21 = (($19) + ($20))|0; $t = $21; $22 = $i; $23 = $3; $24 = (($23) + ($22<<3)|0); HEAPF64[$24>>3] = 0.0; $25 = $i; $26 = $5; $27 = (($26) + ($25<<3)|0); HEAPF64[$27>>3] = 0.0; $l = 0; while(1) { $28 = $l; $29 = $len_avg; $30 = ($28|0)<($29|0); if (!($30)) { break; } $31 = $t; $32 = $l; $33 = (($31) - ($32))|0; $34 = $l2; $35 = ($33|0)>=($34|0); if ($35) { $36 = $t; $37 = $l; $38 = (($36) - ($37))|0; $39 = $2; $40 = ($38|0)<($39|0); if ($40) { $41 = $l; $42 = $0; $43 = HEAP32[$42>>2]|0; $44 = (($43) + 72|0); $45 = HEAP32[$44>>2]|0; $46 = (($45) + ($41<<3)|0); $47 = +HEAPF64[$46>>3]; $48 = $t; $49 = $l; $50 = (($48) - ($49))|0; $51 = $1; $52 = (($51) + ($50<<3)|0); $53 = +HEAPF64[$52>>3]; $54 = $47 * $53; $55 = $i; $56 = $3; $57 = (($56) + ($55<<3)|0); $58 = +HEAPF64[$57>>3]; $59 = $58 + $54; HEAPF64[$57>>3] = $59; $60 = $l; $61 = $0; $62 = HEAP32[$61>>2]|0; $63 = (($62) + 76|0); $64 = HEAP32[$63>>2]|0; $65 = (($64) + ($60<<3)|0); $66 = +HEAPF64[$65>>3]; $67 = $t; $68 = $l; $69 = (($67) - ($68))|0; $70 = $1; $71 = (($70) + ($69<<3)|0); $72 = +HEAPF64[$71>>3]; $73 = $66 * $72; $74 = $i; $75 = $5; $76 = (($75) + ($74<<3)|0); $77 = +HEAPF64[$76>>3]; $78 = $77 + $73; HEAPF64[$76>>3] = $78; } else { label = 8; } } else { label = 8; } if ((label|0) == 8) { label = 0; $79 = $t; $80 = $l; $81 = (($79) - ($80))|0; $82 = $l2; $83 = ($81|0)<($82|0); if ($83) { $84 = $t; $85 = $l; $86 = (($84) - ($85))|0; $87 = ($86|0)>=(0); if ($87) { $88 = $l; $89 = $0; $90 = HEAP32[$89>>2]|0; $91 = (($90) + 72|0); $92 = HEAP32[$91>>2]|0; $93 = (($92) + ($88<<3)|0); $94 = +HEAPF64[$93>>3]; $95 = $t; $96 = $l; $97 = (($95) - ($96))|0; $98 = $1; $99 = (($98) + ($97<<3)|0); $100 = +HEAPF64[$99>>3]; $101 = $94 * $100; $102 = $i; $103 = $3; $104 = (($103) + ($102<<3)|0); $105 = +HEAPF64[$104>>3]; $106 = $105 + $101; HEAPF64[$104>>3] = $106; $107 = $l; $108 = $0; $109 = HEAP32[$108>>2]|0; $110 = (($109) + 76|0); $111 = HEAP32[$110>>2]|0; $112 = (($111) + ($107<<3)|0); $113 = +HEAPF64[$112>>3]; $114 = $t; $115 = $l; $116 = (($114) - ($115))|0; $117 = $1; $118 = (($117) + ($116<<3)|0); $119 = +HEAPF64[$118>>3]; $120 = $113 * $119; $121 = $i; $122 = $5; $123 = (($122) + ($121<<3)|0); $124 = +HEAPF64[$123>>3]; $125 = $124 + $120; HEAPF64[$123>>3] = $125; } else { label = 11; } } else { label = 11; } if ((label|0) == 11) { label = 0; $126 = $t; $127 = $l; $128 = (($126) - ($127))|0; $129 = ($128|0)<(0); if ($129) { $130 = $l; $131 = $0; $132 = HEAP32[$131>>2]|0; $133 = (($132) + 72|0); $134 = HEAP32[$133>>2]|0; $135 = (($134) + ($130<<3)|0); $136 = +HEAPF64[$135>>3]; $137 = $t; $138 = $l; $139 = (($137) - ($138))|0; $140 = $2; $141 = (($139) + ($140))|0; $142 = $1; $143 = (($142) + ($141<<3)|0); $144 = +HEAPF64[$143>>3]; $145 = $136 * $144; $146 = $i; $147 = $3; $148 = (($147) + ($146<<3)|0); $149 = +HEAPF64[$148>>3]; $150 = $149 + $145; HEAPF64[$148>>3] = $150; $151 = $l; $152 = $0; $153 = HEAP32[$152>>2]|0; $154 = (($153) + 76|0); $155 = HEAP32[$154>>2]|0; $156 = (($155) + ($151<<3)|0); $157 = +HEAPF64[$156>>3]; $158 = $t; $159 = $l; $160 = (($158) - ($159))|0; $161 = $2; $162 = (($160) + ($161))|0; $163 = $1; $164 = (($163) + ($162<<3)|0); $165 = +HEAPF64[$164>>3]; $166 = $157 * $165; $167 = $i; $168 = $5; $169 = (($168) + ($167<<3)|0); $170 = +HEAPF64[$169>>3]; $171 = $170 + $166; HEAPF64[$169>>3] = $171; } else { $172 = $t; $173 = $l; $174 = (($172) - ($173))|0; $175 = $2; $176 = ($174|0)>=($175|0); if ($176) { $177 = $isodd; $178 = ($177|0)==(0); if ($178) { $179 = $l; $180 = $0; $181 = HEAP32[$180>>2]|0; $182 = (($181) + 72|0); $183 = HEAP32[$182>>2]|0; $184 = (($183) + ($179<<3)|0); $185 = +HEAPF64[$184>>3]; $186 = $t; $187 = $l; $188 = (($186) - ($187))|0; $189 = $2; $190 = (($188) - ($189))|0; $191 = $1; $192 = (($191) + ($190<<3)|0); $193 = +HEAPF64[$192>>3]; $194 = $185 * $193; $195 = $i; $196 = $3; $197 = (($196) + ($195<<3)|0); $198 = +HEAPF64[$197>>3]; $199 = $198 + $194; HEAPF64[$197>>3] = $199; $200 = $l; $201 = $0; $202 = HEAP32[$201>>2]|0; $203 = (($202) + 76|0); $204 = HEAP32[$203>>2]|0; $205 = (($204) + ($200<<3)|0); $206 = +HEAPF64[$205>>3]; $207 = $t; $208 = $l; $209 = (($207) - ($208))|0; $210 = $2; $211 = (($209) - ($210))|0; $212 = $1; $213 = (($212) + ($211<<3)|0); $214 = +HEAPF64[$213>>3]; $215 = $206 * $214; $216 = $i; $217 = $5; $218 = (($217) + ($216<<3)|0); $219 = +HEAPF64[$218>>3]; $220 = $219 + $215; HEAPF64[$218>>3] = $220; } else { label = 16; } } else { label = 16; } if ((label|0) == 16) { label = 0; $221 = $t; $222 = $l; $223 = (($221) - ($222))|0; $224 = $2; $225 = ($223|0)>=($224|0); if ($225) { $226 = $isodd; $227 = ($226|0)==(1); if ($227) { $228 = $t; $229 = $l; $230 = (($228) - ($229))|0; $231 = $2; $232 = ($230|0)!=($231|0); if ($232) { $233 = $l; $234 = $0; $235 = HEAP32[$234>>2]|0; $236 = (($235) + 72|0); $237 = HEAP32[$236>>2]|0; $238 = (($237) + ($233<<3)|0); $239 = +HEAPF64[$238>>3]; $240 = $t; $241 = $l; $242 = (($240) - ($241))|0; $243 = $2; $244 = (($243) + 1)|0; $245 = (($242) - ($244))|0; $246 = $1; $247 = (($246) + ($245<<3)|0); $248 = +HEAPF64[$247>>3]; $249 = $239 * $248; $250 = $i; $251 = $3; $252 = (($251) + ($250<<3)|0); $253 = +HEAPF64[$252>>3]; $254 = $253 + $249; HEAPF64[$252>>3] = $254; $255 = $l; $256 = $0; $257 = HEAP32[$256>>2]|0; $258 = (($257) + 76|0); $259 = HEAP32[$258>>2]|0; $260 = (($259) + ($255<<3)|0); $261 = +HEAPF64[$260>>3]; $262 = $t; $263 = $l; $264 = (($262) - ($263))|0; $265 = $2; $266 = (($265) + 1)|0; $267 = (($264) - ($266))|0; $268 = $1; $269 = (($268) + ($267<<3)|0); $270 = +HEAPF64[$269>>3]; $271 = $261 * $270; $272 = $i; $273 = $5; $274 = (($273) + ($272<<3)|0); $275 = +HEAPF64[$274>>3]; $276 = $275 + $271; HEAPF64[$274>>3] = $276; } else { $277 = $l; $278 = $0; $279 = HEAP32[$278>>2]|0; $280 = (($279) + 72|0); $281 = HEAP32[$280>>2]|0; $282 = (($281) + ($277<<3)|0); $283 = +HEAPF64[$282>>3]; $284 = $2; $285 = (($284) - 1)|0; $286 = $1; $287 = (($286) + ($285<<3)|0); $288 = +HEAPF64[$287>>3]; $289 = $283 * $288; $290 = $i; $291 = $3; $292 = (($291) + ($290<<3)|0); $293 = +HEAPF64[$292>>3]; $294 = $293 + $289; HEAPF64[$292>>3] = $294; $295 = $l; $296 = $0; $297 = HEAP32[$296>>2]|0; $298 = (($297) + 76|0); $299 = HEAP32[$298>>2]|0; $300 = (($299) + ($295<<3)|0); $301 = +HEAPF64[$300>>3]; $302 = $2; $303 = (($302) - 1)|0; $304 = $1; $305 = (($304) + ($303<<3)|0); $306 = +HEAPF64[$305>>3]; $307 = $301 * $306; $308 = $i; $309 = $5; $310 = (($309) + ($308<<3)|0); $311 = +HEAPF64[$310>>3]; $312 = $311 + $307; HEAPF64[$310>>3] = $312; } } } } } } } $313 = $l; $314 = (($313) + 1)|0; $l = $314; } $315 = $i; $316 = (($315) + 1)|0; $i = $316; } STACKTOP = sp;return; } function _dwt_sym($wt,$inp,$N,$cA,$len_cA,$cD,$len_cD) { $wt = $wt|0; $inp = $inp|0; $N = $N|0; $cA = $cA|0; $len_cA = $len_cA|0; $cD = $cD|0; $len_cD = $len_cD|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0.0, $113 = 0.0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0, $143 = 0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0.0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0.0, $164 = 0.0, $165 = 0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0.0, $17 = 0; var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0; var $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0; var $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0, $i = 0, $l = 0, $len_avg = 0, $t = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $wt; $1 = $inp; $2 = $N; $3 = $cA; $4 = $len_cA; $5 = $cD; $6 = $len_cD; $7 = $0; $8 = HEAP32[$7>>2]|0; $9 = (($8) + 56|0); $10 = HEAP32[$9>>2]|0; $len_avg = $10; $i = 0; while(1) { $11 = $i; $12 = $4; $13 = ($11|0)<($12|0); if (!($13)) { break; } $14 = $i; $15 = $14<<1; $16 = (($15) + 1)|0; $t = $16; $17 = $i; $18 = $3; $19 = (($18) + ($17<<3)|0); HEAPF64[$19>>3] = 0.0; $20 = $i; $21 = $5; $22 = (($21) + ($20<<3)|0); HEAPF64[$22>>3] = 0.0; $l = 0; while(1) { $23 = $l; $24 = $len_avg; $25 = ($23|0)<($24|0); if (!($25)) { break; } $26 = $t; $27 = $l; $28 = (($26) - ($27))|0; $29 = ($28|0)>=(0); if ($29) { $30 = $t; $31 = $l; $32 = (($30) - ($31))|0; $33 = $2; $34 = ($32|0)<($33|0); if ($34) { $35 = $l; $36 = $0; $37 = HEAP32[$36>>2]|0; $38 = (($37) + 72|0); $39 = HEAP32[$38>>2]|0; $40 = (($39) + ($35<<3)|0); $41 = +HEAPF64[$40>>3]; $42 = $t; $43 = $l; $44 = (($42) - ($43))|0; $45 = $1; $46 = (($45) + ($44<<3)|0); $47 = +HEAPF64[$46>>3]; $48 = $41 * $47; $49 = $i; $50 = $3; $51 = (($50) + ($49<<3)|0); $52 = +HEAPF64[$51>>3]; $53 = $52 + $48; HEAPF64[$51>>3] = $53; $54 = $l; $55 = $0; $56 = HEAP32[$55>>2]|0; $57 = (($56) + 76|0); $58 = HEAP32[$57>>2]|0; $59 = (($58) + ($54<<3)|0); $60 = +HEAPF64[$59>>3]; $61 = $t; $62 = $l; $63 = (($61) - ($62))|0; $64 = $1; $65 = (($64) + ($63<<3)|0); $66 = +HEAPF64[$65>>3]; $67 = $60 * $66; $68 = $i; $69 = $5; $70 = (($69) + ($68<<3)|0); $71 = +HEAPF64[$70>>3]; $72 = $71 + $67; HEAPF64[$70>>3] = $72; } else { label = 8; } } else { label = 8; } if ((label|0) == 8) { label = 0; $73 = $t; $74 = $l; $75 = (($73) - ($74))|0; $76 = ($75|0)<(0); if ($76) { $77 = $l; $78 = $0; $79 = HEAP32[$78>>2]|0; $80 = (($79) + 72|0); $81 = HEAP32[$80>>2]|0; $82 = (($81) + ($77<<3)|0); $83 = +HEAPF64[$82>>3]; $84 = $t; $85 = (0 - ($84))|0; $86 = $l; $87 = (($85) + ($86))|0; $88 = (($87) - 1)|0; $89 = $1; $90 = (($89) + ($88<<3)|0); $91 = +HEAPF64[$90>>3]; $92 = $83 * $91; $93 = $i; $94 = $3; $95 = (($94) + ($93<<3)|0); $96 = +HEAPF64[$95>>3]; $97 = $96 + $92; HEAPF64[$95>>3] = $97; $98 = $l; $99 = $0; $100 = HEAP32[$99>>2]|0; $101 = (($100) + 76|0); $102 = HEAP32[$101>>2]|0; $103 = (($102) + ($98<<3)|0); $104 = +HEAPF64[$103>>3]; $105 = $t; $106 = (0 - ($105))|0; $107 = $l; $108 = (($106) + ($107))|0; $109 = (($108) - 1)|0; $110 = $1; $111 = (($110) + ($109<<3)|0); $112 = +HEAPF64[$111>>3]; $113 = $104 * $112; $114 = $i; $115 = $5; $116 = (($115) + ($114<<3)|0); $117 = +HEAPF64[$116>>3]; $118 = $117 + $113; HEAPF64[$116>>3] = $118; } else { $119 = $t; $120 = $l; $121 = (($119) - ($120))|0; $122 = $2; $123 = ($121|0)>=($122|0); if ($123) { $124 = $l; $125 = $0; $126 = HEAP32[$125>>2]|0; $127 = (($126) + 72|0); $128 = HEAP32[$127>>2]|0; $129 = (($128) + ($124<<3)|0); $130 = +HEAPF64[$129>>3]; $131 = $2; $132 = $131<<1; $133 = $t; $134 = (($132) - ($133))|0; $135 = $l; $136 = (($134) + ($135))|0; $137 = (($136) - 1)|0; $138 = $1; $139 = (($138) + ($137<<3)|0); $140 = +HEAPF64[$139>>3]; $141 = $130 * $140; $142 = $i; $143 = $3; $144 = (($143) + ($142<<3)|0); $145 = +HEAPF64[$144>>3]; $146 = $145 + $141; HEAPF64[$144>>3] = $146; $147 = $l; $148 = $0; $149 = HEAP32[$148>>2]|0; $150 = (($149) + 76|0); $151 = HEAP32[$150>>2]|0; $152 = (($151) + ($147<<3)|0); $153 = +HEAPF64[$152>>3]; $154 = $2; $155 = $154<<1; $156 = $t; $157 = (($155) - ($156))|0; $158 = $l; $159 = (($157) + ($158))|0; $160 = (($159) - 1)|0; $161 = $1; $162 = (($161) + ($160<<3)|0); $163 = +HEAPF64[$162>>3]; $164 = $153 * $163; $165 = $i; $166 = $5; $167 = (($166) + ($165<<3)|0); $168 = +HEAPF64[$167>>3]; $169 = $168 + $164; HEAPF64[$167>>3] = $169; } } } $170 = $l; $171 = (($170) + 1)|0; $l = $171; } $172 = $i; $173 = (($172) + 1)|0; $i = $173; } STACKTOP = sp;return; } function _idwt($wt,$dwtop) { $wt = $wt|0; $dwtop = $dwtop|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0.0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0.0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0.0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0.0; var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0.0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; var $459 = 0.0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0.0, $464 = 0.0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0.0; var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0; var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $J = 0, $N = 0; var $N2 = 0, $U = 0, $X_hp = 0, $X_lp = 0, $app_len = 0, $cA_up = 0, $det_len = 0, $i = 0, $iter = 0, $k = 0, $lf = 0, $out = 0, $temp = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = $wt; $1 = $dwtop; $2 = $0; $3 = (($2) + 32|0); $4 = HEAP32[$3>>2]|0; $J = $4; $U = 2; $5 = $0; $6 = (($5) + 76|0); $7 = HEAP32[$6>>2]|0; $app_len = $7; $8 = $0; $9 = (($8) + 20|0); $10 = HEAP32[$9>>2]|0; $11 = (($10) + 1)|0; $12 = $11<<3; $13 = (_malloc($12)|0); $out = $13; $14 = $0; $15 = (($14) + 44|0); $16 = (_strcmp($15,17288)|0); $17 = ($16|0)!=(0); do { if ($17) { label = 13; } else { $18 = $0; $19 = (($18) + 54|0); $20 = (_strcmp($19,17424)|0); $21 = ($20|0)!=(0); if ($21) { $22 = $0; $23 = (($22) + 54|0); $24 = (_strcmp($23,17432)|0); $25 = ($24|0)!=(0); if ($25) { label = 13; break; } } $26 = $0; $27 = (($26) + 76|0); $28 = HEAP32[$27>>2]|0; $app_len = $28; $29 = $0; $30 = (($29) + 76|0); $31 = (($30) + 4|0); $32 = HEAP32[$31>>2]|0; $det_len = $32; $33 = $J; $34 = $0; $35 = (($34) + 76|0); $36 = (($35) + ($33<<2)|0); $37 = HEAP32[$36>>2]|0; $38 = $37<<1; $N = $38; $39 = $0; $40 = HEAP32[$39>>2]|0; $41 = (($40) + 64|0); $42 = HEAP32[$41>>2]|0; $43 = $0; $44 = HEAP32[$43>>2]|0; $45 = (($44) + 68|0); $46 = HEAP32[$45>>2]|0; $47 = (($42) + ($46))|0; $48 = (($47|0) / 2)&-1; $lf = $48; $49 = $N; $50 = $49<<3; $51 = (_malloc($50)|0); $cA_up = $51; $52 = $N; $53 = $lf; $54 = (($52) + ($53))|0; $55 = $54<<3; $56 = (_malloc($55)|0); $temp = $56; $57 = $N; $58 = $lf; $59 = $58<<1; $60 = (($57) + ($59))|0; $61 = (($60) - 1)|0; $62 = $61<<3; $63 = (_malloc($62)|0); $X_lp = $63; $64 = $N; $65 = $lf; $66 = $65<<1; $67 = (($64) + ($66))|0; $68 = (($67) - 1)|0; $69 = $68<<3; $70 = (_malloc($69)|0); $X_hp = $70; $71 = $app_len; $iter = $71; $i = 0; while(1) { $72 = $i; $73 = $app_len; $74 = ($72|0)<($73|0); if (!($74)) { break; } $75 = $i; $76 = $0; $77 = (($76) + 484|0); $78 = HEAP32[$77>>2]|0; $79 = (($78) + ($75<<3)|0); $80 = +HEAPF64[$79>>3]; $81 = $i; $82 = $out; $83 = (($82) + ($81<<3)|0); HEAPF64[$83>>3] = $80; $84 = $i; $85 = (($84) + 1)|0; $i = $85; } $i = 0; while(1) { $86 = $i; $87 = $J; $88 = ($86|0)<($87|0); if (!($88)) { break; } $89 = $0; $90 = $temp; $91 = $cA_up; $92 = $out; $93 = $det_len; $94 = $0; $95 = (($94) + 484|0); $96 = HEAP32[$95>>2]|0; $97 = $iter; $98 = (($96) + ($97<<3)|0); $99 = $det_len; $100 = $X_lp; $101 = $X_hp; $102 = $out; _idwt1($89,$90,$91,$92,$93,$98,$99,$100,$101,$102); $103 = $det_len; $104 = $iter; $105 = (($104) + ($103))|0; $iter = $105; $106 = $i; $107 = (($106) + 2)|0; $108 = $0; $109 = (($108) + 76|0); $110 = (($109) + ($107<<2)|0); $111 = HEAP32[$110>>2]|0; $det_len = $111; $112 = $i; $113 = (($112) + 1)|0; $i = $113; } $114 = $cA_up; _free($114); $115 = $X_lp; _free($115); $116 = $X_hp; _free($116); $117 = $temp; _free($117); } } while(0); if ((label|0) == 13) { $118 = $0; $119 = (($118) + 44|0); $120 = (_strcmp($119,17288)|0); $121 = ($120|0)!=(0); if ($121) { label = 28; } else { $122 = $0; $123 = (($122) + 54|0); $124 = (_strcmp($123,17416)|0); $125 = ($124|0)!=(0); if ($125) { label = 28; } else { $126 = $0; $127 = (($126) + 76|0); $128 = HEAP32[$127>>2]|0; $app_len = $128; $129 = $0; $130 = (($129) + 76|0); $131 = (($130) + 4|0); $132 = HEAP32[$131>>2]|0; $det_len = $132; $133 = $J; $134 = $0; $135 = (($134) + 76|0); $136 = (($135) + ($133<<2)|0); $137 = HEAP32[$136>>2]|0; $138 = $137<<1; $N = $138; $139 = $0; $140 = HEAP32[$139>>2]|0; $141 = (($140) + 64|0); $142 = HEAP32[$141>>2]|0; $143 = $0; $144 = HEAP32[$143>>2]|0; $145 = (($144) + 68|0); $146 = HEAP32[$145>>2]|0; $147 = (($142) + ($146))|0; $148 = (($147|0) / 2)&-1; $lf = $148; $149 = $N; $150 = $lf; $151 = $150<<1; $152 = (($149) + ($151))|0; $153 = (($152) - 1)|0; $154 = $153<<3; $155 = (_malloc($154)|0); $X_lp = $155; $156 = $app_len; $iter = $156; $i = 0; while(1) { $157 = $i; $158 = $app_len; $159 = ($157|0)<($158|0); if (!($159)) { break; } $160 = $i; $161 = $0; $162 = (($161) + 484|0); $163 = HEAP32[$162>>2]|0; $164 = (($163) + ($160<<3)|0); $165 = +HEAPF64[$164>>3]; $166 = $i; $167 = $out; $168 = (($167) + ($166<<3)|0); HEAPF64[$168>>3] = $165; $169 = $i; $170 = (($169) + 1)|0; $i = $170; } $i = 0; while(1) { $171 = $i; $172 = $J; $173 = ($171|0)<($172|0); if (!($173)) { break; } $174 = $0; $175 = $out; $176 = $det_len; $177 = $0; $178 = (($177) + 484|0); $179 = HEAP32[$178>>2]|0; $180 = $iter; $181 = (($179) + ($180<<3)|0); $182 = $det_len; $183 = $X_lp; _idwt_per($174,$175,$176,$181,$182,$183); $184 = $lf; $185 = (($184|0) / 2)&-1; $186 = (($185) - 1)|0; $k = $186; while(1) { $187 = $k; $188 = $det_len; $189 = $188<<1; $190 = $lf; $191 = (($190|0) / 2)&-1; $192 = (($189) + ($191))|0; $193 = (($192) - 1)|0; $194 = ($187|0)<($193|0); if (!($194)) { break; } $195 = $k; $196 = $X_lp; $197 = (($196) + ($195<<3)|0); $198 = +HEAPF64[$197>>3]; $199 = $k; $200 = $lf; $201 = (($200|0) / 2)&-1; $202 = (($199) - ($201))|0; $203 = (($202) + 1)|0; $204 = $out; $205 = (($204) + ($203<<3)|0); HEAPF64[$205>>3] = $198; $206 = $k; $207 = (($206) + 1)|0; $k = $207; } $208 = $det_len; $209 = $iter; $210 = (($209) + ($208))|0; $iter = $210; $211 = $i; $212 = (($211) + 2)|0; $213 = $0; $214 = (($213) + 76|0); $215 = (($214) + ($212<<2)|0); $216 = HEAP32[$215>>2]|0; $det_len = $216; $217 = $i; $218 = (($217) + 1)|0; $i = $218; } $219 = $X_lp; _free($219); } } if ((label|0) == 28) { $220 = $0; $221 = (($220) + 44|0); $222 = (_strcmp($221,17184)|0); $223 = ($222|0)!=(0); if ($223) { label = 43; } else { $224 = $0; $225 = (($224) + 54|0); $226 = (_strcmp($225,17416)|0); $227 = ($226|0)!=(0); if ($227) { label = 43; } else { $228 = $0; $229 = (($228) + 76|0); $230 = HEAP32[$229>>2]|0; $app_len = $230; $231 = $0; $232 = (($231) + 76|0); $233 = (($232) + 4|0); $234 = HEAP32[$233>>2]|0; $det_len = $234; $235 = $J; $236 = $0; $237 = (($236) + 76|0); $238 = (($237) + ($235<<2)|0); $239 = HEAP32[$238>>2]|0; $240 = $239<<1; $241 = (($240) - 1)|0; $N = $241; $242 = $0; $243 = HEAP32[$242>>2]|0; $244 = (($243) + 64|0); $245 = HEAP32[$244>>2]|0; $246 = $0; $247 = HEAP32[$246>>2]|0; $248 = (($247) + 68|0); $249 = HEAP32[$248>>2]|0; $250 = (($245) + ($249))|0; $251 = (($250|0) / 2)&-1; $lf = $251; $252 = $N; $253 = $lf; $254 = $253<<1; $255 = (($252) + ($254))|0; $256 = (($255) - 1)|0; $257 = $256<<3; $258 = (_malloc($257)|0); $X_lp = $258; $259 = $app_len; $iter = $259; $i = 0; while(1) { $260 = $i; $261 = $app_len; $262 = ($260|0)<($261|0); if (!($262)) { break; } $263 = $i; $264 = $0; $265 = (($264) + 484|0); $266 = HEAP32[$265>>2]|0; $267 = (($266) + ($263<<3)|0); $268 = +HEAPF64[$267>>3]; $269 = $i; $270 = $out; $271 = (($270) + ($269<<3)|0); HEAPF64[$271>>3] = $268; $272 = $i; $273 = (($272) + 1)|0; $i = $273; } $i = 0; while(1) { $274 = $i; $275 = $J; $276 = ($274|0)<($275|0); if (!($276)) { break; } $277 = $0; $278 = $out; $279 = $det_len; $280 = $0; $281 = (($280) + 484|0); $282 = HEAP32[$281>>2]|0; $283 = $iter; $284 = (($282) + ($283<<3)|0); $285 = $det_len; $286 = $X_lp; _idwt_sym($277,$278,$279,$284,$285,$286); $287 = $lf; $288 = (($287) - 2)|0; $k = $288; while(1) { $289 = $k; $290 = $det_len; $291 = $290<<1; $292 = ($289|0)<($291|0); if (!($292)) { break; } $293 = $k; $294 = $X_lp; $295 = (($294) + ($293<<3)|0); $296 = +HEAPF64[$295>>3]; $297 = $k; $298 = $lf; $299 = (($297) - ($298))|0; $300 = (($299) + 2)|0; $301 = $out; $302 = (($301) + ($300<<3)|0); HEAPF64[$302>>3] = $296; $303 = $k; $304 = (($303) + 1)|0; $k = $304; } $305 = $det_len; $306 = $iter; $307 = (($306) + ($305))|0; $iter = $307; $308 = $i; $309 = (($308) + 2)|0; $310 = $0; $311 = (($310) + 76|0); $312 = (($311) + ($309<<2)|0); $313 = HEAP32[$312>>2]|0; $det_len = $313; $314 = $i; $315 = (($314) + 1)|0; $i = $315; } $316 = $X_lp; _free($316); } } if ((label|0) == 43) { $317 = $0; $318 = (($317) + 44|0); $319 = (_strcmp($318,17184)|0); $320 = ($319|0)!=(0); if ($320) { (_printf((17440|0),($vararg_buffer1|0))|0); _exit(-1); // unreachable; } $321 = $0; $322 = (($321) + 54|0); $323 = (_strcmp($322,17424)|0); $324 = ($323|0)!=(0); if ($324) { $325 = $0; $326 = (($325) + 54|0); $327 = (_strcmp($326,17432)|0); $328 = ($327|0)!=(0); if ($328) { (_printf((17440|0),($vararg_buffer1|0))|0); _exit(-1); // unreachable; } } $329 = $0; $330 = HEAP32[$329>>2]|0; $331 = (($330) + 56|0); $332 = HEAP32[$331>>2]|0; $lf = $332; $333 = $J; $334 = $0; $335 = (($334) + 76|0); $336 = (($335) + ($333<<2)|0); $337 = HEAP32[$336>>2]|0; $338 = $337<<1; $339 = (($338) - 1)|0; $N = $339; $340 = $N; $341 = $340<<3; $342 = (_malloc($341)|0); $cA_up = $342; $343 = $N; $344 = $lf; $345 = (($343) + ($344))|0; $346 = (($345) - 1)|0; $347 = $346<<3; $348 = (_malloc($347)|0); $X_lp = $348; $349 = $N; $350 = $lf; $351 = (($349) + ($350))|0; $352 = (($351) - 1)|0; $353 = $352<<3; $354 = (_malloc($353)|0); $X_hp = $354; $i = 0; while(1) { $355 = $i; $356 = $app_len; $357 = ($355|0)<($356|0); if (!($357)) { break; } $358 = $i; $359 = $0; $360 = (($359) + 484|0); $361 = HEAP32[$360>>2]|0; $362 = (($361) + ($358<<3)|0); $363 = +HEAPF64[$362>>3]; $364 = $i; $365 = $out; $366 = (($365) + ($364<<3)|0); HEAPF64[$366>>3] = $363; $367 = $i; $368 = (($367) + 1)|0; $i = $368; } $369 = $app_len; $iter = $369; $i = 0; while(1) { $370 = $i; $371 = $J; $372 = ($370|0)<($371|0); if (!($372)) { break; } $373 = $i; $374 = (($373) + 1)|0; $375 = $0; $376 = (($375) + 76|0); $377 = (($376) + ($374<<2)|0); $378 = HEAP32[$377>>2]|0; $det_len = $378; $379 = $out; $380 = $det_len; $381 = $U; $382 = $cA_up; (_upsamp($379,$380,$381,$382)|0); $383 = $i; $384 = (($383) + 1)|0; $385 = $0; $386 = (($385) + 76|0); $387 = (($386) + ($384<<2)|0); $388 = HEAP32[$387>>2]|0; $389 = $388<<1; $390 = (($389) - 1)|0; $N2 = $390; $391 = $0; $392 = HEAP32[$391>>2]|0; $393 = (($392) + 64|0); $394 = HEAP32[$393>>2]|0; $395 = $0; $396 = HEAP32[$395>>2]|0; $397 = (($396) + 68|0); $398 = HEAP32[$397>>2]|0; $399 = ($394|0)==($398|0); do { if ($399) { $400 = $0; $401 = (($400) + 54|0); $402 = (_strcmp($401,17424)|0); $403 = ($402|0)!=(0); if ($403) { $404 = $0; $405 = (($404) + 54|0); $406 = (_strcmp($405,17432)|0); $407 = ($406|0)!=(0); if ($407) { label = 56; break; } } $408 = $N2; $409 = $lf; $410 = (_conv_init($408,$409)|0); $411 = $0; $412 = (($411) + 4|0); HEAP32[$412>>2] = $410; $413 = $0; $414 = (($413) + 68|0); HEAP32[$414>>2] = 1; } else { label = 56; } } while(0); if ((label|0) == 56) { label = 0; $415 = $0; $416 = HEAP32[$415>>2]|0; $417 = (($416) + 64|0); $418 = HEAP32[$417>>2]|0; $419 = $0; $420 = HEAP32[$419>>2]|0; $421 = (($420) + 68|0); $422 = HEAP32[$421>>2]|0; $423 = ($418|0)==($422|0); if (!($423)) { label = 57; break; } } $424 = $0; $425 = $cA_up; $426 = $N2; $427 = $0; $428 = HEAP32[$427>>2]|0; $429 = (($428) + 80|0); $430 = HEAP32[$429>>2]|0; $431 = $lf; $432 = $X_lp; _wconv($424,$425,$426,$430,$431,$432); $433 = $0; $434 = (($433) + 484|0); $435 = HEAP32[$434>>2]|0; $436 = $iter; $437 = (($435) + ($436<<3)|0); $438 = $det_len; $439 = $U; $440 = $cA_up; (_upsamp($437,$438,$439,$440)|0); $441 = $0; $442 = $cA_up; $443 = $N2; $444 = $0; $445 = HEAP32[$444>>2]|0; $446 = (($445) + 84|0); $447 = HEAP32[$446>>2]|0; $448 = $lf; $449 = $X_hp; _wconv($441,$442,$443,$447,$448,$449); $450 = $lf; $451 = (($450) - 2)|0; $k = $451; while(1) { $452 = $k; $453 = $N2; $454 = (($453) + 1)|0; $455 = ($452|0)<($454|0); if (!($455)) { break; } $456 = $k; $457 = $X_lp; $458 = (($457) + ($456<<3)|0); $459 = +HEAPF64[$458>>3]; $460 = $k; $461 = $X_hp; $462 = (($461) + ($460<<3)|0); $463 = +HEAPF64[$462>>3]; $464 = $459 + $463; $465 = $k; $466 = $lf; $467 = (($465) - ($466))|0; $468 = (($467) + 2)|0; $469 = $out; $470 = (($469) + ($468<<3)|0); HEAPF64[$470>>3] = $464; $471 = $k; $472 = (($471) + 1)|0; $k = $472; } $473 = $det_len; $474 = $iter; $475 = (($474) + ($473))|0; $iter = $475; $476 = $0; $477 = HEAP32[$476>>2]|0; $478 = (($477) + 64|0); $479 = HEAP32[$478>>2]|0; $480 = $0; $481 = HEAP32[$480>>2]|0; $482 = (($481) + 68|0); $483 = HEAP32[$482>>2]|0; $484 = ($479|0)==($483|0); do { if ($484) { $485 = $0; $486 = (($485) + 54|0); $487 = (_strcmp($486,17424)|0); $488 = ($487|0)!=(0); if ($488) { $489 = $0; $490 = (($489) + 54|0); $491 = (_strcmp($490,17432)|0); $492 = ($491|0)!=(0); if ($492) { break; } } $493 = $0; $494 = (($493) + 4|0); $495 = HEAP32[$494>>2]|0; _free_conv($495); $496 = $0; $497 = (($496) + 68|0); HEAP32[$497>>2] = 0; } } while(0); $498 = $i; $499 = (($498) + 1)|0; $i = $499; } if ((label|0) == 57) { (_printf((17488|0),($vararg_buffer|0))|0); _exit(-1); // unreachable; } $500 = $cA_up; _free($500); $501 = $X_lp; _free($501); $502 = $X_hp; _free($502); } } } $i = 0; while(1) { $503 = $i; $504 = $0; $505 = (($504) + 20|0); $506 = HEAP32[$505>>2]|0; $507 = ($503|0)<($506|0); if (!($507)) { break; } $508 = $i; $509 = $out; $510 = (($509) + ($508<<3)|0); $511 = +HEAPF64[$510>>3]; $512 = $i; $513 = $1; $514 = (($513) + ($512<<3)|0); HEAPF64[$514>>3] = $511; $515 = $i; $516 = (($515) + 1)|0; $i = $516; } $517 = $out; _free($517); STACKTOP = sp;return; } function _idwt1($wt,$temp,$cA_up,$cA,$len_cA,$cD,$len_cD,$X_lp,$X_hp,$X) { $wt = $wt|0; $temp = $temp|0; $cA_up = $cA_up|0; $cA = $cA|0; $len_cA = $len_cA|0; $cD = $cD|0; $len_cD = $len_cD|0; $X_lp = $X_lp|0; $X_hp = $X_hp|0; $X = $X|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0.0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0.0, $117 = 0.0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $N = 0, $N2 = 0, $U = 0, $i = 0, $len_avg = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $vararg_buffer = sp; $0 = $wt; $1 = $temp; $2 = $cA_up; $3 = $cA; $4 = $len_cA; $5 = $cD; $6 = $len_cD; $7 = $X_lp; $8 = $X_hp; $9 = $X; $10 = $0; $11 = HEAP32[$10>>2]|0; $12 = (($11) + 64|0); $13 = HEAP32[$12>>2]|0; $14 = $0; $15 = HEAP32[$14>>2]|0; $16 = (($15) + 68|0); $17 = HEAP32[$16>>2]|0; $18 = (($13) + ($17))|0; $19 = (($18|0) / 2)&-1; $len_avg = $19; $20 = $6; $21 = $20<<1; $N = $21; $U = 2; $22 = $3; $23 = $4; $24 = $U; $25 = $2; (_upsamp2($22,$23,$24,$25)|0); $26 = $2; $27 = $4; $28 = $27<<1; $29 = $len_avg; $30 = (($29|0) / 2)&-1; $31 = $1; (_per_ext($26,$28,$30,$31)|0); $32 = $4; $33 = $32<<1; $34 = $len_avg; $35 = (($33) + ($34))|0; $N2 = $35; $36 = $0; $37 = HEAP32[$36>>2]|0; $38 = (($37) + 64|0); $39 = HEAP32[$38>>2]|0; $40 = $0; $41 = HEAP32[$40>>2]|0; $42 = (($41) + 68|0); $43 = HEAP32[$42>>2]|0; $44 = ($39|0)==($43|0); do { if ($44) { $45 = $0; $46 = (($45) + 54|0); $47 = (_strcmp($46,17424)|0); $48 = ($47|0)!=(0); if ($48) { $49 = $0; $50 = (($49) + 54|0); $51 = (_strcmp($50,17432)|0); $52 = ($51|0)!=(0); if ($52) { label = 5; break; } } $53 = $N2; $54 = $len_avg; $55 = (_conv_init($53,$54)|0); $56 = $0; $57 = (($56) + 4|0); HEAP32[$57>>2] = $55; $58 = $0; $59 = (($58) + 68|0); HEAP32[$59>>2] = 1; } else { label = 5; } } while(0); do { if ((label|0) == 5) { $60 = $0; $61 = HEAP32[$60>>2]|0; $62 = (($61) + 64|0); $63 = HEAP32[$62>>2]|0; $64 = $0; $65 = HEAP32[$64>>2]|0; $66 = (($65) + 68|0); $67 = HEAP32[$66>>2]|0; $68 = ($63|0)==($67|0); if ($68) { break; } else { (_printf((17488|0),($vararg_buffer|0))|0); _exit(-1); // unreachable; } } } while(0); $69 = $0; $70 = $1; $71 = $N2; $72 = $0; $73 = HEAP32[$72>>2]|0; $74 = (($73) + 80|0); $75 = HEAP32[$74>>2]|0; $76 = $len_avg; $77 = $7; _wconv($69,$70,$71,$75,$76,$77); $78 = $5; $79 = $6; $80 = $U; $81 = $2; (_upsamp2($78,$79,$80,$81)|0); $82 = $2; $83 = $6; $84 = $83<<1; $85 = $len_avg; $86 = (($85|0) / 2)&-1; $87 = $1; (_per_ext($82,$84,$86,$87)|0); $88 = $6; $89 = $88<<1; $90 = $len_avg; $91 = (($89) + ($90))|0; $N2 = $91; $92 = $0; $93 = $1; $94 = $N2; $95 = $0; $96 = HEAP32[$95>>2]|0; $97 = (($96) + 84|0); $98 = HEAP32[$97>>2]|0; $99 = $len_avg; $100 = $8; _wconv($92,$93,$94,$98,$99,$100); $101 = $len_avg; $102 = (($101) - 1)|0; $i = $102; while(1) { $103 = $i; $104 = $N; $105 = $len_avg; $106 = (($104) + ($105))|0; $107 = (($106) - 1)|0; $108 = ($103|0)<($107|0); if (!($108)) { break; } $109 = $i; $110 = $7; $111 = (($110) + ($109<<3)|0); $112 = +HEAPF64[$111>>3]; $113 = $i; $114 = $8; $115 = (($114) + ($113<<3)|0); $116 = +HEAPF64[$115>>3]; $117 = $112 + $116; $118 = $i; $119 = $len_avg; $120 = (($118) - ($119))|0; $121 = (($120) + 1)|0; $122 = $9; $123 = (($122) + ($121<<3)|0); HEAPF64[$123>>3] = $117; $124 = $i; $125 = (($124) + 1)|0; $i = $125; } $126 = $0; $127 = HEAP32[$126>>2]|0; $128 = (($127) + 64|0); $129 = HEAP32[$128>>2]|0; $130 = $0; $131 = HEAP32[$130>>2]|0; $132 = (($131) + 68|0); $133 = HEAP32[$132>>2]|0; $134 = ($129|0)==($133|0); if (!($134)) { STACKTOP = sp;return; } $135 = $0; $136 = (($135) + 54|0); $137 = (_strcmp($136,17424)|0); $138 = ($137|0)!=(0); if ($138) { $139 = $0; $140 = (($139) + 54|0); $141 = (_strcmp($140,17432)|0); $142 = ($141|0)!=(0); if ($142) { STACKTOP = sp;return; } } $143 = $0; $144 = (($143) + 4|0); $145 = HEAP32[$144>>2]|0; _free_conv($145); $146 = $0; $147 = (($146) + 68|0); HEAP32[$147>>2] = 0; STACKTOP = sp;return; } function _idwt_per($wt,$cA,$len_cA,$cD,$len_cD,$X) { $wt = $wt|0; $cA = $cA|0; $len_cA = $len_cA|0; $cD = $cD|0; $len_cD = $len_cD|0; $X = $X|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0.0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0.0, $148 = 0.0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0.0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0; var $170 = 0.0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0.0, $187 = 0.0, $188 = 0; var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0.0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0.0, $204 = 0.0, $205 = 0.0; var $206 = 0, $207 = 0, $208 = 0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; var $224 = 0, $225 = 0, $226 = 0, $227 = 0.0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0.0, $236 = 0.0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; var $242 = 0, $243 = 0.0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0.0, $252 = 0.0, $253 = 0.0, $254 = 0, $255 = 0, $256 = 0, $257 = 0.0, $258 = 0.0, $259 = 0, $26 = 0; var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0.0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0.0, $275 = 0.0, $276 = 0, $277 = 0, $278 = 0; var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0.0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0.0, $292 = 0.0, $293 = 0.0, $294 = 0, $295 = 0, $296 = 0; var $297 = 0.0, $298 = 0.0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; var $60 = 0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0.0; var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; var $97 = 0.0, $98 = 0.0, $99 = 0, $N = 0, $i = 0, $l = 0, $l2 = 0, $len_avg = 0, $m = 0, $n = 0, $t = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $wt; $1 = $cA; $2 = $len_cA; $3 = $cD; $4 = $len_cD; $5 = $X; $6 = $0; $7 = HEAP32[$6>>2]|0; $8 = (($7) + 64|0); $9 = HEAP32[$8>>2]|0; $10 = $0; $11 = HEAP32[$10>>2]|0; $12 = (($11) + 68|0); $13 = HEAP32[$12>>2]|0; $14 = (($9) + ($13))|0; $15 = (($14|0) / 2)&-1; $len_avg = $15; $16 = $2; $17 = $16<<1; $N = $17; $18 = $len_avg; $19 = (($18|0) / 2)&-1; $l2 = $19; $m = -2; $n = -1; $i = 0; while(1) { $20 = $i; $21 = $2; $22 = $l2; $23 = (($21) + ($22))|0; $24 = (($23) - 1)|0; $25 = ($20|0)<($24|0); if (!($25)) { break; } $26 = $m; $27 = (($26) + 2)|0; $m = $27; $28 = $n; $29 = (($28) + 2)|0; $n = $29; $30 = $m; $31 = $5; $32 = (($31) + ($30<<3)|0); HEAPF64[$32>>3] = 0.0; $33 = $n; $34 = $5; $35 = (($34) + ($33<<3)|0); HEAPF64[$35>>3] = 0.0; $l = 0; while(1) { $36 = $l; $37 = $l2; $38 = ($36|0)<($37|0); if (!($38)) { break; } $39 = $l; $40 = $39<<1; $t = $40; $41 = $i; $42 = $l; $43 = (($41) - ($42))|0; $44 = ($43|0)>=(0); if ($44) { $45 = $i; $46 = $l; $47 = (($45) - ($46))|0; $48 = $2; $49 = ($47|0)<($48|0); if ($49) { $50 = $t; $51 = $0; $52 = HEAP32[$51>>2]|0; $53 = (($52) + 80|0); $54 = HEAP32[$53>>2]|0; $55 = (($54) + ($50<<3)|0); $56 = +HEAPF64[$55>>3]; $57 = $i; $58 = $l; $59 = (($57) - ($58))|0; $60 = $1; $61 = (($60) + ($59<<3)|0); $62 = +HEAPF64[$61>>3]; $63 = $56 * $62; $64 = $t; $65 = $0; $66 = HEAP32[$65>>2]|0; $67 = (($66) + 84|0); $68 = HEAP32[$67>>2]|0; $69 = (($68) + ($64<<3)|0); $70 = +HEAPF64[$69>>3]; $71 = $i; $72 = $l; $73 = (($71) - ($72))|0; $74 = $3; $75 = (($74) + ($73<<3)|0); $76 = +HEAPF64[$75>>3]; $77 = $70 * $76; $78 = $63 + $77; $79 = $m; $80 = $5; $81 = (($80) + ($79<<3)|0); $82 = +HEAPF64[$81>>3]; $83 = $82 + $78; HEAPF64[$81>>3] = $83; $84 = $t; $85 = (($84) + 1)|0; $86 = $0; $87 = HEAP32[$86>>2]|0; $88 = (($87) + 80|0); $89 = HEAP32[$88>>2]|0; $90 = (($89) + ($85<<3)|0); $91 = +HEAPF64[$90>>3]; $92 = $i; $93 = $l; $94 = (($92) - ($93))|0; $95 = $1; $96 = (($95) + ($94<<3)|0); $97 = +HEAPF64[$96>>3]; $98 = $91 * $97; $99 = $t; $100 = (($99) + 1)|0; $101 = $0; $102 = HEAP32[$101>>2]|0; $103 = (($102) + 84|0); $104 = HEAP32[$103>>2]|0; $105 = (($104) + ($100<<3)|0); $106 = +HEAPF64[$105>>3]; $107 = $i; $108 = $l; $109 = (($107) - ($108))|0; $110 = $3; $111 = (($110) + ($109<<3)|0); $112 = +HEAPF64[$111>>3]; $113 = $106 * $112; $114 = $98 + $113; $115 = $n; $116 = $5; $117 = (($116) + ($115<<3)|0); $118 = +HEAPF64[$117>>3]; $119 = $118 + $114; HEAPF64[$117>>3] = $119; } else { label = 8; } } else { label = 8; } if ((label|0) == 8) { label = 0; $120 = $i; $121 = $l; $122 = (($120) - ($121))|0; $123 = $2; $124 = ($122|0)>=($123|0); if ($124) { $125 = $i; $126 = $l; $127 = (($125) - ($126))|0; $128 = $2; $129 = $len_avg; $130 = (($128) + ($129))|0; $131 = (($130) - 1)|0; $132 = ($127|0)<($131|0); if ($132) { $133 = $t; $134 = $0; $135 = HEAP32[$134>>2]|0; $136 = (($135) + 80|0); $137 = HEAP32[$136>>2]|0; $138 = (($137) + ($133<<3)|0); $139 = +HEAPF64[$138>>3]; $140 = $i; $141 = $l; $142 = (($140) - ($141))|0; $143 = $2; $144 = (($142) - ($143))|0; $145 = $1; $146 = (($145) + ($144<<3)|0); $147 = +HEAPF64[$146>>3]; $148 = $139 * $147; $149 = $t; $150 = $0; $151 = HEAP32[$150>>2]|0; $152 = (($151) + 84|0); $153 = HEAP32[$152>>2]|0; $154 = (($153) + ($149<<3)|0); $155 = +HEAPF64[$154>>3]; $156 = $i; $157 = $l; $158 = (($156) - ($157))|0; $159 = $2; $160 = (($158) - ($159))|0; $161 = $3; $162 = (($161) + ($160<<3)|0); $163 = +HEAPF64[$162>>3]; $164 = $155 * $163; $165 = $148 + $164; $166 = $m; $167 = $5; $168 = (($167) + ($166<<3)|0); $169 = +HEAPF64[$168>>3]; $170 = $169 + $165; HEAPF64[$168>>3] = $170; $171 = $t; $172 = (($171) + 1)|0; $173 = $0; $174 = HEAP32[$173>>2]|0; $175 = (($174) + 80|0); $176 = HEAP32[$175>>2]|0; $177 = (($176) + ($172<<3)|0); $178 = +HEAPF64[$177>>3]; $179 = $i; $180 = $l; $181 = (($179) - ($180))|0; $182 = $2; $183 = (($181) - ($182))|0; $184 = $1; $185 = (($184) + ($183<<3)|0); $186 = +HEAPF64[$185>>3]; $187 = $178 * $186; $188 = $t; $189 = (($188) + 1)|0; $190 = $0; $191 = HEAP32[$190>>2]|0; $192 = (($191) + 84|0); $193 = HEAP32[$192>>2]|0; $194 = (($193) + ($189<<3)|0); $195 = +HEAPF64[$194>>3]; $196 = $i; $197 = $l; $198 = (($196) - ($197))|0; $199 = $2; $200 = (($198) - ($199))|0; $201 = $3; $202 = (($201) + ($200<<3)|0); $203 = +HEAPF64[$202>>3]; $204 = $195 * $203; $205 = $187 + $204; $206 = $n; $207 = $5; $208 = (($207) + ($206<<3)|0); $209 = +HEAPF64[$208>>3]; $210 = $209 + $205; HEAPF64[$208>>3] = $210; } else { label = 11; } } else { label = 11; } if ((label|0) == 11) { label = 0; $211 = $i; $212 = $l; $213 = (($211) - ($212))|0; $214 = ($213|0)<(0); if ($214) { $215 = $i; $216 = $l; $217 = (($215) - ($216))|0; $218 = $l2; $219 = (0 - ($218))|0; $220 = ($217|0)>($219|0); if ($220) { $221 = $t; $222 = $0; $223 = HEAP32[$222>>2]|0; $224 = (($223) + 80|0); $225 = HEAP32[$224>>2]|0; $226 = (($225) + ($221<<3)|0); $227 = +HEAPF64[$226>>3]; $228 = $2; $229 = $i; $230 = (($228) + ($229))|0; $231 = $l; $232 = (($230) - ($231))|0; $233 = $1; $234 = (($233) + ($232<<3)|0); $235 = +HEAPF64[$234>>3]; $236 = $227 * $235; $237 = $t; $238 = $0; $239 = HEAP32[$238>>2]|0; $240 = (($239) + 84|0); $241 = HEAP32[$240>>2]|0; $242 = (($241) + ($237<<3)|0); $243 = +HEAPF64[$242>>3]; $244 = $2; $245 = $i; $246 = (($244) + ($245))|0; $247 = $l; $248 = (($246) - ($247))|0; $249 = $3; $250 = (($249) + ($248<<3)|0); $251 = +HEAPF64[$250>>3]; $252 = $243 * $251; $253 = $236 + $252; $254 = $m; $255 = $5; $256 = (($255) + ($254<<3)|0); $257 = +HEAPF64[$256>>3]; $258 = $257 + $253; HEAPF64[$256>>3] = $258; $259 = $t; $260 = (($259) + 1)|0; $261 = $0; $262 = HEAP32[$261>>2]|0; $263 = (($262) + 80|0); $264 = HEAP32[$263>>2]|0; $265 = (($264) + ($260<<3)|0); $266 = +HEAPF64[$265>>3]; $267 = $2; $268 = $i; $269 = (($267) + ($268))|0; $270 = $l; $271 = (($269) - ($270))|0; $272 = $1; $273 = (($272) + ($271<<3)|0); $274 = +HEAPF64[$273>>3]; $275 = $266 * $274; $276 = $t; $277 = (($276) + 1)|0; $278 = $0; $279 = HEAP32[$278>>2]|0; $280 = (($279) + 84|0); $281 = HEAP32[$280>>2]|0; $282 = (($281) + ($277<<3)|0); $283 = +HEAPF64[$282>>3]; $284 = $2; $285 = $i; $286 = (($284) + ($285))|0; $287 = $l; $288 = (($286) - ($287))|0; $289 = $3; $290 = (($289) + ($288<<3)|0); $291 = +HEAPF64[$290>>3]; $292 = $283 * $291; $293 = $275 + $292; $294 = $n; $295 = $5; $296 = (($295) + ($294<<3)|0); $297 = +HEAPF64[$296>>3]; $298 = $297 + $293; HEAPF64[$296>>3] = $298; } } } } $299 = $l; $300 = (($299) + 1)|0; $l = $300; } $301 = $i; $302 = (($301) + 1)|0; $i = $302; } STACKTOP = sp;return; } function _idwt_sym($wt,$cA,$len_cA,$cD,$len_cD,$X) { $wt = $wt|0; $cA = $cA|0; $len_cA = $len_cA|0; $cD = $cD|0; $len_cD = $len_cD|0; $X = $X|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0.0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0; var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; var $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0; var $95 = 0, $96 = 0, $97 = 0, $98 = 0.0, $99 = 0.0, $N = 0, $i = 0, $l = 0, $l2 = 0, $len_avg = 0, $m = 0, $n = 0, $t = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $wt; $1 = $cA; $2 = $len_cA; $3 = $cD; $4 = $len_cD; $5 = $X; $6 = $0; $7 = HEAP32[$6>>2]|0; $8 = (($7) + 64|0); $9 = HEAP32[$8>>2]|0; $10 = $0; $11 = HEAP32[$10>>2]|0; $12 = (($11) + 68|0); $13 = HEAP32[$12>>2]|0; $14 = (($9) + ($13))|0; $15 = (($14|0) / 2)&-1; $len_avg = $15; $16 = $2; $17 = $16<<1; $18 = (($17) - 1)|0; $N = $18; $m = -2; $n = -1; $19 = $len_avg; $20 = (($19) - 2)|0; $21 = (($20|0) / 2)&-1; $l2 = $21; $v = 0; while(1) { $22 = $v; $23 = $2; $24 = ($22|0)<($23|0); if (!($24)) { break; } $25 = $v; $i = $25; $26 = $m; $27 = (($26) + 2)|0; $m = $27; $28 = $n; $29 = (($28) + 2)|0; $n = $29; $30 = $m; $31 = $5; $32 = (($31) + ($30<<3)|0); HEAPF64[$32>>3] = 0.0; $33 = $n; $34 = $5; $35 = (($34) + ($33<<3)|0); HEAPF64[$35>>3] = 0.0; $l = 0; while(1) { $36 = $l; $37 = $len_avg; $38 = (($37|0) / 2)&-1; $39 = ($36|0)<($38|0); if (!($39)) { break; } $40 = $l; $41 = $40<<1; $t = $41; $42 = $i; $43 = $l; $44 = (($42) - ($43))|0; $45 = ($44|0)>=(0); if ($45) { $46 = $i; $47 = $l; $48 = (($46) - ($47))|0; $49 = $2; $50 = ($48|0)<($49|0); if ($50) { $51 = $t; $52 = $0; $53 = HEAP32[$52>>2]|0; $54 = (($53) + 80|0); $55 = HEAP32[$54>>2]|0; $56 = (($55) + ($51<<3)|0); $57 = +HEAPF64[$56>>3]; $58 = $i; $59 = $l; $60 = (($58) - ($59))|0; $61 = $1; $62 = (($61) + ($60<<3)|0); $63 = +HEAPF64[$62>>3]; $64 = $57 * $63; $65 = $t; $66 = $0; $67 = HEAP32[$66>>2]|0; $68 = (($67) + 84|0); $69 = HEAP32[$68>>2]|0; $70 = (($69) + ($65<<3)|0); $71 = +HEAPF64[$70>>3]; $72 = $i; $73 = $l; $74 = (($72) - ($73))|0; $75 = $3; $76 = (($75) + ($74<<3)|0); $77 = +HEAPF64[$76>>3]; $78 = $71 * $77; $79 = $64 + $78; $80 = $m; $81 = $5; $82 = (($81) + ($80<<3)|0); $83 = +HEAPF64[$82>>3]; $84 = $83 + $79; HEAPF64[$82>>3] = $84; $85 = $t; $86 = (($85) + 1)|0; $87 = $0; $88 = HEAP32[$87>>2]|0; $89 = (($88) + 80|0); $90 = HEAP32[$89>>2]|0; $91 = (($90) + ($86<<3)|0); $92 = +HEAPF64[$91>>3]; $93 = $i; $94 = $l; $95 = (($93) - ($94))|0; $96 = $1; $97 = (($96) + ($95<<3)|0); $98 = +HEAPF64[$97>>3]; $99 = $92 * $98; $100 = $t; $101 = (($100) + 1)|0; $102 = $0; $103 = HEAP32[$102>>2]|0; $104 = (($103) + 84|0); $105 = HEAP32[$104>>2]|0; $106 = (($105) + ($101<<3)|0); $107 = +HEAPF64[$106>>3]; $108 = $i; $109 = $l; $110 = (($108) - ($109))|0; $111 = $3; $112 = (($111) + ($110<<3)|0); $113 = +HEAPF64[$112>>3]; $114 = $107 * $113; $115 = $99 + $114; $116 = $n; $117 = $5; $118 = (($117) + ($116<<3)|0); $119 = +HEAPF64[$118>>3]; $120 = $119 + $115; HEAPF64[$118>>3] = $120; } } $121 = $l; $122 = (($121) + 1)|0; $l = $122; } $123 = $v; $124 = (($123) + 1)|0; $v = $124; } STACKTOP = sp;return; } function _wconv($wt,$sig,$N,$filt,$L,$oup) { $wt = $wt|0; $sig = $sig|0; $N = $N|0; $filt = $filt|0; $L = $L|0; $oup = $oup|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $vararg_buffer = sp; $0 = $wt; $1 = $sig; $2 = $N; $3 = $filt; $4 = $L; $5 = $oup; $6 = $0; $7 = (($6) + 54|0); $8 = (_strcmp($7,17416)|0); $9 = ($8|0)!=(0); if (!($9)) { $10 = $1; $11 = $2; $12 = $3; $13 = $4; $14 = $5; _conv_direct($10,$11,$12,$13,$14); STACKTOP = sp;return; } $15 = $0; $16 = (($15) + 54|0); $17 = (_strcmp($16,17424)|0); $18 = ($17|0)!=(0); if ($18) { $19 = $0; $20 = (($19) + 54|0); $21 = (_strcmp($20,17432)|0); $22 = ($21|0)!=(0); if ($22) { (_printf((17592|0),($vararg_buffer|0))|0); _exit(-1); // unreachable; } } $23 = $0; $24 = (($23) + 68|0); $25 = HEAP32[$24>>2]|0; $26 = ($25|0)==(0); if ($26) { $27 = $2; $28 = $4; $29 = (_conv_init($27,$28)|0); $30 = $0; $31 = (($30) + 4|0); HEAP32[$31>>2] = $29; $32 = $0; $33 = (($32) + 4|0); $34 = HEAP32[$33>>2]|0; $35 = $1; $36 = $3; $37 = $5; _conv_fft($34,$35,$36,$37); $38 = $0; $39 = (($38) + 4|0); $40 = HEAP32[$39>>2]|0; _free_conv($40); } else { $41 = $0; $42 = (($41) + 4|0); $43 = HEAP32[$42>>2]|0; $44 = $1; $45 = $3; $46 = $5; _conv_fft($43,$44,$45,$46); } STACKTOP = sp;return; } function _swt($wt,$inp) { $wt = $wt|0; $inp = $inp|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $vararg_buffer = sp; $0 = $wt; $1 = $inp; $2 = $0; $3 = (($2) + 8|0); $4 = (_strcmp($3,17208)|0); $5 = ($4|0)!=(0); if (!($5)) { $6 = $0; $7 = (($6) + 54|0); $8 = (_strcmp($7,17416)|0); $9 = ($8|0)!=(0); if (!($9)) { $10 = $0; $11 = $1; _swt_direct($10,$11); STACKTOP = sp;return; } } $12 = $0; $13 = (($12) + 8|0); $14 = (_strcmp($13,17208)|0); $15 = ($14|0)!=(0); if ($15) { (_printf((17544|0),($vararg_buffer|0))|0); _exit(-1); // unreachable; } $16 = $0; $17 = (($16) + 54|0); $18 = (_strcmp($17,17424)|0); $19 = ($18|0)!=(0); if ($19) { $20 = $0; $21 = (($20) + 54|0); $22 = (_strcmp($21,17432)|0); $23 = ($22|0)!=(0); if ($23) { (_printf((17544|0),($vararg_buffer|0))|0); _exit(-1); // unreachable; } } $24 = $0; $25 = $1; _swt_fft($24,$25); STACKTOP = sp;return; } function _swt_direct($wt,$inp) { $wt = $wt|0; $inp = $inp|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $12 = 0, $13 = 0; var $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0.0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $J = 0, $M = 0, $N = 0, $cA = 0, $cD = 0, $i = 0; var $iter = 0, $len_filt = 0, $lenacc = 0, $temp_len = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $wt; $1 = $inp; $2 = $0; $3 = (($2) + 20|0); $4 = HEAP32[$3>>2]|0; $temp_len = $4; $5 = $0; $6 = (($5) + 32|0); $7 = HEAP32[$6>>2]|0; $J = $7; $8 = $temp_len; $9 = $J; $10 = $0; $11 = (($10) + 76|0); $12 = (($11) + ($9<<2)|0); HEAP32[$12>>2] = $8; $13 = $0; $14 = (($13) + 76|0); HEAP32[$14>>2] = $8; $15 = $J; $16 = (($15) + 1)|0; $17 = $temp_len; $18 = Math_imul($16, $17)|0; $19 = $J; $20 = (($19) + 1)|0; $21 = $0; $22 = (($21) + 76|0); $23 = (($22) + ($20<<2)|0); HEAP32[$23>>2] = $18; $24 = $0; $25 = (($24) + 24|0); HEAP32[$25>>2] = $18; $26 = $0; $27 = HEAP32[$26>>2]|0; $28 = (($27) + 52|0); $29 = HEAP32[$28>>2]|0; $len_filt = $29; $M = 1; $iter = 1; while(1) { $30 = $iter; $31 = $J; $32 = ($30|0)<($31|0); if (!($32)) { break; } $33 = $M; $34 = $33<<1; $M = $34; $35 = $temp_len; $36 = $iter; $37 = $0; $38 = (($37) + 76|0); $39 = (($38) + ($36<<2)|0); HEAP32[$39>>2] = $35; $40 = $iter; $41 = (($40) + 1)|0; $iter = $41; } $42 = $temp_len; $43 = $42<<3; $44 = (_malloc($43)|0); $cA = $44; $45 = $temp_len; $46 = $45<<3; $47 = (_malloc($46)|0); $cD = $47; $M = 1; $i = 0; while(1) { $48 = $i; $49 = $temp_len; $50 = ($48|0)<($49|0); if (!($50)) { break; } $51 = $i; $52 = $1; $53 = (($52) + ($51<<3)|0); $54 = +HEAPF64[$53>>3]; $55 = $i; $56 = $0; $57 = (($56) + 488|0); $58 = (($57) + ($55<<3)|0); HEAPF64[$58>>3] = $54; $59 = $i; $60 = (($59) + 1)|0; $i = $60; } $61 = $0; $62 = (($61) + 24|0); $63 = HEAP32[$62>>2]|0; $lenacc = $63; $iter = 0; while(1) { $64 = $iter; $65 = $J; $66 = ($64|0)<($65|0); if (!($66)) { break; } $67 = $temp_len; $68 = $lenacc; $69 = (($68) - ($67))|0; $lenacc = $69; $70 = $iter; $71 = ($70|0)>(0); if ($71) { $72 = $M; $73 = $72<<1; $M = $73; $74 = $M; $75 = $len_filt; $76 = Math_imul($74, $75)|0; $N = $76; } else { $77 = $len_filt; $N = $77; } $78 = $0; $79 = $M; $80 = $0; $81 = (($80) + 488|0); $82 = $temp_len; $83 = $cA; $84 = $temp_len; $85 = $cD; $86 = $temp_len; _swt_per($78,$79,$81,$82,$83,$84,$85,$86); $i = 0; while(1) { $87 = $i; $88 = $temp_len; $89 = ($87|0)<($88|0); if (!($89)) { break; } $90 = $i; $91 = $cA; $92 = (($91) + ($90<<3)|0); $93 = +HEAPF64[$92>>3]; $94 = $i; $95 = $0; $96 = (($95) + 488|0); $97 = (($96) + ($94<<3)|0); HEAPF64[$97>>3] = $93; $98 = $i; $99 = $cD; $100 = (($99) + ($98<<3)|0); $101 = +HEAPF64[$100>>3]; $102 = $lenacc; $103 = $i; $104 = (($102) + ($103))|0; $105 = $0; $106 = (($105) + 488|0); $107 = (($106) + ($104<<3)|0); HEAPF64[$107>>3] = $101; $108 = $i; $109 = (($108) + 1)|0; $i = $109; } $110 = $iter; $111 = (($110) + 1)|0; $iter = $111; } $112 = $cA; _free($112); $113 = $cD; _free($113); STACKTOP = sp;return; } function _swt_fft($wt,$inp) { $wt = $wt|0; $inp = $inp|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0.0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0.0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0.0, $258 = 0, $259 = 0, $26 = 0; var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0.0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; var $97 = 0, $98 = 0, $99 = 0, $J = 0, $M = 0, $N = 0, $cA = 0, $cD = 0, $high_pass = 0, $i = 0, $iter = 0, $len_filt = 0, $lenacc = 0, $low_pass = 0, $sig = 0, $temp_len = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $vararg_buffer = sp; $0 = $wt; $1 = $inp; $2 = $0; $3 = (($2) + 20|0); $4 = HEAP32[$3>>2]|0; $temp_len = $4; $5 = $0; $6 = (($5) + 32|0); $7 = HEAP32[$6>>2]|0; $J = $7; $8 = $temp_len; $9 = $J; $10 = $0; $11 = (($10) + 76|0); $12 = (($11) + ($9<<2)|0); HEAP32[$12>>2] = $8; $13 = $0; $14 = (($13) + 76|0); HEAP32[$14>>2] = $8; $15 = $J; $16 = (($15) + 1)|0; $17 = $temp_len; $18 = Math_imul($16, $17)|0; $19 = $J; $20 = (($19) + 1)|0; $21 = $0; $22 = (($21) + 76|0); $23 = (($22) + ($20<<2)|0); HEAP32[$23>>2] = $18; $24 = $0; $25 = (($24) + 24|0); HEAP32[$25>>2] = $18; $M = 1; $iter = 1; while(1) { $26 = $iter; $27 = $J; $28 = ($26|0)<($27|0); if (!($28)) { break; } $29 = $M; $30 = $29<<1; $M = $30; $31 = $temp_len; $32 = $iter; $33 = $0; $34 = (($33) + 76|0); $35 = (($34) + ($32<<2)|0); HEAP32[$35>>2] = $31; $36 = $iter; $37 = (($36) + 1)|0; $iter = $37; } $38 = $0; $39 = HEAP32[$38>>2]|0; $40 = (($39) + 52|0); $41 = HEAP32[$40>>2]|0; $len_filt = $41; $42 = $M; $43 = $42<<3; $44 = $len_filt; $45 = Math_imul($43, $44)|0; $46 = (_malloc($45)|0); $low_pass = $46; $47 = $M; $48 = $47<<3; $49 = $len_filt; $50 = Math_imul($48, $49)|0; $51 = (_malloc($50)|0); $high_pass = $51; $52 = $M; $53 = $len_filt; $54 = Math_imul($52, $53)|0; $55 = $temp_len; $56 = (($54) + ($55))|0; $57 = $temp_len; $58 = (($57|0) % 2)&-1; $59 = (($56) + ($58))|0; $60 = $59<<3; $61 = (_malloc($60)|0); $sig = $61; $62 = $M; $63 = $62<<1; $64 = $len_filt; $65 = Math_imul($63, $64)|0; $66 = $temp_len; $67 = (($65) + ($66))|0; $68 = $temp_len; $69 = (($68|0) % 2)&-1; $70 = (($67) + ($69))|0; $71 = $70<<3; $72 = (($71) - 1)|0; $73 = (_malloc($72)|0); $cA = $73; $74 = $M; $75 = $74<<1; $76 = $len_filt; $77 = Math_imul($75, $76)|0; $78 = $temp_len; $79 = (($77) + ($78))|0; $80 = $temp_len; $81 = (($80|0) % 2)&-1; $82 = (($79) + ($81))|0; $83 = $82<<3; $84 = (($83) - 1)|0; $85 = (_malloc($84)|0); $cD = $85; $M = 1; $i = 0; while(1) { $86 = $i; $87 = $temp_len; $88 = ($86|0)<($87|0); if (!($88)) { break; } $89 = $i; $90 = $1; $91 = (($90) + ($89<<3)|0); $92 = +HEAPF64[$91>>3]; $93 = $i; $94 = $0; $95 = (($94) + 488|0); $96 = (($95) + ($93<<3)|0); HEAPF64[$96>>3] = $92; $97 = $i; $98 = (($97) + 1)|0; $i = $98; } $99 = $0; $100 = (($99) + 24|0); $101 = HEAP32[$100>>2]|0; $lenacc = $101; $iter = 0; while(1) { $102 = $iter; $103 = $J; $104 = ($102|0)<($103|0); if (!($104)) { label = 35; break; } $105 = $temp_len; $106 = $lenacc; $107 = (($106) - ($105))|0; $lenacc = $107; $108 = $iter; $109 = ($108|0)>(0); if ($109) { $110 = $M; $111 = $110<<1; $M = $111; $112 = $M; $113 = $len_filt; $114 = Math_imul($112, $113)|0; $N = $114; $115 = $0; $116 = HEAP32[$115>>2]|0; $117 = (($116) + 72|0); $118 = HEAP32[$117>>2]|0; $119 = $0; $120 = HEAP32[$119>>2]|0; $121 = (($120) + 56|0); $122 = HEAP32[$121>>2]|0; $123 = $M; $124 = $low_pass; (_upsamp2($118,$122,$123,$124)|0); $125 = $0; $126 = HEAP32[$125>>2]|0; $127 = (($126) + 76|0); $128 = HEAP32[$127>>2]|0; $129 = $0; $130 = HEAP32[$129>>2]|0; $131 = (($130) + 60|0); $132 = HEAP32[$131>>2]|0; $133 = $M; $134 = $high_pass; (_upsamp2($128,$132,$133,$134)|0); } else { $135 = $len_filt; $N = $135; $i = 0; while(1) { $136 = $i; $137 = $N; $138 = ($136|0)<($137|0); if (!($138)) { break; } $139 = $i; $140 = $0; $141 = HEAP32[$140>>2]|0; $142 = (($141) + 72|0); $143 = HEAP32[$142>>2]|0; $144 = (($143) + ($139<<3)|0); $145 = +HEAPF64[$144>>3]; $146 = $i; $147 = $low_pass; $148 = (($147) + ($146<<3)|0); HEAPF64[$148>>3] = $145; $149 = $i; $150 = $0; $151 = HEAP32[$150>>2]|0; $152 = (($151) + 76|0); $153 = HEAP32[$152>>2]|0; $154 = (($153) + ($149<<3)|0); $155 = +HEAPF64[$154>>3]; $156 = $i; $157 = $high_pass; $158 = (($157) + ($156<<3)|0); HEAPF64[$158>>3] = $155; $159 = $i; $160 = (($159) + 1)|0; $i = $160; } } $161 = $0; $162 = (($161) + 488|0); $163 = $temp_len; $164 = $N; $165 = (($164|0) / 2)&-1; $166 = $sig; (_per_ext($162,$163,$165,$166)|0); $167 = $0; $168 = HEAP32[$167>>2]|0; $169 = (($168) + 56|0); $170 = HEAP32[$169>>2]|0; $171 = $0; $172 = HEAP32[$171>>2]|0; $173 = (($172) + 60|0); $174 = HEAP32[$173>>2]|0; $175 = ($170|0)==($174|0); do { if ($175) { $176 = $0; $177 = (($176) + 54|0); $178 = (_strcmp($177,17424)|0); $179 = ($178|0)!=(0); if ($179) { $180 = $0; $181 = (($180) + 54|0); $182 = (_strcmp($181,17432)|0); $183 = ($182|0)!=(0); if ($183) { label = 22; break; } } $184 = $N; $185 = $temp_len; $186 = (($184) + ($185))|0; $187 = $temp_len; $188 = (($187|0) % 2)&-1; $189 = (($186) + ($188))|0; $190 = $N; $191 = (_conv_init($189,$190)|0); $192 = $0; $193 = (($192) + 4|0); HEAP32[$193>>2] = $191; $194 = $0; $195 = (($194) + 68|0); HEAP32[$195>>2] = 1; } else { label = 22; } } while(0); if ((label|0) == 22) { label = 0; $196 = $0; $197 = HEAP32[$196>>2]|0; $198 = (($197) + 56|0); $199 = HEAP32[$198>>2]|0; $200 = $0; $201 = HEAP32[$200>>2]|0; $202 = (($201) + 60|0); $203 = HEAP32[$202>>2]|0; $204 = ($199|0)==($203|0); if (!($204)) { label = 23; break; } } $205 = $0; $206 = $sig; $207 = $N; $208 = $temp_len; $209 = (($207) + ($208))|0; $210 = $temp_len; $211 = (($210|0) % 2)&-1; $212 = (($209) + ($211))|0; $213 = $low_pass; $214 = $N; $215 = $cA; _wconv($205,$206,$212,$213,$214,$215); $216 = $0; $217 = $sig; $218 = $N; $219 = $temp_len; $220 = (($218) + ($219))|0; $221 = $temp_len; $222 = (($221|0) % 2)&-1; $223 = (($220) + ($222))|0; $224 = $high_pass; $225 = $N; $226 = $cD; _wconv($216,$217,$223,$224,$225,$226); $227 = $0; $228 = HEAP32[$227>>2]|0; $229 = (($228) + 56|0); $230 = HEAP32[$229>>2]|0; $231 = $0; $232 = HEAP32[$231>>2]|0; $233 = (($232) + 60|0); $234 = HEAP32[$233>>2]|0; $235 = ($230|0)==($234|0); do { if ($235) { $236 = $0; $237 = (($236) + 54|0); $238 = (_strcmp($237,17424)|0); $239 = ($238|0)!=(0); if ($239) { $240 = $0; $241 = (($240) + 54|0); $242 = (_strcmp($241,17432)|0); $243 = ($242|0)!=(0); if ($243) { break; } } $244 = $0; $245 = (($244) + 4|0); $246 = HEAP32[$245>>2]|0; _free_conv($246); $247 = $0; $248 = (($247) + 68|0); HEAP32[$248>>2] = 0; } } while(0); $i = 0; while(1) { $249 = $i; $250 = $temp_len; $251 = ($249|0)<($250|0); if (!($251)) { break; } $252 = $N; $253 = $i; $254 = (($252) + ($253))|0; $255 = $cA; $256 = (($255) + ($254<<3)|0); $257 = +HEAPF64[$256>>3]; $258 = $i; $259 = $0; $260 = (($259) + 488|0); $261 = (($260) + ($258<<3)|0); HEAPF64[$261>>3] = $257; $262 = $N; $263 = $i; $264 = (($262) + ($263))|0; $265 = $cD; $266 = (($265) + ($264<<3)|0); $267 = +HEAPF64[$266>>3]; $268 = $lenacc; $269 = $i; $270 = (($268) + ($269))|0; $271 = $0; $272 = (($271) + 488|0); $273 = (($272) + ($270<<3)|0); HEAPF64[$273>>3] = $267; $274 = $i; $275 = (($274) + 1)|0; $i = $275; } $276 = $iter; $277 = (($276) + 1)|0; $iter = $277; } if ((label|0) == 23) { (_printf((17488|0),($vararg_buffer|0))|0); _exit(-1); // unreachable; } else if ((label|0) == 35) { $278 = $low_pass; _free($278); $279 = $high_pass; _free($279); $280 = $sig; _free($280); $281 = $cA; _free($281); $282 = $cD; _free($282); STACKTOP = sp;return; } } function _iswt($wt,$swtop) { $wt = $wt|0; $swtop = $swtop|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0.0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0.0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0.0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; var $170 = 0.0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0.0, $266 = 0, $267 = 0, $268 = 0, $269 = 0.0, $27 = 0, $270 = 0.0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0.0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0.0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0.0, $355 = 0, $356 = 0, $357 = 0, $358 = 0.0, $359 = 0.0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0.0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0.0, $383 = 0.0, $384 = 0.0, $385 = 0, $386 = 0; var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0.0, $402 = 0, $403 = 0; var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; var $98 = 0, $99 = 0.0, $J = 0, $N = 0, $N1 = 0, $U = 0, $appx1 = 0, $appx2 = 0, $appx_sig = 0, $cH0 = 0, $cL0 = 0, $count = 0, $det1 = 0, $det2 = 0, $det_sig = 0, $i = 0, $index = 0, $index2 = 0, $index_shift = 0, $iter = 0; var $len = 0, $len0 = 0, $lf = 0, $oup00 = 0, $oup00H = 0, $oup00L = 0, $oup01 = 0, $tempx = 0, $value = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $vararg_buffer = sp; $0 = $wt; $1 = $swtop; $2 = $0; $3 = (($2) + 20|0); $4 = HEAP32[$3>>2]|0; $N = $4; $5 = $0; $6 = (($5) + 32|0); $7 = HEAP32[$6>>2]|0; $J = $7; $U = 2; $8 = $0; $9 = HEAP32[$8>>2]|0; $10 = (($9) + 64|0); $11 = HEAP32[$10>>2]|0; $lf = $11; $12 = $N; $13 = $12<<3; $14 = (_malloc($13)|0); $appx_sig = $14; $15 = $N; $16 = $15<<3; $17 = (_malloc($16)|0); $det_sig = $17; $18 = $N; $19 = $18<<3; $20 = (_malloc($19)|0); $appx1 = $20; $21 = $N; $22 = $21<<3; $23 = (_malloc($22)|0); $det1 = $23; $24 = $N; $25 = $24<<3; $26 = (_malloc($25)|0); $appx2 = $26; $27 = $N; $28 = $27<<3; $29 = (_malloc($28)|0); $det2 = $29; $30 = $N; $31 = $30<<3; $32 = (_malloc($31)|0); $tempx = $32; $33 = $N; $34 = $N; $35 = (($34|0) % 2)&-1; $36 = (($33) + ($35))|0; $37 = $lf; $38 = (($36) + ($37))|0; $39 = $38<<3; $40 = (_malloc($39)|0); $cL0 = $40; $41 = $N; $42 = $N; $43 = (($42|0) % 2)&-1; $44 = (($41) + ($43))|0; $45 = $lf; $46 = (($44) + ($45))|0; $47 = $46<<3; $48 = (_malloc($47)|0); $cH0 = $48; $49 = $N; $50 = $lf; $51 = $50<<1; $52 = (($49) + ($51))|0; $53 = $52<<3; $54 = (_malloc($53)|0); $oup00L = $54; $55 = $N; $56 = $lf; $57 = $56<<1; $58 = (($55) + ($57))|0; $59 = $58<<3; $60 = (_malloc($59)|0); $oup00H = $60; $61 = $N; $62 = $61<<3; $63 = (_malloc($62)|0); $oup00 = $63; $64 = $N; $65 = $64<<3; $66 = (_malloc($65)|0); $oup01 = $66; $iter = 0; L1: while(1) { $67 = $iter; $68 = $J; $69 = ($67|0)<($68|0); if (!($69)) { label = 59; break; } $i = 0; while(1) { $70 = $i; $71 = $N; $72 = ($70|0)<($71|0); if (!($72)) { break; } $73 = $i; $74 = $1; $75 = (($74) + ($73<<3)|0); HEAPF64[$75>>3] = 0.0; $76 = $i; $77 = (($76) + 1)|0; $i = $77; } $78 = $iter; $79 = ($78|0)==(0); if ($79) { $i = 0; while(1) { $80 = $i; $81 = $N; $82 = ($80|0)<($81|0); if (!($82)) { break; } $83 = $i; $84 = $0; $85 = (($84) + 484|0); $86 = HEAP32[$85>>2]|0; $87 = (($86) + ($83<<3)|0); $88 = +HEAPF64[$87>>3]; $89 = $i; $90 = $appx_sig; $91 = (($90) + ($89<<3)|0); HEAPF64[$91>>3] = $88; $92 = $N; $93 = $i; $94 = (($92) + ($93))|0; $95 = $0; $96 = (($95) + 484|0); $97 = HEAP32[$96>>2]|0; $98 = (($97) + ($94<<3)|0); $99 = +HEAPF64[$98>>3]; $100 = $i; $101 = $det_sig; $102 = (($101) + ($100<<3)|0); HEAPF64[$102>>3] = $99; $103 = $i; $104 = (($103) + 1)|0; $i = $104; } } else { $i = 0; while(1) { $105 = $i; $106 = $N; $107 = ($105|0)<($106|0); if (!($107)) { break; } $108 = $iter; $109 = (($108) + 1)|0; $110 = $N; $111 = Math_imul($109, $110)|0; $112 = $i; $113 = (($111) + ($112))|0; $114 = $0; $115 = (($114) + 484|0); $116 = HEAP32[$115>>2]|0; $117 = (($116) + ($113<<3)|0); $118 = +HEAPF64[$117>>3]; $119 = $i; $120 = $det_sig; $121 = (($120) + ($119<<3)|0); HEAPF64[$121>>3] = $118; $122 = $i; $123 = (($122) + 1)|0; $i = $123; } } $124 = $J; $125 = (($124) - 1)|0; $126 = $iter; $127 = (($125) - ($126))|0; $128 = (+($127|0)); $129 = (+Math_pow(2.0,(+$128))); $130 = (~~(($129))); $value = $130; $count = 0; while(1) { $131 = $count; $132 = $value; $133 = ($131|0)<($132|0); if (!($133)) { break; } $len = 0; $134 = $count; $index = $134; while(1) { $135 = $index; $136 = $N; $137 = ($135|0)<($136|0); if (!($137)) { break; } $138 = $index; $139 = $appx_sig; $140 = (($139) + ($138<<3)|0); $141 = +HEAPF64[$140>>3]; $142 = $len; $143 = $appx1; $144 = (($143) + ($142<<3)|0); HEAPF64[$144>>3] = $141; $145 = $index; $146 = $det_sig; $147 = (($146) + ($145<<3)|0); $148 = +HEAPF64[$147>>3]; $149 = $len; $150 = $det1; $151 = (($150) + ($149<<3)|0); HEAPF64[$151>>3] = $148; $152 = $len; $153 = (($152) + 1)|0; $len = $153; $154 = $value; $155 = $index; $156 = (($155) + ($154))|0; $index = $156; } $len0 = 0; $index_shift = 0; while(1) { $157 = $index_shift; $158 = $len; $159 = ($157|0)<($158|0); if (!($159)) { break; } $160 = $index_shift; $161 = $appx1; $162 = (($161) + ($160<<3)|0); $163 = +HEAPF64[$162>>3]; $164 = $len0; $165 = $appx2; $166 = (($165) + ($164<<3)|0); HEAPF64[$166>>3] = $163; $167 = $index_shift; $168 = $det1; $169 = (($168) + ($167<<3)|0); $170 = +HEAPF64[$169>>3]; $171 = $len0; $172 = $det2; $173 = (($172) + ($171<<3)|0); HEAPF64[$173>>3] = $170; $174 = $len0; $175 = (($174) + 1)|0; $len0 = $175; $176 = $index_shift; $177 = (($176) + 2)|0; $index_shift = $177; } $178 = $appx2; $179 = $len0; $180 = $U; $181 = $tempx; (_upsamp2($178,$179,$180,$181)|0); $182 = $tempx; $183 = $len0; $184 = $183<<1; $185 = $lf; $186 = (($185|0) / 2)&-1; $187 = $cL0; (_per_ext($182,$184,$186,$187)|0); $188 = $det2; $189 = $len0; $190 = $U; $191 = $tempx; (_upsamp2($188,$189,$190,$191)|0); $192 = $tempx; $193 = $len0; $194 = $193<<1; $195 = $lf; $196 = (($195|0) / 2)&-1; $197 = $cH0; (_per_ext($192,$194,$196,$197)|0); $198 = $len0; $199 = $198<<1; $200 = $lf; $201 = (($199) + ($200))|0; $N1 = $201; $202 = $0; $203 = HEAP32[$202>>2]|0; $204 = (($203) + 64|0); $205 = HEAP32[$204>>2]|0; $206 = $0; $207 = HEAP32[$206>>2]|0; $208 = (($207) + 68|0); $209 = HEAP32[$208>>2]|0; $210 = ($205|0)==($209|0); do { if ($210) { $211 = $0; $212 = (($211) + 54|0); $213 = (_strcmp($212,17424)|0); $214 = ($213|0)!=(0); if ($214) { $215 = $0; $216 = (($215) + 54|0); $217 = (_strcmp($216,17432)|0); $218 = ($217|0)!=(0); if ($218) { label = 32; break; } } $219 = $N1; $220 = $lf; $221 = (_conv_init($219,$220)|0); $222 = $0; $223 = (($222) + 4|0); HEAP32[$223>>2] = $221; $224 = $0; $225 = (($224) + 68|0); HEAP32[$225>>2] = 1; } else { label = 32; } } while(0); if ((label|0) == 32) { label = 0; $226 = $0; $227 = HEAP32[$226>>2]|0; $228 = (($227) + 56|0); $229 = HEAP32[$228>>2]|0; $230 = $0; $231 = HEAP32[$230>>2]|0; $232 = (($231) + 60|0); $233 = HEAP32[$232>>2]|0; $234 = ($229|0)==($233|0); if (!($234)) { label = 33; break L1; } } $235 = $0; $236 = $cL0; $237 = $N1; $238 = $0; $239 = HEAP32[$238>>2]|0; $240 = (($239) + 80|0); $241 = HEAP32[$240>>2]|0; $242 = $lf; $243 = $oup00L; _wconv($235,$236,$237,$241,$242,$243); $244 = $0; $245 = $cH0; $246 = $N1; $247 = $0; $248 = HEAP32[$247>>2]|0; $249 = (($248) + 84|0); $250 = HEAP32[$249>>2]|0; $251 = $lf; $252 = $oup00H; _wconv($244,$245,$246,$250,$251,$252); $253 = $lf; $254 = (($253) - 1)|0; $i = $254; while(1) { $255 = $i; $256 = $len0; $257 = $256<<1; $258 = $lf; $259 = (($257) + ($258))|0; $260 = (($259) - 1)|0; $261 = ($255|0)<($260|0); if (!($261)) { break; } $262 = $i; $263 = $oup00L; $264 = (($263) + ($262<<3)|0); $265 = +HEAPF64[$264>>3]; $266 = $i; $267 = $oup00H; $268 = (($267) + ($266<<3)|0); $269 = +HEAPF64[$268>>3]; $270 = $265 + $269; $271 = $i; $272 = $lf; $273 = (($271) - ($272))|0; $274 = (($273) + 1)|0; $275 = $oup00; $276 = (($275) + ($274<<3)|0); HEAPF64[$276>>3] = $270; $277 = $i; $278 = (($277) + 1)|0; $i = $278; } $len0 = 0; $index_shift = 1; while(1) { $279 = $index_shift; $280 = $len; $281 = ($279|0)<($280|0); if (!($281)) { break; } $282 = $index_shift; $283 = $appx1; $284 = (($283) + ($282<<3)|0); $285 = +HEAPF64[$284>>3]; $286 = $len0; $287 = $appx2; $288 = (($287) + ($286<<3)|0); HEAPF64[$288>>3] = $285; $289 = $index_shift; $290 = $det1; $291 = (($290) + ($289<<3)|0); $292 = +HEAPF64[$291>>3]; $293 = $len0; $294 = $det2; $295 = (($294) + ($293<<3)|0); HEAPF64[$295>>3] = $292; $296 = $len0; $297 = (($296) + 1)|0; $len0 = $297; $298 = $index_shift; $299 = (($298) + 2)|0; $index_shift = $299; } $300 = $appx2; $301 = $len0; $302 = $U; $303 = $tempx; (_upsamp2($300,$301,$302,$303)|0); $304 = $tempx; $305 = $len0; $306 = $305<<1; $307 = $lf; $308 = (($307|0) / 2)&-1; $309 = $cL0; (_per_ext($304,$306,$308,$309)|0); $310 = $det2; $311 = $len0; $312 = $U; $313 = $tempx; (_upsamp2($310,$311,$312,$313)|0); $314 = $tempx; $315 = $len0; $316 = $315<<1; $317 = $lf; $318 = (($317|0) / 2)&-1; $319 = $cH0; (_per_ext($314,$316,$318,$319)|0); $320 = $len0; $321 = $320<<1; $322 = $lf; $323 = (($321) + ($322))|0; $N1 = $323; $324 = $0; $325 = $cL0; $326 = $N1; $327 = $0; $328 = HEAP32[$327>>2]|0; $329 = (($328) + 80|0); $330 = HEAP32[$329>>2]|0; $331 = $lf; $332 = $oup00L; _wconv($324,$325,$326,$330,$331,$332); $333 = $0; $334 = $cH0; $335 = $N1; $336 = $0; $337 = HEAP32[$336>>2]|0; $338 = (($337) + 84|0); $339 = HEAP32[$338>>2]|0; $340 = $lf; $341 = $oup00H; _wconv($333,$334,$335,$339,$340,$341); $342 = $lf; $343 = (($342) - 1)|0; $i = $343; while(1) { $344 = $i; $345 = $len0; $346 = $345<<1; $347 = $lf; $348 = (($346) + ($347))|0; $349 = (($348) - 1)|0; $350 = ($344|0)<($349|0); if (!($350)) { break; } $351 = $i; $352 = $oup00L; $353 = (($352) + ($351<<3)|0); $354 = +HEAPF64[$353>>3]; $355 = $i; $356 = $oup00H; $357 = (($356) + ($355<<3)|0); $358 = +HEAPF64[$357>>3]; $359 = $354 + $358; $360 = $i; $361 = $lf; $362 = (($360) - ($361))|0; $363 = (($362) + 1)|0; $364 = $oup01; $365 = (($364) + ($363<<3)|0); HEAPF64[$365>>3] = $359; $366 = $i; $367 = (($366) + 1)|0; $i = $367; } $368 = $oup01; $369 = $len0; $370 = $369<<1; _circshift($368,$370,-1); $index2 = 0; $371 = $count; $index = $371; while(1) { $372 = $index; $373 = $N; $374 = ($372|0)<($373|0); if (!($374)) { break; } $375 = $index2; $376 = $oup00; $377 = (($376) + ($375<<3)|0); $378 = +HEAPF64[$377>>3]; $379 = $index2; $380 = $oup01; $381 = (($380) + ($379<<3)|0); $382 = +HEAPF64[$381>>3]; $383 = $378 + $382; $384 = $383 / 2.0; $385 = $index; $386 = $1; $387 = (($386) + ($385<<3)|0); HEAPF64[$387>>3] = $384; $388 = $index2; $389 = (($388) + 1)|0; $index2 = $389; $390 = $value; $391 = $index; $392 = (($391) + ($390))|0; $index = $392; } $393 = $count; $394 = (($393) + 1)|0; $count = $394; } $i = 0; while(1) { $395 = $i; $396 = $N; $397 = ($395|0)<($396|0); if (!($397)) { break; } $398 = $i; $399 = $1; $400 = (($399) + ($398<<3)|0); $401 = +HEAPF64[$400>>3]; $402 = $i; $403 = $appx_sig; $404 = (($403) + ($402<<3)|0); HEAPF64[$404>>3] = $401; $405 = $i; $406 = (($405) + 1)|0; $i = $406; } $407 = $iter; $408 = (($407) + 1)|0; $iter = $408; } if ((label|0) == 33) { (_printf((17488|0),($vararg_buffer|0))|0); _exit(-1); // unreachable; } else if ((label|0) == 59) { $409 = $appx_sig; _free($409); $410 = $det_sig; _free($410); $411 = $appx1; _free($411); $412 = $det1; _free($412); $413 = $tempx; _free($413); $414 = $cL0; _free($414); $415 = $cH0; _free($415); $416 = $oup00L; _free($416); $417 = $oup00H; _free($417); $418 = $oup00; _free($418); $419 = $oup01; _free($419); $420 = $appx2; _free($420); $421 = $det2; _free($421); STACKTOP = sp;return; } } function _modwt($wt,$inp) { $wt = $wt|0; $inp = $inp|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $12 = 0, $13 = 0; var $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0.0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $J = 0, $M = 0, $N = 0, $cA = 0, $cD = 0, $i = 0; var $iter = 0, $len_filt = 0, $lenacc = 0, $temp_len = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $wt; $1 = $inp; $2 = $0; $3 = (($2) + 20|0); $4 = HEAP32[$3>>2]|0; $temp_len = $4; $5 = $0; $6 = (($5) + 32|0); $7 = HEAP32[$6>>2]|0; $J = $7; $8 = $temp_len; $9 = $J; $10 = $0; $11 = (($10) + 76|0); $12 = (($11) + ($9<<2)|0); HEAP32[$12>>2] = $8; $13 = $0; $14 = (($13) + 76|0); HEAP32[$14>>2] = $8; $15 = $J; $16 = (($15) + 1)|0; $17 = $temp_len; $18 = Math_imul($16, $17)|0; $19 = $J; $20 = (($19) + 1)|0; $21 = $0; $22 = (($21) + 76|0); $23 = (($22) + ($20<<2)|0); HEAP32[$23>>2] = $18; $24 = $0; $25 = (($24) + 24|0); HEAP32[$25>>2] = $18; $26 = $0; $27 = HEAP32[$26>>2]|0; $28 = (($27) + 52|0); $29 = HEAP32[$28>>2]|0; $len_filt = $29; $M = 1; $iter = 1; while(1) { $30 = $iter; $31 = $J; $32 = ($30|0)<($31|0); if (!($32)) { break; } $33 = $M; $34 = $33<<1; $M = $34; $35 = $temp_len; $36 = $iter; $37 = $0; $38 = (($37) + 76|0); $39 = (($38) + ($36<<2)|0); HEAP32[$39>>2] = $35; $40 = $iter; $41 = (($40) + 1)|0; $iter = $41; } $42 = $temp_len; $43 = $42<<3; $44 = (_malloc($43)|0); $cA = $44; $45 = $temp_len; $46 = $45<<3; $47 = (_malloc($46)|0); $cD = $47; $M = 1; $i = 0; while(1) { $48 = $i; $49 = $temp_len; $50 = ($48|0)<($49|0); if (!($50)) { break; } $51 = $i; $52 = $1; $53 = (($52) + ($51<<3)|0); $54 = +HEAPF64[$53>>3]; $55 = $i; $56 = $0; $57 = (($56) + 488|0); $58 = (($57) + ($55<<3)|0); HEAPF64[$58>>3] = $54; $59 = $i; $60 = (($59) + 1)|0; $i = $60; } $61 = $0; $62 = (($61) + 24|0); $63 = HEAP32[$62>>2]|0; $lenacc = $63; $iter = 0; while(1) { $64 = $iter; $65 = $J; $66 = ($64|0)<($65|0); if (!($66)) { break; } $67 = $temp_len; $68 = $lenacc; $69 = (($68) - ($67))|0; $lenacc = $69; $70 = $iter; $71 = ($70|0)>(0); if ($71) { $72 = $M; $73 = $72<<1; $M = $73; $74 = $M; $75 = $len_filt; $76 = Math_imul($74, $75)|0; $N = $76; } else { $77 = $len_filt; $N = $77; } $78 = $0; $79 = $M; $80 = $0; $81 = (($80) + 488|0); $82 = $temp_len; $83 = $cA; $84 = $temp_len; $85 = $cD; $86 = $temp_len; _modwt_per($78,$79,$81,$82,$83,$84,$85,$86); $i = 0; while(1) { $87 = $i; $88 = $temp_len; $89 = ($87|0)<($88|0); if (!($89)) { break; } $90 = $i; $91 = $cA; $92 = (($91) + ($90<<3)|0); $93 = +HEAPF64[$92>>3]; $94 = $i; $95 = $0; $96 = (($95) + 488|0); $97 = (($96) + ($94<<3)|0); HEAPF64[$97>>3] = $93; $98 = $i; $99 = $cD; $100 = (($99) + ($98<<3)|0); $101 = +HEAPF64[$100>>3]; $102 = $lenacc; $103 = $i; $104 = (($102) + ($103))|0; $105 = $0; $106 = (($105) + 488|0); $107 = (($106) + ($104<<3)|0); HEAPF64[$107>>3] = $101; $108 = $i; $109 = (($108) + 1)|0; $i = $109; } $110 = $iter; $111 = (($110) + 1)|0; $iter = $111; } $112 = $cA; _free($112); $113 = $cD; _free($113); STACKTOP = sp;return; } function _modwt_per($wt,$M,$inp,$N,$cA,$len_cA,$cD,$len_cD) { $wt = $wt|0; $M = $M|0; $inp = $inp|0; $N = $N|0; $cA = $cA|0; $len_cA = $len_cA|0; $cD = $cD|0; $len_cD = $len_cD|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; var $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0; var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0; var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0.0, $94 = 0; var $95 = 0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0, $filt = 0, $i = 0, $l = 0, $len_avg = 0, $s = 0.0, $t = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $wt; $1 = $M; $2 = $inp; $3 = $N; $4 = $cA; $5 = $len_cA; $6 = $cD; $7 = $len_cD; $8 = $0; $9 = HEAP32[$8>>2]|0; $10 = (($9) + 56|0); $11 = HEAP32[$10>>2]|0; $len_avg = $11; $12 = $len_avg; $13 = $12<<4; $14 = (_malloc($13)|0); $filt = $14; $15 = (+Math_sqrt(2.0)); $s = $15; $i = 0; while(1) { $16 = $i; $17 = $len_avg; $18 = ($16|0)<($17|0); if (!($18)) { break; } $19 = $i; $20 = $0; $21 = HEAP32[$20>>2]|0; $22 = (($21) + 72|0); $23 = HEAP32[$22>>2]|0; $24 = (($23) + ($19<<3)|0); $25 = +HEAPF64[$24>>3]; $26 = $s; $27 = $25 / $26; $28 = $i; $29 = $filt; $30 = (($29) + ($28<<3)|0); HEAPF64[$30>>3] = $27; $31 = $i; $32 = $0; $33 = HEAP32[$32>>2]|0; $34 = (($33) + 76|0); $35 = HEAP32[$34>>2]|0; $36 = (($35) + ($31<<3)|0); $37 = +HEAPF64[$36>>3]; $38 = $s; $39 = $37 / $38; $40 = $len_avg; $41 = $i; $42 = (($40) + ($41))|0; $43 = $filt; $44 = (($43) + ($42<<3)|0); HEAPF64[$44>>3] = $39; $45 = $i; $46 = (($45) + 1)|0; $i = $46; } $i = 0; while(1) { $47 = $i; $48 = $5; $49 = ($47|0)<($48|0); if (!($49)) { break; } $50 = $i; $t = $50; $51 = $filt; $52 = +HEAPF64[$51>>3]; $53 = $t; $54 = $2; $55 = (($54) + ($53<<3)|0); $56 = +HEAPF64[$55>>3]; $57 = $52 * $56; $58 = $i; $59 = $4; $60 = (($59) + ($58<<3)|0); HEAPF64[$60>>3] = $57; $61 = $len_avg; $62 = $filt; $63 = (($62) + ($61<<3)|0); $64 = +HEAPF64[$63>>3]; $65 = $t; $66 = $2; $67 = (($66) + ($65<<3)|0); $68 = +HEAPF64[$67>>3]; $69 = $64 * $68; $70 = $i; $71 = $6; $72 = (($71) + ($70<<3)|0); HEAPF64[$72>>3] = $69; $l = 1; while(1) { $73 = $l; $74 = $len_avg; $75 = ($73|0)<($74|0); if (!($75)) { break; } $76 = $1; $77 = $t; $78 = (($77) - ($76))|0; $t = $78; while(1) { $79 = $t; $80 = $5; $81 = ($79|0)>=($80|0); if (!($81)) { break; } $82 = $5; $83 = $t; $84 = (($83) - ($82))|0; $t = $84; } while(1) { $85 = $t; $86 = ($85|0)<(0); if (!($86)) { break; } $87 = $5; $88 = $t; $89 = (($88) + ($87))|0; $t = $89; } $90 = $l; $91 = $filt; $92 = (($91) + ($90<<3)|0); $93 = +HEAPF64[$92>>3]; $94 = $t; $95 = $2; $96 = (($95) + ($94<<3)|0); $97 = +HEAPF64[$96>>3]; $98 = $93 * $97; $99 = $i; $100 = $4; $101 = (($100) + ($99<<3)|0); $102 = +HEAPF64[$101>>3]; $103 = $102 + $98; HEAPF64[$101>>3] = $103; $104 = $len_avg; $105 = $l; $106 = (($104) + ($105))|0; $107 = $filt; $108 = (($107) + ($106<<3)|0); $109 = +HEAPF64[$108>>3]; $110 = $t; $111 = $2; $112 = (($111) + ($110<<3)|0); $113 = +HEAPF64[$112>>3]; $114 = $109 * $113; $115 = $i; $116 = $6; $117 = (($116) + ($115<<3)|0); $118 = +HEAPF64[$117>>3]; $119 = $118 + $114; HEAPF64[$117>>3] = $119; $120 = $l; $121 = (($120) + 1)|0; $l = $121; } $122 = $i; $123 = (($122) + 1)|0; $i = $123; } $124 = $filt; _free($124); STACKTOP = sp;return; } function _imodwt($wt,$dwtop) { $wt = $wt|0; $dwtop = $dwtop|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $J = 0, $M = 0, $N = 0, $U = 0, $X = 0, $i = 0, $iter = 0, $j = 0, $lenacc = 0, $lf = 0; var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $wt; $1 = $dwtop; $2 = $0; $3 = (($2) + 20|0); $4 = HEAP32[$3>>2]|0; $N = $4; $5 = $0; $6 = (($5) + 32|0); $7 = HEAP32[$6>>2]|0; $J = $7; $U = 2; $8 = $0; $9 = HEAP32[$8>>2]|0; $10 = (($9) + 64|0); $11 = HEAP32[$10>>2]|0; $lf = $11; $12 = $N; $lenacc = $12; $13 = $J; $14 = (+($13|0)); $15 = $14 - 1.0; $16 = (+Math_pow(2.0,(+$15))); $17 = (~~(($16))); $M = $17; $18 = $N; $19 = $18<<3; $20 = (_malloc($19)|0); $X = $20; $i = 0; while(1) { $21 = $i; $22 = $N; $23 = ($21|0)<($22|0); if (!($23)) { break; } $24 = $i; $25 = $0; $26 = (($25) + 484|0); $27 = HEAP32[$26>>2]|0; $28 = (($27) + ($24<<3)|0); $29 = +HEAPF64[$28>>3]; $30 = $i; $31 = $1; $32 = (($31) + ($30<<3)|0); HEAPF64[$32>>3] = $29; $33 = $i; $34 = (($33) + 1)|0; $i = $34; } $iter = 0; while(1) { $35 = $iter; $36 = $J; $37 = ($35|0)<($36|0); if (!($37)) { break; } $38 = $iter; $39 = ($38|0)>(0); if ($39) { $40 = $M; $41 = (($40|0) / 2)&-1; $M = $41; } $42 = $0; $43 = $M; $44 = $1; $45 = $N; $46 = $0; $47 = (($46) + 488|0); $48 = $lenacc; $49 = (($47) + ($48<<3)|0); $50 = $N; $51 = $X; _imodwt_per($42,$43,$44,$45,$49,$50,$51); $j = 0; while(1) { $52 = $j; $53 = $N; $54 = ($52|0)<($53|0); if (!($54)) { break; } $55 = $j; $56 = $X; $57 = (($56) + ($55<<3)|0); $58 = +HEAPF64[$57>>3]; $59 = $j; $60 = $1; $61 = (($60) + ($59<<3)|0); HEAPF64[$61>>3] = $58; $62 = $j; $63 = (($62) + 1)|0; $j = $63; } $64 = $N; $65 = $lenacc; $66 = (($65) + ($64))|0; $lenacc = $66; $67 = $iter; $68 = (($67) + 1)|0; $iter = $68; } $69 = $X; _free($69); STACKTOP = sp;return; } function _imodwt_per($wt,$M,$cA,$len_cA,$cD,$len_cD,$X) { $wt = $wt|0; $M = $M|0; $cA = $cA|0; $len_cA = $len_cA|0; $cD = $cD|0; $len_cD = $len_cD|0; $X = $X|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0.0, $112 = 0.0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0; var $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $filt = 0, $i = 0; var $l = 0, $len_avg = 0, $s = 0.0, $t = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $wt; $1 = $M; $2 = $cA; $3 = $len_cA; $4 = $cD; $5 = $len_cD; $6 = $X; $7 = $0; $8 = HEAP32[$7>>2]|0; $9 = (($8) + 56|0); $10 = HEAP32[$9>>2]|0; $len_avg = $10; $11 = $len_avg; $12 = $11<<4; $13 = (_malloc($12)|0); $filt = $13; $14 = (+Math_sqrt(2.0)); $s = $14; $i = 0; while(1) { $15 = $i; $16 = $len_avg; $17 = ($15|0)<($16|0); if (!($17)) { break; } $18 = $i; $19 = $0; $20 = HEAP32[$19>>2]|0; $21 = (($20) + 72|0); $22 = HEAP32[$21>>2]|0; $23 = (($22) + ($18<<3)|0); $24 = +HEAPF64[$23>>3]; $25 = $s; $26 = $24 / $25; $27 = $i; $28 = $filt; $29 = (($28) + ($27<<3)|0); HEAPF64[$29>>3] = $26; $30 = $i; $31 = $0; $32 = HEAP32[$31>>2]|0; $33 = (($32) + 76|0); $34 = HEAP32[$33>>2]|0; $35 = (($34) + ($30<<3)|0); $36 = +HEAPF64[$35>>3]; $37 = $s; $38 = $36 / $37; $39 = $len_avg; $40 = $i; $41 = (($39) + ($40))|0; $42 = $filt; $43 = (($42) + ($41<<3)|0); HEAPF64[$43>>3] = $38; $44 = $i; $45 = (($44) + 1)|0; $i = $45; } $i = 0; while(1) { $46 = $i; $47 = $3; $48 = ($46|0)<($47|0); if (!($48)) { break; } $49 = $i; $t = $49; $50 = $filt; $51 = +HEAPF64[$50>>3]; $52 = $t; $53 = $2; $54 = (($53) + ($52<<3)|0); $55 = +HEAPF64[$54>>3]; $56 = $51 * $55; $57 = $len_avg; $58 = $filt; $59 = (($58) + ($57<<3)|0); $60 = +HEAPF64[$59>>3]; $61 = $t; $62 = $4; $63 = (($62) + ($61<<3)|0); $64 = +HEAPF64[$63>>3]; $65 = $60 * $64; $66 = $56 + $65; $67 = $i; $68 = $6; $69 = (($68) + ($67<<3)|0); HEAPF64[$69>>3] = $66; $l = 1; while(1) { $70 = $l; $71 = $len_avg; $72 = ($70|0)<($71|0); if (!($72)) { break; } $73 = $1; $74 = $t; $75 = (($74) + ($73))|0; $t = $75; while(1) { $76 = $t; $77 = $3; $78 = ($76|0)>=($77|0); if (!($78)) { break; } $79 = $3; $80 = $t; $81 = (($80) - ($79))|0; $t = $81; } while(1) { $82 = $t; $83 = ($82|0)<(0); if (!($83)) { break; } $84 = $3; $85 = $t; $86 = (($85) + ($84))|0; $t = $86; } $87 = $l; $88 = $filt; $89 = (($88) + ($87<<3)|0); $90 = +HEAPF64[$89>>3]; $91 = $t; $92 = $2; $93 = (($92) + ($91<<3)|0); $94 = +HEAPF64[$93>>3]; $95 = $90 * $94; $96 = $len_avg; $97 = $l; $98 = (($96) + ($97))|0; $99 = $filt; $100 = (($99) + ($98<<3)|0); $101 = +HEAPF64[$100>>3]; $102 = $t; $103 = $4; $104 = (($103) + ($102<<3)|0); $105 = +HEAPF64[$104>>3]; $106 = $101 * $105; $107 = $95 + $106; $108 = $i; $109 = $6; $110 = (($109) + ($108<<3)|0); $111 = +HEAPF64[$110>>3]; $112 = $111 + $107; HEAPF64[$110>>3] = $112; $113 = $l; $114 = (($113) + 1)|0; $l = $114; } $115 = $i; $116 = (($115) + 1)|0; $i = $116; } $117 = $filt; _free($117); STACKTOP = sp;return; } function _setDWTExtension($wt,$extension) { $wt = $wt|0; $extension = $extension|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $vararg_buffer = sp; $0 = $wt; $1 = $extension; $2 = $1; $3 = (_strcmp($2,17184)|0); $4 = ($3|0)!=(0); if (!($4)) { $5 = $0; $6 = (($5) + 44|0); (_strcpy(($6|0),(17184|0))|0); STACKTOP = sp;return; } $7 = $1; $8 = (_strcmp($7,17288)|0); $9 = ($8|0)!=(0); if ($9) { (_printf((17440|0),($vararg_buffer|0))|0); _exit(-1); // unreachable; } $10 = $0; $11 = (($10) + 44|0); (_strcpy(($11|0),(17288|0))|0); STACKTOP = sp;return; } function _wave_free($object) { $object = $object|0; var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $object; $1 = $0; _free($1); STACKTOP = sp;return; } function _wt_free($object) { $object = $object|0; var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $object; $1 = $0; _free($1); STACKTOP = sp;return; } function _swt_per($wt,$M,$inp,$N,$cA,$len_cA,$cD,$len_cD) { $wt = $wt|0; $M = $M|0; $inp = $inp|0; $N = $N|0; $cA = $cA|0; $len_cA = $len_cA|0; $cD = $cD|0; $len_cD = $len_cD|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0.0; var $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0.0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0.0, $135 = 0.0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0.0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0.0, $155 = 0.0, $156 = 0, $157 = 0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0.0, $168 = 0, $169 = 0, $17 = 0; var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0.0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0.0, $204 = 0.0, $205 = 0; var $206 = 0, $207 = 0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0.0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; var $224 = 0.0, $225 = 0.0, $226 = 0, $227 = 0, $228 = 0, $229 = 0.0, $23 = 0, $230 = 0.0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0.0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0.0, $259 = 0.0, $26 = 0; var $260 = 0, $261 = 0, $262 = 0, $263 = 0.0, $264 = 0.0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0.0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; var $279 = 0, $28 = 0, $280 = 0.0, $281 = 0.0, $282 = 0, $283 = 0, $284 = 0, $285 = 0.0, $286 = 0.0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0.0, $294 = 0, $295 = 0, $296 = 0; var $297 = 0, $298 = 0.0, $299 = 0.0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0.0, $304 = 0.0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0.0, $312 = 0, $313 = 0; var $314 = 0, $315 = 0, $316 = 0.0, $317 = 0.0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0.0, $322 = 0.0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; var $56 = 0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; var $74 = 0, $75 = 0, $76 = 0.0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $isodd = 0, $j = 0, $l = 0, $l2 = 0, $len_avg = 0, $t = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $wt; $1 = $M; $2 = $inp; $3 = $N; $4 = $cA; $5 = $len_cA; $6 = $cD; $7 = $len_cD; $8 = $1; $9 = $0; $10 = HEAP32[$9>>2]|0; $11 = (($10) + 56|0); $12 = HEAP32[$11>>2]|0; $13 = Math_imul($8, $12)|0; $len_avg = $13; $14 = $len_avg; $15 = (($14|0) / 2)&-1; $l2 = $15; $16 = $3; $17 = (($16|0) % 2)&-1; $isodd = $17; $i = 0; while(1) { $18 = $i; $19 = $5; $20 = ($18|0)<($19|0); if (!($20)) { break; } $21 = $i; $22 = $l2; $23 = (($21) + ($22))|0; $t = $23; $24 = $i; $25 = $4; $26 = (($25) + ($24<<3)|0); HEAPF64[$26>>3] = 0.0; $27 = $i; $28 = $6; $29 = (($28) + ($27<<3)|0); HEAPF64[$29>>3] = 0.0; $l = -1; $j = 0; while(1) { $30 = $j; $31 = $len_avg; $32 = ($30|0)<($31|0); if (!($32)) { break; } $33 = $l; $34 = (($33) + 1)|0; $l = $34; while(1) { $35 = $j; $36 = $5; $37 = ($35|0)>=($36|0); if (!($37)) { break; } $38 = $5; $39 = $j; $40 = (($39) - ($38))|0; $j = $40; } $41 = $t; $42 = $j; $43 = (($41) - ($42))|0; $44 = $l2; $45 = ($43|0)>=($44|0); if ($45) { $46 = $t; $47 = $j; $48 = (($46) - ($47))|0; $49 = $3; $50 = ($48|0)<($49|0); if ($50) { $51 = $l; $52 = $0; $53 = HEAP32[$52>>2]|0; $54 = (($53) + 72|0); $55 = HEAP32[$54>>2]|0; $56 = (($55) + ($51<<3)|0); $57 = +HEAPF64[$56>>3]; $58 = $t; $59 = $j; $60 = (($58) - ($59))|0; $61 = $2; $62 = (($61) + ($60<<3)|0); $63 = +HEAPF64[$62>>3]; $64 = $57 * $63; $65 = $i; $66 = $4; $67 = (($66) + ($65<<3)|0); $68 = +HEAPF64[$67>>3]; $69 = $68 + $64; HEAPF64[$67>>3] = $69; $70 = $l; $71 = $0; $72 = HEAP32[$71>>2]|0; $73 = (($72) + 76|0); $74 = HEAP32[$73>>2]|0; $75 = (($74) + ($70<<3)|0); $76 = +HEAPF64[$75>>3]; $77 = $t; $78 = $j; $79 = (($77) - ($78))|0; $80 = $2; $81 = (($80) + ($79<<3)|0); $82 = +HEAPF64[$81>>3]; $83 = $76 * $82; $84 = $i; $85 = $6; $86 = (($85) + ($84<<3)|0); $87 = +HEAPF64[$86>>3]; $88 = $87 + $83; HEAPF64[$86>>3] = $88; } else { label = 11; } } else { label = 11; } if ((label|0) == 11) { label = 0; $89 = $t; $90 = $j; $91 = (($89) - ($90))|0; $92 = $l2; $93 = ($91|0)<($92|0); if ($93) { $94 = $t; $95 = $j; $96 = (($94) - ($95))|0; $97 = ($96|0)>=(0); if ($97) { $98 = $l; $99 = $0; $100 = HEAP32[$99>>2]|0; $101 = (($100) + 72|0); $102 = HEAP32[$101>>2]|0; $103 = (($102) + ($98<<3)|0); $104 = +HEAPF64[$103>>3]; $105 = $t; $106 = $j; $107 = (($105) - ($106))|0; $108 = $2; $109 = (($108) + ($107<<3)|0); $110 = +HEAPF64[$109>>3]; $111 = $104 * $110; $112 = $i; $113 = $4; $114 = (($113) + ($112<<3)|0); $115 = +HEAPF64[$114>>3]; $116 = $115 + $111; HEAPF64[$114>>3] = $116; $117 = $l; $118 = $0; $119 = HEAP32[$118>>2]|0; $120 = (($119) + 76|0); $121 = HEAP32[$120>>2]|0; $122 = (($121) + ($117<<3)|0); $123 = +HEAPF64[$122>>3]; $124 = $t; $125 = $j; $126 = (($124) - ($125))|0; $127 = $2; $128 = (($127) + ($126<<3)|0); $129 = +HEAPF64[$128>>3]; $130 = $123 * $129; $131 = $i; $132 = $6; $133 = (($132) + ($131<<3)|0); $134 = +HEAPF64[$133>>3]; $135 = $134 + $130; HEAPF64[$133>>3] = $135; } else { label = 14; } } else { label = 14; } if ((label|0) == 14) { label = 0; $136 = $t; $137 = $j; $138 = (($136) - ($137))|0; $139 = ($138|0)<(0); if ($139) { $140 = $l; $141 = $0; $142 = HEAP32[$141>>2]|0; $143 = (($142) + 72|0); $144 = HEAP32[$143>>2]|0; $145 = (($144) + ($140<<3)|0); $146 = +HEAPF64[$145>>3]; $147 = $t; $148 = $j; $149 = (($147) - ($148))|0; $150 = $3; $151 = (($149) + ($150))|0; $152 = $2; $153 = (($152) + ($151<<3)|0); $154 = +HEAPF64[$153>>3]; $155 = $146 * $154; $156 = $i; $157 = $4; $158 = (($157) + ($156<<3)|0); $159 = +HEAPF64[$158>>3]; $160 = $159 + $155; HEAPF64[$158>>3] = $160; $161 = $l; $162 = $0; $163 = HEAP32[$162>>2]|0; $164 = (($163) + 76|0); $165 = HEAP32[$164>>2]|0; $166 = (($165) + ($161<<3)|0); $167 = +HEAPF64[$166>>3]; $168 = $t; $169 = $j; $170 = (($168) - ($169))|0; $171 = $3; $172 = (($170) + ($171))|0; $173 = $2; $174 = (($173) + ($172<<3)|0); $175 = +HEAPF64[$174>>3]; $176 = $167 * $175; $177 = $i; $178 = $6; $179 = (($178) + ($177<<3)|0); $180 = +HEAPF64[$179>>3]; $181 = $180 + $176; HEAPF64[$179>>3] = $181; } else { $182 = $t; $183 = $j; $184 = (($182) - ($183))|0; $185 = $3; $186 = ($184|0)>=($185|0); if ($186) { $187 = $isodd; $188 = ($187|0)==(0); if ($188) { $189 = $l; $190 = $0; $191 = HEAP32[$190>>2]|0; $192 = (($191) + 72|0); $193 = HEAP32[$192>>2]|0; $194 = (($193) + ($189<<3)|0); $195 = +HEAPF64[$194>>3]; $196 = $t; $197 = $j; $198 = (($196) - ($197))|0; $199 = $3; $200 = (($198) - ($199))|0; $201 = $2; $202 = (($201) + ($200<<3)|0); $203 = +HEAPF64[$202>>3]; $204 = $195 * $203; $205 = $i; $206 = $4; $207 = (($206) + ($205<<3)|0); $208 = +HEAPF64[$207>>3]; $209 = $208 + $204; HEAPF64[$207>>3] = $209; $210 = $l; $211 = $0; $212 = HEAP32[$211>>2]|0; $213 = (($212) + 76|0); $214 = HEAP32[$213>>2]|0; $215 = (($214) + ($210<<3)|0); $216 = +HEAPF64[$215>>3]; $217 = $t; $218 = $j; $219 = (($217) - ($218))|0; $220 = $3; $221 = (($219) - ($220))|0; $222 = $2; $223 = (($222) + ($221<<3)|0); $224 = +HEAPF64[$223>>3]; $225 = $216 * $224; $226 = $i; $227 = $6; $228 = (($227) + ($226<<3)|0); $229 = +HEAPF64[$228>>3]; $230 = $229 + $225; HEAPF64[$228>>3] = $230; } else { label = 19; } } else { label = 19; } if ((label|0) == 19) { label = 0; $231 = $t; $232 = $j; $233 = (($231) - ($232))|0; $234 = $3; $235 = ($233|0)>=($234|0); if ($235) { $236 = $isodd; $237 = ($236|0)==(1); if ($237) { $238 = $t; $239 = $l; $240 = (($238) - ($239))|0; $241 = $3; $242 = ($240|0)!=($241|0); if ($242) { $243 = $l; $244 = $0; $245 = HEAP32[$244>>2]|0; $246 = (($245) + 72|0); $247 = HEAP32[$246>>2]|0; $248 = (($247) + ($243<<3)|0); $249 = +HEAPF64[$248>>3]; $250 = $t; $251 = $j; $252 = (($250) - ($251))|0; $253 = $3; $254 = (($253) + 1)|0; $255 = (($252) - ($254))|0; $256 = $2; $257 = (($256) + ($255<<3)|0); $258 = +HEAPF64[$257>>3]; $259 = $249 * $258; $260 = $i; $261 = $4; $262 = (($261) + ($260<<3)|0); $263 = +HEAPF64[$262>>3]; $264 = $263 + $259; HEAPF64[$262>>3] = $264; $265 = $l; $266 = $0; $267 = HEAP32[$266>>2]|0; $268 = (($267) + 76|0); $269 = HEAP32[$268>>2]|0; $270 = (($269) + ($265<<3)|0); $271 = +HEAPF64[$270>>3]; $272 = $t; $273 = $j; $274 = (($272) - ($273))|0; $275 = $3; $276 = (($275) + 1)|0; $277 = (($274) - ($276))|0; $278 = $2; $279 = (($278) + ($277<<3)|0); $280 = +HEAPF64[$279>>3]; $281 = $271 * $280; $282 = $i; $283 = $6; $284 = (($283) + ($282<<3)|0); $285 = +HEAPF64[$284>>3]; $286 = $285 + $281; HEAPF64[$284>>3] = $286; } else { $287 = $l; $288 = $0; $289 = HEAP32[$288>>2]|0; $290 = (($289) + 72|0); $291 = HEAP32[$290>>2]|0; $292 = (($291) + ($287<<3)|0); $293 = +HEAPF64[$292>>3]; $294 = $3; $295 = (($294) - 1)|0; $296 = $2; $297 = (($296) + ($295<<3)|0); $298 = +HEAPF64[$297>>3]; $299 = $293 * $298; $300 = $i; $301 = $4; $302 = (($301) + ($300<<3)|0); $303 = +HEAPF64[$302>>3]; $304 = $303 + $299; HEAPF64[$302>>3] = $304; $305 = $l; $306 = $0; $307 = HEAP32[$306>>2]|0; $308 = (($307) + 76|0); $309 = HEAP32[$308>>2]|0; $310 = (($309) + ($305<<3)|0); $311 = +HEAPF64[$310>>3]; $312 = $3; $313 = (($312) - 1)|0; $314 = $2; $315 = (($314) + ($313<<3)|0); $316 = +HEAPF64[$315>>3]; $317 = $311 * $316; $318 = $i; $319 = $6; $320 = (($319) + ($318<<3)|0); $321 = +HEAPF64[$320>>3]; $322 = $321 + $317; HEAPF64[$320>>3] = $322; } } } } } } } $323 = $1; $324 = $j; $325 = (($324) + ($323))|0; $j = $325; } $326 = $i; $327 = (($326) + 1)|0; $i = $327; } STACKTOP = sp;return; } function _wtoutputlength($N,$method,$lp,$J,$ext) { $N = $N|0; $method = $method|0; $lp = $lp|0; $J = $J|0; $ext = $ext|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $M = 0, $i = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $N; $1 = $method; $2 = $lp; $3 = $J; $4 = $ext; $M = 0; $5 = $1; $6 = (_strcmp($5,17648)|0); $7 = ($6|0)!=(0); if ($7) { $8 = $1; $9 = (_strcmp($8,17656)|0); $10 = ($9|0)!=(0); if ($10) { $53 = $1; $54 = (_strcmp($53,17680)|0); $55 = ($54|0)!=(0); if ($55) { $56 = $1; $57 = (_strcmp($56,17688)|0); $58 = ($57|0)!=(0); if ($58) { $63 = $1; $64 = (_strcmp($63,17696)|0); $65 = ($64|0)!=(0); if ($65) { $66 = $1; $67 = (_strcmp($66,17704)|0); $68 = ($67|0)!=(0); if (!($68)) { label = 20; } } else { label = 20; } if ((label|0) == 20) { $69 = $3; $70 = (($69) + 1)|0; $71 = $0; $72 = Math_imul($70, $71)|0; $M = $72; } } else { label = 17; } } else { label = 17; } if ((label|0) == 17) { $59 = $3; $60 = (($59) + 1)|0; $61 = $0; $62 = Math_imul($60, $61)|0; $M = $62; } $73 = $M; STACKTOP = sp;return ($73|0); } } $11 = $4; $12 = (_strcmp($11,17664)|0); $13 = ($12|0)!=(0); if ($13) { $30 = $4; $31 = (_strcmp($30,17672)|0); $32 = ($31|0)!=(0); if (!($32)) { $33 = $3; $i = $33; while(1) { $34 = $i; $35 = ($34|0)>(0); if (!($35)) { break; } $36 = $0; $37 = $2; $38 = (($36) + ($37))|0; $39 = (($38) - 2)|0; $0 = $39; $40 = $0; $41 = (+($40|0)); $42 = $41 / 2.0; $43 = (+Math_ceil((+$42))); $44 = (~~(($43))); $0 = $44; $45 = $0; $46 = $M; $47 = (($46) + ($45))|0; $M = $47; $48 = $i; $49 = (($48) + -1)|0; $i = $49; } $50 = $0; $51 = $M; $52 = (($51) + ($50))|0; $M = $52; } } else { $14 = $3; $i = $14; while(1) { $15 = $i; $16 = ($15|0)>(0); if (!($16)) { break; } $17 = $0; $18 = (+($17|0)); $19 = $18 / 2.0; $20 = (+Math_ceil((+$19))); $21 = (~~(($20))); $0 = $21; $22 = $0; $23 = $M; $24 = (($23) + ($22))|0; $M = $24; $25 = $i; $26 = (($25) + -1)|0; $i = $26; } $27 = $0; $28 = $M; $29 = (($28) + ($27))|0; $M = $29; } $73 = $M; STACKTOP = sp;return ($73|0); } function _wave_transform($inp,$N,$wname,$method,$J,$ext,$out,$length,$lenlength,$filters,$filtlength) { $inp = $inp|0; $N = $N|0; $wname = $wname|0; $method = $method|0; $J = $J|0; $ext = $ext|0; $out = $out|0; $length = $length|0; $lenlength = $lenlength|0; $filters = $filters|0; $filtlength = $filtlength|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0.0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; var $i = 0, $obj = 0, $wt = 0, $zpad = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $inp; $1 = $N; $2 = $wname; $3 = $method; $4 = $J; $5 = $ext; $6 = $out; $7 = $length; $8 = $lenlength; $9 = $filters; $10 = $filtlength; $zpad = 0; $11 = $1; $12 = (($11|0) % 2)&-1; $13 = ($12|0)==(0); if ($13) { $zpad = 1; } $14 = $2; $15 = (_wave_init($14)|0); $obj = $15; $16 = $obj; $17 = (($16) + 52|0); $18 = HEAP32[$17>>2]|0; $19 = $10; HEAP32[$19>>2] = $18; $i = 0; while(1) { $20 = $i; $21 = $10; $22 = HEAP32[$21>>2]|0; $23 = ($20|0)<($22|0); if (!($23)) { break; } $24 = $i; $25 = $obj; $26 = (($25) + 72|0); $27 = HEAP32[$26>>2]|0; $28 = (($27) + ($24<<3)|0); $29 = +HEAPF64[$28>>3]; $30 = $i; $31 = $9; $32 = (($31) + ($30<<3)|0); HEAPF64[$32>>3] = $29; $33 = $i; $34 = $obj; $35 = (($34) + 76|0); $36 = HEAP32[$35>>2]|0; $37 = (($36) + ($33<<3)|0); $38 = +HEAPF64[$37>>3]; $39 = $10; $40 = HEAP32[$39>>2]|0; $41 = $i; $42 = (($40) + ($41))|0; $43 = $9; $44 = (($43) + ($42<<3)|0); HEAPF64[$44>>3] = $38; $45 = $i; $46 = $obj; $47 = (($46) + 80|0); $48 = HEAP32[$47>>2]|0; $49 = (($48) + ($45<<3)|0); $50 = +HEAPF64[$49>>3]; $51 = $10; $52 = HEAP32[$51>>2]|0; $53 = $52<<1; $54 = $i; $55 = (($53) + ($54))|0; $56 = $9; $57 = (($56) + ($55<<3)|0); HEAPF64[$57>>3] = $50; $58 = $i; $59 = $obj; $60 = (($59) + 84|0); $61 = HEAP32[$60>>2]|0; $62 = (($61) + ($58<<3)|0); $63 = +HEAPF64[$62>>3]; $64 = $10; $65 = HEAP32[$64>>2]|0; $66 = ($65*3)|0; $67 = $i; $68 = (($66) + ($67))|0; $69 = $9; $70 = (($69) + ($68<<3)|0); HEAPF64[$70>>3] = $63; $71 = $i; $72 = (($71) + 1)|0; $i = $72; } $73 = $obj; $74 = $3; $75 = $1; $76 = $4; $77 = (_wt_init($73,$74,$75,$76)|0); $wt = $77; $78 = $3; $79 = (_strcmp($78,17648)|0); $80 = ($79|0)!=(0); if ($80) { $81 = $3; $82 = (_strcmp($81,17656)|0); $83 = ($82|0)!=(0); if ($83) { $88 = $3; $89 = (_strcmp($88,17680)|0); $90 = ($89|0)!=(0); if ($90) { $91 = $3; $92 = (_strcmp($91,17688)|0); $93 = ($92|0)!=(0); if ($93) { $96 = $3; $97 = (_strcmp($96,17696)|0); $98 = ($97|0)!=(0); if ($98) { $99 = $3; $100 = (_strcmp($99,17704)|0); $101 = ($100|0)!=(0); if (!($101)) { label = 15; } } else { label = 15; } if ((label|0) == 15) { $102 = $wt; $103 = $0; _modwt($102,$103); } } else { label = 12; } } else { label = 12; } if ((label|0) == 12) { $94 = $wt; $95 = $0; _swt($94,$95); } } else { label = 9; } } else { label = 9; } if ((label|0) == 9) { $84 = $wt; $85 = $5; _setDWTExtension($84,$85); $86 = $wt; $87 = $0; _dwt($86,$87); } $104 = $wt; $105 = (($104) + 28|0); $106 = HEAP32[$105>>2]|0; $107 = $8; HEAP32[$107>>2] = $106; $i = 0; while(1) { $108 = $i; $109 = $8; $110 = HEAP32[$109>>2]|0; $111 = ($108|0)<($110|0); if (!($111)) { break; } $112 = $i; $113 = $wt; $114 = (($113) + 76|0); $115 = (($114) + ($112<<2)|0); $116 = HEAP32[$115>>2]|0; $117 = $i; $118 = $7; $119 = (($118) + ($117<<2)|0); HEAP32[$119>>2] = $116; $120 = $i; $121 = (($120) + 1)|0; $i = $121; } $i = 0; while(1) { $122 = $i; $123 = $wt; $124 = (($123) + 24|0); $125 = HEAP32[$124>>2]|0; $126 = ($122|0)<($125|0); if (!($126)) { break; } $127 = $i; $128 = $wt; $129 = (($128) + 484|0); $130 = HEAP32[$129>>2]|0; $131 = (($130) + ($127<<3)|0); $132 = +HEAPF64[$131>>3]; $133 = $i; $134 = $6; $135 = (($134) + ($133<<3)|0); HEAPF64[$135>>3] = $132; $136 = $i; $137 = (($136) + 1)|0; $i = $137; } $138 = $obj; _wave_free($138); $139 = $wt; _wt_free($139); STACKTOP = sp;return; } function _inv_wave_transform($inp,$N,$wname,$method,$J,$ext,$out,$outlength,$length,$lenlength) { $inp = $inp|0; $N = $N|0; $wname = $wname|0; $method = $method|0; $J = $J|0; $ext = $ext|0; $out = $out|0; $outlength = $outlength|0; $length = $length|0; $lenlength = $lenlength|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, $i = 0, $obj = 0, $wt = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $0 = $inp; $1 = $N; $2 = $wname; $3 = $method; $4 = $J; $5 = $ext; $6 = $out; $7 = $outlength; $8 = $length; $9 = $lenlength; $10 = $2; $11 = (_wave_init($10)|0); $obj = $11; $12 = $obj; $13 = $3; $14 = $7; $15 = $4; $16 = (_wt_init($12,$13,$14,$15)|0); $wt = $16; $i = 0; while(1) { $17 = $i; $18 = $1; $19 = ($17|0)<($18|0); if (!($19)) { break; } $20 = $i; $21 = $0; $22 = (($21) + ($20<<3)|0); $23 = +HEAPF64[$22>>3]; $24 = $i; $25 = $wt; $26 = (($25) + 484|0); $27 = HEAP32[$26>>2]|0; $28 = (($27) + ($24<<3)|0); HEAPF64[$28>>3] = $23; $29 = $i; $30 = (($29) + 1)|0; $i = $30; } $31 = $9; $32 = $wt; $33 = (($32) + 28|0); HEAP32[$33>>2] = $31; $i = 0; while(1) { $34 = $i; $35 = $9; $36 = ($34|0)<($35|0); if (!($36)) { break; } $37 = $i; $38 = $8; $39 = (($38) + ($37<<2)|0); $40 = HEAP32[$39>>2]|0; $41 = $i; $42 = $wt; $43 = (($42) + 76|0); $44 = (($43) + ($41<<2)|0); HEAP32[$44>>2] = $40; $45 = $i; $46 = (($45) + 1)|0; $i = $46; } $47 = $3; $48 = (_strcmp($47,17648)|0); $49 = ($48|0)!=(0); if ($49) { $50 = $3; $51 = (_strcmp($50,17656)|0); $52 = ($51|0)!=(0); if ($52) { $57 = $3; $58 = (_strcmp($57,17680)|0); $59 = ($58|0)!=(0); if ($59) { $60 = $3; $61 = (_strcmp($60,17688)|0); $62 = ($61|0)!=(0); if ($62) { $65 = $3; $66 = (_strcmp($65,17696)|0); $67 = ($66|0)!=(0); if ($67) { $68 = $3; $69 = (_strcmp($68,17704)|0); $70 = ($69|0)!=(0); if (!($70)) { label = 17; } } else { label = 17; } if ((label|0) == 17) { $71 = $wt; $72 = $6; _imodwt($71,$72); } } else { label = 14; } } else { label = 14; } if ((label|0) == 14) { $63 = $wt; $64 = $6; _iswt($63,$64); } $73 = $obj; _wave_free($73); $74 = $wt; _wt_free($74); STACKTOP = sp;return; } } $53 = $wt; $54 = $5; _setDWTExtension($53,$54); $55 = $wt; $56 = $6; _idwt($55,$56); $73 = $obj; _wave_free($73); $74 = $wt; _wt_free($74); STACKTOP = sp;return; } function _strchr($s,$c) { $s = $s|0; $c = $c|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = (___strchrnul($s,$c)|0); $1 = HEAP8[$0>>0]|0; $2 = $c&255; $3 = ($1<<24>>24)==($2<<24>>24); $4 = $3 ? $0 : 0; STACKTOP = sp;return ($4|0); } function ___strchrnul($s,$c) { $s = $s|0; $c = $c|0; var $$0 = 0, $$02$lcssa = 0, $$026 = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $w$0$lcssa = 0, $w$03 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = $c & 255; $1 = ($0|0)==(0); if ($1) { $6 = (_strlen(($s|0))|0); $7 = (($s) + ($6)|0); $$0 = $7; STACKTOP = sp;return ($$0|0); } $2 = $s; $3 = $2 & 3; $4 = ($3|0)==(0); L5: do { if ($4) { $$02$lcssa = $s; } else { $5 = $c&255; $$026 = $s; while(1) { $12 = HEAP8[$$026>>0]|0; $13 = ($12<<24>>24)==(0); if ($13) { $$0 = $$026; label = 13; break; } $14 = ($12<<24>>24)==($5<<24>>24); $9 = (($$026) + 1|0); if ($14) { $$0 = $$026; label = 13; break; } $8 = $9; $10 = $8 & 3; $11 = ($10|0)==(0); if ($11) { $$02$lcssa = $9; break L5; } else { $$026 = $9; } } if ((label|0) == 13) { STACKTOP = sp;return ($$0|0); } } } while(0); $15 = Math_imul($0, 16843009)|0; $16 = HEAP32[$$02$lcssa>>2]|0; $17 = (($16) + -16843009)|0; $18 = $16 & -2139062144; $19 = $18 ^ -2139062144; $20 = $19 & $17; $21 = ($20|0)==(0); L15: do { if ($21) { $30 = $16;$w$03 = $$02$lcssa; while(1) { $29 = $30 ^ $15; $31 = (($29) + -16843009)|0; $32 = $29 & -2139062144; $33 = $32 ^ -2139062144; $34 = $33 & $31; $35 = ($34|0)==(0); $23 = (($w$03) + 4|0); if (!($35)) { $w$0$lcssa = $w$03; break L15; } $22 = HEAP32[$23>>2]|0; $24 = (($22) + -16843009)|0; $25 = $22 & -2139062144; $26 = $25 ^ -2139062144; $27 = $26 & $24; $28 = ($27|0)==(0); if ($28) { $30 = $22;$w$03 = $23; } else { $w$0$lcssa = $23; break; } } } else { $w$0$lcssa = $$02$lcssa; } } while(0); $36 = $c&255; $$1 = $w$0$lcssa; while(1) { $37 = HEAP8[$$1>>0]|0; $38 = ($37<<24>>24)==(0); $39 = ($37<<24>>24)==($36<<24>>24); $or$cond = $38 | $39; $40 = (($$1) + 1|0); if ($or$cond) { $$0 = $$1; break; } else { $$1 = $40; } } STACKTOP = sp;return ($$0|0); } function _strstr($h,$n) { $h = $h|0; $n = $n|0; var $$$i = 0, $$$i16 = 0, $$$i8 = 0, $$0 = 0, $$0$lcssa$i = 0, $$0$lcssa$i15 = 0, $$0$lcssa$i7 = 0, $$01$i = 0, $$02$i = 0, $$02$i11 = 0, $$02$i5 = 0, $$02$us$i = 0, $$lcssa$i = 0, $$lcssa$i14 = 0, $$mem$0$us$i = 0, $$pr$i = 0, $$pr$us$i = 0, $0 = 0, $1 = 0, $10 = 0; var $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0; var $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0; var $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0; var $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0; var $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0; var $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $byteset$i = 0, $hw$0$in2$i = 0, $hw$03$i = 0, $hw$03$i10 = 0, $ip$0$ph78$i = 0, $ip$0$ph78146$i = 0; var $ip$0$ph81$i = 0, $ip$1$ip$0$$i = 0, $ip$1$ip$0$i = 0, $ip$1$ph58$i = 0, $ip$1$ph61$i = 0, $jp$0$ph22$ph72$i = 0, $jp$0$ph2266$i = 0, $jp$0$ph82$i = 0, $jp$1$ph11$ph52$i = 0, $jp$1$ph1146$i = 0, $jp$1$ph62$i = 0, $k$030$i = 0, $k$117$i = 0, $k$2$us$i = 0, $k$37$i = 0, $k$37$us$i = 0, $k$4$i = 0, $k$4$us$i = 0, $l$039$i = 0, $mem$0$us$i = 0; var $notlhs$i = 0, $notrhs$us$i = 0, $or$cond$i = 0, $or$cond$i12 = 0, $or$cond3$us$i = 0, $p$0$ph$ph70$i = 0, $p$0$ph$ph70150$i = 0, $p$0$ph$ph73$i = 0, $p$1$p$0$i = 0, $p$1$ph$ph50$i = 0, $p$1$ph$ph53$i = 0, $p$3155$i = 0, $shift$i = 0, $z$0$i = 0, $z$0$us$i = 0, $z$1$i = 0, $z$1$us$i = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); $byteset$i = sp + 1024|0; $shift$i = sp; $0 = HEAP8[$n>>0]|0; $1 = ($0<<24>>24)==(0); if ($1) { $$0 = $h; STACKTOP = sp;return ($$0|0); } $2 = $0 << 24 >> 24; $3 = (_strchr($h,$2)|0); $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $5 = (($n) + 1|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)==(0); if ($7) { $$0 = $3; STACKTOP = sp;return ($$0|0); } $8 = (($3) + 1|0); $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)==(0); if ($10) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $11 = (($n) + 2|0); $12 = HEAP8[$11>>0]|0; $13 = ($12<<24>>24)==(0); if ($13) { $14 = $0&255; $15 = $14 << 8; $16 = $6&255; $17 = $16 | $15; $18 = HEAP8[$3>>0]|0; $19 = $18&255; $20 = $9&255; $21 = $19 << 8; $22 = $21 | $20; $$01$i = $8;$270 = $9;$hw$0$in2$i = $22; while(1) { $23 = $hw$0$in2$i & 65535; $24 = ($23|0)==($17|0); if ($24) { $$0$lcssa$i = $$01$i;$32 = $270; break; } $25 = $23 << 8; $26 = (($$01$i) + 1|0); $27 = HEAP8[$26>>0]|0; $28 = $27&255; $29 = $28 | $25; $30 = ($27<<24>>24)==(0); if ($30) { $$0$lcssa$i = $26;$32 = 0; break; } else { $$01$i = $26;$270 = $27;$hw$0$in2$i = $29; } } $31 = ($32<<24>>24)==(0); $33 = (($$0$lcssa$i) + -1|0); $$$i = $31 ? 0 : $33; $$0 = $$$i; STACKTOP = sp;return ($$0|0); } $34 = (($3) + 2|0); $35 = HEAP8[$34>>0]|0; $36 = ($35<<24>>24)==(0); if ($36) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $37 = (($n) + 3|0); $38 = HEAP8[$37>>0]|0; $39 = ($38<<24>>24)==(0); if ($39) { $40 = $0&255; $41 = $40 << 24; $42 = $6&255; $43 = $42 << 16; $44 = $43 | $41; $45 = $12&255; $46 = $45 << 8; $47 = $44 | $46; $48 = HEAP8[$3>>0]|0; $49 = $48&255; $50 = $49 << 24; $51 = $9&255; $52 = $51 << 16; $53 = $35&255; $54 = $53 << 8; $55 = $54 | $52; $56 = $55 | $50; $57 = ($56|0)==($47|0); if ($57) { $$0$lcssa$i7 = $34;$$lcssa$i = 0; } else { $$02$i5 = $34;$hw$03$i = $56; while(1) { $58 = (($$02$i5) + 1|0); $59 = HEAP8[$58>>0]|0; $60 = $59&255; $61 = $60 | $hw$03$i; $62 = $61 << 8; $63 = ($59<<24>>24)==(0); $64 = ($62|0)==($47|0); $or$cond$i = $63 | $64; if ($or$cond$i) { $$0$lcssa$i7 = $58;$$lcssa$i = $63; break; } else { $$02$i5 = $58;$hw$03$i = $62; } } } $65 = (($$0$lcssa$i7) + -2|0); $$$i8 = $$lcssa$i ? 0 : $65; $$0 = $$$i8; STACKTOP = sp;return ($$0|0); } $66 = (($3) + 3|0); $67 = HEAP8[$66>>0]|0; $68 = ($67<<24>>24)==(0); if ($68) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $69 = (($n) + 4|0); $70 = HEAP8[$69>>0]|0; $71 = ($70<<24>>24)==(0); if ($71) { $72 = $0&255; $73 = $72 << 24; $74 = $6&255; $75 = $74 << 16; $76 = $75 | $73; $77 = $12&255; $78 = $77 << 8; $79 = $76 | $78; $80 = $38&255; $81 = $79 | $80; $82 = HEAP8[$3>>0]|0; $83 = $82&255; $84 = $83 << 24; $85 = $9&255; $86 = $85 << 16; $87 = $35&255; $88 = $87 << 8; $89 = $67&255; $90 = $88 | $86; $91 = $90 | $89; $92 = $91 | $84; $93 = ($92|0)==($81|0); if ($93) { $$0$lcssa$i15 = $66;$$lcssa$i14 = 0; } else { $$02$i11 = $66;$hw$03$i10 = $92; while(1) { $94 = $hw$03$i10 << 8; $95 = (($$02$i11) + 1|0); $96 = HEAP8[$95>>0]|0; $97 = $96&255; $98 = $97 | $94; $99 = ($96<<24>>24)==(0); $100 = ($98|0)==($81|0); $or$cond$i12 = $99 | $100; if ($or$cond$i12) { $$0$lcssa$i15 = $95;$$lcssa$i14 = $99; break; } else { $$02$i11 = $95;$hw$03$i10 = $98; } } } $101 = (($$0$lcssa$i15) + -3|0); $$$i16 = $$lcssa$i14 ? 0 : $101; $$0 = $$$i16; STACKTOP = sp;return ($$0|0); } ;HEAP32[$byteset$i+0>>2]=0|0;HEAP32[$byteset$i+4>>2]=0|0;HEAP32[$byteset$i+8>>2]=0|0;HEAP32[$byteset$i+12>>2]=0|0;HEAP32[$byteset$i+16>>2]=0|0;HEAP32[$byteset$i+20>>2]=0|0;HEAP32[$byteset$i+24>>2]=0|0;HEAP32[$byteset$i+28>>2]=0|0; $106 = $0;$l$039$i = 0; while(1) { $102 = (($3) + ($l$039$i)|0); $103 = HEAP8[$102>>0]|0; $104 = ($103<<24>>24)==(0); if ($104) { $$0 = 0; label = 79; break; } $105 = $106&255; $107 = $105 & 31; $108 = 1 << $107; $109 = $105 >>> 5; $110 = (($byteset$i) + ($109<<2)|0); $111 = HEAP32[$110>>2]|0; $112 = $111 | $108; HEAP32[$110>>2] = $112; $113 = (($l$039$i) + 1)|0; $114 = (($shift$i) + ($105<<2)|0); HEAP32[$114>>2] = $113; $115 = (($n) + ($113)|0); $116 = HEAP8[$115>>0]|0; $117 = ($116<<24>>24)==(0); if ($117) { break; } else { $106 = $116;$l$039$i = $113; } } if ((label|0) == 79) { STACKTOP = sp;return ($$0|0); } $118 = ($113>>>0)>(1); L49: do { if ($118) { $271 = 1;$ip$0$ph81$i = -1;$jp$0$ph82$i = 0; L50: while(1) { $272 = $271;$jp$0$ph22$ph72$i = $jp$0$ph82$i;$p$0$ph$ph73$i = 1; while(1) { $273 = $272;$jp$0$ph2266$i = $jp$0$ph22$ph72$i; L54: while(1) { $120 = $273;$k$030$i = 1; while(1) { $125 = (($k$030$i) + ($ip$0$ph81$i))|0; $126 = (($n) + ($125)|0); $127 = HEAP8[$126>>0]|0; $128 = (($n) + ($120)|0); $129 = HEAP8[$128>>0]|0; $130 = ($127<<24>>24)==($129<<24>>24); if (!($130)) { break L54; } $131 = ($k$030$i|0)==($p$0$ph$ph73$i|0); $123 = (($k$030$i) + 1)|0; if ($131) { break; } $122 = (($123) + ($jp$0$ph2266$i))|0; $124 = ($122>>>0)<($113>>>0); if ($124) { $120 = $122;$k$030$i = $123; } else { $ip$0$ph78$i = $ip$0$ph81$i;$p$0$ph$ph70$i = $p$0$ph$ph73$i; break L50; } } $132 = (($jp$0$ph2266$i) + ($p$0$ph$ph73$i))|0; $133 = (($132) + 1)|0; $134 = ($133>>>0)<($113>>>0); if ($134) { $273 = $133;$jp$0$ph2266$i = $132; } else { $ip$0$ph78$i = $ip$0$ph81$i;$p$0$ph$ph70$i = $p$0$ph$ph73$i; break L50; } } $135 = ($127&255)>($129&255); $136 = (($120) - ($ip$0$ph81$i))|0; if (!($135)) { break; } $119 = (($120) + 1)|0; $121 = ($119>>>0)<($113>>>0); if ($121) { $272 = $119;$jp$0$ph22$ph72$i = $120;$p$0$ph$ph73$i = $136; } else { $ip$0$ph78$i = $ip$0$ph81$i;$p$0$ph$ph70$i = $136; break L50; } } $137 = (($jp$0$ph2266$i) + 1)|0; $138 = (($jp$0$ph2266$i) + 2)|0; $139 = ($138>>>0)<($113>>>0); if ($139) { $271 = $138;$ip$0$ph81$i = $jp$0$ph2266$i;$jp$0$ph82$i = $137; } else { $ip$0$ph78$i = $jp$0$ph2266$i;$p$0$ph$ph70$i = 1; break; } } $274 = 1;$ip$1$ph61$i = -1;$jp$1$ph62$i = 0; while(1) { $276 = $274;$jp$1$ph11$ph52$i = $jp$1$ph62$i;$p$1$ph$ph53$i = 1; while(1) { $275 = $276;$jp$1$ph1146$i = $jp$1$ph11$ph52$i; L69: while(1) { $147 = $275;$k$117$i = 1; while(1) { $143 = (($k$117$i) + ($ip$1$ph61$i))|0; $144 = (($n) + ($143)|0); $145 = HEAP8[$144>>0]|0; $146 = (($n) + ($147)|0); $148 = HEAP8[$146>>0]|0; $149 = ($145<<24>>24)==($148<<24>>24); if (!($149)) { break L69; } $150 = ($k$117$i|0)==($p$1$ph$ph53$i|0); $141 = (($k$117$i) + 1)|0; if ($150) { break; } $140 = (($141) + ($jp$1$ph1146$i))|0; $142 = ($140>>>0)<($113>>>0); if ($142) { $147 = $140;$k$117$i = $141; } else { $ip$0$ph78146$i = $ip$0$ph78$i;$ip$1$ph58$i = $ip$1$ph61$i;$p$0$ph$ph70150$i = $p$0$ph$ph70$i;$p$1$ph$ph50$i = $p$1$ph$ph53$i; break L49; } } $151 = (($jp$1$ph1146$i) + ($p$1$ph$ph53$i))|0; $152 = (($151) + 1)|0; $153 = ($152>>>0)<($113>>>0); if ($153) { $275 = $152;$jp$1$ph1146$i = $151; } else { $ip$0$ph78146$i = $ip$0$ph78$i;$ip$1$ph58$i = $ip$1$ph61$i;$p$0$ph$ph70150$i = $p$0$ph$ph70$i;$p$1$ph$ph50$i = $p$1$ph$ph53$i; break L49; } } $154 = ($145&255)<($148&255); $155 = (($147) - ($ip$1$ph61$i))|0; if (!($154)) { break; } $156 = (($147) + 1)|0; $157 = ($156>>>0)<($113>>>0); if ($157) { $276 = $156;$jp$1$ph11$ph52$i = $147;$p$1$ph$ph53$i = $155; } else { $ip$0$ph78146$i = $ip$0$ph78$i;$ip$1$ph58$i = $ip$1$ph61$i;$p$0$ph$ph70150$i = $p$0$ph$ph70$i;$p$1$ph$ph50$i = $155; break L49; } } $158 = (($jp$1$ph1146$i) + 1)|0; $159 = (($jp$1$ph1146$i) + 2)|0; $160 = ($159>>>0)<($113>>>0); if ($160) { $274 = $159;$ip$1$ph61$i = $jp$1$ph1146$i;$jp$1$ph62$i = $158; } else { $ip$0$ph78146$i = $ip$0$ph78$i;$ip$1$ph58$i = $jp$1$ph1146$i;$p$0$ph$ph70150$i = $p$0$ph$ph70$i;$p$1$ph$ph50$i = 1; break; } } } else { $ip$0$ph78146$i = -1;$ip$1$ph58$i = -1;$p$0$ph$ph70150$i = 1;$p$1$ph$ph50$i = 1; } } while(0); $161 = (($ip$1$ph58$i) + 1)|0; $162 = (($ip$0$ph78146$i) + 1)|0; $163 = ($161>>>0)>($162>>>0); $p$1$p$0$i = $163 ? $p$1$ph$ph50$i : $p$0$ph$ph70150$i; $ip$1$ip$0$i = $163 ? $ip$1$ph58$i : $ip$0$ph78146$i; $164 = (($n) + ($p$1$p$0$i)|0); $165 = (($ip$1$ip$0$i) + 1)|0; $166 = (_memcmp($n,$164,$165)|0); $167 = ($166|0)==(0); if ($167) { $173 = (($113) - ($p$1$p$0$i))|0; $174 = $113 | 63; $notlhs$i = ($113|0)==($p$1$p$0$i|0); if ($notlhs$i) { $228 = $174;$p$3155$i = $113; } else { $$02$us$i = $3;$mem$0$us$i = 0;$z$0$us$i = $3; L83: while(1) { $176 = $z$0$us$i; $177 = $$02$us$i; $178 = (($176) - ($177))|0; $179 = ($178>>>0)<($113>>>0); do { if ($179) { $180 = (_memchr($z$0$us$i,0,$174)|0); $181 = ($180|0)==(0|0); if ($181) { $185 = (($z$0$us$i) + ($174)|0); $z$1$us$i = $185; break; } else { $182 = $180; $183 = (($182) - ($177))|0; $184 = ($183>>>0)<($113>>>0); if ($184) { $$0 = 0; label = 79; break L83; } else { $z$1$us$i = $180; break; } } } else { $z$1$us$i = $z$0$us$i; } } while(0); $186 = (($$02$us$i) + ($l$039$i)|0); $187 = HEAP8[$186>>0]|0; $188 = $187&255; $189 = $188 >>> 5; $190 = (($byteset$i) + ($189<<2)|0); $191 = HEAP32[$190>>2]|0; $192 = $188 & 31; $193 = 1 << $192; $194 = $193 & $191; $195 = ($194|0)==(0); if ($195) { $223 = (($$02$us$i) + ($113)|0); $$02$us$i = $223;$mem$0$us$i = 0;$z$0$us$i = $z$1$us$i; continue; } $196 = (($shift$i) + ($188<<2)|0); $197 = HEAP32[$196>>2]|0; $198 = (($113) - ($197))|0; $199 = ($113|0)==($197|0); if (!($199)) { $notrhs$us$i = ($mem$0$us$i|0)!=(0); $200 = ($198>>>0)<($p$1$p$0$i>>>0); $or$cond3$us$i = $notrhs$us$i & $200; $k$2$us$i = $or$cond3$us$i ? $173 : $198; $201 = (($$02$us$i) + ($k$2$us$i)|0); $$02$us$i = $201;$mem$0$us$i = 0;$z$0$us$i = $z$1$us$i; continue; } $202 = ($165>>>0)>($mem$0$us$i>>>0); $$mem$0$us$i = $202 ? $165 : $mem$0$us$i; $203 = (($n) + ($$mem$0$us$i)|0); $204 = HEAP8[$203>>0]|0; $205 = ($204<<24>>24)==(0); L97: do { if ($205) { $k$4$us$i = $165; } else { $$pr$us$i = $204;$k$37$us$i = $$mem$0$us$i; while(1) { $210 = (($$02$us$i) + ($k$37$us$i)|0); $211 = HEAP8[$210>>0]|0; $212 = ($$pr$us$i<<24>>24)==($211<<24>>24); $207 = (($k$37$us$i) + 1)|0; if (!($212)) { break; } $206 = (($n) + ($207)|0); $208 = HEAP8[$206>>0]|0; $209 = ($208<<24>>24)==(0); if ($209) { $k$4$us$i = $165; break L97; } else { $$pr$us$i = $208;$k$37$us$i = $207; } } $213 = (($k$37$us$i) - ($ip$1$ip$0$i))|0; $214 = (($$02$us$i) + ($213)|0); $$02$us$i = $214;$mem$0$us$i = 0;$z$0$us$i = $z$1$us$i; continue L83; } } while(0); while(1) { $215 = ($k$4$us$i>>>0)>($mem$0$us$i>>>0); if (!($215)) { $$0 = $$02$us$i; label = 79; break L83; } $216 = (($k$4$us$i) + -1)|0; $217 = (($n) + ($216)|0); $218 = HEAP8[$217>>0]|0; $219 = (($$02$us$i) + ($216)|0); $220 = HEAP8[$219>>0]|0; $221 = ($218<<24>>24)==($220<<24>>24); if ($221) { $k$4$us$i = $216; } else { break; } } $222 = (($$02$us$i) + ($p$1$p$0$i)|0); $$02$us$i = $222;$mem$0$us$i = $173;$z$0$us$i = $z$1$us$i; } if ((label|0) == 79) { STACKTOP = sp;return ($$0|0); } } } else { $168 = (($113) - ($ip$1$ip$0$i))|0; $169 = (($168) + -1)|0; $170 = ($ip$1$ip$0$i>>>0)>($169>>>0); $ip$1$ip$0$$i = $170 ? $ip$1$ip$0$i : $169; $171 = (($ip$1$ip$0$$i) + 1)|0; $172 = $113 | 63; $228 = $172;$p$3155$i = $171; } $175 = (($n) + ($165)|0); $$02$i = $3;$z$0$i = $3; L110: while(1) { $224 = $z$0$i; $225 = $$02$i; $226 = (($224) - ($225))|0; $227 = ($226>>>0)<($113>>>0); do { if ($227) { $229 = (_memchr($z$0$i,0,$228)|0); $230 = ($229|0)==(0|0); if ($230) { $234 = (($z$0$i) + ($228)|0); $z$1$i = $234; break; } else { $231 = $229; $232 = (($231) - ($225))|0; $233 = ($232>>>0)<($113>>>0); if ($233) { $$0 = 0; label = 79; break L110; } else { $z$1$i = $229; break; } } } else { $z$1$i = $z$0$i; } } while(0); $235 = (($$02$i) + ($l$039$i)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = $237 >>> 5; $239 = (($byteset$i) + ($238<<2)|0); $240 = HEAP32[$239>>2]|0; $241 = $237 & 31; $242 = 1 << $241; $243 = $242 & $240; $244 = ($243|0)==(0); if ($244) { $250 = (($$02$i) + ($113)|0); $$02$i = $250;$z$0$i = $z$1$i; continue; } $245 = (($shift$i) + ($237<<2)|0); $246 = HEAP32[$245>>2]|0; $247 = ($113|0)==($246|0); if (!($247)) { $248 = (($113) - ($246))|0; $249 = (($$02$i) + ($248)|0); $$02$i = $249;$z$0$i = $z$1$i; continue; } $251 = HEAP8[$175>>0]|0; $252 = ($251<<24>>24)==(0); L124: do { if ($252) { $k$4$i = $165; } else { $$pr$i = $251;$k$37$i = $165; while(1) { $257 = (($$02$i) + ($k$37$i)|0); $258 = HEAP8[$257>>0]|0; $259 = ($$pr$i<<24>>24)==($258<<24>>24); $254 = (($k$37$i) + 1)|0; if (!($259)) { break; } $253 = (($n) + ($254)|0); $255 = HEAP8[$253>>0]|0; $256 = ($255<<24>>24)==(0); if ($256) { $k$4$i = $165; break L124; } else { $$pr$i = $255;$k$37$i = $254; } } $260 = (($k$37$i) - ($ip$1$ip$0$i))|0; $261 = (($$02$i) + ($260)|0); $$02$i = $261;$z$0$i = $z$1$i; continue L110; } } while(0); while(1) { $262 = ($k$4$i|0)==(0); if ($262) { $$0 = $$02$i; label = 79; break L110; } $263 = (($k$4$i) + -1)|0; $264 = (($n) + ($263)|0); $265 = HEAP8[$264>>0]|0; $266 = (($$02$i) + ($263)|0); $267 = HEAP8[$266>>0]|0; $268 = ($265<<24>>24)==($267<<24>>24); if ($268) { $k$4$i = $263; } else { break; } } $269 = (($$02$i) + ($p$3155$i)|0); $$02$i = $269;$z$0$i = $z$1$i; } if ((label|0) == 79) { STACKTOP = sp;return ($$0|0); } return 0|0; } function _malloc($bytes) { $bytes = $bytes|0; var $$$i = 0, $$3$i = 0, $$4$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i25 = 0, $$pre$i25$i = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i26$iZ2D = 0, $$pre$phi$i26Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi58$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre57$i$i = 0, $$rsize$0$i = 0, $$rsize$3$i = 0, $$sum = 0, $$sum$i$i = 0, $$sum$i$i$i = 0; var $$sum$i14$i = 0, $$sum$i15$i = 0, $$sum$i18$i = 0, $$sum$i21$i = 0, $$sum$i2334 = 0, $$sum$i32 = 0, $$sum$i35 = 0, $$sum1 = 0, $$sum1$i = 0, $$sum1$i$i = 0, $$sum1$i16$i = 0, $$sum1$i22$i = 0, $$sum1$i24 = 0, $$sum10 = 0, $$sum10$i = 0, $$sum10$i$i = 0, $$sum10$pre$i$i = 0, $$sum107$i = 0, $$sum108$i = 0, $$sum109$i = 0; var $$sum11$i = 0, $$sum11$i$i = 0, $$sum11$i24$i = 0, $$sum110$i = 0, $$sum111$i = 0, $$sum1112 = 0, $$sum112$i = 0, $$sum113$i = 0, $$sum114$i = 0, $$sum115$i = 0, $$sum116$i = 0, $$sum117$i = 0, $$sum118$i = 0, $$sum119$i = 0, $$sum12$i = 0, $$sum12$i$i = 0, $$sum120$i = 0, $$sum13$i = 0, $$sum13$i$i = 0, $$sum14$i$i = 0; var $$sum14$pre$i = 0, $$sum15$i = 0, $$sum15$i$i = 0, $$sum16$i = 0, $$sum16$i$i = 0, $$sum17$i = 0, $$sum17$i$i = 0, $$sum18$i = 0, $$sum1819$i$i = 0, $$sum2 = 0, $$sum2$i = 0, $$sum2$i$i = 0, $$sum2$i$i$i = 0, $$sum2$i17$i = 0, $$sum2$i19$i = 0, $$sum2$i23$i = 0, $$sum2$pre$i = 0, $$sum20$i$i = 0, $$sum21$i$i = 0, $$sum22$i$i = 0; var $$sum23$i$i = 0, $$sum24$i$i = 0, $$sum25$i$i = 0, $$sum26$pre$i$i = 0, $$sum27$i$i = 0, $$sum28$i$i = 0, $$sum29$i$i = 0, $$sum3$i = 0, $$sum3$i$i = 0, $$sum3$i27 = 0, $$sum30$i$i = 0, $$sum3132$i$i = 0, $$sum34$i$i = 0, $$sum3536$i$i = 0, $$sum3738$i$i = 0, $$sum39$i$i = 0, $$sum4 = 0, $$sum4$i = 0, $$sum4$i28 = 0, $$sum40$i$i = 0; var $$sum41$i$i = 0, $$sum42$i$i = 0, $$sum5$i = 0, $$sum5$i$i = 0, $$sum56 = 0, $$sum6$i = 0, $$sum67$i$i = 0, $$sum7$i = 0, $$sum8$i = 0, $$sum8$pre = 0, $$sum9 = 0, $$sum9$i = 0, $$sum9$i$i = 0, $$tsize$1$i = 0, $$v$0$i = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0; var $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0; var $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0; var $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0; var $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0; var $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0; var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0; var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0; var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0; var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0; var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0; var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0; var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0; var $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0; var $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0; var $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0; var $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0; var $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0; var $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0; var $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0; var $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0; var $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0; var $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0; var $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0; var $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0; var $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0; var $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0; var $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0; var $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0; var $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0; var $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0; var $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0; var $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0; var $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0; var $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0; var $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0; var $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0; var $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0; var $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0; var $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0; var $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0; var $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0; var $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0; var $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0; var $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0; var $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0; var $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0; var $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0; var $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0; var $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0; var $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0; var $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0; var $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0; var $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0; var $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $F$0$i$i = 0, $F1$0$i = 0, $F4$0 = 0, $F4$0$i$i = 0, $F5$0$i = 0; var $I1$0$c$i$i = 0, $I1$0$i$i = 0, $I7$0$i = 0, $I7$0$i$i = 0, $K12$025$i = 0, $K2$014$i$i = 0, $K8$052$i$i = 0, $R$0$i = 0, $R$0$i$i = 0, $R$0$i18 = 0, $R$1$i = 0, $R$1$i$i = 0, $R$1$i20 = 0, $RP$0$i = 0, $RP$0$i$i = 0, $RP$0$i17 = 0, $T$0$lcssa$i = 0, $T$0$lcssa$i$i = 0, $T$0$lcssa$i28$i = 0, $T$013$i$i = 0; var $T$024$i = 0, $T$051$i$i = 0, $br$0$i = 0, $cond$i = 0, $cond$i$i = 0, $cond$i21 = 0, $exitcond$i$i = 0, $i$02$i$i = 0, $idx$0$i = 0, $mem$0 = 0, $nb$0 = 0, $notlhs$i = 0, $notrhs$i = 0, $oldfirst$0$i$i = 0, $or$cond$i = 0, $or$cond$i29 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond19$i = 0, $or$cond2$i = 0; var $or$cond49$i = 0, $or$cond5$i = 0, $or$cond6$i = 0, $or$cond8$not$i = 0, $or$cond9$i = 0, $qsize$0$i$i = 0, $rsize$0$i = 0, $rsize$0$i15 = 0, $rsize$1$i = 0, $rsize$2$i = 0, $rsize$3$lcssa$i = 0, $rsize$329$i = 0, $rst$0$i = 0, $rst$1$i = 0, $sizebits$0$i = 0, $sp$0$i$i = 0, $sp$0$i$i$i = 0, $sp$075$i = 0, $sp$168$i = 0, $ssize$0$$i = 0; var $ssize$0$i = 0, $ssize$1$i = 0, $ssize$2$i = 0, $t$0$i = 0, $t$0$i14 = 0, $t$1$i = 0, $t$2$ph$i = 0, $t$2$v$3$i = 0, $t$228$i = 0, $tbase$0$i = 0, $tbase$247$i = 0, $tsize$0$i = 0, $tsize$0323841$i = 0, $tsize$1$i = 0, $tsize$246$i = 0, $v$0$i = 0, $v$0$i16 = 0, $v$1$i = 0, $v$2$i = 0, $v$3$lcssa$i = 0; var $v$330$i = 0, label = 0, sp = 0; sp = STACKTOP; $0 = ($bytes>>>0)<(245); do { if ($0) { $1 = ($bytes>>>0)<(11); if ($1) { $5 = 16; } else { $2 = (($bytes) + 11)|0; $3 = $2 & -8; $5 = $3; } $4 = $5 >>> 3; $6 = HEAP32[17712>>2]|0; $7 = $6 >>> $4; $8 = $7 & 3; $9 = ($8|0)==(0); if (!($9)) { $10 = $7 & 1; $11 = $10 ^ 1; $12 = (($11) + ($4))|0; $13 = $12 << 1; $14 = ((17712 + ($13<<2)|0) + 40|0); $$sum10 = (($13) + 2)|0; $15 = ((17712 + ($$sum10<<2)|0) + 40|0); $16 = HEAP32[$15>>2]|0; $17 = (($16) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ($14|0)==($18|0); do { if ($19) { $20 = 1 << $12; $21 = $20 ^ -1; $22 = $6 & $21; HEAP32[17712>>2] = $22; } else { $23 = HEAP32[((17712 + 16|0))>>2]|0; $24 = ($18>>>0)<($23>>>0); if ($24) { _abort(); // unreachable; } $25 = (($18) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = ($26|0)==($16|0); if ($27) { HEAP32[$25>>2] = $14; HEAP32[$15>>2] = $18; break; } else { _abort(); // unreachable; } } } while(0); $28 = $12 << 3; $29 = $28 | 3; $30 = (($16) + 4|0); HEAP32[$30>>2] = $29; $$sum1112 = $28 | 4; $31 = (($16) + ($$sum1112)|0); $32 = HEAP32[$31>>2]|0; $33 = $32 | 1; HEAP32[$31>>2] = $33; $mem$0 = $17; STACKTOP = sp;return ($mem$0|0); } $34 = HEAP32[((17712 + 8|0))>>2]|0; $35 = ($5>>>0)>($34>>>0); if ($35) { $36 = ($7|0)==(0); if (!($36)) { $37 = $7 << $4; $38 = 2 << $4; $39 = (0 - ($38))|0; $40 = $38 | $39; $41 = $37 & $40; $42 = (0 - ($41))|0; $43 = $41 & $42; $44 = (($43) + -1)|0; $45 = $44 >>> 12; $46 = $45 & 16; $47 = $44 >>> $46; $48 = $47 >>> 5; $49 = $48 & 8; $50 = $49 | $46; $51 = $47 >>> $49; $52 = $51 >>> 2; $53 = $52 & 4; $54 = $50 | $53; $55 = $51 >>> $53; $56 = $55 >>> 1; $57 = $56 & 2; $58 = $54 | $57; $59 = $55 >>> $57; $60 = $59 >>> 1; $61 = $60 & 1; $62 = $58 | $61; $63 = $59 >>> $61; $64 = (($62) + ($63))|0; $65 = $64 << 1; $66 = ((17712 + ($65<<2)|0) + 40|0); $$sum4 = (($65) + 2)|0; $67 = ((17712 + ($$sum4<<2)|0) + 40|0); $68 = HEAP32[$67>>2]|0; $69 = (($68) + 8|0); $70 = HEAP32[$69>>2]|0; $71 = ($66|0)==($70|0); do { if ($71) { $72 = 1 << $64; $73 = $72 ^ -1; $74 = $6 & $73; HEAP32[17712>>2] = $74; } else { $75 = HEAP32[((17712 + 16|0))>>2]|0; $76 = ($70>>>0)<($75>>>0); if ($76) { _abort(); // unreachable; } $77 = (($70) + 12|0); $78 = HEAP32[$77>>2]|0; $79 = ($78|0)==($68|0); if ($79) { HEAP32[$77>>2] = $66; HEAP32[$67>>2] = $70; break; } else { _abort(); // unreachable; } } } while(0); $80 = $64 << 3; $81 = (($80) - ($5))|0; $82 = $5 | 3; $83 = (($68) + 4|0); HEAP32[$83>>2] = $82; $84 = (($68) + ($5)|0); $85 = $81 | 1; $$sum56 = $5 | 4; $86 = (($68) + ($$sum56)|0); HEAP32[$86>>2] = $85; $87 = (($68) + ($80)|0); HEAP32[$87>>2] = $81; $88 = HEAP32[((17712 + 8|0))>>2]|0; $89 = ($88|0)==(0); if (!($89)) { $90 = HEAP32[((17712 + 20|0))>>2]|0; $91 = $88 >>> 3; $92 = $91 << 1; $93 = ((17712 + ($92<<2)|0) + 40|0); $94 = HEAP32[17712>>2]|0; $95 = 1 << $91; $96 = $94 & $95; $97 = ($96|0)==(0); if ($97) { $98 = $94 | $95; HEAP32[17712>>2] = $98; $$sum8$pre = (($92) + 2)|0; $$pre = ((17712 + ($$sum8$pre<<2)|0) + 40|0); $$pre$phiZ2D = $$pre;$F4$0 = $93; } else { $$sum9 = (($92) + 2)|0; $99 = ((17712 + ($$sum9<<2)|0) + 40|0); $100 = HEAP32[$99>>2]|0; $101 = HEAP32[((17712 + 16|0))>>2]|0; $102 = ($100>>>0)<($101>>>0); if ($102) { _abort(); // unreachable; } else { $$pre$phiZ2D = $99;$F4$0 = $100; } } HEAP32[$$pre$phiZ2D>>2] = $90; $103 = (($F4$0) + 12|0); HEAP32[$103>>2] = $90; $104 = (($90) + 8|0); HEAP32[$104>>2] = $F4$0; $105 = (($90) + 12|0); HEAP32[$105>>2] = $93; } HEAP32[((17712 + 8|0))>>2] = $81; HEAP32[((17712 + 20|0))>>2] = $84; $mem$0 = $69; STACKTOP = sp;return ($mem$0|0); } $106 = HEAP32[((17712 + 4|0))>>2]|0; $107 = ($106|0)==(0); if ($107) { $nb$0 = $5; } else { $108 = (0 - ($106))|0; $109 = $106 & $108; $110 = (($109) + -1)|0; $111 = $110 >>> 12; $112 = $111 & 16; $113 = $110 >>> $112; $114 = $113 >>> 5; $115 = $114 & 8; $116 = $115 | $112; $117 = $113 >>> $115; $118 = $117 >>> 2; $119 = $118 & 4; $120 = $116 | $119; $121 = $117 >>> $119; $122 = $121 >>> 1; $123 = $122 & 2; $124 = $120 | $123; $125 = $121 >>> $123; $126 = $125 >>> 1; $127 = $126 & 1; $128 = $124 | $127; $129 = $125 >>> $127; $130 = (($128) + ($129))|0; $131 = ((17712 + ($130<<2)|0) + 304|0); $132 = HEAP32[$131>>2]|0; $133 = (($132) + 4|0); $134 = HEAP32[$133>>2]|0; $135 = $134 & -8; $136 = (($135) - ($5))|0; $rsize$0$i = $136;$t$0$i = $132;$v$0$i = $132; while(1) { $137 = (($t$0$i) + 16|0); $138 = HEAP32[$137>>2]|0; $139 = ($138|0)==(0|0); if ($139) { $140 = (($t$0$i) + 20|0); $141 = HEAP32[$140>>2]|0; $142 = ($141|0)==(0|0); if ($142) { break; } else { $144 = $141; } } else { $144 = $138; } $143 = (($144) + 4|0); $145 = HEAP32[$143>>2]|0; $146 = $145 & -8; $147 = (($146) - ($5))|0; $148 = ($147>>>0)<($rsize$0$i>>>0); $$rsize$0$i = $148 ? $147 : $rsize$0$i; $$v$0$i = $148 ? $144 : $v$0$i; $rsize$0$i = $$rsize$0$i;$t$0$i = $144;$v$0$i = $$v$0$i; } $149 = HEAP32[((17712 + 16|0))>>2]|0; $150 = ($v$0$i>>>0)<($149>>>0); if ($150) { _abort(); // unreachable; } $151 = (($v$0$i) + ($5)|0); $152 = ($v$0$i>>>0)<($151>>>0); if (!($152)) { _abort(); // unreachable; } $153 = (($v$0$i) + 24|0); $154 = HEAP32[$153>>2]|0; $155 = (($v$0$i) + 12|0); $156 = HEAP32[$155>>2]|0; $157 = ($156|0)==($v$0$i|0); do { if ($157) { $167 = (($v$0$i) + 20|0); $168 = HEAP32[$167>>2]|0; $169 = ($168|0)==(0|0); if ($169) { $170 = (($v$0$i) + 16|0); $171 = HEAP32[$170>>2]|0; $172 = ($171|0)==(0|0); if ($172) { $R$1$i = 0; break; } else { $R$0$i = $171;$RP$0$i = $170; } } else { $R$0$i = $168;$RP$0$i = $167; } while(1) { $173 = (($R$0$i) + 20|0); $174 = HEAP32[$173>>2]|0; $175 = ($174|0)==(0|0); if (!($175)) { $R$0$i = $174;$RP$0$i = $173; continue; } $176 = (($R$0$i) + 16|0); $177 = HEAP32[$176>>2]|0; $178 = ($177|0)==(0|0); if ($178) { break; } else { $R$0$i = $177;$RP$0$i = $176; } } $179 = ($RP$0$i>>>0)<($149>>>0); if ($179) { _abort(); // unreachable; } else { HEAP32[$RP$0$i>>2] = 0; $R$1$i = $R$0$i; break; } } else { $158 = (($v$0$i) + 8|0); $159 = HEAP32[$158>>2]|0; $160 = ($159>>>0)<($149>>>0); if ($160) { _abort(); // unreachable; } $161 = (($159) + 12|0); $162 = HEAP32[$161>>2]|0; $163 = ($162|0)==($v$0$i|0); if (!($163)) { _abort(); // unreachable; } $164 = (($156) + 8|0); $165 = HEAP32[$164>>2]|0; $166 = ($165|0)==($v$0$i|0); if ($166) { HEAP32[$161>>2] = $156; HEAP32[$164>>2] = $159; $R$1$i = $156; break; } else { _abort(); // unreachable; } } } while(0); $180 = ($154|0)==(0|0); do { if (!($180)) { $181 = (($v$0$i) + 28|0); $182 = HEAP32[$181>>2]|0; $183 = ((17712 + ($182<<2)|0) + 304|0); $184 = HEAP32[$183>>2]|0; $185 = ($v$0$i|0)==($184|0); if ($185) { HEAP32[$183>>2] = $R$1$i; $cond$i = ($R$1$i|0)==(0|0); if ($cond$i) { $186 = 1 << $182; $187 = $186 ^ -1; $188 = HEAP32[((17712 + 4|0))>>2]|0; $189 = $188 & $187; HEAP32[((17712 + 4|0))>>2] = $189; break; } } else { $190 = HEAP32[((17712 + 16|0))>>2]|0; $191 = ($154>>>0)<($190>>>0); if ($191) { _abort(); // unreachable; } $192 = (($154) + 16|0); $193 = HEAP32[$192>>2]|0; $194 = ($193|0)==($v$0$i|0); if ($194) { HEAP32[$192>>2] = $R$1$i; } else { $195 = (($154) + 20|0); HEAP32[$195>>2] = $R$1$i; } $196 = ($R$1$i|0)==(0|0); if ($196) { break; } } $197 = HEAP32[((17712 + 16|0))>>2]|0; $198 = ($R$1$i>>>0)<($197>>>0); if ($198) { _abort(); // unreachable; } $199 = (($R$1$i) + 24|0); HEAP32[$199>>2] = $154; $200 = (($v$0$i) + 16|0); $201 = HEAP32[$200>>2]|0; $202 = ($201|0)==(0|0); do { if (!($202)) { $203 = HEAP32[((17712 + 16|0))>>2]|0; $204 = ($201>>>0)<($203>>>0); if ($204) { _abort(); // unreachable; } else { $205 = (($R$1$i) + 16|0); HEAP32[$205>>2] = $201; $206 = (($201) + 24|0); HEAP32[$206>>2] = $R$1$i; break; } } } while(0); $207 = (($v$0$i) + 20|0); $208 = HEAP32[$207>>2]|0; $209 = ($208|0)==(0|0); if (!($209)) { $210 = HEAP32[((17712 + 16|0))>>2]|0; $211 = ($208>>>0)<($210>>>0); if ($211) { _abort(); // unreachable; } else { $212 = (($R$1$i) + 20|0); HEAP32[$212>>2] = $208; $213 = (($208) + 24|0); HEAP32[$213>>2] = $R$1$i; break; } } } } while(0); $214 = ($rsize$0$i>>>0)<(16); if ($214) { $215 = (($rsize$0$i) + ($5))|0; $216 = $215 | 3; $217 = (($v$0$i) + 4|0); HEAP32[$217>>2] = $216; $$sum4$i = (($215) + 4)|0; $218 = (($v$0$i) + ($$sum4$i)|0); $219 = HEAP32[$218>>2]|0; $220 = $219 | 1; HEAP32[$218>>2] = $220; } else { $221 = $5 | 3; $222 = (($v$0$i) + 4|0); HEAP32[$222>>2] = $221; $223 = $rsize$0$i | 1; $$sum$i35 = $5 | 4; $224 = (($v$0$i) + ($$sum$i35)|0); HEAP32[$224>>2] = $223; $$sum1$i = (($rsize$0$i) + ($5))|0; $225 = (($v$0$i) + ($$sum1$i)|0); HEAP32[$225>>2] = $rsize$0$i; $226 = HEAP32[((17712 + 8|0))>>2]|0; $227 = ($226|0)==(0); if (!($227)) { $228 = HEAP32[((17712 + 20|0))>>2]|0; $229 = $226 >>> 3; $230 = $229 << 1; $231 = ((17712 + ($230<<2)|0) + 40|0); $232 = HEAP32[17712>>2]|0; $233 = 1 << $229; $234 = $232 & $233; $235 = ($234|0)==(0); if ($235) { $236 = $232 | $233; HEAP32[17712>>2] = $236; $$sum2$pre$i = (($230) + 2)|0; $$pre$i = ((17712 + ($$sum2$pre$i<<2)|0) + 40|0); $$pre$phi$iZ2D = $$pre$i;$F1$0$i = $231; } else { $$sum3$i = (($230) + 2)|0; $237 = ((17712 + ($$sum3$i<<2)|0) + 40|0); $238 = HEAP32[$237>>2]|0; $239 = HEAP32[((17712 + 16|0))>>2]|0; $240 = ($238>>>0)<($239>>>0); if ($240) { _abort(); // unreachable; } else { $$pre$phi$iZ2D = $237;$F1$0$i = $238; } } HEAP32[$$pre$phi$iZ2D>>2] = $228; $241 = (($F1$0$i) + 12|0); HEAP32[$241>>2] = $228; $242 = (($228) + 8|0); HEAP32[$242>>2] = $F1$0$i; $243 = (($228) + 12|0); HEAP32[$243>>2] = $231; } HEAP32[((17712 + 8|0))>>2] = $rsize$0$i; HEAP32[((17712 + 20|0))>>2] = $151; } $244 = (($v$0$i) + 8|0); $mem$0 = $244; STACKTOP = sp;return ($mem$0|0); } } else { $nb$0 = $5; } } else { $245 = ($bytes>>>0)>(4294967231); if ($245) { $nb$0 = -1; } else { $246 = (($bytes) + 11)|0; $247 = $246 & -8; $248 = HEAP32[((17712 + 4|0))>>2]|0; $249 = ($248|0)==(0); if ($249) { $nb$0 = $247; } else { $250 = (0 - ($247))|0; $251 = $246 >>> 8; $252 = ($251|0)==(0); if ($252) { $idx$0$i = 0; } else { $253 = ($247>>>0)>(16777215); if ($253) { $idx$0$i = 31; } else { $254 = (($251) + 1048320)|0; $255 = $254 >>> 16; $256 = $255 & 8; $257 = $251 << $256; $258 = (($257) + 520192)|0; $259 = $258 >>> 16; $260 = $259 & 4; $261 = $260 | $256; $262 = $257 << $260; $263 = (($262) + 245760)|0; $264 = $263 >>> 16; $265 = $264 & 2; $266 = $261 | $265; $267 = (14 - ($266))|0; $268 = $262 << $265; $269 = $268 >>> 15; $270 = (($267) + ($269))|0; $271 = $270 << 1; $272 = (($270) + 7)|0; $273 = $247 >>> $272; $274 = $273 & 1; $275 = $274 | $271; $idx$0$i = $275; } } $276 = ((17712 + ($idx$0$i<<2)|0) + 304|0); $277 = HEAP32[$276>>2]|0; $278 = ($277|0)==(0|0); L126: do { if ($278) { $rsize$2$i = $250;$t$1$i = 0;$v$2$i = 0; } else { $279 = ($idx$0$i|0)==(31); if ($279) { $283 = 0; } else { $280 = $idx$0$i >>> 1; $281 = (25 - ($280))|0; $283 = $281; } $282 = $247 << $283; $rsize$0$i15 = $250;$rst$0$i = 0;$sizebits$0$i = $282;$t$0$i14 = $277;$v$0$i16 = 0; while(1) { $284 = (($t$0$i14) + 4|0); $285 = HEAP32[$284>>2]|0; $286 = $285 & -8; $287 = (($286) - ($247))|0; $288 = ($287>>>0)<($rsize$0$i15>>>0); if ($288) { $289 = ($286|0)==($247|0); if ($289) { $rsize$2$i = $287;$t$1$i = $t$0$i14;$v$2$i = $t$0$i14; break L126; } else { $rsize$1$i = $287;$v$1$i = $t$0$i14; } } else { $rsize$1$i = $rsize$0$i15;$v$1$i = $v$0$i16; } $290 = (($t$0$i14) + 20|0); $291 = HEAP32[$290>>2]|0; $292 = $sizebits$0$i >>> 31; $293 = ((($t$0$i14) + ($292<<2)|0) + 16|0); $294 = HEAP32[$293>>2]|0; $295 = ($291|0)==(0|0); $296 = ($291|0)==($294|0); $or$cond$i = $295 | $296; $rst$1$i = $or$cond$i ? $rst$0$i : $291; $297 = ($294|0)==(0|0); $298 = $sizebits$0$i << 1; if ($297) { $rsize$2$i = $rsize$1$i;$t$1$i = $rst$1$i;$v$2$i = $v$1$i; break; } else { $rsize$0$i15 = $rsize$1$i;$rst$0$i = $rst$1$i;$sizebits$0$i = $298;$t$0$i14 = $294;$v$0$i16 = $v$1$i; } } } } while(0); $299 = ($t$1$i|0)==(0|0); $300 = ($v$2$i|0)==(0|0); $or$cond19$i = $299 & $300; if ($or$cond19$i) { $301 = 2 << $idx$0$i; $302 = (0 - ($301))|0; $303 = $301 | $302; $304 = $248 & $303; $305 = ($304|0)==(0); if ($305) { $nb$0 = $247; break; } $306 = (0 - ($304))|0; $307 = $304 & $306; $308 = (($307) + -1)|0; $309 = $308 >>> 12; $310 = $309 & 16; $311 = $308 >>> $310; $312 = $311 >>> 5; $313 = $312 & 8; $314 = $313 | $310; $315 = $311 >>> $313; $316 = $315 >>> 2; $317 = $316 & 4; $318 = $314 | $317; $319 = $315 >>> $317; $320 = $319 >>> 1; $321 = $320 & 2; $322 = $318 | $321; $323 = $319 >>> $321; $324 = $323 >>> 1; $325 = $324 & 1; $326 = $322 | $325; $327 = $323 >>> $325; $328 = (($326) + ($327))|0; $329 = ((17712 + ($328<<2)|0) + 304|0); $330 = HEAP32[$329>>2]|0; $t$2$ph$i = $330; } else { $t$2$ph$i = $t$1$i; } $331 = ($t$2$ph$i|0)==(0|0); if ($331) { $rsize$3$lcssa$i = $rsize$2$i;$v$3$lcssa$i = $v$2$i; } else { $rsize$329$i = $rsize$2$i;$t$228$i = $t$2$ph$i;$v$330$i = $v$2$i; while(1) { $332 = (($t$228$i) + 4|0); $333 = HEAP32[$332>>2]|0; $334 = $333 & -8; $335 = (($334) - ($247))|0; $336 = ($335>>>0)<($rsize$329$i>>>0); $$rsize$3$i = $336 ? $335 : $rsize$329$i; $t$2$v$3$i = $336 ? $t$228$i : $v$330$i; $337 = (($t$228$i) + 16|0); $338 = HEAP32[$337>>2]|0; $339 = ($338|0)==(0|0); if (!($339)) { $rsize$329$i = $$rsize$3$i;$t$228$i = $338;$v$330$i = $t$2$v$3$i; continue; } $340 = (($t$228$i) + 20|0); $341 = HEAP32[$340>>2]|0; $342 = ($341|0)==(0|0); if ($342) { $rsize$3$lcssa$i = $$rsize$3$i;$v$3$lcssa$i = $t$2$v$3$i; break; } else { $rsize$329$i = $$rsize$3$i;$t$228$i = $341;$v$330$i = $t$2$v$3$i; } } } $343 = ($v$3$lcssa$i|0)==(0|0); if ($343) { $nb$0 = $247; } else { $344 = HEAP32[((17712 + 8|0))>>2]|0; $345 = (($344) - ($247))|0; $346 = ($rsize$3$lcssa$i>>>0)<($345>>>0); if ($346) { $347 = HEAP32[((17712 + 16|0))>>2]|0; $348 = ($v$3$lcssa$i>>>0)<($347>>>0); if ($348) { _abort(); // unreachable; } $349 = (($v$3$lcssa$i) + ($247)|0); $350 = ($v$3$lcssa$i>>>0)<($349>>>0); if (!($350)) { _abort(); // unreachable; } $351 = (($v$3$lcssa$i) + 24|0); $352 = HEAP32[$351>>2]|0; $353 = (($v$3$lcssa$i) + 12|0); $354 = HEAP32[$353>>2]|0; $355 = ($354|0)==($v$3$lcssa$i|0); do { if ($355) { $365 = (($v$3$lcssa$i) + 20|0); $366 = HEAP32[$365>>2]|0; $367 = ($366|0)==(0|0); if ($367) { $368 = (($v$3$lcssa$i) + 16|0); $369 = HEAP32[$368>>2]|0; $370 = ($369|0)==(0|0); if ($370) { $R$1$i20 = 0; break; } else { $R$0$i18 = $369;$RP$0$i17 = $368; } } else { $R$0$i18 = $366;$RP$0$i17 = $365; } while(1) { $371 = (($R$0$i18) + 20|0); $372 = HEAP32[$371>>2]|0; $373 = ($372|0)==(0|0); if (!($373)) { $R$0$i18 = $372;$RP$0$i17 = $371; continue; } $374 = (($R$0$i18) + 16|0); $375 = HEAP32[$374>>2]|0; $376 = ($375|0)==(0|0); if ($376) { break; } else { $R$0$i18 = $375;$RP$0$i17 = $374; } } $377 = ($RP$0$i17>>>0)<($347>>>0); if ($377) { _abort(); // unreachable; } else { HEAP32[$RP$0$i17>>2] = 0; $R$1$i20 = $R$0$i18; break; } } else { $356 = (($v$3$lcssa$i) + 8|0); $357 = HEAP32[$356>>2]|0; $358 = ($357>>>0)<($347>>>0); if ($358) { _abort(); // unreachable; } $359 = (($357) + 12|0); $360 = HEAP32[$359>>2]|0; $361 = ($360|0)==($v$3$lcssa$i|0); if (!($361)) { _abort(); // unreachable; } $362 = (($354) + 8|0); $363 = HEAP32[$362>>2]|0; $364 = ($363|0)==($v$3$lcssa$i|0); if ($364) { HEAP32[$359>>2] = $354; HEAP32[$362>>2] = $357; $R$1$i20 = $354; break; } else { _abort(); // unreachable; } } } while(0); $378 = ($352|0)==(0|0); do { if (!($378)) { $379 = (($v$3$lcssa$i) + 28|0); $380 = HEAP32[$379>>2]|0; $381 = ((17712 + ($380<<2)|0) + 304|0); $382 = HEAP32[$381>>2]|0; $383 = ($v$3$lcssa$i|0)==($382|0); if ($383) { HEAP32[$381>>2] = $R$1$i20; $cond$i21 = ($R$1$i20|0)==(0|0); if ($cond$i21) { $384 = 1 << $380; $385 = $384 ^ -1; $386 = HEAP32[((17712 + 4|0))>>2]|0; $387 = $386 & $385; HEAP32[((17712 + 4|0))>>2] = $387; break; } } else { $388 = HEAP32[((17712 + 16|0))>>2]|0; $389 = ($352>>>0)<($388>>>0); if ($389) { _abort(); // unreachable; } $390 = (($352) + 16|0); $391 = HEAP32[$390>>2]|0; $392 = ($391|0)==($v$3$lcssa$i|0); if ($392) { HEAP32[$390>>2] = $R$1$i20; } else { $393 = (($352) + 20|0); HEAP32[$393>>2] = $R$1$i20; } $394 = ($R$1$i20|0)==(0|0); if ($394) { break; } } $395 = HEAP32[((17712 + 16|0))>>2]|0; $396 = ($R$1$i20>>>0)<($395>>>0); if ($396) { _abort(); // unreachable; } $397 = (($R$1$i20) + 24|0); HEAP32[$397>>2] = $352; $398 = (($v$3$lcssa$i) + 16|0); $399 = HEAP32[$398>>2]|0; $400 = ($399|0)==(0|0); do { if (!($400)) { $401 = HEAP32[((17712 + 16|0))>>2]|0; $402 = ($399>>>0)<($401>>>0); if ($402) { _abort(); // unreachable; } else { $403 = (($R$1$i20) + 16|0); HEAP32[$403>>2] = $399; $404 = (($399) + 24|0); HEAP32[$404>>2] = $R$1$i20; break; } } } while(0); $405 = (($v$3$lcssa$i) + 20|0); $406 = HEAP32[$405>>2]|0; $407 = ($406|0)==(0|0); if (!($407)) { $408 = HEAP32[((17712 + 16|0))>>2]|0; $409 = ($406>>>0)<($408>>>0); if ($409) { _abort(); // unreachable; } else { $410 = (($R$1$i20) + 20|0); HEAP32[$410>>2] = $406; $411 = (($406) + 24|0); HEAP32[$411>>2] = $R$1$i20; break; } } } } while(0); $412 = ($rsize$3$lcssa$i>>>0)<(16); L204: do { if ($412) { $413 = (($rsize$3$lcssa$i) + ($247))|0; $414 = $413 | 3; $415 = (($v$3$lcssa$i) + 4|0); HEAP32[$415>>2] = $414; $$sum18$i = (($413) + 4)|0; $416 = (($v$3$lcssa$i) + ($$sum18$i)|0); $417 = HEAP32[$416>>2]|0; $418 = $417 | 1; HEAP32[$416>>2] = $418; } else { $419 = $247 | 3; $420 = (($v$3$lcssa$i) + 4|0); HEAP32[$420>>2] = $419; $421 = $rsize$3$lcssa$i | 1; $$sum$i2334 = $247 | 4; $422 = (($v$3$lcssa$i) + ($$sum$i2334)|0); HEAP32[$422>>2] = $421; $$sum1$i24 = (($rsize$3$lcssa$i) + ($247))|0; $423 = (($v$3$lcssa$i) + ($$sum1$i24)|0); HEAP32[$423>>2] = $rsize$3$lcssa$i; $424 = $rsize$3$lcssa$i >>> 3; $425 = ($rsize$3$lcssa$i>>>0)<(256); if ($425) { $426 = $424 << 1; $427 = ((17712 + ($426<<2)|0) + 40|0); $428 = HEAP32[17712>>2]|0; $429 = 1 << $424; $430 = $428 & $429; $431 = ($430|0)==(0); do { if ($431) { $432 = $428 | $429; HEAP32[17712>>2] = $432; $$sum14$pre$i = (($426) + 2)|0; $$pre$i25 = ((17712 + ($$sum14$pre$i<<2)|0) + 40|0); $$pre$phi$i26Z2D = $$pre$i25;$F5$0$i = $427; } else { $$sum17$i = (($426) + 2)|0; $433 = ((17712 + ($$sum17$i<<2)|0) + 40|0); $434 = HEAP32[$433>>2]|0; $435 = HEAP32[((17712 + 16|0))>>2]|0; $436 = ($434>>>0)<($435>>>0); if (!($436)) { $$pre$phi$i26Z2D = $433;$F5$0$i = $434; break; } _abort(); // unreachable; } } while(0); HEAP32[$$pre$phi$i26Z2D>>2] = $349; $437 = (($F5$0$i) + 12|0); HEAP32[$437>>2] = $349; $$sum15$i = (($247) + 8)|0; $438 = (($v$3$lcssa$i) + ($$sum15$i)|0); HEAP32[$438>>2] = $F5$0$i; $$sum16$i = (($247) + 12)|0; $439 = (($v$3$lcssa$i) + ($$sum16$i)|0); HEAP32[$439>>2] = $427; break; } $440 = $rsize$3$lcssa$i >>> 8; $441 = ($440|0)==(0); if ($441) { $I7$0$i = 0; } else { $442 = ($rsize$3$lcssa$i>>>0)>(16777215); if ($442) { $I7$0$i = 31; } else { $443 = (($440) + 1048320)|0; $444 = $443 >>> 16; $445 = $444 & 8; $446 = $440 << $445; $447 = (($446) + 520192)|0; $448 = $447 >>> 16; $449 = $448 & 4; $450 = $449 | $445; $451 = $446 << $449; $452 = (($451) + 245760)|0; $453 = $452 >>> 16; $454 = $453 & 2; $455 = $450 | $454; $456 = (14 - ($455))|0; $457 = $451 << $454; $458 = $457 >>> 15; $459 = (($456) + ($458))|0; $460 = $459 << 1; $461 = (($459) + 7)|0; $462 = $rsize$3$lcssa$i >>> $461; $463 = $462 & 1; $464 = $463 | $460; $I7$0$i = $464; } } $465 = ((17712 + ($I7$0$i<<2)|0) + 304|0); $$sum2$i = (($247) + 28)|0; $466 = (($v$3$lcssa$i) + ($$sum2$i)|0); HEAP32[$466>>2] = $I7$0$i; $$sum3$i27 = (($247) + 16)|0; $467 = (($v$3$lcssa$i) + ($$sum3$i27)|0); $$sum4$i28 = (($247) + 20)|0; $468 = (($v$3$lcssa$i) + ($$sum4$i28)|0); HEAP32[$468>>2] = 0; HEAP32[$467>>2] = 0; $469 = HEAP32[((17712 + 4|0))>>2]|0; $470 = 1 << $I7$0$i; $471 = $469 & $470; $472 = ($471|0)==(0); if ($472) { $473 = $469 | $470; HEAP32[((17712 + 4|0))>>2] = $473; HEAP32[$465>>2] = $349; $$sum5$i = (($247) + 24)|0; $474 = (($v$3$lcssa$i) + ($$sum5$i)|0); HEAP32[$474>>2] = $465; $$sum6$i = (($247) + 12)|0; $475 = (($v$3$lcssa$i) + ($$sum6$i)|0); HEAP32[$475>>2] = $349; $$sum7$i = (($247) + 8)|0; $476 = (($v$3$lcssa$i) + ($$sum7$i)|0); HEAP32[$476>>2] = $349; break; } $477 = HEAP32[$465>>2]|0; $478 = ($I7$0$i|0)==(31); if ($478) { $486 = 0; } else { $479 = $I7$0$i >>> 1; $480 = (25 - ($479))|0; $486 = $480; } $481 = (($477) + 4|0); $482 = HEAP32[$481>>2]|0; $483 = $482 & -8; $484 = ($483|0)==($rsize$3$lcssa$i|0); L225: do { if ($484) { $T$0$lcssa$i = $477; } else { $485 = $rsize$3$lcssa$i << $486; $K12$025$i = $485;$T$024$i = $477; while(1) { $493 = $K12$025$i >>> 31; $494 = ((($T$024$i) + ($493<<2)|0) + 16|0); $489 = HEAP32[$494>>2]|0; $495 = ($489|0)==(0|0); if ($495) { break; } $487 = $K12$025$i << 1; $488 = (($489) + 4|0); $490 = HEAP32[$488>>2]|0; $491 = $490 & -8; $492 = ($491|0)==($rsize$3$lcssa$i|0); if ($492) { $T$0$lcssa$i = $489; break L225; } else { $K12$025$i = $487;$T$024$i = $489; } } $496 = HEAP32[((17712 + 16|0))>>2]|0; $497 = ($494>>>0)<($496>>>0); if ($497) { _abort(); // unreachable; } else { HEAP32[$494>>2] = $349; $$sum11$i = (($247) + 24)|0; $498 = (($v$3$lcssa$i) + ($$sum11$i)|0); HEAP32[$498>>2] = $T$024$i; $$sum12$i = (($247) + 12)|0; $499 = (($v$3$lcssa$i) + ($$sum12$i)|0); HEAP32[$499>>2] = $349; $$sum13$i = (($247) + 8)|0; $500 = (($v$3$lcssa$i) + ($$sum13$i)|0); HEAP32[$500>>2] = $349; break L204; } } } while(0); $501 = (($T$0$lcssa$i) + 8|0); $502 = HEAP32[$501>>2]|0; $503 = HEAP32[((17712 + 16|0))>>2]|0; $504 = ($T$0$lcssa$i>>>0)<($503>>>0); if ($504) { _abort(); // unreachable; } $505 = ($502>>>0)<($503>>>0); if ($505) { _abort(); // unreachable; } else { $506 = (($502) + 12|0); HEAP32[$506>>2] = $349; HEAP32[$501>>2] = $349; $$sum8$i = (($247) + 8)|0; $507 = (($v$3$lcssa$i) + ($$sum8$i)|0); HEAP32[$507>>2] = $502; $$sum9$i = (($247) + 12)|0; $508 = (($v$3$lcssa$i) + ($$sum9$i)|0); HEAP32[$508>>2] = $T$0$lcssa$i; $$sum10$i = (($247) + 24)|0; $509 = (($v$3$lcssa$i) + ($$sum10$i)|0); HEAP32[$509>>2] = 0; break; } } } while(0); $510 = (($v$3$lcssa$i) + 8|0); $mem$0 = $510; STACKTOP = sp;return ($mem$0|0); } else { $nb$0 = $247; } } } } } } while(0); $511 = HEAP32[((17712 + 8|0))>>2]|0; $512 = ($nb$0>>>0)>($511>>>0); if (!($512)) { $513 = (($511) - ($nb$0))|0; $514 = HEAP32[((17712 + 20|0))>>2]|0; $515 = ($513>>>0)>(15); if ($515) { $516 = (($514) + ($nb$0)|0); HEAP32[((17712 + 20|0))>>2] = $516; HEAP32[((17712 + 8|0))>>2] = $513; $517 = $513 | 1; $$sum2 = (($nb$0) + 4)|0; $518 = (($514) + ($$sum2)|0); HEAP32[$518>>2] = $517; $519 = (($514) + ($511)|0); HEAP32[$519>>2] = $513; $520 = $nb$0 | 3; $521 = (($514) + 4|0); HEAP32[$521>>2] = $520; } else { HEAP32[((17712 + 8|0))>>2] = 0; HEAP32[((17712 + 20|0))>>2] = 0; $522 = $511 | 3; $523 = (($514) + 4|0); HEAP32[$523>>2] = $522; $$sum1 = (($511) + 4)|0; $524 = (($514) + ($$sum1)|0); $525 = HEAP32[$524>>2]|0; $526 = $525 | 1; HEAP32[$524>>2] = $526; } $527 = (($514) + 8|0); $mem$0 = $527; STACKTOP = sp;return ($mem$0|0); } $528 = HEAP32[((17712 + 12|0))>>2]|0; $529 = ($nb$0>>>0)<($528>>>0); if ($529) { $530 = (($528) - ($nb$0))|0; HEAP32[((17712 + 12|0))>>2] = $530; $531 = HEAP32[((17712 + 24|0))>>2]|0; $532 = (($531) + ($nb$0)|0); HEAP32[((17712 + 24|0))>>2] = $532; $533 = $530 | 1; $$sum = (($nb$0) + 4)|0; $534 = (($531) + ($$sum)|0); HEAP32[$534>>2] = $533; $535 = $nb$0 | 3; $536 = (($531) + 4|0); HEAP32[$536>>2] = $535; $537 = (($531) + 8|0); $mem$0 = $537; STACKTOP = sp;return ($mem$0|0); } $538 = HEAP32[18184>>2]|0; $539 = ($538|0)==(0); do { if ($539) { $540 = (_sysconf(30)|0); $541 = (($540) + -1)|0; $542 = $541 & $540; $543 = ($542|0)==(0); if ($543) { HEAP32[((18184 + 8|0))>>2] = $540; HEAP32[((18184 + 4|0))>>2] = $540; HEAP32[((18184 + 12|0))>>2] = -1; HEAP32[((18184 + 16|0))>>2] = -1; HEAP32[((18184 + 20|0))>>2] = 0; HEAP32[((17712 + 444|0))>>2] = 0; $544 = (_time((0|0))|0); $545 = $544 & -16; $546 = $545 ^ 1431655768; HEAP32[18184>>2] = $546; break; } else { _abort(); // unreachable; } } } while(0); $547 = (($nb$0) + 48)|0; $548 = HEAP32[((18184 + 8|0))>>2]|0; $549 = (($nb$0) + 47)|0; $550 = (($548) + ($549))|0; $551 = (0 - ($548))|0; $552 = $550 & $551; $553 = ($552>>>0)>($nb$0>>>0); if (!($553)) { $mem$0 = 0; STACKTOP = sp;return ($mem$0|0); } $554 = HEAP32[((17712 + 440|0))>>2]|0; $555 = ($554|0)==(0); if (!($555)) { $556 = HEAP32[((17712 + 432|0))>>2]|0; $557 = (($556) + ($552))|0; $558 = ($557>>>0)<=($556>>>0); $559 = ($557>>>0)>($554>>>0); $or$cond1$i = $558 | $559; if ($or$cond1$i) { $mem$0 = 0; STACKTOP = sp;return ($mem$0|0); } } $560 = HEAP32[((17712 + 444|0))>>2]|0; $561 = $560 & 4; $562 = ($561|0)==(0); L269: do { if ($562) { $563 = HEAP32[((17712 + 24|0))>>2]|0; $564 = ($563|0)==(0|0); L271: do { if ($564) { label = 182; } else { $sp$0$i$i = ((17712 + 448|0)); while(1) { $565 = HEAP32[$sp$0$i$i>>2]|0; $566 = ($565>>>0)>($563>>>0); if (!($566)) { $567 = (($sp$0$i$i) + 4|0); $568 = HEAP32[$567>>2]|0; $569 = (($565) + ($568)|0); $570 = ($569>>>0)>($563>>>0); if ($570) { break; } } $571 = (($sp$0$i$i) + 8|0); $572 = HEAP32[$571>>2]|0; $573 = ($572|0)==(0|0); if ($573) { label = 182; break L271; } else { $sp$0$i$i = $572; } } $574 = ($sp$0$i$i|0)==(0|0); if ($574) { label = 182; } else { $597 = HEAP32[((17712 + 12|0))>>2]|0; $598 = (($550) - ($597))|0; $599 = $598 & $551; $600 = ($599>>>0)<(2147483647); if ($600) { $601 = (_sbrk(($599|0))|0); $602 = HEAP32[$sp$0$i$i>>2]|0; $603 = HEAP32[$567>>2]|0; $604 = (($602) + ($603)|0); $605 = ($601|0)==($604|0); $$3$i = $605 ? $599 : 0; $$4$i = $605 ? $601 : (-1); $br$0$i = $601;$ssize$1$i = $599;$tbase$0$i = $$4$i;$tsize$0$i = $$3$i; label = 191; } else { $tsize$0323841$i = 0; } } } } while(0); do { if ((label|0) == 182) { $575 = (_sbrk(0)|0); $576 = ($575|0)==((-1)|0); if ($576) { $tsize$0323841$i = 0; } else { $577 = $575; $578 = HEAP32[((18184 + 4|0))>>2]|0; $579 = (($578) + -1)|0; $580 = $579 & $577; $581 = ($580|0)==(0); if ($581) { $ssize$0$i = $552; } else { $582 = (($579) + ($577))|0; $583 = (0 - ($578))|0; $584 = $582 & $583; $585 = (($552) - ($577))|0; $586 = (($585) + ($584))|0; $ssize$0$i = $586; } $587 = HEAP32[((17712 + 432|0))>>2]|0; $588 = (($587) + ($ssize$0$i))|0; $589 = ($ssize$0$i>>>0)>($nb$0>>>0); $590 = ($ssize$0$i>>>0)<(2147483647); $or$cond$i29 = $589 & $590; if ($or$cond$i29) { $591 = HEAP32[((17712 + 440|0))>>2]|0; $592 = ($591|0)==(0); if (!($592)) { $593 = ($588>>>0)<=($587>>>0); $594 = ($588>>>0)>($591>>>0); $or$cond2$i = $593 | $594; if ($or$cond2$i) { $tsize$0323841$i = 0; break; } } $595 = (_sbrk(($ssize$0$i|0))|0); $596 = ($595|0)==($575|0); $ssize$0$$i = $596 ? $ssize$0$i : 0; $$$i = $596 ? $575 : (-1); $br$0$i = $595;$ssize$1$i = $ssize$0$i;$tbase$0$i = $$$i;$tsize$0$i = $ssize$0$$i; label = 191; } else { $tsize$0323841$i = 0; } } } } while(0); L291: do { if ((label|0) == 191) { $606 = (0 - ($ssize$1$i))|0; $607 = ($tbase$0$i|0)==((-1)|0); if (!($607)) { $tbase$247$i = $tbase$0$i;$tsize$246$i = $tsize$0$i; label = 202; break L269; } $608 = ($br$0$i|0)!=((-1)|0); $609 = ($ssize$1$i>>>0)<(2147483647); $or$cond5$i = $608 & $609; $610 = ($ssize$1$i>>>0)<($547>>>0); $or$cond6$i = $or$cond5$i & $610; do { if ($or$cond6$i) { $611 = HEAP32[((18184 + 8|0))>>2]|0; $612 = (($549) - ($ssize$1$i))|0; $613 = (($612) + ($611))|0; $614 = (0 - ($611))|0; $615 = $613 & $614; $616 = ($615>>>0)<(2147483647); if ($616) { $617 = (_sbrk(($615|0))|0); $618 = ($617|0)==((-1)|0); if ($618) { (_sbrk(($606|0))|0); $tsize$0323841$i = $tsize$0$i; break L291; } else { $619 = (($615) + ($ssize$1$i))|0; $ssize$2$i = $619; break; } } else { $ssize$2$i = $ssize$1$i; } } else { $ssize$2$i = $ssize$1$i; } } while(0); $620 = ($br$0$i|0)==((-1)|0); if ($620) { $tsize$0323841$i = $tsize$0$i; } else { $tbase$247$i = $br$0$i;$tsize$246$i = $ssize$2$i; label = 202; break L269; } } } while(0); $621 = HEAP32[((17712 + 444|0))>>2]|0; $622 = $621 | 4; HEAP32[((17712 + 444|0))>>2] = $622; $tsize$1$i = $tsize$0323841$i; label = 199; } else { $tsize$1$i = 0; label = 199; } } while(0); if ((label|0) == 199) { $623 = ($552>>>0)<(2147483647); if ($623) { $624 = (_sbrk(($552|0))|0); $625 = (_sbrk(0)|0); $notlhs$i = ($624|0)!=((-1)|0); $notrhs$i = ($625|0)!=((-1)|0); $or$cond8$not$i = $notrhs$i & $notlhs$i; $626 = ($624>>>0)<($625>>>0); $or$cond9$i = $or$cond8$not$i & $626; if ($or$cond9$i) { $627 = $625; $628 = $624; $629 = (($627) - ($628))|0; $630 = (($nb$0) + 40)|0; $631 = ($629>>>0)>($630>>>0); $$tsize$1$i = $631 ? $629 : $tsize$1$i; if ($631) { $tbase$247$i = $624;$tsize$246$i = $$tsize$1$i; label = 202; } } } } if ((label|0) == 202) { $632 = HEAP32[((17712 + 432|0))>>2]|0; $633 = (($632) + ($tsize$246$i))|0; HEAP32[((17712 + 432|0))>>2] = $633; $634 = HEAP32[((17712 + 436|0))>>2]|0; $635 = ($633>>>0)>($634>>>0); if ($635) { HEAP32[((17712 + 436|0))>>2] = $633; } $636 = HEAP32[((17712 + 24|0))>>2]|0; $637 = ($636|0)==(0|0); L311: do { if ($637) { $638 = HEAP32[((17712 + 16|0))>>2]|0; $639 = ($638|0)==(0|0); $640 = ($tbase$247$i>>>0)<($638>>>0); $or$cond10$i = $639 | $640; if ($or$cond10$i) { HEAP32[((17712 + 16|0))>>2] = $tbase$247$i; } HEAP32[((17712 + 448|0))>>2] = $tbase$247$i; HEAP32[((17712 + 452|0))>>2] = $tsize$246$i; HEAP32[((17712 + 460|0))>>2] = 0; $641 = HEAP32[18184>>2]|0; HEAP32[((17712 + 36|0))>>2] = $641; HEAP32[((17712 + 32|0))>>2] = -1; $i$02$i$i = 0; while(1) { $642 = $i$02$i$i << 1; $643 = ((17712 + ($642<<2)|0) + 40|0); $$sum$i$i = (($642) + 3)|0; $644 = ((17712 + ($$sum$i$i<<2)|0) + 40|0); HEAP32[$644>>2] = $643; $$sum1$i$i = (($642) + 2)|0; $645 = ((17712 + ($$sum1$i$i<<2)|0) + 40|0); HEAP32[$645>>2] = $643; $646 = (($i$02$i$i) + 1)|0; $exitcond$i$i = ($646|0)==(32); if ($exitcond$i$i) { break; } else { $i$02$i$i = $646; } } $647 = (($tsize$246$i) + -40)|0; $648 = (($tbase$247$i) + 8|0); $649 = $648; $650 = $649 & 7; $651 = ($650|0)==(0); if ($651) { $655 = 0; } else { $652 = (0 - ($649))|0; $653 = $652 & 7; $655 = $653; } $654 = (($tbase$247$i) + ($655)|0); $656 = (($647) - ($655))|0; HEAP32[((17712 + 24|0))>>2] = $654; HEAP32[((17712 + 12|0))>>2] = $656; $657 = $656 | 1; $$sum$i14$i = (($655) + 4)|0; $658 = (($tbase$247$i) + ($$sum$i14$i)|0); HEAP32[$658>>2] = $657; $$sum2$i$i = (($tsize$246$i) + -36)|0; $659 = (($tbase$247$i) + ($$sum2$i$i)|0); HEAP32[$659>>2] = 40; $660 = HEAP32[((18184 + 16|0))>>2]|0; HEAP32[((17712 + 28|0))>>2] = $660; } else { $sp$075$i = ((17712 + 448|0)); while(1) { $661 = HEAP32[$sp$075$i>>2]|0; $662 = (($sp$075$i) + 4|0); $663 = HEAP32[$662>>2]|0; $664 = (($661) + ($663)|0); $665 = ($tbase$247$i|0)==($664|0); if ($665) { label = 214; break; } $666 = (($sp$075$i) + 8|0); $667 = HEAP32[$666>>2]|0; $668 = ($667|0)==(0|0); if ($668) { break; } else { $sp$075$i = $667; } } if ((label|0) == 214) { $669 = (($sp$075$i) + 12|0); $670 = HEAP32[$669>>2]|0; $671 = $670 & 8; $672 = ($671|0)==(0); if ($672) { $673 = ($636>>>0)>=($661>>>0); $674 = ($636>>>0)<($tbase$247$i>>>0); $or$cond49$i = $673 & $674; if ($or$cond49$i) { $675 = (($663) + ($tsize$246$i))|0; HEAP32[$662>>2] = $675; $676 = HEAP32[((17712 + 12|0))>>2]|0; $677 = (($676) + ($tsize$246$i))|0; $678 = (($636) + 8|0); $679 = $678; $680 = $679 & 7; $681 = ($680|0)==(0); if ($681) { $685 = 0; } else { $682 = (0 - ($679))|0; $683 = $682 & 7; $685 = $683; } $684 = (($636) + ($685)|0); $686 = (($677) - ($685))|0; HEAP32[((17712 + 24|0))>>2] = $684; HEAP32[((17712 + 12|0))>>2] = $686; $687 = $686 | 1; $$sum$i18$i = (($685) + 4)|0; $688 = (($636) + ($$sum$i18$i)|0); HEAP32[$688>>2] = $687; $$sum2$i19$i = (($677) + 4)|0; $689 = (($636) + ($$sum2$i19$i)|0); HEAP32[$689>>2] = 40; $690 = HEAP32[((18184 + 16|0))>>2]|0; HEAP32[((17712 + 28|0))>>2] = $690; break; } } } $691 = HEAP32[((17712 + 16|0))>>2]|0; $692 = ($tbase$247$i>>>0)<($691>>>0); if ($692) { HEAP32[((17712 + 16|0))>>2] = $tbase$247$i; } $693 = (($tbase$247$i) + ($tsize$246$i)|0); $sp$168$i = ((17712 + 448|0)); while(1) { $694 = HEAP32[$sp$168$i>>2]|0; $695 = ($694|0)==($693|0); if ($695) { label = 224; break; } $696 = (($sp$168$i) + 8|0); $697 = HEAP32[$696>>2]|0; $698 = ($697|0)==(0|0); if ($698) { break; } else { $sp$168$i = $697; } } if ((label|0) == 224) { $699 = (($sp$168$i) + 12|0); $700 = HEAP32[$699>>2]|0; $701 = $700 & 8; $702 = ($701|0)==(0); if ($702) { HEAP32[$sp$168$i>>2] = $tbase$247$i; $703 = (($sp$168$i) + 4|0); $704 = HEAP32[$703>>2]|0; $705 = (($704) + ($tsize$246$i))|0; HEAP32[$703>>2] = $705; $706 = (($tbase$247$i) + 8|0); $707 = $706; $708 = $707 & 7; $709 = ($708|0)==(0); if ($709) { $713 = 0; } else { $710 = (0 - ($707))|0; $711 = $710 & 7; $713 = $711; } $712 = (($tbase$247$i) + ($713)|0); $$sum107$i = (($tsize$246$i) + 8)|0; $714 = (($tbase$247$i) + ($$sum107$i)|0); $715 = $714; $716 = $715 & 7; $717 = ($716|0)==(0); if ($717) { $720 = 0; } else { $718 = (0 - ($715))|0; $719 = $718 & 7; $720 = $719; } $$sum108$i = (($720) + ($tsize$246$i))|0; $721 = (($tbase$247$i) + ($$sum108$i)|0); $722 = $721; $723 = $712; $724 = (($722) - ($723))|0; $$sum$i21$i = (($713) + ($nb$0))|0; $725 = (($tbase$247$i) + ($$sum$i21$i)|0); $726 = (($724) - ($nb$0))|0; $727 = $nb$0 | 3; $$sum1$i22$i = (($713) + 4)|0; $728 = (($tbase$247$i) + ($$sum1$i22$i)|0); HEAP32[$728>>2] = $727; $729 = HEAP32[((17712 + 24|0))>>2]|0; $730 = ($721|0)==($729|0); L348: do { if ($730) { $731 = HEAP32[((17712 + 12|0))>>2]|0; $732 = (($731) + ($726))|0; HEAP32[((17712 + 12|0))>>2] = $732; HEAP32[((17712 + 24|0))>>2] = $725; $733 = $732 | 1; $$sum42$i$i = (($$sum$i21$i) + 4)|0; $734 = (($tbase$247$i) + ($$sum42$i$i)|0); HEAP32[$734>>2] = $733; } else { $735 = HEAP32[((17712 + 20|0))>>2]|0; $736 = ($721|0)==($735|0); if ($736) { $737 = HEAP32[((17712 + 8|0))>>2]|0; $738 = (($737) + ($726))|0; HEAP32[((17712 + 8|0))>>2] = $738; HEAP32[((17712 + 20|0))>>2] = $725; $739 = $738 | 1; $$sum40$i$i = (($$sum$i21$i) + 4)|0; $740 = (($tbase$247$i) + ($$sum40$i$i)|0); HEAP32[$740>>2] = $739; $$sum41$i$i = (($738) + ($$sum$i21$i))|0; $741 = (($tbase$247$i) + ($$sum41$i$i)|0); HEAP32[$741>>2] = $738; break; } $$sum2$i23$i = (($tsize$246$i) + 4)|0; $$sum109$i = (($$sum2$i23$i) + ($720))|0; $742 = (($tbase$247$i) + ($$sum109$i)|0); $743 = HEAP32[$742>>2]|0; $744 = $743 & 3; $745 = ($744|0)==(1); if ($745) { $746 = $743 & -8; $747 = $743 >>> 3; $748 = ($743>>>0)<(256); L356: do { if ($748) { $$sum3738$i$i = $720 | 8; $$sum119$i = (($$sum3738$i$i) + ($tsize$246$i))|0; $749 = (($tbase$247$i) + ($$sum119$i)|0); $750 = HEAP32[$749>>2]|0; $$sum39$i$i = (($tsize$246$i) + 12)|0; $$sum120$i = (($$sum39$i$i) + ($720))|0; $751 = (($tbase$247$i) + ($$sum120$i)|0); $752 = HEAP32[$751>>2]|0; $753 = $747 << 1; $754 = ((17712 + ($753<<2)|0) + 40|0); $755 = ($750|0)==($754|0); do { if (!($755)) { $756 = HEAP32[((17712 + 16|0))>>2]|0; $757 = ($750>>>0)<($756>>>0); if ($757) { _abort(); // unreachable; } $758 = (($750) + 12|0); $759 = HEAP32[$758>>2]|0; $760 = ($759|0)==($721|0); if ($760) { break; } _abort(); // unreachable; } } while(0); $761 = ($752|0)==($750|0); if ($761) { $762 = 1 << $747; $763 = $762 ^ -1; $764 = HEAP32[17712>>2]|0; $765 = $764 & $763; HEAP32[17712>>2] = $765; break; } $766 = ($752|0)==($754|0); do { if ($766) { $$pre57$i$i = (($752) + 8|0); $$pre$phi58$i$iZ2D = $$pre57$i$i; } else { $767 = HEAP32[((17712 + 16|0))>>2]|0; $768 = ($752>>>0)<($767>>>0); if ($768) { _abort(); // unreachable; } $769 = (($752) + 8|0); $770 = HEAP32[$769>>2]|0; $771 = ($770|0)==($721|0); if ($771) { $$pre$phi58$i$iZ2D = $769; break; } _abort(); // unreachable; } } while(0); $772 = (($750) + 12|0); HEAP32[$772>>2] = $752; HEAP32[$$pre$phi58$i$iZ2D>>2] = $750; } else { $$sum34$i$i = $720 | 24; $$sum110$i = (($$sum34$i$i) + ($tsize$246$i))|0; $773 = (($tbase$247$i) + ($$sum110$i)|0); $774 = HEAP32[$773>>2]|0; $$sum5$i$i = (($tsize$246$i) + 12)|0; $$sum111$i = (($$sum5$i$i) + ($720))|0; $775 = (($tbase$247$i) + ($$sum111$i)|0); $776 = HEAP32[$775>>2]|0; $777 = ($776|0)==($721|0); do { if ($777) { $$sum67$i$i = $720 | 16; $$sum117$i = (($$sum2$i23$i) + ($$sum67$i$i))|0; $788 = (($tbase$247$i) + ($$sum117$i)|0); $789 = HEAP32[$788>>2]|0; $790 = ($789|0)==(0|0); if ($790) { $$sum118$i = (($$sum67$i$i) + ($tsize$246$i))|0; $791 = (($tbase$247$i) + ($$sum118$i)|0); $792 = HEAP32[$791>>2]|0; $793 = ($792|0)==(0|0); if ($793) { $R$1$i$i = 0; break; } else { $R$0$i$i = $792;$RP$0$i$i = $791; } } else { $R$0$i$i = $789;$RP$0$i$i = $788; } while(1) { $794 = (($R$0$i$i) + 20|0); $795 = HEAP32[$794>>2]|0; $796 = ($795|0)==(0|0); if (!($796)) { $R$0$i$i = $795;$RP$0$i$i = $794; continue; } $797 = (($R$0$i$i) + 16|0); $798 = HEAP32[$797>>2]|0; $799 = ($798|0)==(0|0); if ($799) { break; } else { $R$0$i$i = $798;$RP$0$i$i = $797; } } $800 = HEAP32[((17712 + 16|0))>>2]|0; $801 = ($RP$0$i$i>>>0)<($800>>>0); if ($801) { _abort(); // unreachable; } else { HEAP32[$RP$0$i$i>>2] = 0; $R$1$i$i = $R$0$i$i; break; } } else { $$sum3536$i$i = $720 | 8; $$sum112$i = (($$sum3536$i$i) + ($tsize$246$i))|0; $778 = (($tbase$247$i) + ($$sum112$i)|0); $779 = HEAP32[$778>>2]|0; $780 = HEAP32[((17712 + 16|0))>>2]|0; $781 = ($779>>>0)<($780>>>0); if ($781) { _abort(); // unreachable; } $782 = (($779) + 12|0); $783 = HEAP32[$782>>2]|0; $784 = ($783|0)==($721|0); if (!($784)) { _abort(); // unreachable; } $785 = (($776) + 8|0); $786 = HEAP32[$785>>2]|0; $787 = ($786|0)==($721|0); if ($787) { HEAP32[$782>>2] = $776; HEAP32[$785>>2] = $779; $R$1$i$i = $776; break; } else { _abort(); // unreachable; } } } while(0); $802 = ($774|0)==(0|0); if ($802) { break; } $$sum30$i$i = (($tsize$246$i) + 28)|0; $$sum113$i = (($$sum30$i$i) + ($720))|0; $803 = (($tbase$247$i) + ($$sum113$i)|0); $804 = HEAP32[$803>>2]|0; $805 = ((17712 + ($804<<2)|0) + 304|0); $806 = HEAP32[$805>>2]|0; $807 = ($721|0)==($806|0); do { if ($807) { HEAP32[$805>>2] = $R$1$i$i; $cond$i$i = ($R$1$i$i|0)==(0|0); if (!($cond$i$i)) { break; } $808 = 1 << $804; $809 = $808 ^ -1; $810 = HEAP32[((17712 + 4|0))>>2]|0; $811 = $810 & $809; HEAP32[((17712 + 4|0))>>2] = $811; break L356; } else { $812 = HEAP32[((17712 + 16|0))>>2]|0; $813 = ($774>>>0)<($812>>>0); if ($813) { _abort(); // unreachable; } $814 = (($774) + 16|0); $815 = HEAP32[$814>>2]|0; $816 = ($815|0)==($721|0); if ($816) { HEAP32[$814>>2] = $R$1$i$i; } else { $817 = (($774) + 20|0); HEAP32[$817>>2] = $R$1$i$i; } $818 = ($R$1$i$i|0)==(0|0); if ($818) { break L356; } } } while(0); $819 = HEAP32[((17712 + 16|0))>>2]|0; $820 = ($R$1$i$i>>>0)<($819>>>0); if ($820) { _abort(); // unreachable; } $821 = (($R$1$i$i) + 24|0); HEAP32[$821>>2] = $774; $$sum3132$i$i = $720 | 16; $$sum114$i = (($$sum3132$i$i) + ($tsize$246$i))|0; $822 = (($tbase$247$i) + ($$sum114$i)|0); $823 = HEAP32[$822>>2]|0; $824 = ($823|0)==(0|0); do { if (!($824)) { $825 = HEAP32[((17712 + 16|0))>>2]|0; $826 = ($823>>>0)<($825>>>0); if ($826) { _abort(); // unreachable; } else { $827 = (($R$1$i$i) + 16|0); HEAP32[$827>>2] = $823; $828 = (($823) + 24|0); HEAP32[$828>>2] = $R$1$i$i; break; } } } while(0); $$sum115$i = (($$sum2$i23$i) + ($$sum3132$i$i))|0; $829 = (($tbase$247$i) + ($$sum115$i)|0); $830 = HEAP32[$829>>2]|0; $831 = ($830|0)==(0|0); if ($831) { break; } $832 = HEAP32[((17712 + 16|0))>>2]|0; $833 = ($830>>>0)<($832>>>0); if ($833) { _abort(); // unreachable; } else { $834 = (($R$1$i$i) + 20|0); HEAP32[$834>>2] = $830; $835 = (($830) + 24|0); HEAP32[$835>>2] = $R$1$i$i; break; } } } while(0); $$sum9$i$i = $746 | $720; $$sum116$i = (($$sum9$i$i) + ($tsize$246$i))|0; $836 = (($tbase$247$i) + ($$sum116$i)|0); $837 = (($746) + ($726))|0; $oldfirst$0$i$i = $836;$qsize$0$i$i = $837; } else { $oldfirst$0$i$i = $721;$qsize$0$i$i = $726; } $838 = (($oldfirst$0$i$i) + 4|0); $839 = HEAP32[$838>>2]|0; $840 = $839 & -2; HEAP32[$838>>2] = $840; $841 = $qsize$0$i$i | 1; $$sum10$i$i = (($$sum$i21$i) + 4)|0; $842 = (($tbase$247$i) + ($$sum10$i$i)|0); HEAP32[$842>>2] = $841; $$sum11$i24$i = (($qsize$0$i$i) + ($$sum$i21$i))|0; $843 = (($tbase$247$i) + ($$sum11$i24$i)|0); HEAP32[$843>>2] = $qsize$0$i$i; $844 = $qsize$0$i$i >>> 3; $845 = ($qsize$0$i$i>>>0)<(256); if ($845) { $846 = $844 << 1; $847 = ((17712 + ($846<<2)|0) + 40|0); $848 = HEAP32[17712>>2]|0; $849 = 1 << $844; $850 = $848 & $849; $851 = ($850|0)==(0); do { if ($851) { $852 = $848 | $849; HEAP32[17712>>2] = $852; $$sum26$pre$i$i = (($846) + 2)|0; $$pre$i25$i = ((17712 + ($$sum26$pre$i$i<<2)|0) + 40|0); $$pre$phi$i26$iZ2D = $$pre$i25$i;$F4$0$i$i = $847; } else { $$sum29$i$i = (($846) + 2)|0; $853 = ((17712 + ($$sum29$i$i<<2)|0) + 40|0); $854 = HEAP32[$853>>2]|0; $855 = HEAP32[((17712 + 16|0))>>2]|0; $856 = ($854>>>0)<($855>>>0); if (!($856)) { $$pre$phi$i26$iZ2D = $853;$F4$0$i$i = $854; break; } _abort(); // unreachable; } } while(0); HEAP32[$$pre$phi$i26$iZ2D>>2] = $725; $857 = (($F4$0$i$i) + 12|0); HEAP32[$857>>2] = $725; $$sum27$i$i = (($$sum$i21$i) + 8)|0; $858 = (($tbase$247$i) + ($$sum27$i$i)|0); HEAP32[$858>>2] = $F4$0$i$i; $$sum28$i$i = (($$sum$i21$i) + 12)|0; $859 = (($tbase$247$i) + ($$sum28$i$i)|0); HEAP32[$859>>2] = $847; break; } $860 = $qsize$0$i$i >>> 8; $861 = ($860|0)==(0); do { if ($861) { $I7$0$i$i = 0; } else { $862 = ($qsize$0$i$i>>>0)>(16777215); if ($862) { $I7$0$i$i = 31; break; } $863 = (($860) + 1048320)|0; $864 = $863 >>> 16; $865 = $864 & 8; $866 = $860 << $865; $867 = (($866) + 520192)|0; $868 = $867 >>> 16; $869 = $868 & 4; $870 = $869 | $865; $871 = $866 << $869; $872 = (($871) + 245760)|0; $873 = $872 >>> 16; $874 = $873 & 2; $875 = $870 | $874; $876 = (14 - ($875))|0; $877 = $871 << $874; $878 = $877 >>> 15; $879 = (($876) + ($878))|0; $880 = $879 << 1; $881 = (($879) + 7)|0; $882 = $qsize$0$i$i >>> $881; $883 = $882 & 1; $884 = $883 | $880; $I7$0$i$i = $884; } } while(0); $885 = ((17712 + ($I7$0$i$i<<2)|0) + 304|0); $$sum12$i$i = (($$sum$i21$i) + 28)|0; $886 = (($tbase$247$i) + ($$sum12$i$i)|0); HEAP32[$886>>2] = $I7$0$i$i; $$sum13$i$i = (($$sum$i21$i) + 16)|0; $887 = (($tbase$247$i) + ($$sum13$i$i)|0); $$sum14$i$i = (($$sum$i21$i) + 20)|0; $888 = (($tbase$247$i) + ($$sum14$i$i)|0); HEAP32[$888>>2] = 0; HEAP32[$887>>2] = 0; $889 = HEAP32[((17712 + 4|0))>>2]|0; $890 = 1 << $I7$0$i$i; $891 = $889 & $890; $892 = ($891|0)==(0); if ($892) { $893 = $889 | $890; HEAP32[((17712 + 4|0))>>2] = $893; HEAP32[$885>>2] = $725; $$sum15$i$i = (($$sum$i21$i) + 24)|0; $894 = (($tbase$247$i) + ($$sum15$i$i)|0); HEAP32[$894>>2] = $885; $$sum16$i$i = (($$sum$i21$i) + 12)|0; $895 = (($tbase$247$i) + ($$sum16$i$i)|0); HEAP32[$895>>2] = $725; $$sum17$i$i = (($$sum$i21$i) + 8)|0; $896 = (($tbase$247$i) + ($$sum17$i$i)|0); HEAP32[$896>>2] = $725; break; } $897 = HEAP32[$885>>2]|0; $898 = ($I7$0$i$i|0)==(31); if ($898) { $906 = 0; } else { $899 = $I7$0$i$i >>> 1; $900 = (25 - ($899))|0; $906 = $900; } $901 = (($897) + 4|0); $902 = HEAP32[$901>>2]|0; $903 = $902 & -8; $904 = ($903|0)==($qsize$0$i$i|0); L445: do { if ($904) { $T$0$lcssa$i28$i = $897; } else { $905 = $qsize$0$i$i << $906; $K8$052$i$i = $905;$T$051$i$i = $897; while(1) { $913 = $K8$052$i$i >>> 31; $914 = ((($T$051$i$i) + ($913<<2)|0) + 16|0); $909 = HEAP32[$914>>2]|0; $915 = ($909|0)==(0|0); if ($915) { break; } $907 = $K8$052$i$i << 1; $908 = (($909) + 4|0); $910 = HEAP32[$908>>2]|0; $911 = $910 & -8; $912 = ($911|0)==($qsize$0$i$i|0); if ($912) { $T$0$lcssa$i28$i = $909; break L445; } else { $K8$052$i$i = $907;$T$051$i$i = $909; } } $916 = HEAP32[((17712 + 16|0))>>2]|0; $917 = ($914>>>0)<($916>>>0); if ($917) { _abort(); // unreachable; } else { HEAP32[$914>>2] = $725; $$sum23$i$i = (($$sum$i21$i) + 24)|0; $918 = (($tbase$247$i) + ($$sum23$i$i)|0); HEAP32[$918>>2] = $T$051$i$i; $$sum24$i$i = (($$sum$i21$i) + 12)|0; $919 = (($tbase$247$i) + ($$sum24$i$i)|0); HEAP32[$919>>2] = $725; $$sum25$i$i = (($$sum$i21$i) + 8)|0; $920 = (($tbase$247$i) + ($$sum25$i$i)|0); HEAP32[$920>>2] = $725; break L348; } } } while(0); $921 = (($T$0$lcssa$i28$i) + 8|0); $922 = HEAP32[$921>>2]|0; $923 = HEAP32[((17712 + 16|0))>>2]|0; $924 = ($T$0$lcssa$i28$i>>>0)<($923>>>0); if ($924) { _abort(); // unreachable; } $925 = ($922>>>0)<($923>>>0); if ($925) { _abort(); // unreachable; } else { $926 = (($922) + 12|0); HEAP32[$926>>2] = $725; HEAP32[$921>>2] = $725; $$sum20$i$i = (($$sum$i21$i) + 8)|0; $927 = (($tbase$247$i) + ($$sum20$i$i)|0); HEAP32[$927>>2] = $922; $$sum21$i$i = (($$sum$i21$i) + 12)|0; $928 = (($tbase$247$i) + ($$sum21$i$i)|0); HEAP32[$928>>2] = $T$0$lcssa$i28$i; $$sum22$i$i = (($$sum$i21$i) + 24)|0; $929 = (($tbase$247$i) + ($$sum22$i$i)|0); HEAP32[$929>>2] = 0; break; } } } while(0); $$sum1819$i$i = $713 | 8; $930 = (($tbase$247$i) + ($$sum1819$i$i)|0); $mem$0 = $930; STACKTOP = sp;return ($mem$0|0); } } $sp$0$i$i$i = ((17712 + 448|0)); while(1) { $931 = HEAP32[$sp$0$i$i$i>>2]|0; $932 = ($931>>>0)>($636>>>0); if (!($932)) { $933 = (($sp$0$i$i$i) + 4|0); $934 = HEAP32[$933>>2]|0; $935 = (($931) + ($934)|0); $936 = ($935>>>0)>($636>>>0); if ($936) { break; } } $937 = (($sp$0$i$i$i) + 8|0); $938 = HEAP32[$937>>2]|0; $sp$0$i$i$i = $938; } $$sum$i15$i = (($934) + -47)|0; $$sum1$i16$i = (($934) + -39)|0; $939 = (($931) + ($$sum1$i16$i)|0); $940 = $939; $941 = $940 & 7; $942 = ($941|0)==(0); if ($942) { $945 = 0; } else { $943 = (0 - ($940))|0; $944 = $943 & 7; $945 = $944; } $$sum2$i17$i = (($$sum$i15$i) + ($945))|0; $946 = (($931) + ($$sum2$i17$i)|0); $947 = (($636) + 16|0); $948 = ($946>>>0)<($947>>>0); $949 = $948 ? $636 : $946; $950 = (($949) + 8|0); $951 = (($tsize$246$i) + -40)|0; $952 = (($tbase$247$i) + 8|0); $953 = $952; $954 = $953 & 7; $955 = ($954|0)==(0); if ($955) { $959 = 0; } else { $956 = (0 - ($953))|0; $957 = $956 & 7; $959 = $957; } $958 = (($tbase$247$i) + ($959)|0); $960 = (($951) - ($959))|0; HEAP32[((17712 + 24|0))>>2] = $958; HEAP32[((17712 + 12|0))>>2] = $960; $961 = $960 | 1; $$sum$i$i$i = (($959) + 4)|0; $962 = (($tbase$247$i) + ($$sum$i$i$i)|0); HEAP32[$962>>2] = $961; $$sum2$i$i$i = (($tsize$246$i) + -36)|0; $963 = (($tbase$247$i) + ($$sum2$i$i$i)|0); HEAP32[$963>>2] = 40; $964 = HEAP32[((18184 + 16|0))>>2]|0; HEAP32[((17712 + 28|0))>>2] = $964; $965 = (($949) + 4|0); HEAP32[$965>>2] = 27; ;HEAP32[$950+0>>2]=HEAP32[((17712 + 448|0))+0>>2]|0;HEAP32[$950+4>>2]=HEAP32[((17712 + 448|0))+4>>2]|0;HEAP32[$950+8>>2]=HEAP32[((17712 + 448|0))+8>>2]|0;HEAP32[$950+12>>2]=HEAP32[((17712 + 448|0))+12>>2]|0; HEAP32[((17712 + 448|0))>>2] = $tbase$247$i; HEAP32[((17712 + 452|0))>>2] = $tsize$246$i; HEAP32[((17712 + 460|0))>>2] = 0; HEAP32[((17712 + 456|0))>>2] = $950; $966 = (($949) + 28|0); HEAP32[$966>>2] = 7; $967 = (($949) + 32|0); $968 = ($967>>>0)<($935>>>0); if ($968) { $970 = $966; while(1) { $969 = (($970) + 4|0); HEAP32[$969>>2] = 7; $971 = (($970) + 8|0); $972 = ($971>>>0)<($935>>>0); if ($972) { $970 = $969; } else { break; } } } $973 = ($949|0)==($636|0); if (!($973)) { $974 = $949; $975 = $636; $976 = (($974) - ($975))|0; $977 = (($636) + ($976)|0); $$sum3$i$i = (($976) + 4)|0; $978 = (($636) + ($$sum3$i$i)|0); $979 = HEAP32[$978>>2]|0; $980 = $979 & -2; HEAP32[$978>>2] = $980; $981 = $976 | 1; $982 = (($636) + 4|0); HEAP32[$982>>2] = $981; HEAP32[$977>>2] = $976; $983 = $976 >>> 3; $984 = ($976>>>0)<(256); if ($984) { $985 = $983 << 1; $986 = ((17712 + ($985<<2)|0) + 40|0); $987 = HEAP32[17712>>2]|0; $988 = 1 << $983; $989 = $987 & $988; $990 = ($989|0)==(0); do { if ($990) { $991 = $987 | $988; HEAP32[17712>>2] = $991; $$sum10$pre$i$i = (($985) + 2)|0; $$pre$i$i = ((17712 + ($$sum10$pre$i$i<<2)|0) + 40|0); $$pre$phi$i$iZ2D = $$pre$i$i;$F$0$i$i = $986; } else { $$sum11$i$i = (($985) + 2)|0; $992 = ((17712 + ($$sum11$i$i<<2)|0) + 40|0); $993 = HEAP32[$992>>2]|0; $994 = HEAP32[((17712 + 16|0))>>2]|0; $995 = ($993>>>0)<($994>>>0); if (!($995)) { $$pre$phi$i$iZ2D = $992;$F$0$i$i = $993; break; } _abort(); // unreachable; } } while(0); HEAP32[$$pre$phi$i$iZ2D>>2] = $636; $996 = (($F$0$i$i) + 12|0); HEAP32[$996>>2] = $636; $997 = (($636) + 8|0); HEAP32[$997>>2] = $F$0$i$i; $998 = (($636) + 12|0); HEAP32[$998>>2] = $986; break; } $999 = $976 >>> 8; $1000 = ($999|0)==(0); if ($1000) { $I1$0$i$i = 0; } else { $1001 = ($976>>>0)>(16777215); if ($1001) { $I1$0$i$i = 31; } else { $1002 = (($999) + 1048320)|0; $1003 = $1002 >>> 16; $1004 = $1003 & 8; $1005 = $999 << $1004; $1006 = (($1005) + 520192)|0; $1007 = $1006 >>> 16; $1008 = $1007 & 4; $1009 = $1008 | $1004; $1010 = $1005 << $1008; $1011 = (($1010) + 245760)|0; $1012 = $1011 >>> 16; $1013 = $1012 & 2; $1014 = $1009 | $1013; $1015 = (14 - ($1014))|0; $1016 = $1010 << $1013; $1017 = $1016 >>> 15; $1018 = (($1015) + ($1017))|0; $1019 = $1018 << 1; $1020 = (($1018) + 7)|0; $1021 = $976 >>> $1020; $1022 = $1021 & 1; $1023 = $1022 | $1019; $I1$0$i$i = $1023; } } $1024 = ((17712 + ($I1$0$i$i<<2)|0) + 304|0); $1025 = (($636) + 28|0); $I1$0$c$i$i = $I1$0$i$i; HEAP32[$1025>>2] = $I1$0$c$i$i; $1026 = (($636) + 20|0); HEAP32[$1026>>2] = 0; $1027 = (($636) + 16|0); HEAP32[$1027>>2] = 0; $1028 = HEAP32[((17712 + 4|0))>>2]|0; $1029 = 1 << $I1$0$i$i; $1030 = $1028 & $1029; $1031 = ($1030|0)==(0); if ($1031) { $1032 = $1028 | $1029; HEAP32[((17712 + 4|0))>>2] = $1032; HEAP32[$1024>>2] = $636; $1033 = (($636) + 24|0); HEAP32[$1033>>2] = $1024; $1034 = (($636) + 12|0); HEAP32[$1034>>2] = $636; $1035 = (($636) + 8|0); HEAP32[$1035>>2] = $636; break; } $1036 = HEAP32[$1024>>2]|0; $1037 = ($I1$0$i$i|0)==(31); if ($1037) { $1045 = 0; } else { $1038 = $I1$0$i$i >>> 1; $1039 = (25 - ($1038))|0; $1045 = $1039; } $1040 = (($1036) + 4|0); $1041 = HEAP32[$1040>>2]|0; $1042 = $1041 & -8; $1043 = ($1042|0)==($976|0); L499: do { if ($1043) { $T$0$lcssa$i$i = $1036; } else { $1044 = $976 << $1045; $K2$014$i$i = $1044;$T$013$i$i = $1036; while(1) { $1052 = $K2$014$i$i >>> 31; $1053 = ((($T$013$i$i) + ($1052<<2)|0) + 16|0); $1048 = HEAP32[$1053>>2]|0; $1054 = ($1048|0)==(0|0); if ($1054) { break; } $1046 = $K2$014$i$i << 1; $1047 = (($1048) + 4|0); $1049 = HEAP32[$1047>>2]|0; $1050 = $1049 & -8; $1051 = ($1050|0)==($976|0); if ($1051) { $T$0$lcssa$i$i = $1048; break L499; } else { $K2$014$i$i = $1046;$T$013$i$i = $1048; } } $1055 = HEAP32[((17712 + 16|0))>>2]|0; $1056 = ($1053>>>0)<($1055>>>0); if ($1056) { _abort(); // unreachable; } else { HEAP32[$1053>>2] = $636; $1057 = (($636) + 24|0); HEAP32[$1057>>2] = $T$013$i$i; $1058 = (($636) + 12|0); HEAP32[$1058>>2] = $636; $1059 = (($636) + 8|0); HEAP32[$1059>>2] = $636; break L311; } } } while(0); $1060 = (($T$0$lcssa$i$i) + 8|0); $1061 = HEAP32[$1060>>2]|0; $1062 = HEAP32[((17712 + 16|0))>>2]|0; $1063 = ($T$0$lcssa$i$i>>>0)<($1062>>>0); if ($1063) { _abort(); // unreachable; } $1064 = ($1061>>>0)<($1062>>>0); if ($1064) { _abort(); // unreachable; } else { $1065 = (($1061) + 12|0); HEAP32[$1065>>2] = $636; HEAP32[$1060>>2] = $636; $1066 = (($636) + 8|0); HEAP32[$1066>>2] = $1061; $1067 = (($636) + 12|0); HEAP32[$1067>>2] = $T$0$lcssa$i$i; $1068 = (($636) + 24|0); HEAP32[$1068>>2] = 0; break; } } } } while(0); $1069 = HEAP32[((17712 + 12|0))>>2]|0; $1070 = ($1069>>>0)>($nb$0>>>0); if ($1070) { $1071 = (($1069) - ($nb$0))|0; HEAP32[((17712 + 12|0))>>2] = $1071; $1072 = HEAP32[((17712 + 24|0))>>2]|0; $1073 = (($1072) + ($nb$0)|0); HEAP32[((17712 + 24|0))>>2] = $1073; $1074 = $1071 | 1; $$sum$i32 = (($nb$0) + 4)|0; $1075 = (($1072) + ($$sum$i32)|0); HEAP32[$1075>>2] = $1074; $1076 = $nb$0 | 3; $1077 = (($1072) + 4|0); HEAP32[$1077>>2] = $1076; $1078 = (($1072) + 8|0); $mem$0 = $1078; STACKTOP = sp;return ($mem$0|0); } } $1079 = (___errno_location()|0); HEAP32[$1079>>2] = 12; $mem$0 = 0; STACKTOP = sp;return ($mem$0|0); } function _free($mem) { $mem = $mem|0; var $$pre = 0, $$pre$phi68Z2D = 0, $$pre$phi70Z2D = 0, $$pre$phiZ2D = 0, $$pre67 = 0, $$pre69 = 0, $$sum = 0, $$sum16$pre = 0, $$sum17 = 0, $$sum18 = 0, $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum2324 = 0, $$sum25 = 0, $$sum26 = 0, $$sum28 = 0, $$sum29 = 0, $$sum3 = 0, $$sum30 = 0; var $$sum31 = 0, $$sum32 = 0, $$sum33 = 0, $$sum34 = 0, $$sum35 = 0, $$sum36 = 0, $$sum37 = 0, $$sum5 = 0, $$sum67 = 0, $$sum8 = 0, $$sum9 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; var $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0; var $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0; var $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0; var $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0; var $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0; var $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0; var $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0; var $322 = 0, $323 = 0, $324 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $F16$0 = 0, $I18$0 = 0, $I18$0$c = 0, $K19$057 = 0; var $R$0 = 0, $R$1 = 0, $R7$0 = 0, $R7$1 = 0, $RP$0 = 0, $RP9$0 = 0, $T$0$lcssa = 0, $T$056 = 0, $cond = 0, $cond54 = 0, $p$0 = 0, $psize$0 = 0, $psize$1 = 0, $sp$0$i = 0, $sp$0$in$i = 0, label = 0, sp = 0; sp = STACKTOP; $0 = ($mem|0)==(0|0); if ($0) { STACKTOP = sp;return; } $1 = (($mem) + -8|0); $2 = HEAP32[((17712 + 16|0))>>2]|0; $3 = ($1>>>0)<($2>>>0); if ($3) { _abort(); // unreachable; } $4 = (($mem) + -4|0); $5 = HEAP32[$4>>2]|0; $6 = $5 & 3; $7 = ($6|0)==(1); if ($7) { _abort(); // unreachable; } $8 = $5 & -8; $$sum = (($8) + -8)|0; $9 = (($mem) + ($$sum)|0); $10 = $5 & 1; $11 = ($10|0)==(0); do { if ($11) { $12 = HEAP32[$1>>2]|0; $13 = ($6|0)==(0); if ($13) { STACKTOP = sp;return; } $$sum2 = (-8 - ($12))|0; $14 = (($mem) + ($$sum2)|0); $15 = (($12) + ($8))|0; $16 = ($14>>>0)<($2>>>0); if ($16) { _abort(); // unreachable; } $17 = HEAP32[((17712 + 20|0))>>2]|0; $18 = ($14|0)==($17|0); if ($18) { $$sum3 = (($8) + -4)|0; $104 = (($mem) + ($$sum3)|0); $105 = HEAP32[$104>>2]|0; $106 = $105 & 3; $107 = ($106|0)==(3); if (!($107)) { $p$0 = $14;$psize$0 = $15; break; } HEAP32[((17712 + 8|0))>>2] = $15; $108 = HEAP32[$104>>2]|0; $109 = $108 & -2; HEAP32[$104>>2] = $109; $110 = $15 | 1; $$sum26 = (($$sum2) + 4)|0; $111 = (($mem) + ($$sum26)|0); HEAP32[$111>>2] = $110; HEAP32[$9>>2] = $15; STACKTOP = sp;return; } $19 = $12 >>> 3; $20 = ($12>>>0)<(256); if ($20) { $$sum36 = (($$sum2) + 8)|0; $21 = (($mem) + ($$sum36)|0); $22 = HEAP32[$21>>2]|0; $$sum37 = (($$sum2) + 12)|0; $23 = (($mem) + ($$sum37)|0); $24 = HEAP32[$23>>2]|0; $25 = $19 << 1; $26 = ((17712 + ($25<<2)|0) + 40|0); $27 = ($22|0)==($26|0); if (!($27)) { $28 = ($22>>>0)<($2>>>0); if ($28) { _abort(); // unreachable; } $29 = (($22) + 12|0); $30 = HEAP32[$29>>2]|0; $31 = ($30|0)==($14|0); if (!($31)) { _abort(); // unreachable; } } $32 = ($24|0)==($22|0); if ($32) { $33 = 1 << $19; $34 = $33 ^ -1; $35 = HEAP32[17712>>2]|0; $36 = $35 & $34; HEAP32[17712>>2] = $36; $p$0 = $14;$psize$0 = $15; break; } $37 = ($24|0)==($26|0); if ($37) { $$pre69 = (($24) + 8|0); $$pre$phi70Z2D = $$pre69; } else { $38 = ($24>>>0)<($2>>>0); if ($38) { _abort(); // unreachable; } $39 = (($24) + 8|0); $40 = HEAP32[$39>>2]|0; $41 = ($40|0)==($14|0); if ($41) { $$pre$phi70Z2D = $39; } else { _abort(); // unreachable; } } $42 = (($22) + 12|0); HEAP32[$42>>2] = $24; HEAP32[$$pre$phi70Z2D>>2] = $22; $p$0 = $14;$psize$0 = $15; break; } $$sum28 = (($$sum2) + 24)|0; $43 = (($mem) + ($$sum28)|0); $44 = HEAP32[$43>>2]|0; $$sum29 = (($$sum2) + 12)|0; $45 = (($mem) + ($$sum29)|0); $46 = HEAP32[$45>>2]|0; $47 = ($46|0)==($14|0); do { if ($47) { $$sum31 = (($$sum2) + 20)|0; $57 = (($mem) + ($$sum31)|0); $58 = HEAP32[$57>>2]|0; $59 = ($58|0)==(0|0); if ($59) { $$sum30 = (($$sum2) + 16)|0; $60 = (($mem) + ($$sum30)|0); $61 = HEAP32[$60>>2]|0; $62 = ($61|0)==(0|0); if ($62) { $R$1 = 0; break; } else { $R$0 = $61;$RP$0 = $60; } } else { $R$0 = $58;$RP$0 = $57; } while(1) { $63 = (($R$0) + 20|0); $64 = HEAP32[$63>>2]|0; $65 = ($64|0)==(0|0); if (!($65)) { $R$0 = $64;$RP$0 = $63; continue; } $66 = (($R$0) + 16|0); $67 = HEAP32[$66>>2]|0; $68 = ($67|0)==(0|0); if ($68) { break; } else { $R$0 = $67;$RP$0 = $66; } } $69 = ($RP$0>>>0)<($2>>>0); if ($69) { _abort(); // unreachable; } else { HEAP32[$RP$0>>2] = 0; $R$1 = $R$0; break; } } else { $$sum35 = (($$sum2) + 8)|0; $48 = (($mem) + ($$sum35)|0); $49 = HEAP32[$48>>2]|0; $50 = ($49>>>0)<($2>>>0); if ($50) { _abort(); // unreachable; } $51 = (($49) + 12|0); $52 = HEAP32[$51>>2]|0; $53 = ($52|0)==($14|0); if (!($53)) { _abort(); // unreachable; } $54 = (($46) + 8|0); $55 = HEAP32[$54>>2]|0; $56 = ($55|0)==($14|0); if ($56) { HEAP32[$51>>2] = $46; HEAP32[$54>>2] = $49; $R$1 = $46; break; } else { _abort(); // unreachable; } } } while(0); $70 = ($44|0)==(0|0); if ($70) { $p$0 = $14;$psize$0 = $15; } else { $$sum32 = (($$sum2) + 28)|0; $71 = (($mem) + ($$sum32)|0); $72 = HEAP32[$71>>2]|0; $73 = ((17712 + ($72<<2)|0) + 304|0); $74 = HEAP32[$73>>2]|0; $75 = ($14|0)==($74|0); if ($75) { HEAP32[$73>>2] = $R$1; $cond = ($R$1|0)==(0|0); if ($cond) { $76 = 1 << $72; $77 = $76 ^ -1; $78 = HEAP32[((17712 + 4|0))>>2]|0; $79 = $78 & $77; HEAP32[((17712 + 4|0))>>2] = $79; $p$0 = $14;$psize$0 = $15; break; } } else { $80 = HEAP32[((17712 + 16|0))>>2]|0; $81 = ($44>>>0)<($80>>>0); if ($81) { _abort(); // unreachable; } $82 = (($44) + 16|0); $83 = HEAP32[$82>>2]|0; $84 = ($83|0)==($14|0); if ($84) { HEAP32[$82>>2] = $R$1; } else { $85 = (($44) + 20|0); HEAP32[$85>>2] = $R$1; } $86 = ($R$1|0)==(0|0); if ($86) { $p$0 = $14;$psize$0 = $15; break; } } $87 = HEAP32[((17712 + 16|0))>>2]|0; $88 = ($R$1>>>0)<($87>>>0); if ($88) { _abort(); // unreachable; } $89 = (($R$1) + 24|0); HEAP32[$89>>2] = $44; $$sum33 = (($$sum2) + 16)|0; $90 = (($mem) + ($$sum33)|0); $91 = HEAP32[$90>>2]|0; $92 = ($91|0)==(0|0); do { if (!($92)) { $93 = HEAP32[((17712 + 16|0))>>2]|0; $94 = ($91>>>0)<($93>>>0); if ($94) { _abort(); // unreachable; } else { $95 = (($R$1) + 16|0); HEAP32[$95>>2] = $91; $96 = (($91) + 24|0); HEAP32[$96>>2] = $R$1; break; } } } while(0); $$sum34 = (($$sum2) + 20)|0; $97 = (($mem) + ($$sum34)|0); $98 = HEAP32[$97>>2]|0; $99 = ($98|0)==(0|0); if ($99) { $p$0 = $14;$psize$0 = $15; } else { $100 = HEAP32[((17712 + 16|0))>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); // unreachable; } else { $102 = (($R$1) + 20|0); HEAP32[$102>>2] = $98; $103 = (($98) + 24|0); HEAP32[$103>>2] = $R$1; $p$0 = $14;$psize$0 = $15; break; } } } } else { $p$0 = $1;$psize$0 = $8; } } while(0); $112 = ($p$0>>>0)<($9>>>0); if (!($112)) { _abort(); // unreachable; } $$sum25 = (($8) + -4)|0; $113 = (($mem) + ($$sum25)|0); $114 = HEAP32[$113>>2]|0; $115 = $114 & 1; $116 = ($115|0)==(0); if ($116) { _abort(); // unreachable; } $117 = $114 & 2; $118 = ($117|0)==(0); if ($118) { $119 = HEAP32[((17712 + 24|0))>>2]|0; $120 = ($9|0)==($119|0); if ($120) { $121 = HEAP32[((17712 + 12|0))>>2]|0; $122 = (($121) + ($psize$0))|0; HEAP32[((17712 + 12|0))>>2] = $122; HEAP32[((17712 + 24|0))>>2] = $p$0; $123 = $122 | 1; $124 = (($p$0) + 4|0); HEAP32[$124>>2] = $123; $125 = HEAP32[((17712 + 20|0))>>2]|0; $126 = ($p$0|0)==($125|0); if (!($126)) { STACKTOP = sp;return; } HEAP32[((17712 + 20|0))>>2] = 0; HEAP32[((17712 + 8|0))>>2] = 0; STACKTOP = sp;return; } $127 = HEAP32[((17712 + 20|0))>>2]|0; $128 = ($9|0)==($127|0); if ($128) { $129 = HEAP32[((17712 + 8|0))>>2]|0; $130 = (($129) + ($psize$0))|0; HEAP32[((17712 + 8|0))>>2] = $130; HEAP32[((17712 + 20|0))>>2] = $p$0; $131 = $130 | 1; $132 = (($p$0) + 4|0); HEAP32[$132>>2] = $131; $133 = (($p$0) + ($130)|0); HEAP32[$133>>2] = $130; STACKTOP = sp;return; } $134 = $114 & -8; $135 = (($134) + ($psize$0))|0; $136 = $114 >>> 3; $137 = ($114>>>0)<(256); do { if ($137) { $138 = (($mem) + ($8)|0); $139 = HEAP32[$138>>2]|0; $$sum2324 = $8 | 4; $140 = (($mem) + ($$sum2324)|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; $143 = ((17712 + ($142<<2)|0) + 40|0); $144 = ($139|0)==($143|0); if (!($144)) { $145 = HEAP32[((17712 + 16|0))>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); // unreachable; } $147 = (($139) + 12|0); $148 = HEAP32[$147>>2]|0; $149 = ($148|0)==($9|0); if (!($149)) { _abort(); // unreachable; } } $150 = ($141|0)==($139|0); if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; $153 = HEAP32[17712>>2]|0; $154 = $153 & $152; HEAP32[17712>>2] = $154; break; } $155 = ($141|0)==($143|0); if ($155) { $$pre67 = (($141) + 8|0); $$pre$phi68Z2D = $$pre67; } else { $156 = HEAP32[((17712 + 16|0))>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); // unreachable; } $158 = (($141) + 8|0); $159 = HEAP32[$158>>2]|0; $160 = ($159|0)==($9|0); if ($160) { $$pre$phi68Z2D = $158; } else { _abort(); // unreachable; } } $161 = (($139) + 12|0); HEAP32[$161>>2] = $141; HEAP32[$$pre$phi68Z2D>>2] = $139; } else { $$sum5 = (($8) + 16)|0; $162 = (($mem) + ($$sum5)|0); $163 = HEAP32[$162>>2]|0; $$sum67 = $8 | 4; $164 = (($mem) + ($$sum67)|0); $165 = HEAP32[$164>>2]|0; $166 = ($165|0)==($9|0); do { if ($166) { $$sum9 = (($8) + 12)|0; $177 = (($mem) + ($$sum9)|0); $178 = HEAP32[$177>>2]|0; $179 = ($178|0)==(0|0); if ($179) { $$sum8 = (($8) + 8)|0; $180 = (($mem) + ($$sum8)|0); $181 = HEAP32[$180>>2]|0; $182 = ($181|0)==(0|0); if ($182) { $R7$1 = 0; break; } else { $R7$0 = $181;$RP9$0 = $180; } } else { $R7$0 = $178;$RP9$0 = $177; } while(1) { $183 = (($R7$0) + 20|0); $184 = HEAP32[$183>>2]|0; $185 = ($184|0)==(0|0); if (!($185)) { $R7$0 = $184;$RP9$0 = $183; continue; } $186 = (($R7$0) + 16|0); $187 = HEAP32[$186>>2]|0; $188 = ($187|0)==(0|0); if ($188) { break; } else { $R7$0 = $187;$RP9$0 = $186; } } $189 = HEAP32[((17712 + 16|0))>>2]|0; $190 = ($RP9$0>>>0)<($189>>>0); if ($190) { _abort(); // unreachable; } else { HEAP32[$RP9$0>>2] = 0; $R7$1 = $R7$0; break; } } else { $167 = (($mem) + ($8)|0); $168 = HEAP32[$167>>2]|0; $169 = HEAP32[((17712 + 16|0))>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); // unreachable; } $171 = (($168) + 12|0); $172 = HEAP32[$171>>2]|0; $173 = ($172|0)==($9|0); if (!($173)) { _abort(); // unreachable; } $174 = (($165) + 8|0); $175 = HEAP32[$174>>2]|0; $176 = ($175|0)==($9|0); if ($176) { HEAP32[$171>>2] = $165; HEAP32[$174>>2] = $168; $R7$1 = $165; break; } else { _abort(); // unreachable; } } } while(0); $191 = ($163|0)==(0|0); if (!($191)) { $$sum18 = (($8) + 20)|0; $192 = (($mem) + ($$sum18)|0); $193 = HEAP32[$192>>2]|0; $194 = ((17712 + ($193<<2)|0) + 304|0); $195 = HEAP32[$194>>2]|0; $196 = ($9|0)==($195|0); if ($196) { HEAP32[$194>>2] = $R7$1; $cond54 = ($R7$1|0)==(0|0); if ($cond54) { $197 = 1 << $193; $198 = $197 ^ -1; $199 = HEAP32[((17712 + 4|0))>>2]|0; $200 = $199 & $198; HEAP32[((17712 + 4|0))>>2] = $200; break; } } else { $201 = HEAP32[((17712 + 16|0))>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); // unreachable; } $203 = (($163) + 16|0); $204 = HEAP32[$203>>2]|0; $205 = ($204|0)==($9|0); if ($205) { HEAP32[$203>>2] = $R7$1; } else { $206 = (($163) + 20|0); HEAP32[$206>>2] = $R7$1; } $207 = ($R7$1|0)==(0|0); if ($207) { break; } } $208 = HEAP32[((17712 + 16|0))>>2]|0; $209 = ($R7$1>>>0)<($208>>>0); if ($209) { _abort(); // unreachable; } $210 = (($R7$1) + 24|0); HEAP32[$210>>2] = $163; $$sum19 = (($8) + 8)|0; $211 = (($mem) + ($$sum19)|0); $212 = HEAP32[$211>>2]|0; $213 = ($212|0)==(0|0); do { if (!($213)) { $214 = HEAP32[((17712 + 16|0))>>2]|0; $215 = ($212>>>0)<($214>>>0); if ($215) { _abort(); // unreachable; } else { $216 = (($R7$1) + 16|0); HEAP32[$216>>2] = $212; $217 = (($212) + 24|0); HEAP32[$217>>2] = $R7$1; break; } } } while(0); $$sum20 = (($8) + 12)|0; $218 = (($mem) + ($$sum20)|0); $219 = HEAP32[$218>>2]|0; $220 = ($219|0)==(0|0); if (!($220)) { $221 = HEAP32[((17712 + 16|0))>>2]|0; $222 = ($219>>>0)<($221>>>0); if ($222) { _abort(); // unreachable; } else { $223 = (($R7$1) + 20|0); HEAP32[$223>>2] = $219; $224 = (($219) + 24|0); HEAP32[$224>>2] = $R7$1; break; } } } } } while(0); $225 = $135 | 1; $226 = (($p$0) + 4|0); HEAP32[$226>>2] = $225; $227 = (($p$0) + ($135)|0); HEAP32[$227>>2] = $135; $228 = HEAP32[((17712 + 20|0))>>2]|0; $229 = ($p$0|0)==($228|0); if ($229) { HEAP32[((17712 + 8|0))>>2] = $135; STACKTOP = sp;return; } else { $psize$1 = $135; } } else { $230 = $114 & -2; HEAP32[$113>>2] = $230; $231 = $psize$0 | 1; $232 = (($p$0) + 4|0); HEAP32[$232>>2] = $231; $233 = (($p$0) + ($psize$0)|0); HEAP32[$233>>2] = $psize$0; $psize$1 = $psize$0; } $234 = $psize$1 >>> 3; $235 = ($psize$1>>>0)<(256); if ($235) { $236 = $234 << 1; $237 = ((17712 + ($236<<2)|0) + 40|0); $238 = HEAP32[17712>>2]|0; $239 = 1 << $234; $240 = $238 & $239; $241 = ($240|0)==(0); if ($241) { $242 = $238 | $239; HEAP32[17712>>2] = $242; $$sum16$pre = (($236) + 2)|0; $$pre = ((17712 + ($$sum16$pre<<2)|0) + 40|0); $$pre$phiZ2D = $$pre;$F16$0 = $237; } else { $$sum17 = (($236) + 2)|0; $243 = ((17712 + ($$sum17<<2)|0) + 40|0); $244 = HEAP32[$243>>2]|0; $245 = HEAP32[((17712 + 16|0))>>2]|0; $246 = ($244>>>0)<($245>>>0); if ($246) { _abort(); // unreachable; } else { $$pre$phiZ2D = $243;$F16$0 = $244; } } HEAP32[$$pre$phiZ2D>>2] = $p$0; $247 = (($F16$0) + 12|0); HEAP32[$247>>2] = $p$0; $248 = (($p$0) + 8|0); HEAP32[$248>>2] = $F16$0; $249 = (($p$0) + 12|0); HEAP32[$249>>2] = $237; STACKTOP = sp;return; } $250 = $psize$1 >>> 8; $251 = ($250|0)==(0); if ($251) { $I18$0 = 0; } else { $252 = ($psize$1>>>0)>(16777215); if ($252) { $I18$0 = 31; } else { $253 = (($250) + 1048320)|0; $254 = $253 >>> 16; $255 = $254 & 8; $256 = $250 << $255; $257 = (($256) + 520192)|0; $258 = $257 >>> 16; $259 = $258 & 4; $260 = $259 | $255; $261 = $256 << $259; $262 = (($261) + 245760)|0; $263 = $262 >>> 16; $264 = $263 & 2; $265 = $260 | $264; $266 = (14 - ($265))|0; $267 = $261 << $264; $268 = $267 >>> 15; $269 = (($266) + ($268))|0; $270 = $269 << 1; $271 = (($269) + 7)|0; $272 = $psize$1 >>> $271; $273 = $272 & 1; $274 = $273 | $270; $I18$0 = $274; } } $275 = ((17712 + ($I18$0<<2)|0) + 304|0); $276 = (($p$0) + 28|0); $I18$0$c = $I18$0; HEAP32[$276>>2] = $I18$0$c; $277 = (($p$0) + 20|0); HEAP32[$277>>2] = 0; $278 = (($p$0) + 16|0); HEAP32[$278>>2] = 0; $279 = HEAP32[((17712 + 4|0))>>2]|0; $280 = 1 << $I18$0; $281 = $279 & $280; $282 = ($281|0)==(0); L199: do { if ($282) { $283 = $279 | $280; HEAP32[((17712 + 4|0))>>2] = $283; HEAP32[$275>>2] = $p$0; $284 = (($p$0) + 24|0); HEAP32[$284>>2] = $275; $285 = (($p$0) + 12|0); HEAP32[$285>>2] = $p$0; $286 = (($p$0) + 8|0); HEAP32[$286>>2] = $p$0; } else { $287 = HEAP32[$275>>2]|0; $288 = ($I18$0|0)==(31); if ($288) { $296 = 0; } else { $289 = $I18$0 >>> 1; $290 = (25 - ($289))|0; $296 = $290; } $291 = (($287) + 4|0); $292 = HEAP32[$291>>2]|0; $293 = $292 & -8; $294 = ($293|0)==($psize$1|0); L204: do { if ($294) { $T$0$lcssa = $287; } else { $295 = $psize$1 << $296; $K19$057 = $295;$T$056 = $287; while(1) { $303 = $K19$057 >>> 31; $304 = ((($T$056) + ($303<<2)|0) + 16|0); $299 = HEAP32[$304>>2]|0; $305 = ($299|0)==(0|0); if ($305) { break; } $297 = $K19$057 << 1; $298 = (($299) + 4|0); $300 = HEAP32[$298>>2]|0; $301 = $300 & -8; $302 = ($301|0)==($psize$1|0); if ($302) { $T$0$lcssa = $299; break L204; } else { $K19$057 = $297;$T$056 = $299; } } $306 = HEAP32[((17712 + 16|0))>>2]|0; $307 = ($304>>>0)<($306>>>0); if ($307) { _abort(); // unreachable; } else { HEAP32[$304>>2] = $p$0; $308 = (($p$0) + 24|0); HEAP32[$308>>2] = $T$056; $309 = (($p$0) + 12|0); HEAP32[$309>>2] = $p$0; $310 = (($p$0) + 8|0); HEAP32[$310>>2] = $p$0; break L199; } } } while(0); $311 = (($T$0$lcssa) + 8|0); $312 = HEAP32[$311>>2]|0; $313 = HEAP32[((17712 + 16|0))>>2]|0; $314 = ($T$0$lcssa>>>0)<($313>>>0); if ($314) { _abort(); // unreachable; } $315 = ($312>>>0)<($313>>>0); if ($315) { _abort(); // unreachable; } else { $316 = (($312) + 12|0); HEAP32[$316>>2] = $p$0; HEAP32[$311>>2] = $p$0; $317 = (($p$0) + 8|0); HEAP32[$317>>2] = $312; $318 = (($p$0) + 12|0); HEAP32[$318>>2] = $T$0$lcssa; $319 = (($p$0) + 24|0); HEAP32[$319>>2] = 0; break; } } } while(0); $320 = HEAP32[((17712 + 32|0))>>2]|0; $321 = (($320) + -1)|0; HEAP32[((17712 + 32|0))>>2] = $321; $322 = ($321|0)==(0); if ($322) { $sp$0$in$i = ((17712 + 456|0)); } else { STACKTOP = sp;return; } while(1) { $sp$0$i = HEAP32[$sp$0$in$i>>2]|0; $323 = ($sp$0$i|0)==(0|0); $324 = (($sp$0$i) + 8|0); if ($323) { break; } else { $sp$0$in$i = $324; } } HEAP32[((17712 + 32|0))>>2] = -1; STACKTOP = sp;return; } function _memchr($src,$c,$n) { $src = $src|0; $c = $c|0; $n = $n|0; var $$0$lcssa = 0, $$0$lcssa34 = 0, $$013 = 0, $$1$lcssa = 0, $$17 = 0, $$24 = 0, $$3 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond12 = 0, $s$0$lcssa = 0, $s$0$lcssa33 = 0, $s$014 = 0, $s$15 = 0, $s$2 = 0, $w$0$lcssa = 0, $w$08 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = $c & 255; $1 = $src; $2 = $1 & 3; $3 = ($2|0)==(0); $4 = ($n|0)==(0); $or$cond12 = $3 | $4; L1: do { if ($or$cond12) { $$0$lcssa = $n;$$lcssa = $4;$s$0$lcssa = $src; label = 5; } else { $5 = $c&255; $$013 = $n;$s$014 = $src; while(1) { $6 = HEAP8[$s$014>>0]|0; $7 = ($6<<24>>24)==($5<<24>>24); if ($7) { $$0$lcssa34 = $$013;$s$0$lcssa33 = $s$014; label = 6; break L1; } $8 = (($s$014) + 1|0); $9 = (($$013) + -1)|0; $10 = $8; $11 = $10 & 3; $12 = ($11|0)==(0); $13 = ($9|0)==(0); $or$cond = $12 | $13; if ($or$cond) { $$0$lcssa = $9;$$lcssa = $13;$s$0$lcssa = $8; label = 5; break; } else { $$013 = $9;$s$014 = $8; } } } } while(0); if ((label|0) == 5) { if ($$lcssa) { $$3 = 0;$s$2 = $s$0$lcssa; } else { $$0$lcssa34 = $$0$lcssa;$s$0$lcssa33 = $s$0$lcssa; label = 6; } } L8: do { if ((label|0) == 6) { $14 = HEAP8[$s$0$lcssa33>>0]|0; $15 = $c&255; $16 = ($14<<24>>24)==($15<<24>>24); if ($16) { $$3 = $$0$lcssa34;$s$2 = $s$0$lcssa33; } else { $17 = Math_imul($0, 16843009)|0; $18 = ($$0$lcssa34>>>0)>(3); L11: do { if ($18) { $$17 = $$0$lcssa34;$w$08 = $s$0$lcssa33; while(1) { $19 = HEAP32[$w$08>>2]|0; $20 = $19 ^ $17; $21 = (($20) + -16843009)|0; $22 = $20 & -2139062144; $23 = $22 ^ -2139062144; $24 = $23 & $21; $25 = ($24|0)==(0); if (!($25)) { $$1$lcssa = $$17;$w$0$lcssa = $w$08; break L11; } $26 = (($w$08) + 4|0); $27 = (($$17) + -4)|0; $28 = ($27>>>0)>(3); if ($28) { $$17 = $27;$w$08 = $26; } else { $$1$lcssa = $27;$w$0$lcssa = $26; break; } } } else { $$1$lcssa = $$0$lcssa34;$w$0$lcssa = $s$0$lcssa33; } } while(0); $29 = ($$1$lcssa|0)==(0); if ($29) { $$3 = 0;$s$2 = $w$0$lcssa; } else { $$24 = $$1$lcssa;$s$15 = $w$0$lcssa; while(1) { $30 = HEAP8[$s$15>>0]|0; $31 = ($30<<24>>24)==($15<<24>>24); if ($31) { $$3 = $$24;$s$2 = $s$15; break L8; } $32 = (($s$15) + 1|0); $33 = (($$24) + -1)|0; $34 = ($33|0)==(0); if ($34) { $$3 = 0;$s$2 = $32; break; } else { $$24 = $33;$s$15 = $32; } } } } } } while(0); $35 = ($$3|0)!=(0); $36 = $35 ? $s$2 : 0; STACKTOP = sp;return ($36|0); } function _memcmp($vl,$vr,$n) { $vl = $vl|0; $vr = $vr|0; $n = $n|0; var $$03 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $l$04 = 0, $r$05 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = ($n|0)==(0); L1: do { if ($0) { $11 = 0; } else { $$03 = $n;$l$04 = $vl;$r$05 = $vr; while(1) { $1 = HEAP8[$l$04>>0]|0; $2 = HEAP8[$r$05>>0]|0; $3 = ($1<<24>>24)==($2<<24>>24); if (!($3)) { break; } $4 = (($$03) + -1)|0; $5 = (($l$04) + 1|0); $6 = (($r$05) + 1|0); $7 = ($4|0)==(0); if ($7) { $11 = 0; break L1; } else { $$03 = $4;$l$04 = $5;$r$05 = $6; } } $8 = $1&255; $9 = $2&255; $10 = (($8) - ($9))|0; $11 = $10; } } while(0); STACKTOP = sp;return ($11|0); } function _strcmp($l,$r) { $l = $l|0; $r = $r|0; var $$014 = 0, $$05 = 0, $$lcssa = 0, $$lcssa2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0; var sp = 0; sp = STACKTOP; $0 = HEAP8[$l>>0]|0; $1 = HEAP8[$r>>0]|0; $2 = ($0<<24>>24)!=($1<<24>>24); $3 = ($0<<24>>24)==(0); $or$cond3 = $2 | $3; if ($or$cond3) { $$lcssa = $0;$$lcssa2 = $1; } else { $$014 = $l;$$05 = $r; while(1) { $4 = (($$014) + 1|0); $5 = (($$05) + 1|0); $6 = HEAP8[$4>>0]|0; $7 = HEAP8[$5>>0]|0; $8 = ($6<<24>>24)!=($7<<24>>24); $9 = ($6<<24>>24)==(0); $or$cond = $8 | $9; if ($or$cond) { $$lcssa = $6;$$lcssa2 = $7; break; } else { $$014 = $4;$$05 = $5; } } } $10 = $$lcssa&255; $11 = $$lcssa2&255; $12 = (($10) - ($11))|0; STACKTOP = sp;return ($12|0); } function runPostSets() { } 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)>>0)]=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)>>0)]=value; ptr = (ptr+1)|0; } return (ptr-num)|0; } 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 _memcpy(dest, src, num) { dest = dest|0; src = src|0; num = num|0; var ret = 0; if ((num|0) >= 4096) return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; ret = dest|0; if ((dest&3) == (src&3)) { while (dest & 3) { if ((num|0) == 0) return ret|0; HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); dest = (dest+1)|0; src = (src+1)|0; num = (num-1)|0; } while ((num|0) >= 4) { HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); dest = (dest+4)|0; src = (src+4)|0; num = (num-4)|0; } } while ((num|0) > 0) { HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); dest = (dest+1)|0; src = (src+1)|0; num = (num-1)|0; } return ret|0; } 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)); return pdest|0; } // EMSCRIPTEN_END_FUNCS // EMSCRIPTEN_END_FUNCS return { _filtcoef: _filtcoef, _free: _free, _wave_transform: _wave_transform, _wtoutputlength: _wtoutputlength, _memset: _memset, _malloc: _malloc, _memcpy: _memcpy, _strlen: _strlen, _inv_wave_transform: _inv_wave_transform, _filtlength: _filtlength, _strcpy: _strcpy, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0 }; }) // EMSCRIPTEN_END_ASM ({ "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array }, { "abort": abort, "assert": assert, "min": Math_min, "_sin": _sin, "_llvm_pow_f64": _llvm_pow_f64, "_send": _send, "__reallyNegative": __reallyNegative, "_fflush": _fflush, "_pwrite": _pwrite, "___setErrNo": ___setErrNo, "_sbrk": _sbrk, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_fileno": _fileno, "__exit": __exit, "_cos": _cos, "_printf": _printf, "_log": _log, "_write": _write, "___errno_location": ___errno_location, "_mkport": _mkport, "_sysconf": _sysconf, "_abort": _abort, "_fwrite": _fwrite, "_time": _time, "_fprintf": _fprintf, "_ceil": _ceil, "__formatString": __formatString, "_log10": _log10, "_sqrt": _sqrt, "_exit": _exit, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "NaN": NaN, "Infinity": Infinity }, buffer); var real__filtcoef = asm["_filtcoef"]; asm["_filtcoef"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); return real__filtcoef.apply(null, arguments); }; var real__wave_transform = asm["_wave_transform"]; asm["_wave_transform"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); return real__wave_transform.apply(null, arguments); }; var real__wtoutputlength = asm["_wtoutputlength"]; asm["_wtoutputlength"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); return real__wtoutputlength.apply(null, arguments); }; var real__strlen = asm["_strlen"]; asm["_strlen"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); return real__strlen.apply(null, arguments); }; var real__inv_wave_transform = asm["_inv_wave_transform"]; asm["_inv_wave_transform"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); return real__inv_wave_transform.apply(null, arguments); }; var real__filtlength = asm["_filtlength"]; asm["_filtlength"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); return real__filtlength.apply(null, arguments); }; var real__strcpy = asm["_strcpy"]; asm["_strcpy"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); return real__strcpy.apply(null, arguments); }; var real_runPostSets = asm["runPostSets"]; asm["runPostSets"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); return real_runPostSets.apply(null, arguments); }; var _filtcoef = Module["_filtcoef"] = asm["_filtcoef"]; var _free = Module["_free"] = asm["_free"]; var _wave_transform = Module["_wave_transform"] = asm["_wave_transform"]; var _wtoutputlength = Module["_wtoutputlength"] = asm["_wtoutputlength"]; var _memset = Module["_memset"] = asm["_memset"]; var _malloc = Module["_malloc"] = asm["_malloc"]; var _memcpy = Module["_memcpy"] = asm["_memcpy"]; var _strlen = Module["_strlen"] = asm["_strlen"]; var _inv_wave_transform = Module["_inv_wave_transform"] = asm["_inv_wave_transform"]; var _filtlength = Module["_filtlength"] = asm["_filtlength"]; var _strcpy = Module["_strcpy"] = asm["_strcpy"]; var runPostSets = Module["runPostSets"] = asm["runPostSets"]; Runtime.stackAlloc = asm['stackAlloc']; Runtime.stackSave = asm['stackSave']; Runtime.stackRestore = asm['stackRestore']; Runtime.setTempRet0 = asm['setTempRet0']; Runtime.getTempRet0 = asm['getTempRet0']; // Warning: printing of i64 values may be slightly rounded! No deep i64 math used, so precise i64 code not included var i64Math = null; // === Auto-generated postamble setup entry stuff === if (memoryInitializer) { if (typeof Module['locateFile'] === 'function') { memoryInitializer = Module['locateFile'](memoryInitializer); } else if (Module['memoryInitializerPrefixURL']) { memoryInitializer = Module['memoryInitializerPrefixURL'] + memoryInitializer; } if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) { var data = Module['readBinary'](memoryInitializer); HEAPU8.set(data, STATIC_BASE); } else { addRunDependency('memory initializer'); Browser.asyncLoad(memoryInitializer, function(data) { for (var i = 0; i < data.length; i++) { assert(HEAPU8[STATIC_BASE + i] === 0, "area for memory initializer should not have been touched before it's loaded"); } HEAPU8.set(data, STATIC_BASE); removeRunDependency('memory initializer'); }, function(data) { throw 'could not load memory initializer ' + memoryInitializer; }); } } function ExitStatus(status) { this.name = "ExitStatus"; this.message = "Program terminated with exit(" + status + ")"; this.status = status; }; ExitStatus.prototype = new Error(); ExitStatus.prototype.constructor = ExitStatus; var initialStackTop; var preloadStartTime = null; var calledMain = false; dependenciesFulfilled = function runCaller() { // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) if (!Module['calledRun'] && shouldRunNow) run(); if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled } Module['callMain'] = Module.callMain = function callMain(args) { assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); args = args || []; ensureInitRuntime(); var argc = args.length+1; function pad() { for (var i = 0; i < 4-1; i++) { argv.push(0); } } var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; pad(); for (var i = 0; i < argc-1; i = i + 1) { argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); pad(); } argv.push(0); argv = allocate(argv, 'i32', ALLOC_NORMAL); initialStackTop = STACKTOP; try { var ret = Module['_main'](argc, argv, 0); // if we're not running an evented main loop, it's time to exit exit(ret); } catch(e) { if (e instanceof ExitStatus) { // exit() throws this once it's done to make sure execution // has been stopped completely return; } else if (e == 'SimulateInfiniteLoop') { // running an evented main loop, don't immediately exit Module['noExitRuntime'] = true; return; } else { if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); throw e; } } finally { calledMain = true; } } function run(args) { args = args || Module['arguments']; if (preloadStartTime === null) preloadStartTime = Date.now(); if (runDependencies > 0) { Module.printErr('run() called, but dependencies remain, so not running'); return; } preRun(); if (runDependencies > 0) return; // a preRun added a dependency, run will be called later if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame function doRun() { if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening Module['calledRun'] = true; if (ABORT) return; ensureInitRuntime(); preMain(); if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); } if (Module['_main'] && shouldRunNow) { Module['callMain'](args); } postRun(); } if (Module['setStatus']) { Module['setStatus']('Running...'); setTimeout(function() { setTimeout(function() { Module['setStatus'](''); }, 1); doRun(); }, 1); } else { doRun(); } } Module['run'] = Module.run = run; function exit(status) { if (Module['noExitRuntime']) { Module.printErr('exit(' + status + ') called, but noExitRuntime, so not exiting'); return; } ABORT = true; EXITSTATUS = status; STACKTOP = initialStackTop; // exit the runtime exitRuntime(); if (ENVIRONMENT_IS_NODE) { // Work around a node.js bug where stdout buffer is not flushed at process exit: // Instead of process.exit() directly, wait for stdout flush event. // See https://github.com/joyent/node/issues/1669 and https://github.com/kripken/emscripten/issues/2582 // Workaround is based on https://github.com/RReverser/acorn/commit/50ab143cecc9ed71a2d66f78b4aec3bb2e9844f6 process['stdout']['once']('drain', function () { process['exit'](status); }); console.log(' '); // Make sure to print something to force the drain event to occur, in case the stdout buffer was empty. // Work around another node bug where sometimes 'drain' is never fired - make another effort // to emit the exit status, after a significant delay (if node hasn't fired drain by then, give up) setTimeout(function() { process['exit'](status); }, 500); } else if (ENVIRONMENT_IS_SHELL && typeof quit === 'function') { quit(status); } // if we reach here, we must throw an exception to halt the current execution throw new ExitStatus(status); } Module['exit'] = Module.exit = exit; function abort(text) { if (text) { Module.print(text); Module.printErr(text); } ABORT = true; EXITSTATUS = 1; var extra = ''; throw 'abort() at ' + stackTrace() + extra; } Module['abort'] = Module.abort = abort; // {{PRE_RUN_ADDITIONS}} if (Module['preInit']) { if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; while (Module['preInit'].length > 0) { Module['preInit'].pop()(); } } // shouldRunNow refers to calling main(), not run(). var shouldRunNow = true; if (Module['noInitialRun']) { shouldRunNow = false; } run(); // {{POST_RUN_ADDITIONS}} // {{MODULE_ADDITIONS}}